rerun 'make samba3-idl'
[Samba.git] / librpc / gen_ndr / ndr_netlogon.c
blobc3ab81a859f00533d08b7e02b26bd26149ab9af5
1 /* parser auto-generated by pidl */
3 #include "includes.h"
4 #include "../librpc/gen_ndr/ndr_netlogon.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_lsa.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/gen_ndr/ndr_security.h"
10 #include "librpc/gen_ndr/ndr_nbt.h"
11 static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
13 if (ndr_flags & NDR_SCALARS) {
14 NDR_CHECK(ndr_push_align(ndr, 4));
15 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
16 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
17 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
18 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
19 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
20 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
21 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
22 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
23 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
24 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
25 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
26 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
27 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
28 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
29 NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
30 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
32 if (ndr_flags & NDR_BUFFERS) {
33 if (r->account_name) {
34 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
35 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
36 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
37 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
39 if (r->computer) {
40 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
41 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
42 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
43 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
45 if (r->domain) {
46 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
47 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
48 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
49 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
51 if (r->script_path) {
52 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
53 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
54 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
55 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
58 return NDR_ERR_SUCCESS;
61 static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
63 uint32_t _ptr_account_name;
64 uint32_t size_account_name_1 = 0;
65 uint32_t length_account_name_1 = 0;
66 TALLOC_CTX *_mem_save_account_name_0;
67 uint32_t _ptr_computer;
68 uint32_t size_computer_1 = 0;
69 uint32_t length_computer_1 = 0;
70 TALLOC_CTX *_mem_save_computer_0;
71 uint32_t _ptr_domain;
72 uint32_t size_domain_1 = 0;
73 uint32_t length_domain_1 = 0;
74 TALLOC_CTX *_mem_save_domain_0;
75 uint32_t _ptr_script_path;
76 uint32_t size_script_path_1 = 0;
77 uint32_t length_script_path_1 = 0;
78 TALLOC_CTX *_mem_save_script_path_0;
79 if (ndr_flags & NDR_SCALARS) {
80 NDR_CHECK(ndr_pull_align(ndr, 4));
81 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
82 if (_ptr_account_name) {
83 NDR_PULL_ALLOC(ndr, r->account_name);
84 } else {
85 r->account_name = NULL;
87 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
88 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
89 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
90 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
91 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
92 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
93 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
94 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
95 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
96 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
97 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
98 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
99 if (_ptr_computer) {
100 NDR_PULL_ALLOC(ndr, r->computer);
101 } else {
102 r->computer = NULL;
104 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
105 if (_ptr_domain) {
106 NDR_PULL_ALLOC(ndr, r->domain);
107 } else {
108 r->domain = NULL;
110 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
111 if (_ptr_script_path) {
112 NDR_PULL_ALLOC(ndr, r->script_path);
113 } else {
114 r->script_path = NULL;
116 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
118 if (ndr_flags & NDR_BUFFERS) {
119 if (r->account_name) {
120 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
121 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
122 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
123 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
124 size_account_name_1 = ndr_get_array_size(ndr, &r->account_name);
125 length_account_name_1 = ndr_get_array_length(ndr, &r->account_name);
126 if (length_account_name_1 > size_account_name_1) {
127 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
129 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
130 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
131 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
133 if (r->computer) {
134 _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
135 NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
136 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
137 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
138 size_computer_1 = ndr_get_array_size(ndr, &r->computer);
139 length_computer_1 = ndr_get_array_length(ndr, &r->computer);
140 if (length_computer_1 > size_computer_1) {
141 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_1, length_computer_1);
143 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_1, sizeof(uint16_t)));
144 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, length_computer_1, sizeof(uint16_t), CH_UTF16));
145 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
147 if (r->domain) {
148 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
149 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
150 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
151 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
152 size_domain_1 = ndr_get_array_size(ndr, &r->domain);
153 length_domain_1 = ndr_get_array_length(ndr, &r->domain);
154 if (length_domain_1 > size_domain_1) {
155 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
157 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
158 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
161 if (r->script_path) {
162 _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
163 NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
164 NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
165 NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
166 size_script_path_1 = ndr_get_array_size(ndr, &r->script_path);
167 length_script_path_1 = ndr_get_array_length(ndr, &r->script_path);
168 if (length_script_path_1 > size_script_path_1) {
169 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_script_path_1, length_script_path_1);
171 NDR_CHECK(ndr_check_string_terminator(ndr, length_script_path_1, sizeof(uint16_t)));
172 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, length_script_path_1, sizeof(uint16_t), CH_UTF16));
173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
176 return NDR_ERR_SUCCESS;
179 _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
181 ndr_print_struct(ndr, name, "netr_UasInfo");
182 ndr->depth++;
183 ndr_print_ptr(ndr, "account_name", r->account_name);
184 ndr->depth++;
185 if (r->account_name) {
186 ndr_print_string(ndr, "account_name", r->account_name);
188 ndr->depth--;
189 ndr_print_uint32(ndr, "priv", r->priv);
190 ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
191 ndr_print_uint32(ndr, "logon_count", r->logon_count);
192 ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
193 ndr_print_time_t(ndr, "last_logon", r->last_logon);
194 ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
195 ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
196 ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
197 ndr_print_uint32(ndr, "password_age", r->password_age);
198 ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
199 ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
200 ndr_print_ptr(ndr, "computer", r->computer);
201 ndr->depth++;
202 if (r->computer) {
203 ndr_print_string(ndr, "computer", r->computer);
205 ndr->depth--;
206 ndr_print_ptr(ndr, "domain", r->domain);
207 ndr->depth++;
208 if (r->domain) {
209 ndr_print_string(ndr, "domain", r->domain);
211 ndr->depth--;
212 ndr_print_ptr(ndr, "script_path", r->script_path);
213 ndr->depth++;
214 if (r->script_path) {
215 ndr_print_string(ndr, "script_path", r->script_path);
217 ndr->depth--;
218 ndr_print_uint32(ndr, "unknown", r->unknown);
219 ndr->depth--;
222 static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
224 if (ndr_flags & NDR_SCALARS) {
225 NDR_CHECK(ndr_push_align(ndr, 4));
226 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
227 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
229 if (ndr_flags & NDR_BUFFERS) {
231 return NDR_ERR_SUCCESS;
234 static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
236 if (ndr_flags & NDR_SCALARS) {
237 NDR_CHECK(ndr_pull_align(ndr, 4));
238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
239 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
241 if (ndr_flags & NDR_BUFFERS) {
243 return NDR_ERR_SUCCESS;
246 _PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
248 ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
249 ndr->depth++;
250 ndr_print_uint32(ndr, "duration", r->duration);
251 ndr_print_uint16(ndr, "logon_count", r->logon_count);
252 ndr->depth--;
255 _PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
257 if (ndr_flags & NDR_SCALARS) {
258 NDR_CHECK(ndr_push_align(ndr, 4));
259 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration));
260 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count));
261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout));
262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy));
264 if (ndr_flags & NDR_BUFFERS) {
266 return NDR_ERR_SUCCESS;
269 _PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
271 if (ndr_flags & NDR_SCALARS) {
272 NDR_CHECK(ndr_pull_align(ndr, 4));
273 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration));
274 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count));
275 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout));
276 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
278 if (ndr_flags & NDR_BUFFERS) {
280 return NDR_ERR_SUCCESS;
283 _PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
285 ndr_print_struct(ndr, name, "netr_AcctLockStr");
286 ndr->depth++;
287 ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration);
288 ndr_print_udlong(ndr, "reset_count", r->reset_count);
289 ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout);
290 ndr_print_uint32(ndr, "dummy", r->dummy);
291 ndr->depth--;
294 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
297 return NDR_ERR_SUCCESS;
300 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
302 uint32_t v;
303 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
304 *r = v;
305 return NDR_ERR_SUCCESS;
308 _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
310 ndr_print_uint32(ndr, name, r);
311 ndr->depth++;
312 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
313 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
314 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
315 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
316 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
317 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
318 ndr->depth--;
321 static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
323 if (ndr_flags & NDR_SCALARS) {
324 NDR_CHECK(ndr_push_align(ndr, 4));
325 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
326 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
327 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low));
328 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high));
329 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
330 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
332 if (ndr_flags & NDR_BUFFERS) {
333 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
334 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
335 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
337 return NDR_ERR_SUCCESS;
340 static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
342 if (ndr_flags & NDR_SCALARS) {
343 NDR_CHECK(ndr_pull_align(ndr, 4));
344 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
345 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
346 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low));
347 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high));
348 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
349 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
351 if (ndr_flags & NDR_BUFFERS) {
352 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
353 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
354 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
356 return NDR_ERR_SUCCESS;
359 _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
361 ndr_print_struct(ndr, name, "netr_IdentityInfo");
362 ndr->depth++;
363 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
364 ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
365 ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low);
366 ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high);
367 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
368 ndr_print_lsa_String(ndr, "workstation", &r->workstation);
369 ndr->depth--;
372 static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
374 if (ndr_flags & NDR_SCALARS) {
375 NDR_CHECK(ndr_push_align(ndr, 4));
376 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
377 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
378 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
380 if (ndr_flags & NDR_BUFFERS) {
381 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
383 return NDR_ERR_SUCCESS;
386 static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
388 if (ndr_flags & NDR_SCALARS) {
389 NDR_CHECK(ndr_pull_align(ndr, 4));
390 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
391 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
392 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
394 if (ndr_flags & NDR_BUFFERS) {
395 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
397 return NDR_ERR_SUCCESS;
400 _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
402 ndr_print_struct(ndr, name, "netr_PasswordInfo");
403 ndr->depth++;
404 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
405 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
406 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
407 ndr->depth--;
410 static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
413 uint32_t _flags_save_STRUCT = ndr->flags;
414 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
415 if (ndr_flags & NDR_SCALARS) {
416 NDR_CHECK(ndr_push_align(ndr, 4));
417 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
418 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
419 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
421 if (ndr_flags & NDR_BUFFERS) {
422 if (r->data) {
423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
426 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
429 ndr->flags = _flags_save_STRUCT;
431 return NDR_ERR_SUCCESS;
434 static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
436 uint32_t _ptr_data;
437 uint32_t size_data_1 = 0;
438 uint32_t length_data_1 = 0;
439 TALLOC_CTX *_mem_save_data_0;
441 uint32_t _flags_save_STRUCT = ndr->flags;
442 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
443 if (ndr_flags & NDR_SCALARS) {
444 NDR_CHECK(ndr_pull_align(ndr, 4));
445 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
446 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
447 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
448 if (_ptr_data) {
449 NDR_PULL_ALLOC(ndr, r->data);
450 } else {
451 r->data = NULL;
454 if (ndr_flags & NDR_BUFFERS) {
455 if (r->data) {
456 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
457 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
458 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
459 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
460 size_data_1 = ndr_get_array_size(ndr, &r->data);
461 length_data_1 = ndr_get_array_length(ndr, &r->data);
462 if (length_data_1 > size_data_1) {
463 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_1, length_data_1);
465 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
466 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, length_data_1));
467 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
469 if (r->data) {
470 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
472 if (r->data) {
473 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
476 ndr->flags = _flags_save_STRUCT;
478 return NDR_ERR_SUCCESS;
481 _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
483 ndr_print_struct(ndr, name, "netr_ChallengeResponse");
485 uint32_t _flags_save_STRUCT = ndr->flags;
486 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
487 ndr->depth++;
488 ndr_print_uint16(ndr, "length", r->length);
489 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
490 ndr_print_ptr(ndr, "data", r->data);
491 ndr->depth++;
492 if (r->data) {
493 ndr_print_array_uint8(ndr, "data", r->data, r->length);
495 ndr->depth--;
496 ndr->depth--;
497 ndr->flags = _flags_save_STRUCT;
501 static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
504 uint32_t _flags_save_STRUCT = ndr->flags;
505 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
506 if (ndr_flags & NDR_SCALARS) {
507 NDR_CHECK(ndr_push_align(ndr, 4));
508 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
509 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
510 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
511 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
513 if (ndr_flags & NDR_BUFFERS) {
514 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
515 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
516 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
518 ndr->flags = _flags_save_STRUCT;
520 return NDR_ERR_SUCCESS;
523 static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
525 uint32_t size_challenge_0 = 0;
527 uint32_t _flags_save_STRUCT = ndr->flags;
528 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
529 if (ndr_flags & NDR_SCALARS) {
530 NDR_CHECK(ndr_pull_align(ndr, 4));
531 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
532 size_challenge_0 = 8;
533 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, size_challenge_0));
534 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
535 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
537 if (ndr_flags & NDR_BUFFERS) {
538 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
539 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
540 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
542 ndr->flags = _flags_save_STRUCT;
544 return NDR_ERR_SUCCESS;
547 _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
549 ndr_print_struct(ndr, name, "netr_NetworkInfo");
551 uint32_t _flags_save_STRUCT = ndr->flags;
552 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
553 ndr->depth++;
554 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
555 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
556 ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
557 ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
558 ndr->depth--;
559 ndr->flags = _flags_save_STRUCT;
563 static enum ndr_err_code ndr_push_netr_GenericInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo *r)
566 uint32_t _flags_save_STRUCT = ndr->flags;
567 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
568 if (ndr_flags & NDR_SCALARS) {
569 NDR_CHECK(ndr_push_align(ndr, 4));
570 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
571 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
573 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
575 if (ndr_flags & NDR_BUFFERS) {
576 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
577 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
578 if (r->data) {
579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
580 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
583 ndr->flags = _flags_save_STRUCT;
585 return NDR_ERR_SUCCESS;
588 static enum ndr_err_code ndr_pull_netr_GenericInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo *r)
590 uint32_t _ptr_data;
591 uint32_t size_data_1 = 0;
592 TALLOC_CTX *_mem_save_data_0;
594 uint32_t _flags_save_STRUCT = ndr->flags;
595 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
596 if (ndr_flags & NDR_SCALARS) {
597 NDR_CHECK(ndr_pull_align(ndr, 4));
598 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
599 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
600 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
601 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
602 if (_ptr_data) {
603 NDR_PULL_ALLOC(ndr, r->data);
604 } else {
605 r->data = NULL;
608 if (ndr_flags & NDR_BUFFERS) {
609 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
610 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
611 if (r->data) {
612 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
613 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
614 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
615 size_data_1 = ndr_get_array_size(ndr, &r->data);
616 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
617 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
618 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
620 if (r->data) {
621 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
624 ndr->flags = _flags_save_STRUCT;
626 return NDR_ERR_SUCCESS;
629 _PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r)
631 ndr_print_struct(ndr, name, "netr_GenericInfo");
633 uint32_t _flags_save_STRUCT = ndr->flags;
634 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
635 ndr->depth++;
636 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
637 ndr_print_lsa_String(ndr, "package_name", &r->package_name);
638 ndr_print_uint32(ndr, "length", r->length);
639 ndr_print_ptr(ndr, "data", r->data);
640 ndr->depth++;
641 if (r->data) {
642 ndr_print_array_uint8(ndr, "data", r->data, r->length);
644 ndr->depth--;
645 ndr->depth--;
646 ndr->flags = _flags_save_STRUCT;
650 static enum ndr_err_code ndr_push_netr_LogonInfoClass(struct ndr_push *ndr, int ndr_flags, enum netr_LogonInfoClass r)
652 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
653 return NDR_ERR_SUCCESS;
656 static enum ndr_err_code ndr_pull_netr_LogonInfoClass(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonInfoClass *r)
658 uint16_t v;
659 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
660 *r = v;
661 return NDR_ERR_SUCCESS;
664 _PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r)
666 const char *val = NULL;
668 switch (r) {
669 case NetlogonInteractiveInformation: val = "NetlogonInteractiveInformation"; break;
670 case NetlogonNetworkInformation: val = "NetlogonNetworkInformation"; break;
671 case NetlogonServiceInformation: val = "NetlogonServiceInformation"; break;
672 case NetlogonGenericInformation: val = "NetlogonGenericInformation"; break;
673 case NetlogonInteractiveTransitiveInformation: val = "NetlogonInteractiveTransitiveInformation"; break;
674 case NetlogonNetworkTransitiveInformation: val = "NetlogonNetworkTransitiveInformation"; break;
675 case NetlogonServiceTransitiveInformation: val = "NetlogonServiceTransitiveInformation"; break;
677 ndr_print_enum(ndr, name, "ENUM", val, r);
680 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r)
682 if (ndr_flags & NDR_SCALARS) {
683 int level = ndr_push_get_switch_value(ndr, r);
684 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, level));
685 switch (level) {
686 case NetlogonInteractiveInformation: {
687 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
688 break; }
690 case NetlogonNetworkInformation: {
691 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
692 break; }
694 case NetlogonServiceInformation: {
695 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
696 break; }
698 case NetlogonGenericInformation: {
699 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
700 break; }
702 case NetlogonInteractiveTransitiveInformation: {
703 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
704 break; }
706 case NetlogonNetworkTransitiveInformation: {
707 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
708 break; }
710 case NetlogonServiceTransitiveInformation: {
711 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
712 break; }
714 default:
715 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
718 if (ndr_flags & NDR_BUFFERS) {
719 int level = ndr_push_get_switch_value(ndr, r);
720 switch (level) {
721 case NetlogonInteractiveInformation:
722 if (r->password) {
723 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
725 break;
727 case NetlogonNetworkInformation:
728 if (r->network) {
729 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
731 break;
733 case NetlogonServiceInformation:
734 if (r->password) {
735 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
737 break;
739 case NetlogonGenericInformation:
740 if (r->generic) {
741 NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
743 break;
745 case NetlogonInteractiveTransitiveInformation:
746 if (r->password) {
747 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
749 break;
751 case NetlogonNetworkTransitiveInformation:
752 if (r->network) {
753 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
755 break;
757 case NetlogonServiceTransitiveInformation:
758 if (r->password) {
759 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
761 break;
763 default:
764 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
767 return NDR_ERR_SUCCESS;
770 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
772 int level;
773 uint16_t _level;
774 TALLOC_CTX *_mem_save_password_0;
775 uint32_t _ptr_password;
776 TALLOC_CTX *_mem_save_network_0;
777 uint32_t _ptr_network;
778 TALLOC_CTX *_mem_save_generic_0;
779 uint32_t _ptr_generic;
780 level = ndr_pull_get_switch_value(ndr, r);
781 if (ndr_flags & NDR_SCALARS) {
782 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
783 if (_level != level) {
784 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
786 switch (level) {
787 case NetlogonInteractiveInformation: {
788 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
789 if (_ptr_password) {
790 NDR_PULL_ALLOC(ndr, r->password);
791 } else {
792 r->password = NULL;
794 break; }
796 case NetlogonNetworkInformation: {
797 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
798 if (_ptr_network) {
799 NDR_PULL_ALLOC(ndr, r->network);
800 } else {
801 r->network = NULL;
803 break; }
805 case NetlogonServiceInformation: {
806 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
807 if (_ptr_password) {
808 NDR_PULL_ALLOC(ndr, r->password);
809 } else {
810 r->password = NULL;
812 break; }
814 case NetlogonGenericInformation: {
815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
816 if (_ptr_generic) {
817 NDR_PULL_ALLOC(ndr, r->generic);
818 } else {
819 r->generic = NULL;
821 break; }
823 case NetlogonInteractiveTransitiveInformation: {
824 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
825 if (_ptr_password) {
826 NDR_PULL_ALLOC(ndr, r->password);
827 } else {
828 r->password = NULL;
830 break; }
832 case NetlogonNetworkTransitiveInformation: {
833 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
834 if (_ptr_network) {
835 NDR_PULL_ALLOC(ndr, r->network);
836 } else {
837 r->network = NULL;
839 break; }
841 case NetlogonServiceTransitiveInformation: {
842 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
843 if (_ptr_password) {
844 NDR_PULL_ALLOC(ndr, r->password);
845 } else {
846 r->password = NULL;
848 break; }
850 default:
851 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
854 if (ndr_flags & NDR_BUFFERS) {
855 switch (level) {
856 case NetlogonInteractiveInformation:
857 if (r->password) {
858 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
859 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
860 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
863 break;
865 case NetlogonNetworkInformation:
866 if (r->network) {
867 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
868 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
869 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
872 break;
874 case NetlogonServiceInformation:
875 if (r->password) {
876 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
877 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
878 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
879 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
881 break;
883 case NetlogonGenericInformation:
884 if (r->generic) {
885 _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
886 NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
887 NDR_CHECK(ndr_pull_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
888 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
890 break;
892 case NetlogonInteractiveTransitiveInformation:
893 if (r->password) {
894 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
895 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
896 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
899 break;
901 case NetlogonNetworkTransitiveInformation:
902 if (r->network) {
903 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
904 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
905 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
906 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
908 break;
910 case NetlogonServiceTransitiveInformation:
911 if (r->password) {
912 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
913 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
914 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
917 break;
919 default:
920 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
923 return NDR_ERR_SUCCESS;
926 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
928 int level;
929 level = ndr_print_get_switch_value(ndr, r);
930 ndr_print_union(ndr, name, level, "netr_LogonLevel");
931 switch (level) {
932 case NetlogonInteractiveInformation:
933 ndr_print_ptr(ndr, "password", r->password);
934 ndr->depth++;
935 if (r->password) {
936 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
938 ndr->depth--;
939 break;
941 case NetlogonNetworkInformation:
942 ndr_print_ptr(ndr, "network", r->network);
943 ndr->depth++;
944 if (r->network) {
945 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
947 ndr->depth--;
948 break;
950 case NetlogonServiceInformation:
951 ndr_print_ptr(ndr, "password", r->password);
952 ndr->depth++;
953 if (r->password) {
954 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
956 ndr->depth--;
957 break;
959 case NetlogonGenericInformation:
960 ndr_print_ptr(ndr, "generic", r->generic);
961 ndr->depth++;
962 if (r->generic) {
963 ndr_print_netr_GenericInfo(ndr, "generic", r->generic);
965 ndr->depth--;
966 break;
968 case NetlogonInteractiveTransitiveInformation:
969 ndr_print_ptr(ndr, "password", r->password);
970 ndr->depth++;
971 if (r->password) {
972 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
974 ndr->depth--;
975 break;
977 case NetlogonNetworkTransitiveInformation:
978 ndr_print_ptr(ndr, "network", r->network);
979 ndr->depth++;
980 if (r->network) {
981 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
983 ndr->depth--;
984 break;
986 case NetlogonServiceTransitiveInformation:
987 ndr_print_ptr(ndr, "password", r->password);
988 ndr->depth++;
989 if (r->password) {
990 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
992 ndr->depth--;
993 break;
995 default:
996 ndr_print_bad_level(ndr, name, level);
1000 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
1003 uint32_t _flags_save_STRUCT = ndr->flags;
1004 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1005 if (ndr_flags & NDR_SCALARS) {
1006 NDR_CHECK(ndr_push_align(ndr, 1));
1007 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1009 if (ndr_flags & NDR_BUFFERS) {
1011 ndr->flags = _flags_save_STRUCT;
1013 return NDR_ERR_SUCCESS;
1016 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
1018 uint32_t size_key_0 = 0;
1020 uint32_t _flags_save_STRUCT = ndr->flags;
1021 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1022 if (ndr_flags & NDR_SCALARS) {
1023 NDR_CHECK(ndr_pull_align(ndr, 1));
1024 size_key_0 = 16;
1025 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, size_key_0));
1027 if (ndr_flags & NDR_BUFFERS) {
1029 ndr->flags = _flags_save_STRUCT;
1031 return NDR_ERR_SUCCESS;
1034 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
1036 ndr_print_struct(ndr, name, "netr_UserSessionKey");
1038 uint32_t _flags_save_STRUCT = ndr->flags;
1039 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1040 ndr->depth++;
1041 ndr_print_array_uint8(ndr, "key", r->key, 16);
1042 ndr->depth--;
1043 ndr->flags = _flags_save_STRUCT;
1047 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
1050 uint32_t _flags_save_STRUCT = ndr->flags;
1051 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1052 if (ndr_flags & NDR_SCALARS) {
1053 NDR_CHECK(ndr_push_align(ndr, 1));
1054 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1056 if (ndr_flags & NDR_BUFFERS) {
1058 ndr->flags = _flags_save_STRUCT;
1060 return NDR_ERR_SUCCESS;
1063 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
1065 uint32_t size_key_0 = 0;
1067 uint32_t _flags_save_STRUCT = ndr->flags;
1068 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1069 if (ndr_flags & NDR_SCALARS) {
1070 NDR_CHECK(ndr_pull_align(ndr, 1));
1071 size_key_0 = 8;
1072 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, size_key_0));
1074 if (ndr_flags & NDR_BUFFERS) {
1076 ndr->flags = _flags_save_STRUCT;
1078 return NDR_ERR_SUCCESS;
1081 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
1083 ndr_print_struct(ndr, name, "netr_LMSessionKey");
1085 uint32_t _flags_save_STRUCT = ndr->flags;
1086 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1087 ndr->depth++;
1088 ndr_print_array_uint8(ndr, "key", r->key, 8);
1089 ndr->depth--;
1090 ndr->flags = _flags_save_STRUCT;
1094 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1097 return NDR_ERR_SUCCESS;
1100 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1102 uint32_t v;
1103 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1104 *r = v;
1105 return NDR_ERR_SUCCESS;
1108 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
1110 ndr_print_uint32(ndr, name, r);
1111 ndr->depth++;
1112 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
1113 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
1114 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
1115 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
1116 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
1117 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
1118 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
1119 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
1120 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
1121 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
1122 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
1123 ndr->depth--;
1126 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
1128 uint32_t cntr_unknown_0;
1129 if (ndr_flags & NDR_SCALARS) {
1130 NDR_CHECK(ndr_push_align(ndr, 4));
1131 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
1132 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
1133 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
1134 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
1135 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
1136 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
1137 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1138 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1139 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1140 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1141 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1142 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1143 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
1144 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
1145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
1146 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1147 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1148 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
1149 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1150 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1151 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1152 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
1153 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1154 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
1155 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
1159 if (ndr_flags & NDR_BUFFERS) {
1160 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1161 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1162 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1163 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1164 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1165 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1166 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1167 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1168 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1169 if (r->domain_sid) {
1170 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1173 return NDR_ERR_SUCCESS;
1176 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
1178 uint32_t _ptr_domain_sid;
1179 TALLOC_CTX *_mem_save_domain_sid_0;
1180 uint32_t size_unknown_0 = 0;
1181 uint32_t cntr_unknown_0;
1182 if (ndr_flags & NDR_SCALARS) {
1183 NDR_CHECK(ndr_pull_align(ndr, 4));
1184 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
1185 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
1186 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
1187 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
1188 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
1189 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
1190 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1191 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1192 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1193 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1194 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1195 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1196 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
1197 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
1198 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1199 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1200 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1201 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
1202 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1203 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1204 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1205 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1206 if (_ptr_domain_sid) {
1207 NDR_PULL_ALLOC(ndr, r->domain_sid);
1208 } else {
1209 r->domain_sid = NULL;
1211 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1212 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
1213 size_unknown_0 = 7;
1214 for (cntr_unknown_0 = 0; cntr_unknown_0 < size_unknown_0; cntr_unknown_0++) {
1215 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1218 if (ndr_flags & NDR_BUFFERS) {
1219 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1220 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1221 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1222 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1223 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1224 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1225 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1226 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1227 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1228 if (r->domain_sid) {
1229 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1230 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1231 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1232 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1235 return NDR_ERR_SUCCESS;
1238 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1240 uint32_t cntr_unknown_0;
1241 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1242 ndr->depth++;
1243 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1244 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1245 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1246 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1247 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1248 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1249 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1250 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1251 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1252 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1253 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1254 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1255 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1256 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1257 ndr_print_uint32(ndr, "rid", r->rid);
1258 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1259 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1260 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1261 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1262 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1263 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1264 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1265 ndr->depth++;
1266 if (r->domain_sid) {
1267 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1269 ndr->depth--;
1270 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1271 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1272 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)7);
1273 ndr->depth++;
1274 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1275 char *idx_0=NULL;
1276 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1277 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1278 free(idx_0);
1281 ndr->depth--;
1282 ndr->depth--;
1285 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1287 if (ndr_flags & NDR_SCALARS) {
1288 NDR_CHECK(ndr_push_align(ndr, 4));
1289 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1291 if (ndr_flags & NDR_BUFFERS) {
1292 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1294 return NDR_ERR_SUCCESS;
1297 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1299 if (ndr_flags & NDR_SCALARS) {
1300 NDR_CHECK(ndr_pull_align(ndr, 4));
1301 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1303 if (ndr_flags & NDR_BUFFERS) {
1304 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1306 return NDR_ERR_SUCCESS;
1309 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1311 ndr_print_struct(ndr, name, "netr_SamInfo2");
1312 ndr->depth++;
1313 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1314 ndr->depth--;
1317 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1319 if (ndr_flags & NDR_SCALARS) {
1320 NDR_CHECK(ndr_push_align(ndr, 4));
1321 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1322 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1324 if (ndr_flags & NDR_BUFFERS) {
1325 if (r->sid) {
1326 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1329 return NDR_ERR_SUCCESS;
1332 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1334 uint32_t _ptr_sid;
1335 TALLOC_CTX *_mem_save_sid_0;
1336 if (ndr_flags & NDR_SCALARS) {
1337 NDR_CHECK(ndr_pull_align(ndr, 4));
1338 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1339 if (_ptr_sid) {
1340 NDR_PULL_ALLOC(ndr, r->sid);
1341 } else {
1342 r->sid = NULL;
1344 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1346 if (ndr_flags & NDR_BUFFERS) {
1347 if (r->sid) {
1348 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1349 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1350 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1354 return NDR_ERR_SUCCESS;
1357 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1359 ndr_print_struct(ndr, name, "netr_SidAttr");
1360 ndr->depth++;
1361 ndr_print_ptr(ndr, "sid", r->sid);
1362 ndr->depth++;
1363 if (r->sid) {
1364 ndr_print_dom_sid2(ndr, "sid", r->sid);
1366 ndr->depth--;
1367 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1368 ndr->depth--;
1371 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1373 uint32_t cntr_sids_1;
1374 if (ndr_flags & NDR_SCALARS) {
1375 NDR_CHECK(ndr_push_align(ndr, 4));
1376 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1378 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1380 if (ndr_flags & NDR_BUFFERS) {
1381 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1382 if (r->sids) {
1383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1384 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1385 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1387 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1388 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1392 return NDR_ERR_SUCCESS;
1395 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1397 uint32_t _ptr_sids;
1398 uint32_t size_sids_1 = 0;
1399 uint32_t cntr_sids_1;
1400 TALLOC_CTX *_mem_save_sids_0;
1401 TALLOC_CTX *_mem_save_sids_1;
1402 if (ndr_flags & NDR_SCALARS) {
1403 NDR_CHECK(ndr_pull_align(ndr, 4));
1404 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1405 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1406 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1407 if (_ptr_sids) {
1408 NDR_PULL_ALLOC(ndr, r->sids);
1409 } else {
1410 r->sids = NULL;
1413 if (ndr_flags & NDR_BUFFERS) {
1414 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1415 if (r->sids) {
1416 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1417 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1418 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1419 size_sids_1 = ndr_get_array_size(ndr, &r->sids);
1420 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
1421 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1422 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1423 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
1424 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1426 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
1427 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1429 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1430 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1432 if (r->sids) {
1433 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1436 return NDR_ERR_SUCCESS;
1439 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1441 uint32_t cntr_sids_1;
1442 ndr_print_struct(ndr, name, "netr_SamInfo3");
1443 ndr->depth++;
1444 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1445 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1446 ndr_print_ptr(ndr, "sids", r->sids);
1447 ndr->depth++;
1448 if (r->sids) {
1449 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1450 ndr->depth++;
1451 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1452 char *idx_1=NULL;
1453 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1454 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1455 free(idx_1);
1458 ndr->depth--;
1460 ndr->depth--;
1461 ndr->depth--;
1464 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1466 uint32_t cntr_sids_1;
1467 uint32_t cntr_unknown4_0;
1468 if (ndr_flags & NDR_SCALARS) {
1469 NDR_CHECK(ndr_push_align(ndr, 4));
1470 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1472 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1473 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1474 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1475 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1479 if (ndr_flags & NDR_BUFFERS) {
1480 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1481 if (r->sids) {
1482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1483 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1484 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1486 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1487 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1490 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1491 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1493 return NDR_ERR_SUCCESS;
1496 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1498 uint32_t _ptr_sids;
1499 uint32_t size_sids_1 = 0;
1500 uint32_t cntr_sids_1;
1501 TALLOC_CTX *_mem_save_sids_0;
1502 TALLOC_CTX *_mem_save_sids_1;
1503 uint32_t size_unknown4_0 = 0;
1504 uint32_t cntr_unknown4_0;
1505 if (ndr_flags & NDR_SCALARS) {
1506 NDR_CHECK(ndr_pull_align(ndr, 4));
1507 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1508 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1509 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1510 if (_ptr_sids) {
1511 NDR_PULL_ALLOC(ndr, r->sids);
1512 } else {
1513 r->sids = NULL;
1515 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1516 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1517 size_unknown4_0 = 20;
1518 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < size_unknown4_0; cntr_unknown4_0++) {
1519 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1522 if (ndr_flags & NDR_BUFFERS) {
1523 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1524 if (r->sids) {
1525 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1526 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1527 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1528 size_sids_1 = ndr_get_array_size(ndr, &r->sids);
1529 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
1530 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1531 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1532 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
1533 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1535 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
1536 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1538 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1539 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1541 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1542 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1543 if (r->sids) {
1544 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1547 return NDR_ERR_SUCCESS;
1550 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1552 uint32_t cntr_sids_1;
1553 uint32_t cntr_unknown4_0;
1554 ndr_print_struct(ndr, name, "netr_SamInfo6");
1555 ndr->depth++;
1556 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1557 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1558 ndr_print_ptr(ndr, "sids", r->sids);
1559 ndr->depth++;
1560 if (r->sids) {
1561 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1562 ndr->depth++;
1563 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1564 char *idx_1=NULL;
1565 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1566 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1567 free(idx_1);
1570 ndr->depth--;
1572 ndr->depth--;
1573 ndr_print_lsa_String(ndr, "forest", &r->forest);
1574 ndr_print_lsa_String(ndr, "principle", &r->principle);
1575 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
1576 ndr->depth++;
1577 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1578 char *idx_0=NULL;
1579 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1580 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1581 free(idx_0);
1584 ndr->depth--;
1585 ndr->depth--;
1588 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1590 uint32_t cntr_expansionroom_0;
1591 if (ndr_flags & NDR_SCALARS) {
1592 NDR_CHECK(ndr_push_align(ndr, 4));
1593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1594 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1595 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1596 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1597 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1599 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1600 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1601 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1604 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1605 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1606 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1607 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1609 if (ndr_flags & NDR_BUFFERS) {
1610 if (r->pac) {
1611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1612 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1614 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1615 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1616 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1617 if (r->auth) {
1618 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1619 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1621 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1622 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1623 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1624 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1626 return NDR_ERR_SUCCESS;
1629 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1631 uint32_t _ptr_pac;
1632 uint32_t size_pac_1 = 0;
1633 TALLOC_CTX *_mem_save_pac_0;
1634 uint32_t _ptr_auth;
1635 uint32_t size_auth_1 = 0;
1636 TALLOC_CTX *_mem_save_auth_0;
1637 uint32_t size_expansionroom_0 = 0;
1638 uint32_t cntr_expansionroom_0;
1639 if (ndr_flags & NDR_SCALARS) {
1640 NDR_CHECK(ndr_pull_align(ndr, 4));
1641 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1642 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1643 if (_ptr_pac) {
1644 NDR_PULL_ALLOC(ndr, r->pac);
1645 } else {
1646 r->pac = NULL;
1648 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1649 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1650 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1651 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1652 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1653 if (_ptr_auth) {
1654 NDR_PULL_ALLOC(ndr, r->auth);
1655 } else {
1656 r->auth = NULL;
1658 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1659 size_expansionroom_0 = 10;
1660 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < size_expansionroom_0; cntr_expansionroom_0++) {
1661 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1663 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1664 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1665 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1666 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1668 if (ndr_flags & NDR_BUFFERS) {
1669 if (r->pac) {
1670 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1671 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1672 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1673 size_pac_1 = ndr_get_array_size(ndr, &r->pac);
1674 NDR_PULL_ALLOC_N(ndr, r->pac, size_pac_1);
1675 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, size_pac_1));
1676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1678 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1679 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1680 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1681 if (r->auth) {
1682 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1683 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1684 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1685 size_auth_1 = ndr_get_array_size(ndr, &r->auth);
1686 NDR_PULL_ALLOC_N(ndr, r->auth, size_auth_1);
1687 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, size_auth_1));
1688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1690 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1691 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1692 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1693 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1694 if (r->pac) {
1695 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1697 if (r->auth) {
1698 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1701 return NDR_ERR_SUCCESS;
1704 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1706 uint32_t cntr_expansionroom_0;
1707 ndr_print_struct(ndr, name, "netr_PacInfo");
1708 ndr->depth++;
1709 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1710 ndr_print_ptr(ndr, "pac", r->pac);
1711 ndr->depth++;
1712 if (r->pac) {
1713 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1715 ndr->depth--;
1716 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1717 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1718 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1719 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1720 ndr_print_ptr(ndr, "auth", r->auth);
1721 ndr->depth++;
1722 if (r->auth) {
1723 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1725 ndr->depth--;
1726 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1727 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1728 ndr->depth++;
1729 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1730 char *idx_0=NULL;
1731 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1732 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1733 free(idx_0);
1736 ndr->depth--;
1737 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1738 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1739 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1740 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1741 ndr->depth--;
1744 static enum ndr_err_code ndr_push_netr_GenericInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo2 *r)
1747 uint32_t _flags_save_STRUCT = ndr->flags;
1748 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1749 if (ndr_flags & NDR_SCALARS) {
1750 NDR_CHECK(ndr_push_align(ndr, 4));
1751 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1752 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
1754 if (ndr_flags & NDR_BUFFERS) {
1755 if (r->data) {
1756 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1757 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
1760 ndr->flags = _flags_save_STRUCT;
1762 return NDR_ERR_SUCCESS;
1765 static enum ndr_err_code ndr_pull_netr_GenericInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo2 *r)
1767 uint32_t _ptr_data;
1768 uint32_t size_data_1 = 0;
1769 TALLOC_CTX *_mem_save_data_0;
1771 uint32_t _flags_save_STRUCT = ndr->flags;
1772 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1773 if (ndr_flags & NDR_SCALARS) {
1774 NDR_CHECK(ndr_pull_align(ndr, 4));
1775 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1776 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
1777 if (_ptr_data) {
1778 NDR_PULL_ALLOC(ndr, r->data);
1779 } else {
1780 r->data = NULL;
1783 if (ndr_flags & NDR_BUFFERS) {
1784 if (r->data) {
1785 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1786 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
1787 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
1788 size_data_1 = ndr_get_array_size(ndr, &r->data);
1789 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
1790 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
1791 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
1793 if (r->data) {
1794 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
1797 ndr->flags = _flags_save_STRUCT;
1799 return NDR_ERR_SUCCESS;
1802 _PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r)
1804 ndr_print_struct(ndr, name, "netr_GenericInfo2");
1806 uint32_t _flags_save_STRUCT = ndr->flags;
1807 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1808 ndr->depth++;
1809 ndr_print_uint32(ndr, "length", r->length);
1810 ndr_print_ptr(ndr, "data", r->data);
1811 ndr->depth++;
1812 if (r->data) {
1813 ndr_print_array_uint8(ndr, "data", r->data, r->length);
1815 ndr->depth--;
1816 ndr->depth--;
1817 ndr->flags = _flags_save_STRUCT;
1821 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1823 if (ndr_flags & NDR_SCALARS) {
1824 int level = ndr_push_get_switch_value(ndr, r);
1825 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1826 switch (level) {
1827 case NetlogonValidationSamInfo: {
1828 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1829 break; }
1831 case NetlogonValidationSamInfo2: {
1832 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1833 break; }
1835 case 4: {
1836 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1837 break; }
1839 case NetlogonValidationGenericInfo2: {
1840 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
1841 break; }
1843 case NetlogonValidationSamInfo4: {
1844 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1845 break; }
1847 default:
1848 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1851 if (ndr_flags & NDR_BUFFERS) {
1852 int level = ndr_push_get_switch_value(ndr, r);
1853 switch (level) {
1854 case NetlogonValidationSamInfo:
1855 if (r->sam2) {
1856 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1858 break;
1860 case NetlogonValidationSamInfo2:
1861 if (r->sam3) {
1862 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1864 break;
1866 case 4:
1867 if (r->pac) {
1868 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1870 break;
1872 case NetlogonValidationGenericInfo2:
1873 if (r->generic) {
1874 NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1876 break;
1878 case NetlogonValidationSamInfo4:
1879 if (r->sam6) {
1880 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1882 break;
1884 default:
1885 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1888 return NDR_ERR_SUCCESS;
1891 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1893 int level;
1894 uint16_t _level;
1895 TALLOC_CTX *_mem_save_sam2_0;
1896 uint32_t _ptr_sam2;
1897 TALLOC_CTX *_mem_save_sam3_0;
1898 uint32_t _ptr_sam3;
1899 TALLOC_CTX *_mem_save_pac_0;
1900 uint32_t _ptr_pac;
1901 TALLOC_CTX *_mem_save_generic_0;
1902 uint32_t _ptr_generic;
1903 TALLOC_CTX *_mem_save_sam6_0;
1904 uint32_t _ptr_sam6;
1905 level = ndr_pull_get_switch_value(ndr, r);
1906 if (ndr_flags & NDR_SCALARS) {
1907 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1908 if (_level != level) {
1909 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1911 switch (level) {
1912 case NetlogonValidationSamInfo: {
1913 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1914 if (_ptr_sam2) {
1915 NDR_PULL_ALLOC(ndr, r->sam2);
1916 } else {
1917 r->sam2 = NULL;
1919 break; }
1921 case NetlogonValidationSamInfo2: {
1922 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1923 if (_ptr_sam3) {
1924 NDR_PULL_ALLOC(ndr, r->sam3);
1925 } else {
1926 r->sam3 = NULL;
1928 break; }
1930 case 4: {
1931 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1932 if (_ptr_pac) {
1933 NDR_PULL_ALLOC(ndr, r->pac);
1934 } else {
1935 r->pac = NULL;
1937 break; }
1939 case NetlogonValidationGenericInfo2: {
1940 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
1941 if (_ptr_generic) {
1942 NDR_PULL_ALLOC(ndr, r->generic);
1943 } else {
1944 r->generic = NULL;
1946 break; }
1948 case NetlogonValidationSamInfo4: {
1949 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1950 if (_ptr_sam6) {
1951 NDR_PULL_ALLOC(ndr, r->sam6);
1952 } else {
1953 r->sam6 = NULL;
1955 break; }
1957 default:
1958 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1961 if (ndr_flags & NDR_BUFFERS) {
1962 switch (level) {
1963 case NetlogonValidationSamInfo:
1964 if (r->sam2) {
1965 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1966 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1967 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1970 break;
1972 case NetlogonValidationSamInfo2:
1973 if (r->sam3) {
1974 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1975 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1976 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1977 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1979 break;
1981 case 4:
1982 if (r->pac) {
1983 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1984 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1985 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1986 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1988 break;
1990 case NetlogonValidationGenericInfo2:
1991 if (r->generic) {
1992 _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
1993 NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
1994 NDR_CHECK(ndr_pull_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1995 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
1997 break;
1999 case NetlogonValidationSamInfo4:
2000 if (r->sam6) {
2001 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
2002 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
2003 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
2004 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
2006 break;
2008 default:
2009 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2012 return NDR_ERR_SUCCESS;
2015 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
2017 int level;
2018 level = ndr_print_get_switch_value(ndr, r);
2019 ndr_print_union(ndr, name, level, "netr_Validation");
2020 switch (level) {
2021 case NetlogonValidationSamInfo:
2022 ndr_print_ptr(ndr, "sam2", r->sam2);
2023 ndr->depth++;
2024 if (r->sam2) {
2025 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
2027 ndr->depth--;
2028 break;
2030 case NetlogonValidationSamInfo2:
2031 ndr_print_ptr(ndr, "sam3", r->sam3);
2032 ndr->depth++;
2033 if (r->sam3) {
2034 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
2036 ndr->depth--;
2037 break;
2039 case 4:
2040 ndr_print_ptr(ndr, "pac", r->pac);
2041 ndr->depth++;
2042 if (r->pac) {
2043 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
2045 ndr->depth--;
2046 break;
2048 case NetlogonValidationGenericInfo2:
2049 ndr_print_ptr(ndr, "generic", r->generic);
2050 ndr->depth++;
2051 if (r->generic) {
2052 ndr_print_netr_GenericInfo2(ndr, "generic", r->generic);
2054 ndr->depth--;
2055 break;
2057 case NetlogonValidationSamInfo4:
2058 ndr_print_ptr(ndr, "sam6", r->sam6);
2059 ndr->depth++;
2060 if (r->sam6) {
2061 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
2063 ndr->depth--;
2064 break;
2066 default:
2067 ndr_print_bad_level(ndr, name, level);
2071 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
2074 uint32_t _flags_save_STRUCT = ndr->flags;
2075 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2076 if (ndr_flags & NDR_SCALARS) {
2077 NDR_CHECK(ndr_push_align(ndr, 1));
2078 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2080 if (ndr_flags & NDR_BUFFERS) {
2082 ndr->flags = _flags_save_STRUCT;
2084 return NDR_ERR_SUCCESS;
2087 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
2089 uint32_t size_data_0 = 0;
2091 uint32_t _flags_save_STRUCT = ndr->flags;
2092 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2093 if (ndr_flags & NDR_SCALARS) {
2094 NDR_CHECK(ndr_pull_align(ndr, 1));
2095 size_data_0 = 8;
2096 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
2098 if (ndr_flags & NDR_BUFFERS) {
2100 ndr->flags = _flags_save_STRUCT;
2102 return NDR_ERR_SUCCESS;
2105 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
2107 ndr_print_struct(ndr, name, "netr_Credential");
2109 uint32_t _flags_save_STRUCT = ndr->flags;
2110 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2111 ndr->depth++;
2112 ndr_print_array_uint8(ndr, "data", r->data, 8);
2113 ndr->depth--;
2114 ndr->flags = _flags_save_STRUCT;
2118 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
2120 if (ndr_flags & NDR_SCALARS) {
2121 NDR_CHECK(ndr_push_align(ndr, 4));
2122 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2123 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
2125 if (ndr_flags & NDR_BUFFERS) {
2127 return NDR_ERR_SUCCESS;
2130 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
2132 if (ndr_flags & NDR_SCALARS) {
2133 NDR_CHECK(ndr_pull_align(ndr, 4));
2134 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2135 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
2137 if (ndr_flags & NDR_BUFFERS) {
2139 return NDR_ERR_SUCCESS;
2142 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
2144 ndr_print_struct(ndr, name, "netr_Authenticator");
2145 ndr->depth++;
2146 ndr_print_netr_Credential(ndr, "cred", &r->cred);
2147 ndr_print_time_t(ndr, "timestamp", r->timestamp);
2148 ndr->depth--;
2151 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)
2153 if (ndr_flags & NDR_SCALARS) {
2154 NDR_CHECK(ndr_push_align(ndr, 4));
2155 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
2156 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2157 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2158 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2159 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2160 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2165 if (ndr_flags & NDR_BUFFERS) {
2166 if (r->account_name) {
2167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2170 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
2172 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2173 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2174 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2175 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2177 return NDR_ERR_SUCCESS;
2180 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
2182 uint32_t _ptr_account_name;
2183 uint32_t size_account_name_1 = 0;
2184 uint32_t length_account_name_1 = 0;
2185 TALLOC_CTX *_mem_save_account_name_0;
2186 if (ndr_flags & NDR_SCALARS) {
2187 NDR_CHECK(ndr_pull_align(ndr, 4));
2188 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
2189 if (_ptr_account_name) {
2190 NDR_PULL_ALLOC(ndr, r->account_name);
2191 } else {
2192 r->account_name = NULL;
2194 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2195 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2196 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2197 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2198 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2199 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2200 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2201 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2203 if (ndr_flags & NDR_BUFFERS) {
2204 if (r->account_name) {
2205 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2206 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
2207 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
2208 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
2209 size_account_name_1 = ndr_get_array_size(ndr, &r->account_name);
2210 length_account_name_1 = ndr_get_array_length(ndr, &r->account_name);
2211 if (length_account_name_1 > size_account_name_1) {
2212 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
2214 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
2215 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
2216 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
2218 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2219 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2220 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2221 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2223 return NDR_ERR_SUCCESS;
2226 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
2228 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
2229 ndr->depth++;
2230 ndr_print_ptr(ndr, "account_name", r->account_name);
2231 ndr->depth++;
2232 if (r->account_name) {
2233 ndr_print_string(ndr, "account_name", r->account_name);
2235 ndr->depth--;
2236 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2237 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2238 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2239 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2240 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2241 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2242 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2243 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2244 ndr->depth--;
2247 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
2249 if (ndr_flags & NDR_SCALARS) {
2250 NDR_CHECK(ndr_push_align(ndr, 4));
2251 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2252 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2253 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
2254 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2256 if (ndr_flags & NDR_BUFFERS) {
2258 return NDR_ERR_SUCCESS;
2261 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
2263 if (ndr_flags & NDR_SCALARS) {
2264 NDR_CHECK(ndr_pull_align(ndr, 4));
2265 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
2266 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
2267 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
2268 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2270 if (ndr_flags & NDR_BUFFERS) {
2272 return NDR_ERR_SUCCESS;
2275 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
2277 ndr_print_struct(ndr, name, "netr_USER_KEY16");
2278 ndr->depth++;
2279 ndr_print_uint16(ndr, "length", r->length);
2280 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
2281 ndr_print_uint32(ndr, "flags", r->flags);
2282 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
2283 ndr->depth--;
2286 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
2288 if (ndr_flags & NDR_SCALARS) {
2289 NDR_CHECK(ndr_push_align(ndr, 4));
2290 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2291 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2293 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2294 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2296 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2297 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2299 if (ndr_flags & NDR_BUFFERS) {
2301 return NDR_ERR_SUCCESS;
2304 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2306 uint32_t size_nt_history_0 = 0;
2307 uint32_t size_lm_history_0 = 0;
2308 if (ndr_flags & NDR_SCALARS) {
2309 NDR_CHECK(ndr_pull_align(ndr, 4));
2310 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2311 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2312 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2313 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2314 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2315 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2316 size_nt_history_0 = r->nt_length;
2317 NDR_PULL_ALLOC_N(ndr, r->nt_history, size_nt_history_0);
2318 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, size_nt_history_0));
2319 size_lm_history_0 = r->lm_length;
2320 NDR_PULL_ALLOC_N(ndr, r->lm_history, size_lm_history_0);
2321 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, size_lm_history_0));
2323 if (ndr_flags & NDR_BUFFERS) {
2325 return NDR_ERR_SUCCESS;
2328 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2330 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2331 ndr->depth++;
2332 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2333 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2334 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2335 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2336 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2337 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2338 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2339 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2340 ndr->depth--;
2343 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2345 if (ndr_flags & NDR_SCALARS) {
2346 NDR_CHECK(ndr_push_align(ndr, 4));
2347 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2348 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2349 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2351 if (ndr_flags & NDR_BUFFERS) {
2353 return NDR_ERR_SUCCESS;
2356 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2358 if (ndr_flags & NDR_SCALARS) {
2359 NDR_CHECK(ndr_pull_align(ndr, 4));
2360 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2361 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2362 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2364 if (ndr_flags & NDR_BUFFERS) {
2366 return NDR_ERR_SUCCESS;
2369 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2371 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2372 ndr->depth++;
2373 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2374 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2375 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2376 ndr->depth--;
2379 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)
2381 if (ndr_flags & NDR_SCALARS) {
2382 NDR_CHECK(ndr_push_align(ndr, 4));
2383 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2385 if (ndr_flags & NDR_BUFFERS) {
2387 return NDR_ERR_SUCCESS;
2390 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2392 if (ndr_flags & NDR_SCALARS) {
2393 NDR_CHECK(ndr_pull_align(ndr, 4));
2394 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2396 if (ndr_flags & NDR_BUFFERS) {
2398 return NDR_ERR_SUCCESS;
2401 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2403 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2404 ndr->depth++;
2405 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2406 ndr->depth--;
2409 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2411 if (ndr_flags & NDR_SCALARS) {
2412 NDR_CHECK(ndr_push_align(ndr, 4));
2413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2414 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2416 if (ndr_flags & NDR_BUFFERS) {
2418 return NDR_ERR_SUCCESS;
2421 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2423 if (ndr_flags & NDR_SCALARS) {
2424 NDR_CHECK(ndr_pull_align(ndr, 4));
2425 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2426 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2428 if (ndr_flags & NDR_BUFFERS) {
2430 return NDR_ERR_SUCCESS;
2433 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2435 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2436 ndr->depth++;
2437 ndr_print_uint32(ndr, "version", r->version);
2438 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2439 ndr->depth--;
2442 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)
2444 if (ndr_flags & NDR_SCALARS) {
2445 NDR_CHECK(ndr_push_align(ndr, 4));
2446 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2447 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2449 uint32_t _flags_save_uint8 = ndr->flags;
2450 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2451 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2452 ndr->flags = _flags_save_uint8;
2455 if (ndr_flags & NDR_BUFFERS) {
2457 uint32_t _flags_save_uint8 = ndr->flags;
2458 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2459 if (r->SensitiveData) {
2460 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2461 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2463 ndr->flags = _flags_save_uint8;
2466 return NDR_ERR_SUCCESS;
2469 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2471 uint32_t _ptr_SensitiveData;
2472 uint32_t size_SensitiveData_1 = 0;
2473 TALLOC_CTX *_mem_save_SensitiveData_0;
2474 if (ndr_flags & NDR_SCALARS) {
2475 NDR_CHECK(ndr_pull_align(ndr, 4));
2476 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2477 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2479 uint32_t _flags_save_uint8 = ndr->flags;
2480 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2481 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2482 if (_ptr_SensitiveData) {
2483 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2484 } else {
2485 r->SensitiveData = NULL;
2487 ndr->flags = _flags_save_uint8;
2490 if (ndr_flags & NDR_BUFFERS) {
2492 uint32_t _flags_save_uint8 = ndr->flags;
2493 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2494 if (r->SensitiveData) {
2495 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2496 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2497 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2498 size_SensitiveData_1 = ndr_get_array_size(ndr, &r->SensitiveData);
2499 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, size_SensitiveData_1);
2500 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, size_SensitiveData_1));
2501 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2503 ndr->flags = _flags_save_uint8;
2505 if (r->SensitiveData) {
2506 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2509 return NDR_ERR_SUCCESS;
2512 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2514 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2515 ndr->depth++;
2516 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2517 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2518 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2519 ndr->depth++;
2520 if (r->SensitiveData) {
2521 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2523 ndr->depth--;
2524 ndr->depth--;
2527 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2529 if (ndr_flags & NDR_SCALARS) {
2530 NDR_CHECK(ndr_push_align(ndr, 4));
2531 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2532 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2533 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2535 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2536 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2537 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2538 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2539 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2540 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2541 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2542 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2543 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2544 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2545 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2546 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2547 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2548 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2549 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2550 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2551 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2552 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2553 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2554 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2555 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2556 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2557 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2558 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2559 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2560 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2561 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2562 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2563 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2569 if (ndr_flags & NDR_BUFFERS) {
2570 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2571 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2572 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2573 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2574 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2575 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2576 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2577 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2578 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2579 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2580 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2581 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2582 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2583 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2584 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2585 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2587 return NDR_ERR_SUCCESS;
2590 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2592 if (ndr_flags & NDR_SCALARS) {
2593 NDR_CHECK(ndr_pull_align(ndr, 4));
2594 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2595 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2596 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2597 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2598 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2599 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2600 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2601 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2602 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2603 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2604 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2605 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2606 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2607 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2608 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2609 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2610 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2611 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2612 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2613 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2614 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2615 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2616 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2617 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2618 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2619 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2620 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2621 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2622 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2623 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2624 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2625 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2626 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2627 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2628 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2629 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2630 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2632 if (ndr_flags & NDR_BUFFERS) {
2633 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2634 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2635 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2636 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2637 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2638 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2639 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2640 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2641 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2642 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2643 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2644 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2645 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2646 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2647 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2648 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2650 return NDR_ERR_SUCCESS;
2653 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2655 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2656 ndr->depth++;
2657 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2658 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2659 ndr_print_uint32(ndr, "rid", r->rid);
2660 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2661 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2662 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2663 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2664 ndr_print_lsa_String(ndr, "description", &r->description);
2665 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2666 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2667 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2668 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2669 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2670 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2671 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2672 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2673 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2674 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2675 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2676 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2677 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2678 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2679 ndr_print_lsa_String(ndr, "comment", &r->comment);
2680 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2681 ndr_print_uint16(ndr, "country_code", r->country_code);
2682 ndr_print_uint16(ndr, "code_page", r->code_page);
2683 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2684 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2685 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2686 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2687 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2688 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2689 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2690 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2691 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2692 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2693 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2694 ndr->depth--;
2697 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2699 if (ndr_flags & NDR_SCALARS) {
2700 NDR_CHECK(ndr_push_align(ndr, 4));
2701 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2702 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2703 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2704 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2705 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2706 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2707 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2708 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2709 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2711 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2712 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2713 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2714 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2715 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2716 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2719 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2721 if (ndr_flags & NDR_BUFFERS) {
2722 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2723 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2724 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2725 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2726 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2727 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2728 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2730 return NDR_ERR_SUCCESS;
2733 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2735 if (ndr_flags & NDR_SCALARS) {
2736 NDR_CHECK(ndr_pull_align(ndr, 4));
2737 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2738 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2739 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2740 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2741 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2742 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2743 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2744 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2745 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2746 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2747 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2748 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2749 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2750 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2751 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2752 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2753 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2754 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2755 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2757 if (ndr_flags & NDR_BUFFERS) {
2758 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2759 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2760 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2761 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2762 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2763 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2764 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2766 return NDR_ERR_SUCCESS;
2769 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2771 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2772 ndr->depth++;
2773 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2774 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
2775 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2776 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2777 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2778 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2779 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2780 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2781 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2782 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2783 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2784 ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
2785 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2786 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2787 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2788 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2789 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2790 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2791 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2792 ndr->depth--;
2795 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2797 if (ndr_flags & NDR_SCALARS) {
2798 NDR_CHECK(ndr_push_align(ndr, 4));
2799 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2802 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2804 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2805 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2806 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2807 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2808 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2809 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2810 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2811 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2814 if (ndr_flags & NDR_BUFFERS) {
2815 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2816 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2817 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2818 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2819 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2820 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2821 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2823 return NDR_ERR_SUCCESS;
2826 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2828 if (ndr_flags & NDR_SCALARS) {
2829 NDR_CHECK(ndr_pull_align(ndr, 4));
2830 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2831 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2832 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2833 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2834 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2835 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2836 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2837 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2838 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2839 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2842 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2843 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2845 if (ndr_flags & NDR_BUFFERS) {
2846 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2847 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2848 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2849 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2850 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2851 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2852 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2854 return NDR_ERR_SUCCESS;
2857 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2859 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2860 ndr->depth++;
2861 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2862 ndr_print_uint32(ndr, "rid", r->rid);
2863 ndr_print_uint32(ndr, "attributes", r->attributes);
2864 ndr_print_lsa_String(ndr, "description", &r->description);
2865 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2866 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2867 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2868 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2869 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2870 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2871 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2872 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2873 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2874 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2875 ndr->depth--;
2878 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2880 if (ndr_flags & NDR_SCALARS) {
2881 NDR_CHECK(ndr_push_align(ndr, 4));
2882 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2883 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2884 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2885 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2886 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2887 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2888 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2889 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2890 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2893 if (ndr_flags & NDR_BUFFERS) {
2894 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2895 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2896 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2897 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2898 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2899 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2901 return NDR_ERR_SUCCESS;
2904 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2906 if (ndr_flags & NDR_SCALARS) {
2907 NDR_CHECK(ndr_pull_align(ndr, 4));
2908 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2909 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2910 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2911 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2912 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2913 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2914 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2915 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2916 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2917 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2919 if (ndr_flags & NDR_BUFFERS) {
2920 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2921 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2922 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2923 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2924 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2925 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2927 return NDR_ERR_SUCCESS;
2930 _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2932 ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2933 ndr->depth++;
2934 ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2935 ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2936 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2937 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2938 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2939 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2940 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2941 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2942 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2943 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2944 ndr->depth--;
2947 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)
2949 uint32_t cntr_rids_1;
2950 uint32_t cntr_attribs_1;
2951 if (ndr_flags & NDR_SCALARS) {
2952 NDR_CHECK(ndr_push_align(ndr, 4));
2953 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2954 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2955 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2956 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2957 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2958 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2961 if (ndr_flags & NDR_BUFFERS) {
2962 if (r->rids) {
2963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2964 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2968 if (r->attribs) {
2969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2970 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
2975 return NDR_ERR_SUCCESS;
2978 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
2980 uint32_t _ptr_rids;
2981 uint32_t size_rids_1 = 0;
2982 uint32_t cntr_rids_1;
2983 TALLOC_CTX *_mem_save_rids_0;
2984 TALLOC_CTX *_mem_save_rids_1;
2985 uint32_t _ptr_attribs;
2986 uint32_t size_attribs_1 = 0;
2987 uint32_t cntr_attribs_1;
2988 TALLOC_CTX *_mem_save_attribs_0;
2989 TALLOC_CTX *_mem_save_attribs_1;
2990 if (ndr_flags & NDR_SCALARS) {
2991 NDR_CHECK(ndr_pull_align(ndr, 4));
2992 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
2993 if (_ptr_rids) {
2994 NDR_PULL_ALLOC(ndr, r->rids);
2995 } else {
2996 r->rids = NULL;
2998 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2999 if (_ptr_attribs) {
3000 NDR_PULL_ALLOC(ndr, r->attribs);
3001 } else {
3002 r->attribs = NULL;
3004 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
3005 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
3006 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
3007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
3008 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
3010 if (ndr_flags & NDR_BUFFERS) {
3011 if (r->rids) {
3012 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
3013 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3014 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
3015 size_rids_1 = ndr_get_array_size(ndr, &r->rids);
3016 NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
3017 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
3018 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3019 for (cntr_rids_1 = 0; cntr_rids_1 < size_rids_1; cntr_rids_1++) {
3020 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
3022 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
3023 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
3025 if (r->attribs) {
3026 _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
3027 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
3028 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
3029 size_attribs_1 = ndr_get_array_size(ndr, &r->attribs);
3030 NDR_PULL_ALLOC_N(ndr, r->attribs, size_attribs_1);
3031 _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
3032 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
3033 for (cntr_attribs_1 = 0; cntr_attribs_1 < size_attribs_1; cntr_attribs_1++) {
3034 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
3036 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
3037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
3039 if (r->rids) {
3040 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
3042 if (r->attribs) {
3043 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
3046 return NDR_ERR_SUCCESS;
3049 _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
3051 uint32_t cntr_rids_1;
3052 uint32_t cntr_attribs_1;
3053 ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
3054 ndr->depth++;
3055 ndr_print_ptr(ndr, "rids", r->rids);
3056 ndr->depth++;
3057 if (r->rids) {
3058 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
3059 ndr->depth++;
3060 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
3061 char *idx_1=NULL;
3062 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
3063 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
3064 free(idx_1);
3067 ndr->depth--;
3069 ndr->depth--;
3070 ndr_print_ptr(ndr, "attribs", r->attribs);
3071 ndr->depth++;
3072 if (r->attribs) {
3073 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
3074 ndr->depth++;
3075 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
3076 char *idx_1=NULL;
3077 if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
3078 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
3079 free(idx_1);
3082 ndr->depth--;
3084 ndr->depth--;
3085 ndr_print_uint32(ndr, "num_rids", r->num_rids);
3086 ndr_print_uint32(ndr, "unknown1", r->unknown1);
3087 ndr_print_uint32(ndr, "unknown2", r->unknown2);
3088 ndr_print_uint32(ndr, "unknown3", r->unknown3);
3089 ndr_print_uint32(ndr, "unknown4", r->unknown4);
3090 ndr->depth--;
3093 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
3095 if (ndr_flags & NDR_SCALARS) {
3096 NDR_CHECK(ndr_push_align(ndr, 4));
3097 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3098 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3100 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3101 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3102 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3103 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3104 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3110 if (ndr_flags & NDR_BUFFERS) {
3111 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3112 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3113 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3114 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3115 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3116 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3118 return NDR_ERR_SUCCESS;
3121 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
3123 if (ndr_flags & NDR_SCALARS) {
3124 NDR_CHECK(ndr_pull_align(ndr, 4));
3125 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3127 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3128 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3129 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3130 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3131 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3132 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3133 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3134 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3136 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3138 if (ndr_flags & NDR_BUFFERS) {
3139 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3140 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3141 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3142 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3143 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3144 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3146 return NDR_ERR_SUCCESS;
3149 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
3151 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
3152 ndr->depth++;
3153 ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
3154 ndr_print_uint32(ndr, "rid", r->rid);
3155 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3156 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3157 ndr_print_lsa_String(ndr, "description", &r->description);
3158 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3159 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3160 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3161 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3162 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3163 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3164 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3165 ndr->depth--;
3168 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)
3170 if (ndr_flags & NDR_SCALARS) {
3171 NDR_CHECK(ndr_push_align(ndr, 4));
3172 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
3174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
3175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
3176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
3178 if (ndr_flags & NDR_BUFFERS) {
3179 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3181 return NDR_ERR_SUCCESS;
3184 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
3186 if (ndr_flags & NDR_SCALARS) {
3187 NDR_CHECK(ndr_pull_align(ndr, 4));
3188 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3189 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
3190 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
3191 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
3192 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
3194 if (ndr_flags & NDR_BUFFERS) {
3195 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3197 return NDR_ERR_SUCCESS;
3200 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
3202 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
3203 ndr->depth++;
3204 ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
3205 ndr_print_uint32(ndr, "unknown1", r->unknown1);
3206 ndr_print_uint32(ndr, "unknown2", r->unknown2);
3207 ndr_print_uint32(ndr, "unknown3", r->unknown3);
3208 ndr_print_uint32(ndr, "unknown4", r->unknown4);
3209 ndr->depth--;
3212 static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
3214 if (ndr_flags & NDR_SCALARS) {
3215 NDR_CHECK(ndr_push_align(ndr, 4));
3216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
3217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
3218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
3219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
3220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
3221 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
3223 if (ndr_flags & NDR_BUFFERS) {
3225 return NDR_ERR_SUCCESS;
3228 static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
3230 if (ndr_flags & NDR_SCALARS) {
3231 NDR_CHECK(ndr_pull_align(ndr, 4));
3232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
3233 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
3234 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
3235 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
3236 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
3237 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
3239 if (ndr_flags & NDR_BUFFERS) {
3241 return NDR_ERR_SUCCESS;
3244 _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
3246 ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
3247 ndr->depth++;
3248 ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
3249 ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
3250 ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
3251 ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
3252 ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
3253 ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
3254 ndr->depth--;
3257 static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
3259 uint32_t cntr_eventauditoptions_1;
3260 if (ndr_flags & NDR_SCALARS) {
3261 NDR_CHECK(ndr_push_align(ndr, 4));
3262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
3263 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
3264 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
3265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
3266 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
3267 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3268 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3269 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3270 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
3271 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
3272 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3273 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3274 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3275 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3276 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3277 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3279 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3281 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3283 if (ndr_flags & NDR_BUFFERS) {
3284 if (r->eventauditoptions) {
3285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
3286 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3287 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
3290 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3291 if (r->sid) {
3292 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3294 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3295 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3296 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3297 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3298 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3300 return NDR_ERR_SUCCESS;
3303 static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3305 uint32_t _ptr_eventauditoptions;
3306 uint32_t size_eventauditoptions_1 = 0;
3307 uint32_t cntr_eventauditoptions_1;
3308 TALLOC_CTX *_mem_save_eventauditoptions_0;
3309 TALLOC_CTX *_mem_save_eventauditoptions_1;
3310 uint32_t _ptr_sid;
3311 TALLOC_CTX *_mem_save_sid_0;
3312 if (ndr_flags & NDR_SCALARS) {
3313 NDR_CHECK(ndr_pull_align(ndr, 4));
3314 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3315 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3316 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3317 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3318 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3319 if (_ptr_eventauditoptions) {
3320 NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3321 } else {
3322 r->eventauditoptions = NULL;
3324 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3325 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3326 if (_ptr_sid) {
3327 NDR_PULL_ALLOC(ndr, r->sid);
3328 } else {
3329 r->sid = NULL;
3331 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3332 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3333 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3335 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3336 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3337 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3338 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3339 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3340 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3341 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3342 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3343 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3345 if (ndr_flags & NDR_BUFFERS) {
3346 if (r->eventauditoptions) {
3347 _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3348 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3349 NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3350 size_eventauditoptions_1 = ndr_get_array_size(ndr, &r->eventauditoptions);
3351 NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, size_eventauditoptions_1);
3352 _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3353 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3354 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < size_eventauditoptions_1; cntr_eventauditoptions_1++) {
3355 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3357 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3358 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3360 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3361 if (r->sid) {
3362 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3363 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3364 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3367 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3368 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3369 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3370 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3371 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3372 if (r->eventauditoptions) {
3373 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3376 return NDR_ERR_SUCCESS;
3379 _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3381 uint32_t cntr_eventauditoptions_1;
3382 ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3383 ndr->depth++;
3384 ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3385 ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3386 ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3387 ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3388 ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3389 ndr->depth++;
3390 if (r->eventauditoptions) {
3391 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
3392 ndr->depth++;
3393 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3394 char *idx_1=NULL;
3395 if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3396 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3397 free(idx_1);
3400 ndr->depth--;
3402 ndr->depth--;
3403 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3404 ndr_print_ptr(ndr, "sid", r->sid);
3405 ndr->depth++;
3406 if (r->sid) {
3407 ndr_print_dom_sid2(ndr, "sid", r->sid);
3409 ndr->depth--;
3410 ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3411 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3412 ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3413 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3414 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3415 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3416 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3417 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3418 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3419 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3420 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3421 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3422 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3423 ndr->depth--;
3426 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)
3428 uint32_t cntr_controller_names_1;
3429 if (ndr_flags & NDR_SCALARS) {
3430 NDR_CHECK(ndr_push_align(ndr, 4));
3431 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3433 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3435 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3436 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3437 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3438 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3439 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3440 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3441 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3442 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3445 if (ndr_flags & NDR_BUFFERS) {
3446 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3447 if (r->controller_names) {
3448 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3449 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3450 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3452 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3453 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3456 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3457 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3458 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3459 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3460 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3462 return NDR_ERR_SUCCESS;
3465 static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3467 uint32_t _ptr_controller_names;
3468 uint32_t size_controller_names_1 = 0;
3469 uint32_t cntr_controller_names_1;
3470 TALLOC_CTX *_mem_save_controller_names_0;
3471 TALLOC_CTX *_mem_save_controller_names_1;
3472 if (ndr_flags & NDR_SCALARS) {
3473 NDR_CHECK(ndr_pull_align(ndr, 4));
3474 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3475 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3476 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3477 if (_ptr_controller_names) {
3478 NDR_PULL_ALLOC(ndr, r->controller_names);
3479 } else {
3480 r->controller_names = NULL;
3482 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3483 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3484 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3485 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3486 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3487 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3490 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3491 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3493 if (ndr_flags & NDR_BUFFERS) {
3494 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3495 if (r->controller_names) {
3496 _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3497 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3498 NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3499 size_controller_names_1 = ndr_get_array_size(ndr, &r->controller_names);
3500 NDR_PULL_ALLOC_N(ndr, r->controller_names, size_controller_names_1);
3501 _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3502 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3503 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < size_controller_names_1; cntr_controller_names_1++) {
3504 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3506 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < size_controller_names_1; cntr_controller_names_1++) {
3507 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3509 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3512 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3513 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3514 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3515 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3516 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3517 if (r->controller_names) {
3518 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3521 return NDR_ERR_SUCCESS;
3524 _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3526 uint32_t cntr_controller_names_1;
3527 ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3528 ndr->depth++;
3529 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3530 ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3531 ndr_print_ptr(ndr, "controller_names", r->controller_names);
3532 ndr->depth++;
3533 if (r->controller_names) {
3534 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
3535 ndr->depth++;
3536 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3537 char *idx_1=NULL;
3538 if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) {
3539 ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3540 free(idx_1);
3543 ndr->depth--;
3545 ndr->depth--;
3546 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3547 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3548 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3549 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3550 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3551 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3552 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3553 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3554 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3555 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3556 ndr->depth--;
3559 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)
3561 if (ndr_flags & NDR_SCALARS) {
3562 NDR_CHECK(ndr_push_align(ndr, 2));
3563 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3565 if (ndr_flags & NDR_BUFFERS) {
3567 return NDR_ERR_SUCCESS;
3570 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3572 if (ndr_flags & NDR_SCALARS) {
3573 NDR_CHECK(ndr_pull_align(ndr, 2));
3574 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3576 if (ndr_flags & NDR_BUFFERS) {
3578 return NDR_ERR_SUCCESS;
3581 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3583 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3584 ndr->depth++;
3585 ndr_print_uint16(ndr, "unknown", r->unknown);
3586 ndr->depth--;
3589 static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3591 uint32_t cntr_privilege_attrib_1;
3592 uint32_t cntr_privilege_name_1;
3593 if (ndr_flags & NDR_SCALARS) {
3594 NDR_CHECK(ndr_push_align(ndr, 4));
3595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3597 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3598 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3599 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3602 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3603 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3604 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3605 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3606 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3607 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3612 if (ndr_flags & NDR_BUFFERS) {
3613 if (r->privilege_attrib) {
3614 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3615 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3619 if (r->privilege_name) {
3620 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3621 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3622 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3624 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3625 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3628 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3629 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3630 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3631 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3632 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3634 return NDR_ERR_SUCCESS;
3637 static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3639 uint32_t _ptr_privilege_attrib;
3640 uint32_t size_privilege_attrib_1 = 0;
3641 uint32_t cntr_privilege_attrib_1;
3642 TALLOC_CTX *_mem_save_privilege_attrib_0;
3643 TALLOC_CTX *_mem_save_privilege_attrib_1;
3644 uint32_t _ptr_privilege_name;
3645 uint32_t size_privilege_name_1 = 0;
3646 uint32_t cntr_privilege_name_1;
3647 TALLOC_CTX *_mem_save_privilege_name_0;
3648 TALLOC_CTX *_mem_save_privilege_name_1;
3649 if (ndr_flags & NDR_SCALARS) {
3650 NDR_CHECK(ndr_pull_align(ndr, 4));
3651 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3652 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3653 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3654 if (_ptr_privilege_attrib) {
3655 NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3656 } else {
3657 r->privilege_attrib = NULL;
3659 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3660 if (_ptr_privilege_name) {
3661 NDR_PULL_ALLOC(ndr, r->privilege_name);
3662 } else {
3663 r->privilege_name = NULL;
3665 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3666 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3667 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3668 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3669 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3670 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3671 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3672 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3673 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3674 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3675 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3676 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3678 if (ndr_flags & NDR_BUFFERS) {
3679 if (r->privilege_attrib) {
3680 _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3681 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3682 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3683 size_privilege_attrib_1 = ndr_get_array_size(ndr, &r->privilege_attrib);
3684 NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, size_privilege_attrib_1);
3685 _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3686 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3687 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < size_privilege_attrib_1; cntr_privilege_attrib_1++) {
3688 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3693 if (r->privilege_name) {
3694 _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3695 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3696 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3697 size_privilege_name_1 = ndr_get_array_size(ndr, &r->privilege_name);
3698 NDR_PULL_ALLOC_N(ndr, r->privilege_name, size_privilege_name_1);
3699 _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3700 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3701 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < size_privilege_name_1; cntr_privilege_name_1++) {
3702 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3704 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < size_privilege_name_1; cntr_privilege_name_1++) {
3705 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3707 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3708 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3710 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3711 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3712 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3713 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3714 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3715 if (r->privilege_attrib) {
3716 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3718 if (r->privilege_name) {
3719 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3722 return NDR_ERR_SUCCESS;
3725 _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3727 uint32_t cntr_privilege_attrib_1;
3728 uint32_t cntr_privilege_name_1;
3729 ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3730 ndr->depth++;
3731 ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3732 ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3733 ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3734 ndr->depth++;
3735 if (r->privilege_attrib) {
3736 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
3737 ndr->depth++;
3738 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3739 char *idx_1=NULL;
3740 if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) {
3741 ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3742 free(idx_1);
3745 ndr->depth--;
3747 ndr->depth--;
3748 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3749 ndr->depth++;
3750 if (r->privilege_name) {
3751 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
3752 ndr->depth++;
3753 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3754 char *idx_1=NULL;
3755 if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) {
3756 ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3757 free(idx_1);
3760 ndr->depth--;
3762 ndr->depth--;
3763 ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3764 ndr_print_uint32(ndr, "system_flags", r->system_flags);
3765 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3766 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3767 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3768 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3769 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3770 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3771 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3772 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3773 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3774 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3775 ndr->depth--;
3778 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)
3780 if (ndr_flags & NDR_SCALARS) {
3781 NDR_CHECK(ndr_push_align(ndr, 2));
3782 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3784 if (ndr_flags & NDR_BUFFERS) {
3786 return NDR_ERR_SUCCESS;
3789 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3791 if (ndr_flags & NDR_SCALARS) {
3792 NDR_CHECK(ndr_pull_align(ndr, 2));
3793 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3795 if (ndr_flags & NDR_BUFFERS) {
3797 return NDR_ERR_SUCCESS;
3800 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3802 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3803 ndr->depth++;
3804 ndr_print_uint16(ndr, "unknown", r->unknown);
3805 ndr->depth--;
3808 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)
3810 if (ndr_flags & NDR_SCALARS) {
3811 NDR_CHECK(ndr_push_align(ndr, 2));
3812 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3814 if (ndr_flags & NDR_BUFFERS) {
3816 return NDR_ERR_SUCCESS;
3819 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3821 if (ndr_flags & NDR_SCALARS) {
3822 NDR_CHECK(ndr_pull_align(ndr, 2));
3823 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3825 if (ndr_flags & NDR_BUFFERS) {
3827 return NDR_ERR_SUCCESS;
3830 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3832 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3833 ndr->depth++;
3834 ndr_print_uint16(ndr, "unknown", r->unknown);
3835 ndr->depth--;
3838 static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3840 if (ndr_flags & NDR_SCALARS) {
3841 NDR_CHECK(ndr_push_align(ndr, 4));
3842 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3844 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3846 if (ndr_flags & NDR_BUFFERS) {
3847 if (r->cipher_data) {
3848 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3849 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3851 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3854 return NDR_ERR_SUCCESS;
3857 static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3859 uint32_t _ptr_cipher_data;
3860 uint32_t size_cipher_data_1 = 0;
3861 uint32_t length_cipher_data_1 = 0;
3862 TALLOC_CTX *_mem_save_cipher_data_0;
3863 if (ndr_flags & NDR_SCALARS) {
3864 NDR_CHECK(ndr_pull_align(ndr, 4));
3865 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3866 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3867 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3868 if (_ptr_cipher_data) {
3869 NDR_PULL_ALLOC(ndr, r->cipher_data);
3870 } else {
3871 r->cipher_data = NULL;
3874 if (ndr_flags & NDR_BUFFERS) {
3875 if (r->cipher_data) {
3876 _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3877 NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3878 NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3879 NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3880 size_cipher_data_1 = ndr_get_array_size(ndr, &r->cipher_data);
3881 length_cipher_data_1 = ndr_get_array_length(ndr, &r->cipher_data);
3882 if (length_cipher_data_1 > size_cipher_data_1) {
3883 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_cipher_data_1, length_cipher_data_1);
3885 NDR_PULL_ALLOC_N(ndr, r->cipher_data, size_cipher_data_1);
3886 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, length_cipher_data_1));
3887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3889 if (r->cipher_data) {
3890 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3892 if (r->cipher_data) {
3893 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3896 return NDR_ERR_SUCCESS;
3899 _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3901 ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3902 ndr->depth++;
3903 ndr_print_uint32(ndr, "len", r->len);
3904 ndr_print_uint32(ndr, "maxlen", r->maxlen);
3905 ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3906 ndr->depth++;
3907 if (r->cipher_data) {
3908 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3910 ndr->depth--;
3911 ndr->depth--;
3914 static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3916 if (ndr_flags & NDR_SCALARS) {
3917 NDR_CHECK(ndr_push_align(ndr, 4));
3918 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3919 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3920 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3921 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3923 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3924 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3925 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3926 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3927 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3931 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3933 if (ndr_flags & NDR_BUFFERS) {
3934 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3935 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3936 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3937 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3938 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3939 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3940 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3942 return NDR_ERR_SUCCESS;
3945 static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3947 if (ndr_flags & NDR_SCALARS) {
3948 NDR_CHECK(ndr_pull_align(ndr, 4));
3949 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3950 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3951 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3952 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3953 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3954 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3955 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3956 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3957 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3958 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3959 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3960 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3961 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3962 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3964 if (ndr_flags & NDR_BUFFERS) {
3965 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3966 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3967 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3968 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3969 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3970 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3971 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3973 return NDR_ERR_SUCCESS;
3976 _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
3978 ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
3979 ndr->depth++;
3980 ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
3981 ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
3982 ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
3983 ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
3984 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3985 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3986 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3987 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3988 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3989 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3990 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3991 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3992 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3993 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3994 ndr->depth--;
3997 static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
3999 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
4000 return NDR_ERR_SUCCESS;
4003 static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
4005 uint16_t v;
4006 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
4007 *r = v;
4008 return NDR_ERR_SUCCESS;
4011 _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
4013 const char *val = NULL;
4015 switch (r) {
4016 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
4017 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
4018 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
4019 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
4020 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
4021 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
4022 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
4023 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
4024 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
4025 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
4026 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
4027 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
4028 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
4029 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
4030 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
4031 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
4032 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
4033 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
4034 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
4035 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
4036 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
4037 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
4039 ndr_print_enum(ndr, name, "ENUM", val, r);
4042 static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
4044 if (ndr_flags & NDR_SCALARS) {
4045 int level = ndr_push_get_switch_value(ndr, r);
4046 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4047 switch (level) {
4048 case NETR_DELTA_DOMAIN: {
4049 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4050 break; }
4052 case NETR_DELTA_GROUP: {
4053 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
4054 break; }
4056 case NETR_DELTA_DELETE_GROUP: {
4057 break; }
4059 case NETR_DELTA_RENAME_GROUP: {
4060 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
4061 break; }
4063 case NETR_DELTA_USER: {
4064 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
4065 break; }
4067 case NETR_DELTA_DELETE_USER: {
4068 break; }
4070 case NETR_DELTA_RENAME_USER: {
4071 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
4072 break; }
4074 case NETR_DELTA_GROUP_MEMBER: {
4075 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
4076 break; }
4078 case NETR_DELTA_ALIAS: {
4079 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
4080 break; }
4082 case NETR_DELTA_DELETE_ALIAS: {
4083 break; }
4085 case NETR_DELTA_RENAME_ALIAS: {
4086 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
4087 break; }
4089 case NETR_DELTA_ALIAS_MEMBER: {
4090 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
4091 break; }
4093 case NETR_DELTA_POLICY: {
4094 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
4095 break; }
4097 case NETR_DELTA_TRUSTED_DOMAIN: {
4098 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
4099 break; }
4101 case NETR_DELTA_DELETE_TRUST: {
4102 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4103 break; }
4105 case NETR_DELTA_ACCOUNT: {
4106 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
4107 break; }
4109 case NETR_DELTA_DELETE_ACCOUNT: {
4110 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4111 break; }
4113 case NETR_DELTA_SECRET: {
4114 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
4115 break; }
4117 case NETR_DELTA_DELETE_SECRET: {
4118 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4119 break; }
4121 case NETR_DELTA_DELETE_GROUP2: {
4122 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
4123 break; }
4125 case NETR_DELTA_DELETE_USER2: {
4126 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
4127 break; }
4129 case NETR_DELTA_MODIFY_COUNT: {
4130 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
4131 break; }
4133 default:
4134 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4137 if (ndr_flags & NDR_BUFFERS) {
4138 int level = ndr_push_get_switch_value(ndr, r);
4139 switch (level) {
4140 case NETR_DELTA_DOMAIN:
4141 if (r->domain) {
4142 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4144 break;
4146 case NETR_DELTA_GROUP:
4147 if (r->group) {
4148 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4150 break;
4152 case NETR_DELTA_DELETE_GROUP:
4153 break;
4155 case NETR_DELTA_RENAME_GROUP:
4156 if (r->rename_group) {
4157 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4159 break;
4161 case NETR_DELTA_USER:
4162 if (r->user) {
4163 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4165 break;
4167 case NETR_DELTA_DELETE_USER:
4168 break;
4170 case NETR_DELTA_RENAME_USER:
4171 if (r->rename_user) {
4172 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4174 break;
4176 case NETR_DELTA_GROUP_MEMBER:
4177 if (r->group_member) {
4178 NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4180 break;
4182 case NETR_DELTA_ALIAS:
4183 if (r->alias) {
4184 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4186 break;
4188 case NETR_DELTA_DELETE_ALIAS:
4189 break;
4191 case NETR_DELTA_RENAME_ALIAS:
4192 if (r->rename_alias) {
4193 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4195 break;
4197 case NETR_DELTA_ALIAS_MEMBER:
4198 if (r->alias_member) {
4199 NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4201 break;
4203 case NETR_DELTA_POLICY:
4204 if (r->policy) {
4205 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4207 break;
4209 case NETR_DELTA_TRUSTED_DOMAIN:
4210 if (r->trusted_domain) {
4211 NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4213 break;
4215 case NETR_DELTA_DELETE_TRUST:
4216 break;
4218 case NETR_DELTA_ACCOUNT:
4219 if (r->account) {
4220 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4222 break;
4224 case NETR_DELTA_DELETE_ACCOUNT:
4225 break;
4227 case NETR_DELTA_SECRET:
4228 if (r->secret) {
4229 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4231 break;
4233 case NETR_DELTA_DELETE_SECRET:
4234 break;
4236 case NETR_DELTA_DELETE_GROUP2:
4237 if (r->delete_group) {
4238 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4240 break;
4242 case NETR_DELTA_DELETE_USER2:
4243 if (r->delete_user) {
4244 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4246 break;
4248 case NETR_DELTA_MODIFY_COUNT:
4249 if (r->modified_count) {
4250 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
4252 break;
4254 default:
4255 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4258 return NDR_ERR_SUCCESS;
4261 static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
4263 int level;
4264 uint16_t _level;
4265 TALLOC_CTX *_mem_save_domain_0;
4266 uint32_t _ptr_domain;
4267 TALLOC_CTX *_mem_save_group_0;
4268 uint32_t _ptr_group;
4269 TALLOC_CTX *_mem_save_rename_group_0;
4270 uint32_t _ptr_rename_group;
4271 TALLOC_CTX *_mem_save_user_0;
4272 uint32_t _ptr_user;
4273 TALLOC_CTX *_mem_save_rename_user_0;
4274 uint32_t _ptr_rename_user;
4275 TALLOC_CTX *_mem_save_group_member_0;
4276 uint32_t _ptr_group_member;
4277 TALLOC_CTX *_mem_save_alias_0;
4278 uint32_t _ptr_alias;
4279 TALLOC_CTX *_mem_save_rename_alias_0;
4280 uint32_t _ptr_rename_alias;
4281 TALLOC_CTX *_mem_save_alias_member_0;
4282 uint32_t _ptr_alias_member;
4283 TALLOC_CTX *_mem_save_policy_0;
4284 uint32_t _ptr_policy;
4285 TALLOC_CTX *_mem_save_trusted_domain_0;
4286 uint32_t _ptr_trusted_domain;
4287 TALLOC_CTX *_mem_save_account_0;
4288 uint32_t _ptr_account;
4289 TALLOC_CTX *_mem_save_secret_0;
4290 uint32_t _ptr_secret;
4291 TALLOC_CTX *_mem_save_delete_group_0;
4292 uint32_t _ptr_delete_group;
4293 TALLOC_CTX *_mem_save_delete_user_0;
4294 uint32_t _ptr_delete_user;
4295 TALLOC_CTX *_mem_save_modified_count_0;
4296 uint32_t _ptr_modified_count;
4297 level = ndr_pull_get_switch_value(ndr, r);
4298 if (ndr_flags & NDR_SCALARS) {
4299 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4300 if (_level != level) {
4301 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4303 switch (level) {
4304 case NETR_DELTA_DOMAIN: {
4305 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4306 if (_ptr_domain) {
4307 NDR_PULL_ALLOC(ndr, r->domain);
4308 } else {
4309 r->domain = NULL;
4311 break; }
4313 case NETR_DELTA_GROUP: {
4314 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
4315 if (_ptr_group) {
4316 NDR_PULL_ALLOC(ndr, r->group);
4317 } else {
4318 r->group = NULL;
4320 break; }
4322 case NETR_DELTA_DELETE_GROUP: {
4323 break; }
4325 case NETR_DELTA_RENAME_GROUP: {
4326 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4327 if (_ptr_rename_group) {
4328 NDR_PULL_ALLOC(ndr, r->rename_group);
4329 } else {
4330 r->rename_group = NULL;
4332 break; }
4334 case NETR_DELTA_USER: {
4335 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4336 if (_ptr_user) {
4337 NDR_PULL_ALLOC(ndr, r->user);
4338 } else {
4339 r->user = NULL;
4341 break; }
4343 case NETR_DELTA_DELETE_USER: {
4344 break; }
4346 case NETR_DELTA_RENAME_USER: {
4347 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4348 if (_ptr_rename_user) {
4349 NDR_PULL_ALLOC(ndr, r->rename_user);
4350 } else {
4351 r->rename_user = NULL;
4353 break; }
4355 case NETR_DELTA_GROUP_MEMBER: {
4356 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4357 if (_ptr_group_member) {
4358 NDR_PULL_ALLOC(ndr, r->group_member);
4359 } else {
4360 r->group_member = NULL;
4362 break; }
4364 case NETR_DELTA_ALIAS: {
4365 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4366 if (_ptr_alias) {
4367 NDR_PULL_ALLOC(ndr, r->alias);
4368 } else {
4369 r->alias = NULL;
4371 break; }
4373 case NETR_DELTA_DELETE_ALIAS: {
4374 break; }
4376 case NETR_DELTA_RENAME_ALIAS: {
4377 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4378 if (_ptr_rename_alias) {
4379 NDR_PULL_ALLOC(ndr, r->rename_alias);
4380 } else {
4381 r->rename_alias = NULL;
4383 break; }
4385 case NETR_DELTA_ALIAS_MEMBER: {
4386 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4387 if (_ptr_alias_member) {
4388 NDR_PULL_ALLOC(ndr, r->alias_member);
4389 } else {
4390 r->alias_member = NULL;
4392 break; }
4394 case NETR_DELTA_POLICY: {
4395 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4396 if (_ptr_policy) {
4397 NDR_PULL_ALLOC(ndr, r->policy);
4398 } else {
4399 r->policy = NULL;
4401 break; }
4403 case NETR_DELTA_TRUSTED_DOMAIN: {
4404 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4405 if (_ptr_trusted_domain) {
4406 NDR_PULL_ALLOC(ndr, r->trusted_domain);
4407 } else {
4408 r->trusted_domain = NULL;
4410 break; }
4412 case NETR_DELTA_DELETE_TRUST: {
4413 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4414 break; }
4416 case NETR_DELTA_ACCOUNT: {
4417 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4418 if (_ptr_account) {
4419 NDR_PULL_ALLOC(ndr, r->account);
4420 } else {
4421 r->account = NULL;
4423 break; }
4425 case NETR_DELTA_DELETE_ACCOUNT: {
4426 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4427 break; }
4429 case NETR_DELTA_SECRET: {
4430 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4431 if (_ptr_secret) {
4432 NDR_PULL_ALLOC(ndr, r->secret);
4433 } else {
4434 r->secret = NULL;
4436 break; }
4438 case NETR_DELTA_DELETE_SECRET: {
4439 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4440 break; }
4442 case NETR_DELTA_DELETE_GROUP2: {
4443 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4444 if (_ptr_delete_group) {
4445 NDR_PULL_ALLOC(ndr, r->delete_group);
4446 } else {
4447 r->delete_group = NULL;
4449 break; }
4451 case NETR_DELTA_DELETE_USER2: {
4452 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4453 if (_ptr_delete_user) {
4454 NDR_PULL_ALLOC(ndr, r->delete_user);
4455 } else {
4456 r->delete_user = NULL;
4458 break; }
4460 case NETR_DELTA_MODIFY_COUNT: {
4461 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4462 if (_ptr_modified_count) {
4463 NDR_PULL_ALLOC(ndr, r->modified_count);
4464 } else {
4465 r->modified_count = NULL;
4467 break; }
4469 default:
4470 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4473 if (ndr_flags & NDR_BUFFERS) {
4474 switch (level) {
4475 case NETR_DELTA_DOMAIN:
4476 if (r->domain) {
4477 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4478 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4479 NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4482 break;
4484 case NETR_DELTA_GROUP:
4485 if (r->group) {
4486 _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4487 NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4488 NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4491 break;
4493 case NETR_DELTA_DELETE_GROUP:
4494 break;
4496 case NETR_DELTA_RENAME_GROUP:
4497 if (r->rename_group) {
4498 _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4499 NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4500 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4501 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4503 break;
4505 case NETR_DELTA_USER:
4506 if (r->user) {
4507 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4508 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4509 NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4512 break;
4514 case NETR_DELTA_DELETE_USER:
4515 break;
4517 case NETR_DELTA_RENAME_USER:
4518 if (r->rename_user) {
4519 _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4520 NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4521 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4524 break;
4526 case NETR_DELTA_GROUP_MEMBER:
4527 if (r->group_member) {
4528 _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4529 NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4530 NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4533 break;
4535 case NETR_DELTA_ALIAS:
4536 if (r->alias) {
4537 _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4538 NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4539 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4540 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4542 break;
4544 case NETR_DELTA_DELETE_ALIAS:
4545 break;
4547 case NETR_DELTA_RENAME_ALIAS:
4548 if (r->rename_alias) {
4549 _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4550 NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4551 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4552 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4554 break;
4556 case NETR_DELTA_ALIAS_MEMBER:
4557 if (r->alias_member) {
4558 _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4559 NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4560 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4563 break;
4565 case NETR_DELTA_POLICY:
4566 if (r->policy) {
4567 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4568 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4569 NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4570 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4572 break;
4574 case NETR_DELTA_TRUSTED_DOMAIN:
4575 if (r->trusted_domain) {
4576 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4577 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4578 NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4579 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4581 break;
4583 case NETR_DELTA_DELETE_TRUST:
4584 break;
4586 case NETR_DELTA_ACCOUNT:
4587 if (r->account) {
4588 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4589 NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4590 NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4593 break;
4595 case NETR_DELTA_DELETE_ACCOUNT:
4596 break;
4598 case NETR_DELTA_SECRET:
4599 if (r->secret) {
4600 _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4601 NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4602 NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4605 break;
4607 case NETR_DELTA_DELETE_SECRET:
4608 break;
4610 case NETR_DELTA_DELETE_GROUP2:
4611 if (r->delete_group) {
4612 _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4613 NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4614 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4615 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4617 break;
4619 case NETR_DELTA_DELETE_USER2:
4620 if (r->delete_user) {
4621 _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4622 NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4623 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4624 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4626 break;
4628 case NETR_DELTA_MODIFY_COUNT:
4629 if (r->modified_count) {
4630 _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4631 NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4632 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4633 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4635 break;
4637 default:
4638 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4641 return NDR_ERR_SUCCESS;
4644 _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4646 int level;
4647 level = ndr_print_get_switch_value(ndr, r);
4648 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4649 switch (level) {
4650 case NETR_DELTA_DOMAIN:
4651 ndr_print_ptr(ndr, "domain", r->domain);
4652 ndr->depth++;
4653 if (r->domain) {
4654 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4656 ndr->depth--;
4657 break;
4659 case NETR_DELTA_GROUP:
4660 ndr_print_ptr(ndr, "group", r->group);
4661 ndr->depth++;
4662 if (r->group) {
4663 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4665 ndr->depth--;
4666 break;
4668 case NETR_DELTA_DELETE_GROUP:
4669 break;
4671 case NETR_DELTA_RENAME_GROUP:
4672 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4673 ndr->depth++;
4674 if (r->rename_group) {
4675 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4677 ndr->depth--;
4678 break;
4680 case NETR_DELTA_USER:
4681 ndr_print_ptr(ndr, "user", r->user);
4682 ndr->depth++;
4683 if (r->user) {
4684 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4686 ndr->depth--;
4687 break;
4689 case NETR_DELTA_DELETE_USER:
4690 break;
4692 case NETR_DELTA_RENAME_USER:
4693 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4694 ndr->depth++;
4695 if (r->rename_user) {
4696 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4698 ndr->depth--;
4699 break;
4701 case NETR_DELTA_GROUP_MEMBER:
4702 ndr_print_ptr(ndr, "group_member", r->group_member);
4703 ndr->depth++;
4704 if (r->group_member) {
4705 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4707 ndr->depth--;
4708 break;
4710 case NETR_DELTA_ALIAS:
4711 ndr_print_ptr(ndr, "alias", r->alias);
4712 ndr->depth++;
4713 if (r->alias) {
4714 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4716 ndr->depth--;
4717 break;
4719 case NETR_DELTA_DELETE_ALIAS:
4720 break;
4722 case NETR_DELTA_RENAME_ALIAS:
4723 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4724 ndr->depth++;
4725 if (r->rename_alias) {
4726 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4728 ndr->depth--;
4729 break;
4731 case NETR_DELTA_ALIAS_MEMBER:
4732 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4733 ndr->depth++;
4734 if (r->alias_member) {
4735 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4737 ndr->depth--;
4738 break;
4740 case NETR_DELTA_POLICY:
4741 ndr_print_ptr(ndr, "policy", r->policy);
4742 ndr->depth++;
4743 if (r->policy) {
4744 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4746 ndr->depth--;
4747 break;
4749 case NETR_DELTA_TRUSTED_DOMAIN:
4750 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4751 ndr->depth++;
4752 if (r->trusted_domain) {
4753 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4755 ndr->depth--;
4756 break;
4758 case NETR_DELTA_DELETE_TRUST:
4759 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4760 break;
4762 case NETR_DELTA_ACCOUNT:
4763 ndr_print_ptr(ndr, "account", r->account);
4764 ndr->depth++;
4765 if (r->account) {
4766 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4768 ndr->depth--;
4769 break;
4771 case NETR_DELTA_DELETE_ACCOUNT:
4772 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4773 break;
4775 case NETR_DELTA_SECRET:
4776 ndr_print_ptr(ndr, "secret", r->secret);
4777 ndr->depth++;
4778 if (r->secret) {
4779 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4781 ndr->depth--;
4782 break;
4784 case NETR_DELTA_DELETE_SECRET:
4785 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4786 break;
4788 case NETR_DELTA_DELETE_GROUP2:
4789 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4790 ndr->depth++;
4791 if (r->delete_group) {
4792 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4794 ndr->depth--;
4795 break;
4797 case NETR_DELTA_DELETE_USER2:
4798 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4799 ndr->depth++;
4800 if (r->delete_user) {
4801 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4803 ndr->depth--;
4804 break;
4806 case NETR_DELTA_MODIFY_COUNT:
4807 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4808 ndr->depth++;
4809 if (r->modified_count) {
4810 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4812 ndr->depth--;
4813 break;
4815 default:
4816 ndr_print_bad_level(ndr, name, level);
4820 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)
4822 if (ndr_flags & NDR_SCALARS) {
4823 int level = ndr_push_get_switch_value(ndr, r);
4824 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4825 switch (level) {
4826 case NETR_DELTA_DOMAIN: {
4827 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4828 break; }
4830 case NETR_DELTA_GROUP: {
4831 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4832 break; }
4834 case NETR_DELTA_DELETE_GROUP: {
4835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4836 break; }
4838 case NETR_DELTA_RENAME_GROUP: {
4839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4840 break; }
4842 case NETR_DELTA_USER: {
4843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4844 break; }
4846 case NETR_DELTA_DELETE_USER: {
4847 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4848 break; }
4850 case NETR_DELTA_RENAME_USER: {
4851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4852 break; }
4854 case NETR_DELTA_GROUP_MEMBER: {
4855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4856 break; }
4858 case NETR_DELTA_ALIAS: {
4859 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4860 break; }
4862 case NETR_DELTA_DELETE_ALIAS: {
4863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4864 break; }
4866 case NETR_DELTA_RENAME_ALIAS: {
4867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4868 break; }
4870 case NETR_DELTA_ALIAS_MEMBER: {
4871 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4872 break; }
4874 case NETR_DELTA_POLICY: {
4875 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4876 break; }
4878 case NETR_DELTA_TRUSTED_DOMAIN: {
4879 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4880 break; }
4882 case NETR_DELTA_DELETE_TRUST: {
4883 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4884 break; }
4886 case NETR_DELTA_ACCOUNT: {
4887 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4888 break; }
4890 case NETR_DELTA_DELETE_ACCOUNT: {
4891 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4892 break; }
4894 case NETR_DELTA_SECRET: {
4895 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4896 break; }
4898 case NETR_DELTA_DELETE_SECRET: {
4899 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4900 break; }
4902 case NETR_DELTA_DELETE_GROUP2: {
4903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4904 break; }
4906 case NETR_DELTA_DELETE_USER2: {
4907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4908 break; }
4910 case NETR_DELTA_MODIFY_COUNT: {
4911 break; }
4913 default:
4914 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4917 if (ndr_flags & NDR_BUFFERS) {
4918 int level = ndr_push_get_switch_value(ndr, r);
4919 switch (level) {
4920 case NETR_DELTA_DOMAIN:
4921 break;
4923 case NETR_DELTA_GROUP:
4924 break;
4926 case NETR_DELTA_DELETE_GROUP:
4927 break;
4929 case NETR_DELTA_RENAME_GROUP:
4930 break;
4932 case NETR_DELTA_USER:
4933 break;
4935 case NETR_DELTA_DELETE_USER:
4936 break;
4938 case NETR_DELTA_RENAME_USER:
4939 break;
4941 case NETR_DELTA_GROUP_MEMBER:
4942 break;
4944 case NETR_DELTA_ALIAS:
4945 break;
4947 case NETR_DELTA_DELETE_ALIAS:
4948 break;
4950 case NETR_DELTA_RENAME_ALIAS:
4951 break;
4953 case NETR_DELTA_ALIAS_MEMBER:
4954 break;
4956 case NETR_DELTA_POLICY:
4957 if (r->sid) {
4958 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4960 break;
4962 case NETR_DELTA_TRUSTED_DOMAIN:
4963 if (r->sid) {
4964 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4966 break;
4968 case NETR_DELTA_DELETE_TRUST:
4969 if (r->sid) {
4970 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4972 break;
4974 case NETR_DELTA_ACCOUNT:
4975 if (r->sid) {
4976 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4978 break;
4980 case NETR_DELTA_DELETE_ACCOUNT:
4981 if (r->sid) {
4982 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4984 break;
4986 case NETR_DELTA_SECRET:
4987 if (r->name) {
4988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4991 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4993 break;
4995 case NETR_DELTA_DELETE_SECRET:
4996 if (r->name) {
4997 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
5000 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5002 break;
5004 case NETR_DELTA_DELETE_GROUP2:
5005 break;
5007 case NETR_DELTA_DELETE_USER2:
5008 break;
5010 case NETR_DELTA_MODIFY_COUNT:
5011 break;
5013 default:
5014 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5017 return NDR_ERR_SUCCESS;
5020 static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
5022 int level;
5023 uint16_t _level;
5024 TALLOC_CTX *_mem_save_sid_0;
5025 uint32_t _ptr_sid;
5026 TALLOC_CTX *_mem_save_name_0;
5027 uint32_t _ptr_name;
5028 uint32_t size_name_1 = 0;
5029 uint32_t length_name_1 = 0;
5030 level = ndr_pull_get_switch_value(ndr, r);
5031 if (ndr_flags & NDR_SCALARS) {
5032 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
5033 if (_level != level) {
5034 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5036 switch (level) {
5037 case NETR_DELTA_DOMAIN: {
5038 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5039 break; }
5041 case NETR_DELTA_GROUP: {
5042 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5043 break; }
5045 case NETR_DELTA_DELETE_GROUP: {
5046 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5047 break; }
5049 case NETR_DELTA_RENAME_GROUP: {
5050 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5051 break; }
5053 case NETR_DELTA_USER: {
5054 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5055 break; }
5057 case NETR_DELTA_DELETE_USER: {
5058 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5059 break; }
5061 case NETR_DELTA_RENAME_USER: {
5062 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5063 break; }
5065 case NETR_DELTA_GROUP_MEMBER: {
5066 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5067 break; }
5069 case NETR_DELTA_ALIAS: {
5070 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5071 break; }
5073 case NETR_DELTA_DELETE_ALIAS: {
5074 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5075 break; }
5077 case NETR_DELTA_RENAME_ALIAS: {
5078 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5079 break; }
5081 case NETR_DELTA_ALIAS_MEMBER: {
5082 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5083 break; }
5085 case NETR_DELTA_POLICY: {
5086 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5087 if (_ptr_sid) {
5088 NDR_PULL_ALLOC(ndr, r->sid);
5089 } else {
5090 r->sid = NULL;
5092 break; }
5094 case NETR_DELTA_TRUSTED_DOMAIN: {
5095 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5096 if (_ptr_sid) {
5097 NDR_PULL_ALLOC(ndr, r->sid);
5098 } else {
5099 r->sid = NULL;
5101 break; }
5103 case NETR_DELTA_DELETE_TRUST: {
5104 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5105 if (_ptr_sid) {
5106 NDR_PULL_ALLOC(ndr, r->sid);
5107 } else {
5108 r->sid = NULL;
5110 break; }
5112 case NETR_DELTA_ACCOUNT: {
5113 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5114 if (_ptr_sid) {
5115 NDR_PULL_ALLOC(ndr, r->sid);
5116 } else {
5117 r->sid = NULL;
5119 break; }
5121 case NETR_DELTA_DELETE_ACCOUNT: {
5122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5123 if (_ptr_sid) {
5124 NDR_PULL_ALLOC(ndr, r->sid);
5125 } else {
5126 r->sid = NULL;
5128 break; }
5130 case NETR_DELTA_SECRET: {
5131 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5132 if (_ptr_name) {
5133 NDR_PULL_ALLOC(ndr, r->name);
5134 } else {
5135 r->name = NULL;
5137 break; }
5139 case NETR_DELTA_DELETE_SECRET: {
5140 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5141 if (_ptr_name) {
5142 NDR_PULL_ALLOC(ndr, r->name);
5143 } else {
5144 r->name = NULL;
5146 break; }
5148 case NETR_DELTA_DELETE_GROUP2: {
5149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5150 break; }
5152 case NETR_DELTA_DELETE_USER2: {
5153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5154 break; }
5156 case NETR_DELTA_MODIFY_COUNT: {
5157 break; }
5159 default:
5160 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5163 if (ndr_flags & NDR_BUFFERS) {
5164 switch (level) {
5165 case NETR_DELTA_DOMAIN:
5166 break;
5168 case NETR_DELTA_GROUP:
5169 break;
5171 case NETR_DELTA_DELETE_GROUP:
5172 break;
5174 case NETR_DELTA_RENAME_GROUP:
5175 break;
5177 case NETR_DELTA_USER:
5178 break;
5180 case NETR_DELTA_DELETE_USER:
5181 break;
5183 case NETR_DELTA_RENAME_USER:
5184 break;
5186 case NETR_DELTA_GROUP_MEMBER:
5187 break;
5189 case NETR_DELTA_ALIAS:
5190 break;
5192 case NETR_DELTA_DELETE_ALIAS:
5193 break;
5195 case NETR_DELTA_RENAME_ALIAS:
5196 break;
5198 case NETR_DELTA_ALIAS_MEMBER:
5199 break;
5201 case NETR_DELTA_POLICY:
5202 if (r->sid) {
5203 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5204 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5205 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5208 break;
5210 case NETR_DELTA_TRUSTED_DOMAIN:
5211 if (r->sid) {
5212 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5213 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5214 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5217 break;
5219 case NETR_DELTA_DELETE_TRUST:
5220 if (r->sid) {
5221 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5222 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5223 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5224 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5226 break;
5228 case NETR_DELTA_ACCOUNT:
5229 if (r->sid) {
5230 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5231 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5232 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5233 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5235 break;
5237 case NETR_DELTA_DELETE_ACCOUNT:
5238 if (r->sid) {
5239 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5240 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5241 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5242 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5244 break;
5246 case NETR_DELTA_SECRET:
5247 if (r->name) {
5248 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5249 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5250 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5251 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5252 size_name_1 = ndr_get_array_size(ndr, &r->name);
5253 length_name_1 = ndr_get_array_length(ndr, &r->name);
5254 if (length_name_1 > size_name_1) {
5255 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
5257 NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
5258 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
5259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5261 break;
5263 case NETR_DELTA_DELETE_SECRET:
5264 if (r->name) {
5265 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5266 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5267 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5268 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5269 size_name_1 = ndr_get_array_size(ndr, &r->name);
5270 length_name_1 = ndr_get_array_length(ndr, &r->name);
5271 if (length_name_1 > size_name_1) {
5272 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_1, length_name_1);
5274 NDR_CHECK(ndr_check_string_terminator(ndr, length_name_1, sizeof(uint16_t)));
5275 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_1, sizeof(uint16_t), CH_UTF16));
5276 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5278 break;
5280 case NETR_DELTA_DELETE_GROUP2:
5281 break;
5283 case NETR_DELTA_DELETE_USER2:
5284 break;
5286 case NETR_DELTA_MODIFY_COUNT:
5287 break;
5289 default:
5290 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5293 return NDR_ERR_SUCCESS;
5296 _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
5298 int level;
5299 level = ndr_print_get_switch_value(ndr, r);
5300 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
5301 switch (level) {
5302 case NETR_DELTA_DOMAIN:
5303 ndr_print_uint32(ndr, "rid", r->rid);
5304 break;
5306 case NETR_DELTA_GROUP:
5307 ndr_print_uint32(ndr, "rid", r->rid);
5308 break;
5310 case NETR_DELTA_DELETE_GROUP:
5311 ndr_print_uint32(ndr, "rid", r->rid);
5312 break;
5314 case NETR_DELTA_RENAME_GROUP:
5315 ndr_print_uint32(ndr, "rid", r->rid);
5316 break;
5318 case NETR_DELTA_USER:
5319 ndr_print_uint32(ndr, "rid", r->rid);
5320 break;
5322 case NETR_DELTA_DELETE_USER:
5323 ndr_print_uint32(ndr, "rid", r->rid);
5324 break;
5326 case NETR_DELTA_RENAME_USER:
5327 ndr_print_uint32(ndr, "rid", r->rid);
5328 break;
5330 case NETR_DELTA_GROUP_MEMBER:
5331 ndr_print_uint32(ndr, "rid", r->rid);
5332 break;
5334 case NETR_DELTA_ALIAS:
5335 ndr_print_uint32(ndr, "rid", r->rid);
5336 break;
5338 case NETR_DELTA_DELETE_ALIAS:
5339 ndr_print_uint32(ndr, "rid", r->rid);
5340 break;
5342 case NETR_DELTA_RENAME_ALIAS:
5343 ndr_print_uint32(ndr, "rid", r->rid);
5344 break;
5346 case NETR_DELTA_ALIAS_MEMBER:
5347 ndr_print_uint32(ndr, "rid", r->rid);
5348 break;
5350 case NETR_DELTA_POLICY:
5351 ndr_print_ptr(ndr, "sid", r->sid);
5352 ndr->depth++;
5353 if (r->sid) {
5354 ndr_print_dom_sid2(ndr, "sid", r->sid);
5356 ndr->depth--;
5357 break;
5359 case NETR_DELTA_TRUSTED_DOMAIN:
5360 ndr_print_ptr(ndr, "sid", r->sid);
5361 ndr->depth++;
5362 if (r->sid) {
5363 ndr_print_dom_sid2(ndr, "sid", r->sid);
5365 ndr->depth--;
5366 break;
5368 case NETR_DELTA_DELETE_TRUST:
5369 ndr_print_ptr(ndr, "sid", r->sid);
5370 ndr->depth++;
5371 if (r->sid) {
5372 ndr_print_dom_sid2(ndr, "sid", r->sid);
5374 ndr->depth--;
5375 break;
5377 case NETR_DELTA_ACCOUNT:
5378 ndr_print_ptr(ndr, "sid", r->sid);
5379 ndr->depth++;
5380 if (r->sid) {
5381 ndr_print_dom_sid2(ndr, "sid", r->sid);
5383 ndr->depth--;
5384 break;
5386 case NETR_DELTA_DELETE_ACCOUNT:
5387 ndr_print_ptr(ndr, "sid", r->sid);
5388 ndr->depth++;
5389 if (r->sid) {
5390 ndr_print_dom_sid2(ndr, "sid", r->sid);
5392 ndr->depth--;
5393 break;
5395 case NETR_DELTA_SECRET:
5396 ndr_print_ptr(ndr, "name", r->name);
5397 ndr->depth++;
5398 if (r->name) {
5399 ndr_print_string(ndr, "name", r->name);
5401 ndr->depth--;
5402 break;
5404 case NETR_DELTA_DELETE_SECRET:
5405 ndr_print_ptr(ndr, "name", r->name);
5406 ndr->depth++;
5407 if (r->name) {
5408 ndr_print_string(ndr, "name", r->name);
5410 ndr->depth--;
5411 break;
5413 case NETR_DELTA_DELETE_GROUP2:
5414 ndr_print_uint32(ndr, "rid", r->rid);
5415 break;
5417 case NETR_DELTA_DELETE_USER2:
5418 ndr_print_uint32(ndr, "rid", r->rid);
5419 break;
5421 case NETR_DELTA_MODIFY_COUNT:
5422 break;
5424 default:
5425 ndr_print_bad_level(ndr, name, level);
5429 static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5431 if (ndr_flags & NDR_SCALARS) {
5432 NDR_CHECK(ndr_push_align(ndr, 4));
5433 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5434 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5435 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5436 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5437 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5439 if (ndr_flags & NDR_BUFFERS) {
5440 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5441 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5443 return NDR_ERR_SUCCESS;
5446 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5448 if (ndr_flags & NDR_SCALARS) {
5449 NDR_CHECK(ndr_pull_align(ndr, 4));
5450 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5451 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5452 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5453 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5454 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5456 if (ndr_flags & NDR_BUFFERS) {
5457 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5458 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5460 return NDR_ERR_SUCCESS;
5463 _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5465 ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5466 ndr->depth++;
5467 ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5468 ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5469 ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5470 ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5471 ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5472 ndr->depth--;
5475 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)
5477 uint32_t cntr_delta_enum_1;
5478 if (ndr_flags & NDR_SCALARS) {
5479 NDR_CHECK(ndr_push_align(ndr, 4));
5480 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5481 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5483 if (ndr_flags & NDR_BUFFERS) {
5484 if (r->delta_enum) {
5485 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5486 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5487 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5489 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5490 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5494 return NDR_ERR_SUCCESS;
5497 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5499 uint32_t _ptr_delta_enum;
5500 uint32_t size_delta_enum_1 = 0;
5501 uint32_t cntr_delta_enum_1;
5502 TALLOC_CTX *_mem_save_delta_enum_0;
5503 TALLOC_CTX *_mem_save_delta_enum_1;
5504 if (ndr_flags & NDR_SCALARS) {
5505 NDR_CHECK(ndr_pull_align(ndr, 4));
5506 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5507 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5508 if (_ptr_delta_enum) {
5509 NDR_PULL_ALLOC(ndr, r->delta_enum);
5510 } else {
5511 r->delta_enum = NULL;
5514 if (ndr_flags & NDR_BUFFERS) {
5515 if (r->delta_enum) {
5516 _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5517 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5518 NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5519 size_delta_enum_1 = ndr_get_array_size(ndr, &r->delta_enum);
5520 NDR_PULL_ALLOC_N(ndr, r->delta_enum, size_delta_enum_1);
5521 _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5522 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5523 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < size_delta_enum_1; cntr_delta_enum_1++) {
5524 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5526 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < size_delta_enum_1; cntr_delta_enum_1++) {
5527 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5529 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5532 if (r->delta_enum) {
5533 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5536 return NDR_ERR_SUCCESS;
5539 _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5541 uint32_t cntr_delta_enum_1;
5542 ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5543 ndr->depth++;
5544 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5545 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5546 ndr->depth++;
5547 if (r->delta_enum) {
5548 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
5549 ndr->depth++;
5550 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5551 char *idx_1=NULL;
5552 if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) {
5553 ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5554 free(idx_1);
5557 ndr->depth--;
5559 ndr->depth--;
5560 ndr->depth--;
5563 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)
5566 uint32_t _flags_save_STRUCT = ndr->flags;
5567 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5568 if (ndr_flags & NDR_SCALARS) {
5569 NDR_CHECK(ndr_push_align(ndr, 4));
5570 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5571 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5574 if (ndr_flags & NDR_BUFFERS) {
5576 ndr->flags = _flags_save_STRUCT;
5578 return NDR_ERR_SUCCESS;
5581 static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5583 uint32_t size_computer_name_0 = 0;
5585 uint32_t _flags_save_STRUCT = ndr->flags;
5586 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5587 if (ndr_flags & NDR_SCALARS) {
5588 NDR_CHECK(ndr_pull_align(ndr, 4));
5589 size_computer_name_0 = 16;
5590 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, size_computer_name_0));
5591 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5594 if (ndr_flags & NDR_BUFFERS) {
5596 ndr->flags = _flags_save_STRUCT;
5598 return NDR_ERR_SUCCESS;
5601 _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5603 ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5605 uint32_t _flags_save_STRUCT = ndr->flags;
5606 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5607 ndr->depth++;
5608 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5609 ndr_print_uint32(ndr, "timecreated", r->timecreated);
5610 ndr_print_uint32(ndr, "serial_number", r->serial_number);
5611 ndr->depth--;
5612 ndr->flags = _flags_save_STRUCT;
5616 static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5618 if (ndr_flags & NDR_SCALARS) {
5619 NDR_CHECK(ndr_push_align(ndr, 4));
5621 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5622 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5623 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5624 ndr->flags = _flags_save_DATA_BLOB;
5627 if (ndr_flags & NDR_BUFFERS) {
5629 return NDR_ERR_SUCCESS;
5632 static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5634 if (ndr_flags & NDR_SCALARS) {
5635 NDR_CHECK(ndr_pull_align(ndr, 4));
5637 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5638 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5639 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5640 ndr->flags = _flags_save_DATA_BLOB;
5643 if (ndr_flags & NDR_BUFFERS) {
5645 return NDR_ERR_SUCCESS;
5648 _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5650 ndr_print_struct(ndr, name, "netr_AccountBuffer");
5651 ndr->depth++;
5652 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5653 ndr->depth--;
5656 static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5658 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5659 return NDR_ERR_SUCCESS;
5662 static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5664 uint32_t v;
5665 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5666 *r = v;
5667 return NDR_ERR_SUCCESS;
5670 _PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5672 ndr_print_uint32(ndr, name, r);
5673 ndr->depth++;
5674 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_NEEDED", NETLOGON_CTRL_REPL_NEEDED, r);
5675 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_IN_PROGRESS", NETLOGON_CTRL_REPL_IN_PROGRESS, r);
5676 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_FULL_SYNC", NETLOGON_CTRL_REPL_FULL_SYNC, r);
5677 ndr->depth--;
5680 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)
5682 if (ndr_flags & NDR_SCALARS) {
5683 NDR_CHECK(ndr_push_align(ndr, 4));
5684 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5687 if (ndr_flags & NDR_BUFFERS) {
5689 return NDR_ERR_SUCCESS;
5692 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5694 if (ndr_flags & NDR_SCALARS) {
5695 NDR_CHECK(ndr_pull_align(ndr, 4));
5696 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5697 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5699 if (ndr_flags & NDR_BUFFERS) {
5701 return NDR_ERR_SUCCESS;
5704 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5706 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5707 ndr->depth++;
5708 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5709 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5710 ndr->depth--;
5713 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)
5715 if (ndr_flags & NDR_SCALARS) {
5716 NDR_CHECK(ndr_push_align(ndr, 4));
5717 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5719 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tc_connection_status));
5722 if (ndr_flags & NDR_BUFFERS) {
5723 if (r->trusted_dc_name) {
5724 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5727 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));
5730 return NDR_ERR_SUCCESS;
5733 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5735 uint32_t _ptr_trusted_dc_name;
5736 uint32_t size_trusted_dc_name_1 = 0;
5737 uint32_t length_trusted_dc_name_1 = 0;
5738 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5739 if (ndr_flags & NDR_SCALARS) {
5740 NDR_CHECK(ndr_pull_align(ndr, 4));
5741 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5742 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5743 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5744 if (_ptr_trusted_dc_name) {
5745 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5746 } else {
5747 r->trusted_dc_name = NULL;
5749 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tc_connection_status));
5751 if (ndr_flags & NDR_BUFFERS) {
5752 if (r->trusted_dc_name) {
5753 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5754 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5755 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5756 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5757 size_trusted_dc_name_1 = ndr_get_array_size(ndr, &r->trusted_dc_name);
5758 length_trusted_dc_name_1 = ndr_get_array_length(ndr, &r->trusted_dc_name);
5759 if (length_trusted_dc_name_1 > size_trusted_dc_name_1) {
5760 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_dc_name_1, length_trusted_dc_name_1);
5762 NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_dc_name_1, sizeof(uint16_t)));
5763 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, length_trusted_dc_name_1, sizeof(uint16_t), CH_UTF16));
5764 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5767 return NDR_ERR_SUCCESS;
5770 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5772 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5773 ndr->depth++;
5774 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5775 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5776 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5777 ndr->depth++;
5778 if (r->trusted_dc_name) {
5779 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5781 ndr->depth--;
5782 ndr_print_uint32(ndr, "tc_connection_status", r->tc_connection_status);
5783 ndr->depth--;
5786 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)
5788 if (ndr_flags & NDR_SCALARS) {
5789 NDR_CHECK(ndr_push_align(ndr, 4));
5790 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5798 if (ndr_flags & NDR_BUFFERS) {
5800 return NDR_ERR_SUCCESS;
5803 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5805 if (ndr_flags & NDR_SCALARS) {
5806 NDR_CHECK(ndr_pull_align(ndr, 4));
5807 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5808 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5809 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5810 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5811 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5812 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5813 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5815 if (ndr_flags & NDR_BUFFERS) {
5817 return NDR_ERR_SUCCESS;
5820 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5822 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5823 ndr->depth++;
5824 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5825 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5826 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5827 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5828 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5829 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5830 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5831 ndr->depth--;
5834 static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_4(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_4 *r)
5836 if (ndr_flags & NDR_SCALARS) {
5837 NDR_CHECK(ndr_push_align(ndr, 4));
5838 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5839 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain_name));
5841 if (ndr_flags & NDR_BUFFERS) {
5842 if (r->trusted_dc_name) {
5843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5844 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5845 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5846 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));
5848 if (r->trusted_domain_name) {
5849 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5852 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_domain_name, ndr_charset_length(r->trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5855 return NDR_ERR_SUCCESS;
5858 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_4(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_4 *r)
5860 uint32_t _ptr_trusted_dc_name;
5861 uint32_t size_trusted_dc_name_1 = 0;
5862 uint32_t length_trusted_dc_name_1 = 0;
5863 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5864 uint32_t _ptr_trusted_domain_name;
5865 uint32_t size_trusted_domain_name_1 = 0;
5866 uint32_t length_trusted_domain_name_1 = 0;
5867 TALLOC_CTX *_mem_save_trusted_domain_name_0;
5868 if (ndr_flags & NDR_SCALARS) {
5869 NDR_CHECK(ndr_pull_align(ndr, 4));
5870 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5871 if (_ptr_trusted_dc_name) {
5872 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5873 } else {
5874 r->trusted_dc_name = NULL;
5876 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
5877 if (_ptr_trusted_domain_name) {
5878 NDR_PULL_ALLOC(ndr, r->trusted_domain_name);
5879 } else {
5880 r->trusted_domain_name = NULL;
5883 if (ndr_flags & NDR_BUFFERS) {
5884 if (r->trusted_dc_name) {
5885 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5886 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5887 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5888 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5889 size_trusted_dc_name_1 = ndr_get_array_size(ndr, &r->trusted_dc_name);
5890 length_trusted_dc_name_1 = ndr_get_array_length(ndr, &r->trusted_dc_name);
5891 if (length_trusted_dc_name_1 > size_trusted_dc_name_1) {
5892 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_dc_name_1, length_trusted_dc_name_1);
5894 NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_dc_name_1, sizeof(uint16_t)));
5895 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, length_trusted_dc_name_1, sizeof(uint16_t), CH_UTF16));
5896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5898 if (r->trusted_domain_name) {
5899 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5900 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain_name, 0);
5901 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domain_name));
5902 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_domain_name));
5903 size_trusted_domain_name_1 = ndr_get_array_size(ndr, &r->trusted_domain_name);
5904 length_trusted_domain_name_1 = ndr_get_array_length(ndr, &r->trusted_domain_name);
5905 if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
5906 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_domain_name_1, length_trusted_domain_name_1);
5908 NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
5909 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
5910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
5913 return NDR_ERR_SUCCESS;
5916 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_4(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_4 *r)
5918 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_4");
5919 ndr->depth++;
5920 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5921 ndr->depth++;
5922 if (r->trusted_dc_name) {
5923 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5925 ndr->depth--;
5926 ndr_print_ptr(ndr, "trusted_domain_name", r->trusted_domain_name);
5927 ndr->depth++;
5928 if (r->trusted_domain_name) {
5929 ndr_print_string(ndr, "trusted_domain_name", r->trusted_domain_name);
5931 ndr->depth--;
5932 ndr->depth--;
5935 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)
5937 if (ndr_flags & NDR_SCALARS) {
5938 int level = ndr_push_get_switch_value(ndr, r);
5939 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5940 switch (level) {
5941 case 1: {
5942 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5943 break; }
5945 case 2: {
5946 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5947 break; }
5949 case 3: {
5950 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5951 break; }
5953 case 4: {
5954 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
5955 break; }
5957 default:
5958 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5961 if (ndr_flags & NDR_BUFFERS) {
5962 int level = ndr_push_get_switch_value(ndr, r);
5963 switch (level) {
5964 case 1:
5965 if (r->info1) {
5966 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5968 break;
5970 case 2:
5971 if (r->info2) {
5972 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5974 break;
5976 case 3:
5977 if (r->info3) {
5978 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5980 break;
5982 case 4:
5983 if (r->info4) {
5984 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
5986 break;
5988 default:
5989 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5992 return NDR_ERR_SUCCESS;
5995 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5997 int level;
5998 uint32_t _level;
5999 TALLOC_CTX *_mem_save_info1_0;
6000 uint32_t _ptr_info1;
6001 TALLOC_CTX *_mem_save_info2_0;
6002 uint32_t _ptr_info2;
6003 TALLOC_CTX *_mem_save_info3_0;
6004 uint32_t _ptr_info3;
6005 TALLOC_CTX *_mem_save_info4_0;
6006 uint32_t _ptr_info4;
6007 level = ndr_pull_get_switch_value(ndr, r);
6008 if (ndr_flags & NDR_SCALARS) {
6009 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6010 if (_level != level) {
6011 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6013 switch (level) {
6014 case 1: {
6015 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
6016 if (_ptr_info1) {
6017 NDR_PULL_ALLOC(ndr, r->info1);
6018 } else {
6019 r->info1 = NULL;
6021 break; }
6023 case 2: {
6024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
6025 if (_ptr_info2) {
6026 NDR_PULL_ALLOC(ndr, r->info2);
6027 } else {
6028 r->info2 = NULL;
6030 break; }
6032 case 3: {
6033 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
6034 if (_ptr_info3) {
6035 NDR_PULL_ALLOC(ndr, r->info3);
6036 } else {
6037 r->info3 = NULL;
6039 break; }
6041 case 4: {
6042 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
6043 if (_ptr_info4) {
6044 NDR_PULL_ALLOC(ndr, r->info4);
6045 } else {
6046 r->info4 = NULL;
6048 break; }
6050 default:
6051 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6054 if (ndr_flags & NDR_BUFFERS) {
6055 switch (level) {
6056 case 1:
6057 if (r->info1) {
6058 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6059 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
6060 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
6061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
6063 break;
6065 case 2:
6066 if (r->info2) {
6067 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6068 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
6069 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6070 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
6072 break;
6074 case 3:
6075 if (r->info3) {
6076 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6077 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
6078 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
6079 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
6081 break;
6083 case 4:
6084 if (r->info4) {
6085 _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6086 NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
6087 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6088 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
6090 break;
6092 default:
6093 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6096 return NDR_ERR_SUCCESS;
6099 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
6101 int level;
6102 level = ndr_print_get_switch_value(ndr, r);
6103 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
6104 switch (level) {
6105 case 1:
6106 ndr_print_ptr(ndr, "info1", r->info1);
6107 ndr->depth++;
6108 if (r->info1) {
6109 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
6111 ndr->depth--;
6112 break;
6114 case 2:
6115 ndr_print_ptr(ndr, "info2", r->info2);
6116 ndr->depth++;
6117 if (r->info2) {
6118 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
6120 ndr->depth--;
6121 break;
6123 case 3:
6124 ndr_print_ptr(ndr, "info3", r->info3);
6125 ndr->depth++;
6126 if (r->info3) {
6127 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
6129 ndr->depth--;
6130 break;
6132 case 4:
6133 ndr_print_ptr(ndr, "info4", r->info4);
6134 ndr->depth++;
6135 if (r->info4) {
6136 ndr_print_netr_NETLOGON_INFO_4(ndr, "info4", r->info4);
6138 ndr->depth--;
6139 break;
6141 default:
6142 ndr_print_bad_level(ndr, name, level);
6146 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
6148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6149 return NDR_ERR_SUCCESS;
6152 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
6154 uint32_t v;
6155 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6156 *r = v;
6157 return NDR_ERR_SUCCESS;
6160 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
6162 const char *val = NULL;
6164 switch (r) {
6165 case NETLOGON_CONTROL_QUERY: val = "NETLOGON_CONTROL_QUERY"; break;
6166 case NETLOGON_CONTROL_REPLICATE: val = "NETLOGON_CONTROL_REPLICATE"; break;
6167 case NETLOGON_CONTROL_SYNCHRONIZE: val = "NETLOGON_CONTROL_SYNCHRONIZE"; break;
6168 case NETLOGON_CONTROL_PDC_REPLICATE: val = "NETLOGON_CONTROL_PDC_REPLICATE"; break;
6169 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
6170 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
6171 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
6172 case NETLOGON_CONTROL_FIND_USER: val = "NETLOGON_CONTROL_FIND_USER"; break;
6173 case NETLOGON_CONTROL_CHANGE_PASSWORD: val = "NETLOGON_CONTROL_CHANGE_PASSWORD"; break;
6174 case NETLOGON_CONTROL_TC_VERIFY: val = "NETLOGON_CONTROL_TC_VERIFY"; break;
6175 case NETLOGON_CONTROL_FORCE_DNS_REG: val = "NETLOGON_CONTROL_FORCE_DNS_REG"; break;
6176 case NETLOGON_CONTROL_QUERY_DNS_REG: val = "NETLOGON_CONTROL_QUERY_DNS_REG"; break;
6177 case NETLOGON_CONTROL_BACKUP_CHANGE_LOG: val = "NETLOGON_CONTROL_BACKUP_CHANGE_LOG"; break;
6178 case NETLOGON_CONTROL_TRUNCATE_LOG: val = "NETLOGON_CONTROL_TRUNCATE_LOG"; break;
6179 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
6180 case NETLOGON_CONTROL_BREAKPOINT: val = "NETLOGON_CONTROL_BREAKPOINT"; break;
6182 ndr_print_enum(ndr, name, "ENUM", val, r);
6185 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)
6187 if (ndr_flags & NDR_SCALARS) {
6188 int level = ndr_push_get_switch_value(ndr, r);
6189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6190 switch (level) {
6191 case NETLOGON_CONTROL_REDISCOVER: {
6192 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6193 break; }
6195 case NETLOGON_CONTROL_TC_QUERY: {
6196 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6197 break; }
6199 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6200 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6201 break; }
6203 case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6204 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6205 break; }
6207 case NETLOGON_CONTROL_TC_VERIFY: {
6208 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6209 break; }
6211 case NETLOGON_CONTROL_FIND_USER: {
6212 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
6213 break; }
6215 case NETLOGON_CONTROL_SET_DBFLAG: {
6216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
6217 break; }
6219 default:
6220 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6223 if (ndr_flags & NDR_BUFFERS) {
6224 int level = ndr_push_get_switch_value(ndr, r);
6225 switch (level) {
6226 case NETLOGON_CONTROL_REDISCOVER:
6227 if (r->domain) {
6228 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6231 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6233 break;
6235 case NETLOGON_CONTROL_TC_QUERY:
6236 if (r->domain) {
6237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6240 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6242 break;
6244 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6245 if (r->domain) {
6246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6249 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6251 break;
6253 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6254 if (r->domain) {
6255 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6256 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6257 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6258 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6260 break;
6262 case NETLOGON_CONTROL_TC_VERIFY:
6263 if (r->domain) {
6264 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6266 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6267 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6269 break;
6271 case NETLOGON_CONTROL_FIND_USER:
6272 if (r->user) {
6273 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6274 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6275 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6276 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6278 break;
6280 case NETLOGON_CONTROL_SET_DBFLAG:
6281 break;
6283 default:
6284 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6287 return NDR_ERR_SUCCESS;
6290 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
6292 int level;
6293 uint32_t _level;
6294 TALLOC_CTX *_mem_save_domain_0;
6295 uint32_t _ptr_domain;
6296 uint32_t size_domain_1 = 0;
6297 uint32_t length_domain_1 = 0;
6298 TALLOC_CTX *_mem_save_user_0;
6299 uint32_t _ptr_user;
6300 uint32_t size_user_1 = 0;
6301 uint32_t length_user_1 = 0;
6302 level = ndr_pull_get_switch_value(ndr, r);
6303 if (ndr_flags & NDR_SCALARS) {
6304 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6305 if (_level != level) {
6306 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6308 switch (level) {
6309 case NETLOGON_CONTROL_REDISCOVER: {
6310 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6311 if (_ptr_domain) {
6312 NDR_PULL_ALLOC(ndr, r->domain);
6313 } else {
6314 r->domain = NULL;
6316 break; }
6318 case NETLOGON_CONTROL_TC_QUERY: {
6319 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6320 if (_ptr_domain) {
6321 NDR_PULL_ALLOC(ndr, r->domain);
6322 } else {
6323 r->domain = NULL;
6325 break; }
6327 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6328 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6329 if (_ptr_domain) {
6330 NDR_PULL_ALLOC(ndr, r->domain);
6331 } else {
6332 r->domain = NULL;
6334 break; }
6336 case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6337 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6338 if (_ptr_domain) {
6339 NDR_PULL_ALLOC(ndr, r->domain);
6340 } else {
6341 r->domain = NULL;
6343 break; }
6345 case NETLOGON_CONTROL_TC_VERIFY: {
6346 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6347 if (_ptr_domain) {
6348 NDR_PULL_ALLOC(ndr, r->domain);
6349 } else {
6350 r->domain = NULL;
6352 break; }
6354 case NETLOGON_CONTROL_FIND_USER: {
6355 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
6356 if (_ptr_user) {
6357 NDR_PULL_ALLOC(ndr, r->user);
6358 } else {
6359 r->user = NULL;
6361 break; }
6363 case NETLOGON_CONTROL_SET_DBFLAG: {
6364 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
6365 break; }
6367 default:
6368 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6371 if (ndr_flags & NDR_BUFFERS) {
6372 switch (level) {
6373 case NETLOGON_CONTROL_REDISCOVER:
6374 if (r->domain) {
6375 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6376 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6377 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6378 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6379 size_domain_1 = ndr_get_array_size(ndr, &r->domain);
6380 length_domain_1 = ndr_get_array_length(ndr, &r->domain);
6381 if (length_domain_1 > size_domain_1) {
6382 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
6384 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
6385 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
6386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6388 break;
6390 case NETLOGON_CONTROL_TC_QUERY:
6391 if (r->domain) {
6392 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6393 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6394 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6395 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6396 size_domain_1 = ndr_get_array_size(ndr, &r->domain);
6397 length_domain_1 = ndr_get_array_length(ndr, &r->domain);
6398 if (length_domain_1 > size_domain_1) {
6399 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
6401 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
6402 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
6403 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6405 break;
6407 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6408 if (r->domain) {
6409 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6410 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6411 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6412 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6413 size_domain_1 = ndr_get_array_size(ndr, &r->domain);
6414 length_domain_1 = ndr_get_array_length(ndr, &r->domain);
6415 if (length_domain_1 > size_domain_1) {
6416 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
6418 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
6419 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
6420 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6422 break;
6424 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6425 if (r->domain) {
6426 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6427 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6428 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6429 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6430 size_domain_1 = ndr_get_array_size(ndr, &r->domain);
6431 length_domain_1 = ndr_get_array_length(ndr, &r->domain);
6432 if (length_domain_1 > size_domain_1) {
6433 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
6435 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
6436 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
6437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6439 break;
6441 case NETLOGON_CONTROL_TC_VERIFY:
6442 if (r->domain) {
6443 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6444 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6445 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6446 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6447 size_domain_1 = ndr_get_array_size(ndr, &r->domain);
6448 length_domain_1 = ndr_get_array_length(ndr, &r->domain);
6449 if (length_domain_1 > size_domain_1) {
6450 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
6452 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
6453 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
6454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6456 break;
6458 case NETLOGON_CONTROL_FIND_USER:
6459 if (r->user) {
6460 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
6461 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
6462 NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
6463 NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
6464 size_user_1 = ndr_get_array_size(ndr, &r->user);
6465 length_user_1 = ndr_get_array_length(ndr, &r->user);
6466 if (length_user_1 > size_user_1) {
6467 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_user_1, length_user_1);
6469 NDR_CHECK(ndr_check_string_terminator(ndr, length_user_1, sizeof(uint16_t)));
6470 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, length_user_1, sizeof(uint16_t), CH_UTF16));
6471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
6473 break;
6475 case NETLOGON_CONTROL_SET_DBFLAG:
6476 break;
6478 default:
6479 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6482 return NDR_ERR_SUCCESS;
6485 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
6487 int level;
6488 level = ndr_print_get_switch_value(ndr, r);
6489 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
6490 switch (level) {
6491 case NETLOGON_CONTROL_REDISCOVER:
6492 ndr_print_ptr(ndr, "domain", r->domain);
6493 ndr->depth++;
6494 if (r->domain) {
6495 ndr_print_string(ndr, "domain", r->domain);
6497 ndr->depth--;
6498 break;
6500 case NETLOGON_CONTROL_TC_QUERY:
6501 ndr_print_ptr(ndr, "domain", r->domain);
6502 ndr->depth++;
6503 if (r->domain) {
6504 ndr_print_string(ndr, "domain", r->domain);
6506 ndr->depth--;
6507 break;
6509 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6510 ndr_print_ptr(ndr, "domain", r->domain);
6511 ndr->depth++;
6512 if (r->domain) {
6513 ndr_print_string(ndr, "domain", r->domain);
6515 ndr->depth--;
6516 break;
6518 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6519 ndr_print_ptr(ndr, "domain", r->domain);
6520 ndr->depth++;
6521 if (r->domain) {
6522 ndr_print_string(ndr, "domain", r->domain);
6524 ndr->depth--;
6525 break;
6527 case NETLOGON_CONTROL_TC_VERIFY:
6528 ndr_print_ptr(ndr, "domain", r->domain);
6529 ndr->depth++;
6530 if (r->domain) {
6531 ndr_print_string(ndr, "domain", r->domain);
6533 ndr->depth--;
6534 break;
6536 case NETLOGON_CONTROL_FIND_USER:
6537 ndr_print_ptr(ndr, "user", r->user);
6538 ndr->depth++;
6539 if (r->user) {
6540 ndr_print_string(ndr, "user", r->user);
6542 ndr->depth--;
6543 break;
6545 case NETLOGON_CONTROL_SET_DBFLAG:
6546 ndr_print_uint32(ndr, "debug_level", r->debug_level);
6547 break;
6549 default:
6550 ndr_print_bad_level(ndr, name, level);
6554 static enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6557 return NDR_ERR_SUCCESS;
6560 static enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6562 uint32_t v;
6563 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6564 *r = v;
6565 return NDR_ERR_SUCCESS;
6568 _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6570 ndr_print_uint32(ndr, name, r);
6571 ndr->depth++;
6572 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
6573 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
6574 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
6575 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
6576 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
6577 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
6578 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
6579 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
6580 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
6581 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
6582 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
6583 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
6584 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
6585 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
6586 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_STRONG_KEYS", NETLOGON_NEG_STRONG_KEYS, r);
6587 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
6588 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
6589 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
6590 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
6591 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
6592 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
6593 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
6594 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES_SHA2", NETLOGON_NEG_SUPPORTS_AES_SHA2, r);
6595 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
6596 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC", NETLOGON_NEG_AUTHENTICATED_RPC, r);
6597 ndr->depth--;
6600 static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
6602 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6603 return NDR_ERR_SUCCESS;
6606 static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
6608 uint16_t v;
6609 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6610 *r = v;
6611 return NDR_ERR_SUCCESS;
6614 _PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r)
6616 ndr_print_uint16(ndr, name, r);
6617 ndr->depth++;
6618 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r);
6619 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r);
6620 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r);
6621 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r);
6622 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r);
6623 ndr->depth--;
6626 static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r)
6628 if (ndr_flags & NDR_SCALARS) {
6629 int level = ndr_push_get_switch_value(ndr, r);
6630 switch (level) {
6631 case NETR_CHANGELOG_SID_INCLUDED: {
6632 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6633 break; }
6635 case NETR_CHANGELOG_NAME_INCLUDED: {
6637 uint32_t _flags_save_string = ndr->flags;
6638 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6639 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name));
6640 ndr->flags = _flags_save_string;
6642 break; }
6644 default: {
6645 break; }
6649 if (ndr_flags & NDR_BUFFERS) {
6650 int level = ndr_push_get_switch_value(ndr, r);
6651 switch (level) {
6652 case NETR_CHANGELOG_SID_INCLUDED:
6653 break;
6655 case NETR_CHANGELOG_NAME_INCLUDED:
6656 break;
6658 default:
6659 break;
6663 return NDR_ERR_SUCCESS;
6666 static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r)
6668 int level;
6669 level = ndr_pull_get_switch_value(ndr, r);
6670 if (ndr_flags & NDR_SCALARS) {
6671 switch (level) {
6672 case NETR_CHANGELOG_SID_INCLUDED: {
6673 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6674 break; }
6676 case NETR_CHANGELOG_NAME_INCLUDED: {
6678 uint32_t _flags_save_string = ndr->flags;
6679 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6680 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name));
6681 ndr->flags = _flags_save_string;
6683 break; }
6685 default: {
6686 break; }
6690 if (ndr_flags & NDR_BUFFERS) {
6691 switch (level) {
6692 case NETR_CHANGELOG_SID_INCLUDED:
6693 break;
6695 case NETR_CHANGELOG_NAME_INCLUDED:
6696 break;
6698 default:
6699 break;
6703 return NDR_ERR_SUCCESS;
6706 _PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r)
6708 int level;
6709 level = ndr_print_get_switch_value(ndr, r);
6710 ndr_print_union(ndr, name, level, "netr_ChangeLogObject");
6711 switch (level) {
6712 case NETR_CHANGELOG_SID_INCLUDED:
6713 ndr_print_dom_sid(ndr, "object_sid", &r->object_sid);
6714 break;
6716 case NETR_CHANGELOG_NAME_INCLUDED:
6717 ndr_print_string(ndr, "object_name", r->object_name);
6718 break;
6720 default:
6721 break;
6726 _PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r)
6728 if (ndr_flags & NDR_SCALARS) {
6729 NDR_CHECK(ndr_push_align(ndr, 4));
6730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1));
6731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2));
6732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid));
6733 NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
6734 NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index));
6735 NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type));
6736 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6737 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6739 if (ndr_flags & NDR_BUFFERS) {
6740 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6742 return NDR_ERR_SUCCESS;
6745 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r)
6747 if (ndr_flags & NDR_SCALARS) {
6748 NDR_CHECK(ndr_pull_align(ndr, 4));
6749 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1));
6750 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2));
6751 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid));
6752 NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
6753 NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index));
6754 NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type));
6755 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6756 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6758 if (ndr_flags & NDR_BUFFERS) {
6759 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6761 return NDR_ERR_SUCCESS;
6764 _PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r)
6766 ndr_print_struct(ndr, name, "netr_ChangeLogEntry");
6767 ndr->depth++;
6768 ndr_print_uint32(ndr, "serial_number1", r->serial_number1);
6769 ndr_print_uint32(ndr, "serial_number2", r->serial_number2);
6770 ndr_print_uint32(ndr, "object_rid", r->object_rid);
6771 ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags);
6772 ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index);
6773 ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type);
6774 ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED));
6775 ndr_print_netr_ChangeLogObject(ndr, "object", &r->object);
6776 ndr->depth--;
6779 _PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, struct smb_iconv_convenience *ic, int flags)
6781 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry, ic);
6784 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
6786 if (ndr_flags & NDR_SCALARS) {
6787 NDR_CHECK(ndr_push_align(ndr, 4));
6788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6789 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6791 if (ndr_flags & NDR_BUFFERS) {
6792 if (r->data) {
6793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6794 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
6797 return NDR_ERR_SUCCESS;
6800 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
6802 uint32_t _ptr_data;
6803 uint32_t size_data_1 = 0;
6804 TALLOC_CTX *_mem_save_data_0;
6805 if (ndr_flags & NDR_SCALARS) {
6806 NDR_CHECK(ndr_pull_align(ndr, 4));
6807 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
6808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6809 if (_ptr_data) {
6810 NDR_PULL_ALLOC(ndr, r->data);
6811 } else {
6812 r->data = NULL;
6815 if (ndr_flags & NDR_BUFFERS) {
6816 if (r->data) {
6817 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6818 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6819 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6820 size_data_1 = ndr_get_array_size(ndr, &r->data);
6821 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
6822 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
6823 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6825 if (r->data) {
6826 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6829 return NDR_ERR_SUCCESS;
6832 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6834 ndr_print_struct(ndr, name, "netr_Blob");
6835 ndr->depth++;
6836 ndr_print_uint32(ndr, "length", r->length);
6837 ndr_print_ptr(ndr, "data", r->data);
6838 ndr->depth++;
6839 if (r->data) {
6840 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6842 ndr->depth--;
6843 ndr->depth--;
6846 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6848 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6849 return NDR_ERR_SUCCESS;
6852 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6854 uint32_t v;
6855 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6856 *r = v;
6857 return NDR_ERR_SUCCESS;
6860 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6862 ndr_print_uint32(ndr, name, r);
6863 ndr->depth++;
6864 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6865 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6866 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6867 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6868 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6869 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6870 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6871 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6872 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6873 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6874 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6875 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6876 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6877 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6878 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6879 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6880 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6881 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6882 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6883 ndr->depth--;
6886 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6888 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6889 return NDR_ERR_SUCCESS;
6892 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6894 uint32_t v;
6895 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6896 *r = v;
6897 return NDR_ERR_SUCCESS;
6900 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6902 const char *val = NULL;
6904 switch (r) {
6905 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6906 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6908 ndr_print_enum(ndr, name, "ENUM", val, r);
6911 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6914 return NDR_ERR_SUCCESS;
6917 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6919 uint32_t v;
6920 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6921 *r = v;
6922 return NDR_ERR_SUCCESS;
6925 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6927 ndr_print_uint32(ndr, name, r);
6928 ndr->depth++;
6929 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6930 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6931 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6932 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6933 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6934 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6935 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6936 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6937 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6938 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6939 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6940 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6941 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6942 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6943 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6944 ndr->depth--;
6947 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6949 if (ndr_flags & NDR_SCALARS) {
6950 NDR_CHECK(ndr_push_align(ndr, 4));
6951 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6952 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6953 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6954 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6955 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6956 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6957 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6958 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6959 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6961 if (ndr_flags & NDR_BUFFERS) {
6962 if (r->dc_unc) {
6963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6966 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6968 if (r->dc_address) {
6969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6972 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6974 if (r->domain_name) {
6975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6978 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6980 if (r->forest_name) {
6981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6984 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6986 if (r->dc_site_name) {
6987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6990 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));
6992 if (r->client_site_name) {
6993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6996 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));
6999 return NDR_ERR_SUCCESS;
7002 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
7004 uint32_t _ptr_dc_unc;
7005 uint32_t size_dc_unc_1 = 0;
7006 uint32_t length_dc_unc_1 = 0;
7007 TALLOC_CTX *_mem_save_dc_unc_0;
7008 uint32_t _ptr_dc_address;
7009 uint32_t size_dc_address_1 = 0;
7010 uint32_t length_dc_address_1 = 0;
7011 TALLOC_CTX *_mem_save_dc_address_0;
7012 uint32_t _ptr_domain_name;
7013 uint32_t size_domain_name_1 = 0;
7014 uint32_t length_domain_name_1 = 0;
7015 TALLOC_CTX *_mem_save_domain_name_0;
7016 uint32_t _ptr_forest_name;
7017 uint32_t size_forest_name_1 = 0;
7018 uint32_t length_forest_name_1 = 0;
7019 TALLOC_CTX *_mem_save_forest_name_0;
7020 uint32_t _ptr_dc_site_name;
7021 uint32_t size_dc_site_name_1 = 0;
7022 uint32_t length_dc_site_name_1 = 0;
7023 TALLOC_CTX *_mem_save_dc_site_name_0;
7024 uint32_t _ptr_client_site_name;
7025 uint32_t size_client_site_name_1 = 0;
7026 uint32_t length_client_site_name_1 = 0;
7027 TALLOC_CTX *_mem_save_client_site_name_0;
7028 if (ndr_flags & NDR_SCALARS) {
7029 NDR_CHECK(ndr_pull_align(ndr, 4));
7030 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
7031 if (_ptr_dc_unc) {
7032 NDR_PULL_ALLOC(ndr, r->dc_unc);
7033 } else {
7034 r->dc_unc = NULL;
7036 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
7037 if (_ptr_dc_address) {
7038 NDR_PULL_ALLOC(ndr, r->dc_address);
7039 } else {
7040 r->dc_address = NULL;
7042 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
7043 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
7044 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
7045 if (_ptr_domain_name) {
7046 NDR_PULL_ALLOC(ndr, r->domain_name);
7047 } else {
7048 r->domain_name = NULL;
7050 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
7051 if (_ptr_forest_name) {
7052 NDR_PULL_ALLOC(ndr, r->forest_name);
7053 } else {
7054 r->forest_name = NULL;
7056 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
7057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
7058 if (_ptr_dc_site_name) {
7059 NDR_PULL_ALLOC(ndr, r->dc_site_name);
7060 } else {
7061 r->dc_site_name = NULL;
7063 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
7064 if (_ptr_client_site_name) {
7065 NDR_PULL_ALLOC(ndr, r->client_site_name);
7066 } else {
7067 r->client_site_name = NULL;
7070 if (ndr_flags & NDR_BUFFERS) {
7071 if (r->dc_unc) {
7072 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
7073 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
7074 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
7075 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
7076 size_dc_unc_1 = ndr_get_array_size(ndr, &r->dc_unc);
7077 length_dc_unc_1 = ndr_get_array_length(ndr, &r->dc_unc);
7078 if (length_dc_unc_1 > size_dc_unc_1) {
7079 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_unc_1, length_dc_unc_1);
7081 NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_unc_1, sizeof(uint16_t)));
7082 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, length_dc_unc_1, sizeof(uint16_t), CH_UTF16));
7083 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
7085 if (r->dc_address) {
7086 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
7087 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
7088 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
7089 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
7090 size_dc_address_1 = ndr_get_array_size(ndr, &r->dc_address);
7091 length_dc_address_1 = ndr_get_array_length(ndr, &r->dc_address);
7092 if (length_dc_address_1 > size_dc_address_1) {
7093 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_address_1, length_dc_address_1);
7095 NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_address_1, sizeof(uint16_t)));
7096 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, length_dc_address_1, sizeof(uint16_t), CH_UTF16));
7097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
7099 if (r->domain_name) {
7100 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7101 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
7102 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
7103 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
7104 size_domain_name_1 = ndr_get_array_size(ndr, &r->domain_name);
7105 length_domain_name_1 = ndr_get_array_length(ndr, &r->domain_name);
7106 if (length_domain_name_1 > size_domain_name_1) {
7107 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
7109 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
7110 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
7111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
7113 if (r->forest_name) {
7114 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7115 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
7116 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
7117 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
7118 size_forest_name_1 = ndr_get_array_size(ndr, &r->forest_name);
7119 length_forest_name_1 = ndr_get_array_length(ndr, &r->forest_name);
7120 if (length_forest_name_1 > size_forest_name_1) {
7121 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_forest_name_1, length_forest_name_1);
7123 NDR_CHECK(ndr_check_string_terminator(ndr, length_forest_name_1, sizeof(uint16_t)));
7124 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, length_forest_name_1, sizeof(uint16_t), CH_UTF16));
7125 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
7127 if (r->dc_site_name) {
7128 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7129 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
7130 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
7131 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
7132 size_dc_site_name_1 = ndr_get_array_size(ndr, &r->dc_site_name);
7133 length_dc_site_name_1 = ndr_get_array_length(ndr, &r->dc_site_name);
7134 if (length_dc_site_name_1 > size_dc_site_name_1) {
7135 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dc_site_name_1, length_dc_site_name_1);
7137 NDR_CHECK(ndr_check_string_terminator(ndr, length_dc_site_name_1, sizeof(uint16_t)));
7138 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_site_name, length_dc_site_name_1, sizeof(uint16_t), CH_UTF16));
7139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
7141 if (r->client_site_name) {
7142 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7143 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
7144 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
7145 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
7146 size_client_site_name_1 = ndr_get_array_size(ndr, &r->client_site_name);
7147 length_client_site_name_1 = ndr_get_array_length(ndr, &r->client_site_name);
7148 if (length_client_site_name_1 > size_client_site_name_1) {
7149 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_site_name_1, length_client_site_name_1);
7151 NDR_CHECK(ndr_check_string_terminator(ndr, length_client_site_name_1, sizeof(uint16_t)));
7152 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_site_name, length_client_site_name_1, sizeof(uint16_t), CH_UTF16));
7153 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
7156 return NDR_ERR_SUCCESS;
7159 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
7161 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
7162 ndr->depth++;
7163 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
7164 ndr->depth++;
7165 if (r->dc_unc) {
7166 ndr_print_string(ndr, "dc_unc", r->dc_unc);
7168 ndr->depth--;
7169 ndr_print_ptr(ndr, "dc_address", r->dc_address);
7170 ndr->depth++;
7171 if (r->dc_address) {
7172 ndr_print_string(ndr, "dc_address", r->dc_address);
7174 ndr->depth--;
7175 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
7176 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
7177 ndr_print_ptr(ndr, "domain_name", r->domain_name);
7178 ndr->depth++;
7179 if (r->domain_name) {
7180 ndr_print_string(ndr, "domain_name", r->domain_name);
7182 ndr->depth--;
7183 ndr_print_ptr(ndr, "forest_name", r->forest_name);
7184 ndr->depth++;
7185 if (r->forest_name) {
7186 ndr_print_string(ndr, "forest_name", r->forest_name);
7188 ndr->depth--;
7189 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
7190 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
7191 ndr->depth++;
7192 if (r->dc_site_name) {
7193 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
7195 ndr->depth--;
7196 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
7197 ndr->depth++;
7198 if (r->client_site_name) {
7199 ndr_print_string(ndr, "client_site_name", r->client_site_name);
7201 ndr->depth--;
7202 ndr->depth--;
7205 static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r)
7207 if (ndr_flags & NDR_SCALARS) {
7208 int level = ndr_push_get_switch_value(ndr, r);
7209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7210 switch (level) {
7211 case 1: {
7212 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities));
7213 break; }
7215 default:
7216 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7219 if (ndr_flags & NDR_BUFFERS) {
7220 int level = ndr_push_get_switch_value(ndr, r);
7221 switch (level) {
7222 case 1:
7223 break;
7225 default:
7226 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7229 return NDR_ERR_SUCCESS;
7232 static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r)
7234 int level;
7235 uint32_t _level;
7236 level = ndr_pull_get_switch_value(ndr, r);
7237 if (ndr_flags & NDR_SCALARS) {
7238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7239 if (_level != level) {
7240 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7242 switch (level) {
7243 case 1: {
7244 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities));
7245 break; }
7247 default:
7248 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7251 if (ndr_flags & NDR_BUFFERS) {
7252 switch (level) {
7253 case 1:
7254 break;
7256 default:
7257 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7260 return NDR_ERR_SUCCESS;
7263 _PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r)
7265 int level;
7266 level = ndr_print_get_switch_value(ndr, r);
7267 ndr_print_union(ndr, name, level, "netr_Capabilities");
7268 switch (level) {
7269 case 1:
7270 ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities);
7271 break;
7273 default:
7274 ndr_print_bad_level(ndr, name, level);
7278 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7281 return NDR_ERR_SUCCESS;
7284 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7286 uint32_t v;
7287 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7288 *r = v;
7289 return NDR_ERR_SUCCESS;
7292 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7294 ndr_print_uint32(ndr, name, r);
7295 ndr->depth++;
7296 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7297 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7298 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7299 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7300 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7301 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7302 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_MIT_KRB5", NETR_TRUST_FLAG_MIT_KRB5, r);
7303 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_AES", NETR_TRUST_FLAG_AES, r);
7304 ndr->depth--;
7307 static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainQuery1 *r)
7309 uint32_t cntr_unknown7_0;
7310 if (ndr_flags & NDR_SCALARS) {
7311 NDR_CHECK(ndr_push_align(ndr, 4));
7312 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS, &r->blob));
7313 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_domain));
7314 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_site));
7315 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
7316 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
7317 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown3));
7318 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown4));
7319 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->blob2));
7320 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->product));
7321 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
7322 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
7323 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
7324 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7[cntr_unknown7_0]));
7327 if (ndr_flags & NDR_BUFFERS) {
7328 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
7329 if (r->workstation_domain) {
7330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
7331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
7333 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_domain, ndr_charset_length(r->workstation_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7335 if (r->workstation_site) {
7336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
7337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
7339 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_site, ndr_charset_length(r->workstation_site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7341 if (r->unknown1) {
7342 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
7343 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
7345 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7347 if (r->unknown2) {
7348 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
7349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7350 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
7351 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7353 if (r->unknown3) {
7354 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
7355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7356 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
7357 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown3, ndr_charset_length(r->unknown3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7359 if (r->unknown4) {
7360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
7361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
7363 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown4, ndr_charset_length(r->unknown4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7365 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
7366 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->product));
7367 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
7368 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
7370 return NDR_ERR_SUCCESS;
7373 static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
7375 uint32_t _ptr_workstation_domain;
7376 uint32_t size_workstation_domain_1 = 0;
7377 uint32_t length_workstation_domain_1 = 0;
7378 TALLOC_CTX *_mem_save_workstation_domain_0;
7379 uint32_t _ptr_workstation_site;
7380 uint32_t size_workstation_site_1 = 0;
7381 uint32_t length_workstation_site_1 = 0;
7382 TALLOC_CTX *_mem_save_workstation_site_0;
7383 uint32_t _ptr_unknown1;
7384 uint32_t size_unknown1_1 = 0;
7385 uint32_t length_unknown1_1 = 0;
7386 TALLOC_CTX *_mem_save_unknown1_0;
7387 uint32_t _ptr_unknown2;
7388 uint32_t size_unknown2_1 = 0;
7389 uint32_t length_unknown2_1 = 0;
7390 TALLOC_CTX *_mem_save_unknown2_0;
7391 uint32_t _ptr_unknown3;
7392 uint32_t size_unknown3_1 = 0;
7393 uint32_t length_unknown3_1 = 0;
7394 TALLOC_CTX *_mem_save_unknown3_0;
7395 uint32_t _ptr_unknown4;
7396 uint32_t size_unknown4_1 = 0;
7397 uint32_t length_unknown4_1 = 0;
7398 TALLOC_CTX *_mem_save_unknown4_0;
7399 uint32_t size_unknown7_0 = 0;
7400 uint32_t cntr_unknown7_0;
7401 if (ndr_flags & NDR_SCALARS) {
7402 NDR_CHECK(ndr_pull_align(ndr, 4));
7403 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS, &r->blob));
7404 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_domain));
7405 if (_ptr_workstation_domain) {
7406 NDR_PULL_ALLOC(ndr, r->workstation_domain);
7407 } else {
7408 r->workstation_domain = NULL;
7410 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_site));
7411 if (_ptr_workstation_site) {
7412 NDR_PULL_ALLOC(ndr, r->workstation_site);
7413 } else {
7414 r->workstation_site = NULL;
7416 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
7417 if (_ptr_unknown1) {
7418 NDR_PULL_ALLOC(ndr, r->unknown1);
7419 } else {
7420 r->unknown1 = NULL;
7422 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
7423 if (_ptr_unknown2) {
7424 NDR_PULL_ALLOC(ndr, r->unknown2);
7425 } else {
7426 r->unknown2 = NULL;
7428 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown3));
7429 if (_ptr_unknown3) {
7430 NDR_PULL_ALLOC(ndr, r->unknown3);
7431 } else {
7432 r->unknown3 = NULL;
7434 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
7435 if (_ptr_unknown4) {
7436 NDR_PULL_ALLOC(ndr, r->unknown4);
7437 } else {
7438 r->unknown4 = NULL;
7440 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->blob2));
7441 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
7442 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
7443 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
7444 size_unknown7_0 = 4;
7445 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < size_unknown7_0; cntr_unknown7_0++) {
7446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
7449 if (ndr_flags & NDR_BUFFERS) {
7450 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
7451 if (r->workstation_domain) {
7452 _mem_save_workstation_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
7453 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
7454 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
7455 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
7456 size_workstation_domain_1 = ndr_get_array_size(ndr, &r->workstation_domain);
7457 length_workstation_domain_1 = ndr_get_array_length(ndr, &r->workstation_domain);
7458 if (length_workstation_domain_1 > size_workstation_domain_1) {
7459 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_domain_1, length_workstation_domain_1);
7461 NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_domain_1, sizeof(uint16_t)));
7462 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, length_workstation_domain_1, sizeof(uint16_t), CH_UTF16));
7463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
7465 if (r->workstation_site) {
7466 _mem_save_workstation_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
7467 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
7468 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
7469 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
7470 size_workstation_site_1 = ndr_get_array_size(ndr, &r->workstation_site);
7471 length_workstation_site_1 = ndr_get_array_length(ndr, &r->workstation_site);
7472 if (length_workstation_site_1 > size_workstation_site_1) {
7473 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_site_1, length_workstation_site_1);
7475 NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_site_1, sizeof(uint16_t)));
7476 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, length_workstation_site_1, sizeof(uint16_t), CH_UTF16));
7477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
7479 if (r->unknown1) {
7480 _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7481 NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
7482 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
7483 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
7484 size_unknown1_1 = ndr_get_array_size(ndr, &r->unknown1);
7485 length_unknown1_1 = ndr_get_array_length(ndr, &r->unknown1);
7486 if (length_unknown1_1 > size_unknown1_1) {
7487 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown1_1, length_unknown1_1);
7489 NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown1_1, sizeof(uint16_t)));
7490 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, length_unknown1_1, sizeof(uint16_t), CH_UTF16));
7491 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
7493 if (r->unknown2) {
7494 _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
7495 NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
7496 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
7497 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
7498 size_unknown2_1 = ndr_get_array_size(ndr, &r->unknown2);
7499 length_unknown2_1 = ndr_get_array_length(ndr, &r->unknown2);
7500 if (length_unknown2_1 > size_unknown2_1) {
7501 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown2_1, length_unknown2_1);
7503 NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown2_1, sizeof(uint16_t)));
7504 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, length_unknown2_1, sizeof(uint16_t), CH_UTF16));
7505 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
7507 if (r->unknown3) {
7508 _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
7509 NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
7510 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
7511 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
7512 size_unknown3_1 = ndr_get_array_size(ndr, &r->unknown3);
7513 length_unknown3_1 = ndr_get_array_length(ndr, &r->unknown3);
7514 if (length_unknown3_1 > size_unknown3_1) {
7515 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown3_1, length_unknown3_1);
7517 NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown3_1, sizeof(uint16_t)));
7518 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, length_unknown3_1, sizeof(uint16_t), CH_UTF16));
7519 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
7521 if (r->unknown4) {
7522 _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
7523 NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
7524 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
7525 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
7526 size_unknown4_1 = ndr_get_array_size(ndr, &r->unknown4);
7527 length_unknown4_1 = ndr_get_array_length(ndr, &r->unknown4);
7528 if (length_unknown4_1 > size_unknown4_1) {
7529 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown4_1, length_unknown4_1);
7531 NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown4_1, sizeof(uint16_t)));
7532 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, length_unknown4_1, sizeof(uint16_t), CH_UTF16));
7533 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
7535 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
7536 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->product));
7537 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
7538 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
7540 return NDR_ERR_SUCCESS;
7543 _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r)
7545 uint32_t cntr_unknown7_0;
7546 ndr_print_struct(ndr, name, "netr_DomainQuery1");
7547 ndr->depth++;
7548 ndr_print_netr_Blob(ndr, "blob", &r->blob);
7549 ndr_print_ptr(ndr, "workstation_domain", r->workstation_domain);
7550 ndr->depth++;
7551 if (r->workstation_domain) {
7552 ndr_print_string(ndr, "workstation_domain", r->workstation_domain);
7554 ndr->depth--;
7555 ndr_print_ptr(ndr, "workstation_site", r->workstation_site);
7556 ndr->depth++;
7557 if (r->workstation_site) {
7558 ndr_print_string(ndr, "workstation_site", r->workstation_site);
7560 ndr->depth--;
7561 ndr_print_ptr(ndr, "unknown1", r->unknown1);
7562 ndr->depth++;
7563 if (r->unknown1) {
7564 ndr_print_string(ndr, "unknown1", r->unknown1);
7566 ndr->depth--;
7567 ndr_print_ptr(ndr, "unknown2", r->unknown2);
7568 ndr->depth++;
7569 if (r->unknown2) {
7570 ndr_print_string(ndr, "unknown2", r->unknown2);
7572 ndr->depth--;
7573 ndr_print_ptr(ndr, "unknown3", r->unknown3);
7574 ndr->depth++;
7575 if (r->unknown3) {
7576 ndr_print_string(ndr, "unknown3", r->unknown3);
7578 ndr->depth--;
7579 ndr_print_ptr(ndr, "unknown4", r->unknown4);
7580 ndr->depth++;
7581 if (r->unknown4) {
7582 ndr_print_string(ndr, "unknown4", r->unknown4);
7584 ndr->depth--;
7585 ndr_print_lsa_BinaryString(ndr, "blob2", &r->blob2);
7586 ndr_print_lsa_String(ndr, "product", &r->product);
7587 ndr_print_lsa_String(ndr, "unknown5", &r->unknown5);
7588 ndr_print_lsa_String(ndr, "unknown6", &r->unknown6);
7589 ndr->print(ndr, "%s: ARRAY(%d)", "unknown7", (int)4);
7590 ndr->depth++;
7591 for (cntr_unknown7_0=0;cntr_unknown7_0<4;cntr_unknown7_0++) {
7592 char *idx_0=NULL;
7593 if (asprintf(&idx_0, "[%d]", cntr_unknown7_0) != -1) {
7594 ndr_print_uint32(ndr, "unknown7", r->unknown7[cntr_unknown7_0]);
7595 free(idx_0);
7598 ndr->depth--;
7599 ndr->depth--;
7602 static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr_flags, const union netr_DomainQuery *r)
7604 if (ndr_flags & NDR_SCALARS) {
7605 int level = ndr_push_get_switch_value(ndr, r);
7606 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7607 switch (level) {
7608 case 1: {
7609 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
7610 break; }
7612 case 2: {
7613 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
7614 break; }
7616 default:
7617 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7620 if (ndr_flags & NDR_BUFFERS) {
7621 int level = ndr_push_get_switch_value(ndr, r);
7622 switch (level) {
7623 case 1:
7624 if (r->query1) {
7625 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7627 break;
7629 case 2:
7630 if (r->query1) {
7631 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7633 break;
7635 default:
7636 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7639 return NDR_ERR_SUCCESS;
7642 static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr_flags, union netr_DomainQuery *r)
7644 int level;
7645 uint32_t _level;
7646 TALLOC_CTX *_mem_save_query1_0;
7647 uint32_t _ptr_query1;
7648 level = ndr_pull_get_switch_value(ndr, r);
7649 if (ndr_flags & NDR_SCALARS) {
7650 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7651 if (_level != level) {
7652 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7654 switch (level) {
7655 case 1: {
7656 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
7657 if (_ptr_query1) {
7658 NDR_PULL_ALLOC(ndr, r->query1);
7659 } else {
7660 r->query1 = NULL;
7662 break; }
7664 case 2: {
7665 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
7666 if (_ptr_query1) {
7667 NDR_PULL_ALLOC(ndr, r->query1);
7668 } else {
7669 r->query1 = NULL;
7671 break; }
7673 default:
7674 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7677 if (ndr_flags & NDR_BUFFERS) {
7678 switch (level) {
7679 case 1:
7680 if (r->query1) {
7681 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7682 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
7683 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
7686 break;
7688 case 2:
7689 if (r->query1) {
7690 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7691 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
7692 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
7693 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
7695 break;
7697 default:
7698 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7701 return NDR_ERR_SUCCESS;
7704 _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r)
7706 int level;
7707 level = ndr_print_get_switch_value(ndr, r);
7708 ndr_print_union(ndr, name, level, "netr_DomainQuery");
7709 switch (level) {
7710 case 1:
7711 ndr_print_ptr(ndr, "query1", r->query1);
7712 ndr->depth++;
7713 if (r->query1) {
7714 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
7716 ndr->depth--;
7717 break;
7719 case 2:
7720 ndr_print_ptr(ndr, "query1", r->query1);
7721 ndr->depth++;
7722 if (r->query1) {
7723 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
7725 ndr->depth--;
7726 break;
7728 default:
7729 ndr_print_bad_level(ndr, name, level);
7733 static enum ndr_err_code ndr_push_netr_trust_extension(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension *r)
7735 if (ndr_flags & NDR_SCALARS) {
7736 NDR_CHECK(ndr_push_align(ndr, 4));
7737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7738 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7739 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7740 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->flags));
7741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_type));
7743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_attributes));
7745 if (ndr_flags & NDR_BUFFERS) {
7747 return NDR_ERR_SUCCESS;
7750 static enum ndr_err_code ndr_pull_netr_trust_extension(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension *r)
7752 if (ndr_flags & NDR_SCALARS) {
7753 NDR_CHECK(ndr_pull_align(ndr, 4));
7754 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7755 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7756 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7757 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->flags));
7758 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7759 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_type));
7760 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_attributes));
7762 if (ndr_flags & NDR_BUFFERS) {
7764 return NDR_ERR_SUCCESS;
7767 _PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r)
7769 ndr_print_struct(ndr, name, "netr_trust_extension");
7770 ndr->depth++;
7771 ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->length);
7772 ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7773 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->size);
7774 ndr_print_netr_TrustFlags(ndr, "flags", r->flags);
7775 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7776 ndr_print_uint32(ndr, "trust_type", r->trust_type);
7777 ndr_print_uint32(ndr, "trust_attributes", r->trust_attributes);
7778 ndr->depth--;
7781 static enum ndr_err_code ndr_push_netr_trust_extension_container(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension_container *r)
7783 if (ndr_flags & NDR_SCALARS) {
7784 NDR_CHECK(ndr_push_align(ndr, 4));
7785 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
7786 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
7787 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
7789 if (ndr_flags & NDR_BUFFERS) {
7790 if (r->info) {
7791 NDR_CHECK(ndr_push_netr_trust_extension(ndr, NDR_SCALARS, r->info));
7794 return NDR_ERR_SUCCESS;
7797 static enum ndr_err_code ndr_pull_netr_trust_extension_container(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_container *r)
7799 uint32_t _ptr_info;
7800 TALLOC_CTX *_mem_save_info_0;
7801 if (ndr_flags & NDR_SCALARS) {
7802 NDR_CHECK(ndr_pull_align(ndr, 4));
7803 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
7804 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
7805 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
7806 if (_ptr_info) {
7807 NDR_PULL_ALLOC(ndr, r->info);
7808 } else {
7809 r->info = NULL;
7812 if (ndr_flags & NDR_BUFFERS) {
7813 if (r->info) {
7814 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7815 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
7816 NDR_CHECK(ndr_pull_netr_trust_extension(ndr, NDR_SCALARS, r->info));
7817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
7820 return NDR_ERR_SUCCESS;
7823 _PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r)
7825 ndr_print_struct(ndr, name, "netr_trust_extension_container");
7826 ndr->depth++;
7827 ndr_print_uint16(ndr, "length", r->length);
7828 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
7829 ndr_print_ptr(ndr, "info", r->info);
7830 ndr->depth++;
7831 if (r->info) {
7832 ndr_print_netr_trust_extension(ndr, "info", r->info);
7834 ndr->depth--;
7835 ndr->depth--;
7838 static enum ndr_err_code ndr_push_netr_DomainTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustInfo *r)
7840 uint32_t cntr_dummystring_0;
7841 uint32_t cntr_dummy_0;
7842 if (ndr_flags & NDR_SCALARS) {
7843 NDR_CHECK(ndr_push_align(ndr, 4));
7844 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
7845 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
7846 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
7847 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
7848 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
7849 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
7850 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
7851 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
7853 for (cntr_dummy_0 = 0; cntr_dummy_0 < 4; cntr_dummy_0++) {
7854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy[cntr_dummy_0]));
7857 if (ndr_flags & NDR_BUFFERS) {
7858 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
7859 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
7860 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
7861 if (r->sid) {
7862 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7864 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
7865 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
7866 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
7869 return NDR_ERR_SUCCESS;
7872 static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustInfo *r)
7874 uint32_t _ptr_sid;
7875 TALLOC_CTX *_mem_save_sid_0;
7876 uint32_t size_dummystring_0 = 0;
7877 uint32_t cntr_dummystring_0;
7878 uint32_t size_dummy_0 = 0;
7879 uint32_t cntr_dummy_0;
7880 if (ndr_flags & NDR_SCALARS) {
7881 NDR_CHECK(ndr_pull_align(ndr, 4));
7882 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
7883 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
7884 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
7885 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
7886 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
7887 if (_ptr_sid) {
7888 NDR_PULL_ALLOC(ndr, r->sid);
7889 } else {
7890 r->sid = NULL;
7892 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
7893 size_dummystring_0 = 3;
7894 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < size_dummystring_0; cntr_dummystring_0++) {
7895 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
7897 size_dummy_0 = 4;
7898 for (cntr_dummy_0 = 0; cntr_dummy_0 < size_dummy_0; cntr_dummy_0++) {
7899 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy[cntr_dummy_0]));
7902 if (ndr_flags & NDR_BUFFERS) {
7903 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
7904 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
7905 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
7906 if (r->sid) {
7907 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7908 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
7909 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
7912 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
7913 size_dummystring_0 = 3;
7914 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < size_dummystring_0; cntr_dummystring_0++) {
7915 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
7918 return NDR_ERR_SUCCESS;
7921 _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r)
7923 uint32_t cntr_dummystring_0;
7924 uint32_t cntr_dummy_0;
7925 ndr_print_struct(ndr, name, "netr_DomainTrustInfo");
7926 ndr->depth++;
7927 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
7928 ndr_print_lsa_String(ndr, "fulldomainname", &r->fulldomainname);
7929 ndr_print_lsa_String(ndr, "forest", &r->forest);
7930 ndr_print_GUID(ndr, "guid", &r->guid);
7931 ndr_print_ptr(ndr, "sid", r->sid);
7932 ndr->depth++;
7933 if (r->sid) {
7934 ndr_print_dom_sid2(ndr, "sid", r->sid);
7936 ndr->depth--;
7937 ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
7938 ndr->print(ndr, "%s: ARRAY(%d)", "dummystring", (int)3);
7939 ndr->depth++;
7940 for (cntr_dummystring_0=0;cntr_dummystring_0<3;cntr_dummystring_0++) {
7941 char *idx_0=NULL;
7942 if (asprintf(&idx_0, "[%d]", cntr_dummystring_0) != -1) {
7943 ndr_print_lsa_String(ndr, "dummystring", &r->dummystring[cntr_dummystring_0]);
7944 free(idx_0);
7947 ndr->depth--;
7948 ndr->print(ndr, "%s: ARRAY(%d)", "dummy", (int)4);
7949 ndr->depth++;
7950 for (cntr_dummy_0=0;cntr_dummy_0<4;cntr_dummy_0++) {
7951 char *idx_0=NULL;
7952 if (asprintf(&idx_0, "[%d]", cntr_dummy_0) != -1) {
7953 ndr_print_uint32(ndr, "dummy", r->dummy[cntr_dummy_0]);
7954 free(idx_0);
7957 ndr->depth--;
7958 ndr->depth--;
7961 static enum ndr_err_code ndr_push_netr_LsaPolicyInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInfo *r)
7963 if (ndr_flags & NDR_SCALARS) {
7964 NDR_CHECK(ndr_push_align(ndr, 4));
7965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7966 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
7968 if (ndr_flags & NDR_BUFFERS) {
7969 if (r->policy) {
7970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7971 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
7974 return NDR_ERR_SUCCESS;
7977 static enum ndr_err_code ndr_pull_netr_LsaPolicyInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInfo *r)
7979 uint32_t _ptr_policy;
7980 uint32_t size_policy_1 = 0;
7981 TALLOC_CTX *_mem_save_policy_0;
7982 if (ndr_flags & NDR_SCALARS) {
7983 NDR_CHECK(ndr_pull_align(ndr, 4));
7984 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
7985 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
7986 if (_ptr_policy) {
7987 NDR_PULL_ALLOC(ndr, r->policy);
7988 } else {
7989 r->policy = NULL;
7992 if (ndr_flags & NDR_BUFFERS) {
7993 if (r->policy) {
7994 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
7995 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
7996 NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
7997 size_policy_1 = ndr_get_array_size(ndr, &r->policy);
7998 NDR_PULL_ALLOC_N(ndr, r->policy, size_policy_1);
7999 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, size_policy_1));
8000 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
8002 if (r->policy) {
8003 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->policy, r->policy_size));
8006 return NDR_ERR_SUCCESS;
8009 _PUBLIC_ void ndr_print_netr_LsaPolicyInfo(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInfo *r)
8011 ndr_print_struct(ndr, name, "netr_LsaPolicyInfo");
8012 ndr->depth++;
8013 ndr_print_uint32(ndr, "policy_size", r->policy_size);
8014 ndr_print_ptr(ndr, "policy", r->policy);
8015 ndr->depth++;
8016 if (r->policy) {
8017 ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
8019 ndr->depth--;
8020 ndr->depth--;
8023 _PUBLIC_ enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8025 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8026 return NDR_ERR_SUCCESS;
8029 _PUBLIC_ enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8031 uint32_t v;
8032 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8033 *r = v;
8034 return NDR_ERR_SUCCESS;
8037 _PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r)
8039 ndr_print_uint32(ndr, name, r);
8040 ndr->depth++;
8041 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
8042 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
8043 ndr->depth--;
8046 static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInfo1 *r)
8048 uint32_t cntr_trusts_1;
8049 uint32_t cntr_dummystring_0;
8050 uint32_t cntr_dummy_0;
8051 if (ndr_flags & NDR_SCALARS) {
8052 NDR_CHECK(ndr_push_align(ndr, 4));
8053 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
8054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
8055 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusts));
8056 NDR_CHECK(ndr_push_netr_LsaPolicyInfo(ndr, NDR_SCALARS, &r->lsa_policy));
8057 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
8058 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
8059 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
8061 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
8062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->supported_enc_types));
8063 for (cntr_dummy_0 = 0; cntr_dummy_0 < 2; cntr_dummy_0++) {
8064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy[cntr_dummy_0]));
8067 if (ndr_flags & NDR_BUFFERS) {
8068 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
8069 if (r->trusts) {
8070 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
8071 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
8072 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
8074 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
8075 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
8078 NDR_CHECK(ndr_push_netr_LsaPolicyInfo(ndr, NDR_BUFFERS, &r->lsa_policy));
8079 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
8080 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < 3; cntr_dummystring_0++) {
8081 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
8084 return NDR_ERR_SUCCESS;
8087 static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
8089 uint32_t _ptr_trusts;
8090 uint32_t size_trusts_1 = 0;
8091 uint32_t cntr_trusts_1;
8092 TALLOC_CTX *_mem_save_trusts_0;
8093 TALLOC_CTX *_mem_save_trusts_1;
8094 uint32_t size_dummystring_0 = 0;
8095 uint32_t cntr_dummystring_0;
8096 uint32_t size_dummy_0 = 0;
8097 uint32_t cntr_dummy_0;
8098 if (ndr_flags & NDR_SCALARS) {
8099 NDR_CHECK(ndr_pull_align(ndr, 4));
8100 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
8101 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_trusts));
8102 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusts));
8103 if (_ptr_trusts) {
8104 NDR_PULL_ALLOC(ndr, r->trusts);
8105 } else {
8106 r->trusts = NULL;
8108 NDR_CHECK(ndr_pull_netr_LsaPolicyInfo(ndr, NDR_SCALARS, &r->lsa_policy));
8109 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
8110 size_dummystring_0 = 3;
8111 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < size_dummystring_0; cntr_dummystring_0++) {
8112 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummystring[cntr_dummystring_0]));
8114 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
8115 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->supported_enc_types));
8116 size_dummy_0 = 2;
8117 for (cntr_dummy_0 = 0; cntr_dummy_0 < size_dummy_0; cntr_dummy_0++) {
8118 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy[cntr_dummy_0]));
8121 if (ndr_flags & NDR_BUFFERS) {
8122 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
8123 if (r->trusts) {
8124 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
8125 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
8126 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
8127 size_trusts_1 = ndr_get_array_size(ndr, &r->trusts);
8128 NDR_PULL_ALLOC_N(ndr, r->trusts, size_trusts_1);
8129 _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
8130 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
8131 for (cntr_trusts_1 = 0; cntr_trusts_1 < size_trusts_1; cntr_trusts_1++) {
8132 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
8134 for (cntr_trusts_1 = 0; cntr_trusts_1 < size_trusts_1; cntr_trusts_1++) {
8135 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
8137 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
8138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, 0);
8140 NDR_CHECK(ndr_pull_netr_LsaPolicyInfo(ndr, NDR_BUFFERS, &r->lsa_policy));
8141 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
8142 size_dummystring_0 = 3;
8143 for (cntr_dummystring_0 = 0; cntr_dummystring_0 < size_dummystring_0; cntr_dummystring_0++) {
8144 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummystring[cntr_dummystring_0]));
8146 if (r->trusts) {
8147 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusts, r->num_trusts));
8150 return NDR_ERR_SUCCESS;
8153 _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r)
8155 uint32_t cntr_trusts_1;
8156 uint32_t cntr_dummystring_0;
8157 uint32_t cntr_dummy_0;
8158 ndr_print_struct(ndr, name, "netr_DomainInfo1");
8159 ndr->depth++;
8160 ndr_print_netr_DomainTrustInfo(ndr, "domaininfo", &r->domaininfo);
8161 ndr_print_uint32(ndr, "num_trusts", r->num_trusts);
8162 ndr_print_ptr(ndr, "trusts", r->trusts);
8163 ndr->depth++;
8164 if (r->trusts) {
8165 ndr->print(ndr, "%s: ARRAY(%d)", "trusts", (int)r->num_trusts);
8166 ndr->depth++;
8167 for (cntr_trusts_1=0;cntr_trusts_1<r->num_trusts;cntr_trusts_1++) {
8168 char *idx_1=NULL;
8169 if (asprintf(&idx_1, "[%d]", cntr_trusts_1) != -1) {
8170 ndr_print_netr_DomainTrustInfo(ndr, "trusts", &r->trusts[cntr_trusts_1]);
8171 free(idx_1);
8174 ndr->depth--;
8176 ndr->depth--;
8177 ndr_print_netr_LsaPolicyInfo(ndr, "lsa_policy", &r->lsa_policy);
8178 ndr_print_lsa_String(ndr, "dns_hostname", &r->dns_hostname);
8179 ndr->print(ndr, "%s: ARRAY(%d)", "dummystring", (int)3);
8180 ndr->depth++;
8181 for (cntr_dummystring_0=0;cntr_dummystring_0<3;cntr_dummystring_0++) {
8182 char *idx_0=NULL;
8183 if (asprintf(&idx_0, "[%d]", cntr_dummystring_0) != -1) {
8184 ndr_print_lsa_String(ndr, "dummystring", &r->dummystring[cntr_dummystring_0]);
8185 free(idx_0);
8188 ndr->depth--;
8189 ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
8190 ndr_print_uint32(ndr, "supported_enc_types", r->supported_enc_types);
8191 ndr->print(ndr, "%s: ARRAY(%d)", "dummy", (int)2);
8192 ndr->depth++;
8193 for (cntr_dummy_0=0;cntr_dummy_0<2;cntr_dummy_0++) {
8194 char *idx_0=NULL;
8195 if (asprintf(&idx_0, "[%d]", cntr_dummy_0) != -1) {
8196 ndr_print_uint32(ndr, "dummy", r->dummy[cntr_dummy_0]);
8197 free(idx_0);
8200 ndr->depth--;
8201 ndr->depth--;
8204 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
8206 if (ndr_flags & NDR_SCALARS) {
8207 int level = ndr_push_get_switch_value(ndr, r);
8208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8209 switch (level) {
8210 case 1: {
8211 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
8212 break; }
8214 case 2: {
8215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
8216 break; }
8218 default:
8219 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8222 if (ndr_flags & NDR_BUFFERS) {
8223 int level = ndr_push_get_switch_value(ndr, r);
8224 switch (level) {
8225 case 1:
8226 if (r->info1) {
8227 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
8229 break;
8231 case 2:
8232 if (r->info2) {
8233 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
8235 break;
8237 default:
8238 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8241 return NDR_ERR_SUCCESS;
8244 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
8246 int level;
8247 uint32_t _level;
8248 TALLOC_CTX *_mem_save_info1_0;
8249 uint32_t _ptr_info1;
8250 TALLOC_CTX *_mem_save_info2_0;
8251 uint32_t _ptr_info2;
8252 level = ndr_pull_get_switch_value(ndr, r);
8253 if (ndr_flags & NDR_SCALARS) {
8254 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8255 if (_level != level) {
8256 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
8258 switch (level) {
8259 case 1: {
8260 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
8261 if (_ptr_info1) {
8262 NDR_PULL_ALLOC(ndr, r->info1);
8263 } else {
8264 r->info1 = NULL;
8266 break; }
8268 case 2: {
8269 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
8270 if (_ptr_info2) {
8271 NDR_PULL_ALLOC(ndr, r->info2);
8272 } else {
8273 r->info2 = NULL;
8275 break; }
8277 default:
8278 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8281 if (ndr_flags & NDR_BUFFERS) {
8282 switch (level) {
8283 case 1:
8284 if (r->info1) {
8285 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
8286 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
8287 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
8288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
8290 break;
8292 case 2:
8293 if (r->info2) {
8294 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
8295 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
8296 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
8297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
8299 break;
8301 default:
8302 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
8305 return NDR_ERR_SUCCESS;
8308 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
8310 int level;
8311 level = ndr_print_get_switch_value(ndr, r);
8312 ndr_print_union(ndr, name, level, "netr_DomainInfo");
8313 switch (level) {
8314 case 1:
8315 ndr_print_ptr(ndr, "info1", r->info1);
8316 ndr->depth++;
8317 if (r->info1) {
8318 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
8320 ndr->depth--;
8321 break;
8323 case 2:
8324 ndr_print_ptr(ndr, "info2", r->info2);
8325 ndr->depth++;
8326 if (r->info2) {
8327 ndr_print_netr_DomainInfo1(ndr, "info2", r->info2);
8329 ndr->depth--;
8330 break;
8332 default:
8333 ndr_print_bad_level(ndr, name, level);
8337 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
8340 uint32_t _flags_save_STRUCT = ndr->flags;
8341 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8342 if (ndr_flags & NDR_SCALARS) {
8343 NDR_CHECK(ndr_push_align(ndr, 4));
8344 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
8347 if (ndr_flags & NDR_BUFFERS) {
8349 ndr->flags = _flags_save_STRUCT;
8351 return NDR_ERR_SUCCESS;
8354 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
8356 uint32_t size_data_0 = 0;
8358 uint32_t _flags_save_STRUCT = ndr->flags;
8359 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8360 if (ndr_flags & NDR_SCALARS) {
8361 NDR_CHECK(ndr_pull_align(ndr, 4));
8362 size_data_0 = 512;
8363 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
8364 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
8366 if (ndr_flags & NDR_BUFFERS) {
8368 ndr->flags = _flags_save_STRUCT;
8370 return NDR_ERR_SUCCESS;
8373 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
8375 ndr_print_struct(ndr, name, "netr_CryptPassword");
8377 uint32_t _flags_save_STRUCT = ndr->flags;
8378 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8379 ndr->depth++;
8380 ndr_print_array_uint8(ndr, "data", r->data, 512);
8381 ndr_print_uint32(ndr, "length", r->length);
8382 ndr->depth--;
8383 ndr->flags = _flags_save_STRUCT;
8387 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
8389 uint32_t cntr_sitename_1;
8390 if (ndr_flags & NDR_SCALARS) {
8391 NDR_CHECK(ndr_push_align(ndr, 4));
8392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8393 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8395 if (ndr_flags & NDR_BUFFERS) {
8396 if (r->sitename) {
8397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8398 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8399 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8401 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8402 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8406 return NDR_ERR_SUCCESS;
8409 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
8411 uint32_t _ptr_sitename;
8412 uint32_t size_sitename_1 = 0;
8413 uint32_t cntr_sitename_1;
8414 TALLOC_CTX *_mem_save_sitename_0;
8415 TALLOC_CTX *_mem_save_sitename_1;
8416 if (ndr_flags & NDR_SCALARS) {
8417 NDR_CHECK(ndr_pull_align(ndr, 4));
8418 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8419 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8420 if (_ptr_sitename) {
8421 NDR_PULL_ALLOC(ndr, r->sitename);
8422 } else {
8423 r->sitename = NULL;
8426 if (ndr_flags & NDR_BUFFERS) {
8427 if (r->sitename) {
8428 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8429 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8430 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8431 size_sitename_1 = ndr_get_array_size(ndr, &r->sitename);
8432 NDR_PULL_ALLOC_N(ndr, r->sitename, size_sitename_1);
8433 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8434 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8435 for (cntr_sitename_1 = 0; cntr_sitename_1 < size_sitename_1; cntr_sitename_1++) {
8436 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8438 for (cntr_sitename_1 = 0; cntr_sitename_1 < size_sitename_1; cntr_sitename_1++) {
8439 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8441 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8442 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8444 if (r->sitename) {
8445 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8448 return NDR_ERR_SUCCESS;
8451 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
8453 uint32_t cntr_sitename_1;
8454 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
8455 ndr->depth++;
8456 ndr_print_uint32(ndr, "count", r->count);
8457 ndr_print_ptr(ndr, "sitename", r->sitename);
8458 ndr->depth++;
8459 if (r->sitename) {
8460 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8461 ndr->depth++;
8462 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8463 char *idx_1=NULL;
8464 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8465 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8466 free(idx_1);
8469 ndr->depth--;
8471 ndr->depth--;
8472 ndr->depth--;
8475 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
8477 if (ndr_flags & NDR_SCALARS) {
8478 NDR_CHECK(ndr_push_align(ndr, 4));
8479 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
8480 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8482 if (ndr_flags & NDR_BUFFERS) {
8483 if (r->buffer) {
8484 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8485 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
8488 return NDR_ERR_SUCCESS;
8491 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
8493 uint32_t _ptr_buffer;
8494 uint32_t size_buffer_1 = 0;
8495 TALLOC_CTX *_mem_save_buffer_0;
8496 if (ndr_flags & NDR_SCALARS) {
8497 NDR_CHECK(ndr_pull_align(ndr, 4));
8498 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
8499 if (_ptr_buffer) {
8500 NDR_PULL_ALLOC(ndr, r->buffer);
8501 } else {
8502 r->buffer = NULL;
8504 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8506 if (ndr_flags & NDR_BUFFERS) {
8507 if (r->buffer) {
8508 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
8509 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
8510 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
8511 size_buffer_1 = ndr_get_array_size(ndr, &r->buffer);
8512 NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
8513 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
8514 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
8516 if (r->buffer) {
8517 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
8520 return NDR_ERR_SUCCESS;
8523 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
8525 ndr_print_struct(ndr, name, "netr_DsRAddress");
8526 ndr->depth++;
8527 ndr_print_ptr(ndr, "buffer", r->buffer);
8528 ndr->depth++;
8529 if (r->buffer) {
8530 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
8532 ndr->depth--;
8533 ndr_print_uint32(ndr, "size", r->size);
8534 ndr->depth--;
8537 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
8539 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8540 return NDR_ERR_SUCCESS;
8543 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
8545 uint32_t v;
8546 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8547 *r = v;
8548 return NDR_ERR_SUCCESS;
8551 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
8553 const char *val = NULL;
8555 switch (r) {
8556 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
8557 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
8558 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
8559 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
8561 ndr_print_enum(ndr, name, "ENUM", val, r);
8564 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8567 return NDR_ERR_SUCCESS;
8570 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8572 uint32_t v;
8573 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8574 *r = v;
8575 return NDR_ERR_SUCCESS;
8578 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
8580 ndr_print_uint32(ndr, name, r);
8581 ndr->depth++;
8582 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
8583 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
8584 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
8585 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
8586 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
8587 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
8588 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
8589 ndr->depth--;
8592 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
8594 if (ndr_flags & NDR_SCALARS) {
8595 NDR_CHECK(ndr_push_align(ndr, 4));
8596 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
8597 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
8598 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
8599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
8600 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
8601 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
8602 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
8603 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8605 if (ndr_flags & NDR_BUFFERS) {
8606 if (r->netbios_name) {
8607 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8610 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8612 if (r->dns_name) {
8613 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8614 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8615 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8616 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8618 if (r->sid) {
8619 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8622 return NDR_ERR_SUCCESS;
8625 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
8627 uint32_t _ptr_netbios_name;
8628 uint32_t size_netbios_name_1 = 0;
8629 uint32_t length_netbios_name_1 = 0;
8630 TALLOC_CTX *_mem_save_netbios_name_0;
8631 uint32_t _ptr_dns_name;
8632 uint32_t size_dns_name_1 = 0;
8633 uint32_t length_dns_name_1 = 0;
8634 TALLOC_CTX *_mem_save_dns_name_0;
8635 uint32_t _ptr_sid;
8636 TALLOC_CTX *_mem_save_sid_0;
8637 if (ndr_flags & NDR_SCALARS) {
8638 NDR_CHECK(ndr_pull_align(ndr, 4));
8639 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
8640 if (_ptr_netbios_name) {
8641 NDR_PULL_ALLOC(ndr, r->netbios_name);
8642 } else {
8643 r->netbios_name = NULL;
8645 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
8646 if (_ptr_dns_name) {
8647 NDR_PULL_ALLOC(ndr, r->dns_name);
8648 } else {
8649 r->dns_name = NULL;
8651 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
8652 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
8653 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
8654 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
8655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
8656 if (_ptr_sid) {
8657 NDR_PULL_ALLOC(ndr, r->sid);
8658 } else {
8659 r->sid = NULL;
8661 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8663 if (ndr_flags & NDR_BUFFERS) {
8664 if (r->netbios_name) {
8665 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8666 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
8667 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
8668 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
8669 size_netbios_name_1 = ndr_get_array_size(ndr, &r->netbios_name);
8670 length_netbios_name_1 = ndr_get_array_length(ndr, &r->netbios_name);
8671 if (length_netbios_name_1 > size_netbios_name_1) {
8672 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_netbios_name_1, length_netbios_name_1);
8674 NDR_CHECK(ndr_check_string_terminator(ndr, length_netbios_name_1, sizeof(uint16_t)));
8675 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, length_netbios_name_1, sizeof(uint16_t), CH_UTF16));
8676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
8678 if (r->dns_name) {
8679 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8680 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
8681 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
8682 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
8683 size_dns_name_1 = ndr_get_array_size(ndr, &r->dns_name);
8684 length_dns_name_1 = ndr_get_array_length(ndr, &r->dns_name);
8685 if (length_dns_name_1 > size_dns_name_1) {
8686 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_name_1, length_dns_name_1);
8688 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_name_1, sizeof(uint16_t)));
8689 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, length_dns_name_1, sizeof(uint16_t), CH_UTF16));
8690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
8692 if (r->sid) {
8693 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8694 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
8695 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
8699 return NDR_ERR_SUCCESS;
8702 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
8704 ndr_print_struct(ndr, name, "netr_DomainTrust");
8705 ndr->depth++;
8706 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
8707 ndr->depth++;
8708 if (r->netbios_name) {
8709 ndr_print_string(ndr, "netbios_name", r->netbios_name);
8711 ndr->depth--;
8712 ndr_print_ptr(ndr, "dns_name", r->dns_name);
8713 ndr->depth++;
8714 if (r->dns_name) {
8715 ndr_print_string(ndr, "dns_name", r->dns_name);
8717 ndr->depth--;
8718 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
8719 ndr_print_uint32(ndr, "parent_index", r->parent_index);
8720 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
8721 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
8722 ndr_print_ptr(ndr, "sid", r->sid);
8723 ndr->depth++;
8724 if (r->sid) {
8725 ndr_print_dom_sid2(ndr, "sid", r->sid);
8727 ndr->depth--;
8728 ndr_print_GUID(ndr, "guid", &r->guid);
8729 ndr->depth--;
8732 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
8734 uint32_t cntr_array_1;
8735 if (ndr_flags & NDR_SCALARS) {
8736 NDR_CHECK(ndr_push_align(ndr, 4));
8737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8738 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8740 if (ndr_flags & NDR_BUFFERS) {
8741 if (r->array) {
8742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8743 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8744 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8746 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8747 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8751 return NDR_ERR_SUCCESS;
8754 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
8756 uint32_t _ptr_array;
8757 uint32_t size_array_1 = 0;
8758 uint32_t cntr_array_1;
8759 TALLOC_CTX *_mem_save_array_0;
8760 TALLOC_CTX *_mem_save_array_1;
8761 if (ndr_flags & NDR_SCALARS) {
8762 NDR_CHECK(ndr_pull_align(ndr, 4));
8763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8764 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8765 if (_ptr_array) {
8766 NDR_PULL_ALLOC(ndr, r->array);
8767 } else {
8768 r->array = NULL;
8771 if (ndr_flags & NDR_BUFFERS) {
8772 if (r->array) {
8773 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8774 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8775 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8776 size_array_1 = ndr_get_array_size(ndr, &r->array);
8777 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
8778 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8779 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8780 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
8781 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8783 for (cntr_array_1 = 0; cntr_array_1 < size_array_1; cntr_array_1++) {
8784 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8789 if (r->array) {
8790 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8793 return NDR_ERR_SUCCESS;
8796 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
8798 uint32_t cntr_array_1;
8799 ndr_print_struct(ndr, name, "netr_DomainTrustList");
8800 ndr->depth++;
8801 ndr_print_uint32(ndr, "count", r->count);
8802 ndr_print_ptr(ndr, "array", r->array);
8803 ndr->depth++;
8804 if (r->array) {
8805 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8806 ndr->depth++;
8807 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8808 char *idx_1=NULL;
8809 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8810 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
8811 free(idx_1);
8814 ndr->depth--;
8816 ndr->depth--;
8817 ndr->depth--;
8820 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
8822 uint32_t cntr_sitename_1;
8823 uint32_t cntr_subnetname_1;
8824 if (ndr_flags & NDR_SCALARS) {
8825 NDR_CHECK(ndr_push_align(ndr, 4));
8826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8827 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8828 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
8830 if (ndr_flags & NDR_BUFFERS) {
8831 if (r->sitename) {
8832 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8833 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8834 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8836 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8837 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8840 if (r->subnetname) {
8841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8842 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8843 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8845 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8846 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8850 return NDR_ERR_SUCCESS;
8853 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
8855 uint32_t _ptr_sitename;
8856 uint32_t size_sitename_1 = 0;
8857 uint32_t cntr_sitename_1;
8858 TALLOC_CTX *_mem_save_sitename_0;
8859 TALLOC_CTX *_mem_save_sitename_1;
8860 uint32_t _ptr_subnetname;
8861 uint32_t size_subnetname_1 = 0;
8862 uint32_t cntr_subnetname_1;
8863 TALLOC_CTX *_mem_save_subnetname_0;
8864 TALLOC_CTX *_mem_save_subnetname_1;
8865 if (ndr_flags & NDR_SCALARS) {
8866 NDR_CHECK(ndr_pull_align(ndr, 4));
8867 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8868 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8869 if (_ptr_sitename) {
8870 NDR_PULL_ALLOC(ndr, r->sitename);
8871 } else {
8872 r->sitename = NULL;
8874 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
8875 if (_ptr_subnetname) {
8876 NDR_PULL_ALLOC(ndr, r->subnetname);
8877 } else {
8878 r->subnetname = NULL;
8881 if (ndr_flags & NDR_BUFFERS) {
8882 if (r->sitename) {
8883 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8884 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8885 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8886 size_sitename_1 = ndr_get_array_size(ndr, &r->sitename);
8887 NDR_PULL_ALLOC_N(ndr, r->sitename, size_sitename_1);
8888 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8889 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8890 for (cntr_sitename_1 = 0; cntr_sitename_1 < size_sitename_1; cntr_sitename_1++) {
8891 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8893 for (cntr_sitename_1 = 0; cntr_sitename_1 < size_sitename_1; cntr_sitename_1++) {
8894 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8899 if (r->subnetname) {
8900 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
8901 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8902 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
8903 size_subnetname_1 = ndr_get_array_size(ndr, &r->subnetname);
8904 NDR_PULL_ALLOC_N(ndr, r->subnetname, size_subnetname_1);
8905 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
8906 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8907 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < size_subnetname_1; cntr_subnetname_1++) {
8908 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8910 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < size_subnetname_1; cntr_subnetname_1++) {
8911 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8913 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
8914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
8916 if (r->sitename) {
8917 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8919 if (r->subnetname) {
8920 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
8923 return NDR_ERR_SUCCESS;
8926 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
8928 uint32_t cntr_sitename_1;
8929 uint32_t cntr_subnetname_1;
8930 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
8931 ndr->depth++;
8932 ndr_print_uint32(ndr, "count", r->count);
8933 ndr_print_ptr(ndr, "sitename", r->sitename);
8934 ndr->depth++;
8935 if (r->sitename) {
8936 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8937 ndr->depth++;
8938 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8939 char *idx_1=NULL;
8940 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8941 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8942 free(idx_1);
8945 ndr->depth--;
8947 ndr->depth--;
8948 ndr_print_ptr(ndr, "subnetname", r->subnetname);
8949 ndr->depth++;
8950 if (r->subnetname) {
8951 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
8952 ndr->depth++;
8953 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
8954 char *idx_1=NULL;
8955 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
8956 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
8957 free(idx_1);
8960 ndr->depth--;
8962 ndr->depth--;
8963 ndr->depth--;
8966 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
8968 uint32_t cntr_sites_1;
8969 if (ndr_flags & NDR_SCALARS) {
8970 NDR_CHECK(ndr_push_align(ndr, 4));
8971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
8972 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
8974 if (ndr_flags & NDR_BUFFERS) {
8975 if (r->sites) {
8976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
8977 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8978 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
8980 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
8981 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
8985 return NDR_ERR_SUCCESS;
8988 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
8990 uint32_t _ptr_sites;
8991 uint32_t size_sites_1 = 0;
8992 uint32_t cntr_sites_1;
8993 TALLOC_CTX *_mem_save_sites_0;
8994 TALLOC_CTX *_mem_save_sites_1;
8995 if (ndr_flags & NDR_SCALARS) {
8996 NDR_CHECK(ndr_pull_align(ndr, 4));
8997 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
8998 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
8999 if (_ptr_sites) {
9000 NDR_PULL_ALLOC(ndr, r->sites);
9001 } else {
9002 r->sites = NULL;
9005 if (ndr_flags & NDR_BUFFERS) {
9006 if (r->sites) {
9007 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
9008 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9009 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
9010 size_sites_1 = ndr_get_array_size(ndr, &r->sites);
9011 NDR_PULL_ALLOC_N(ndr, r->sites, size_sites_1);
9012 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
9013 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9014 for (cntr_sites_1 = 0; cntr_sites_1 < size_sites_1; cntr_sites_1++) {
9015 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9017 for (cntr_sites_1 = 0; cntr_sites_1 < size_sites_1; cntr_sites_1++) {
9018 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9020 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
9021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
9023 if (r->sites) {
9024 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
9027 return NDR_ERR_SUCCESS;
9030 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
9032 uint32_t cntr_sites_1;
9033 ndr_print_struct(ndr, name, "DcSitesCtr");
9034 ndr->depth++;
9035 ndr_print_uint32(ndr, "num_sites", r->num_sites);
9036 ndr_print_ptr(ndr, "sites", r->sites);
9037 ndr->depth++;
9038 if (r->sites) {
9039 ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
9040 ndr->depth++;
9041 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
9042 char *idx_1=NULL;
9043 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
9044 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
9045 free(idx_1);
9048 ndr->depth--;
9050 ndr->depth--;
9051 ndr->depth--;
9054 static enum ndr_err_code ndr_push_netr_TrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_TrustInfo *r)
9056 uint32_t cntr_data_1;
9057 uint32_t cntr_entries_1;
9058 if (ndr_flags & NDR_SCALARS) {
9059 NDR_CHECK(ndr_push_align(ndr, 4));
9060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9061 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
9062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entry_count));
9063 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
9065 if (ndr_flags & NDR_BUFFERS) {
9066 if (r->data) {
9067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9068 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9069 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data[cntr_data_1]));
9072 if (r->entries) {
9073 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9074 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9075 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9077 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9078 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9082 return NDR_ERR_SUCCESS;
9085 static enum ndr_err_code ndr_pull_netr_TrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_TrustInfo *r)
9087 uint32_t _ptr_data;
9088 uint32_t size_data_1 = 0;
9089 uint32_t cntr_data_1;
9090 TALLOC_CTX *_mem_save_data_0;
9091 TALLOC_CTX *_mem_save_data_1;
9092 uint32_t _ptr_entries;
9093 uint32_t size_entries_1 = 0;
9094 uint32_t cntr_entries_1;
9095 TALLOC_CTX *_mem_save_entries_0;
9096 TALLOC_CTX *_mem_save_entries_1;
9097 if (ndr_flags & NDR_SCALARS) {
9098 NDR_CHECK(ndr_pull_align(ndr, 4));
9099 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9100 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
9101 if (_ptr_data) {
9102 NDR_PULL_ALLOC(ndr, r->data);
9103 } else {
9104 r->data = NULL;
9106 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entry_count));
9107 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
9108 if (_ptr_entries) {
9109 NDR_PULL_ALLOC(ndr, r->entries);
9110 } else {
9111 r->entries = NULL;
9114 if (ndr_flags & NDR_BUFFERS) {
9115 if (r->data) {
9116 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
9117 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9118 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
9119 size_data_1 = ndr_get_array_size(ndr, &r->data);
9120 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
9121 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
9122 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9123 for (cntr_data_1 = 0; cntr_data_1 < size_data_1; cntr_data_1++) {
9124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
9126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
9127 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
9129 if (r->entries) {
9130 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9131 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9132 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
9133 size_entries_1 = ndr_get_array_size(ndr, &r->entries);
9134 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
9135 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
9136 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9137 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
9138 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9140 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
9141 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9143 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
9144 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
9146 if (r->data) {
9147 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->count));
9149 if (r->entries) {
9150 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
9153 return NDR_ERR_SUCCESS;
9156 _PUBLIC_ void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r)
9158 uint32_t cntr_data_1;
9159 uint32_t cntr_entries_1;
9160 ndr_print_struct(ndr, name, "netr_TrustInfo");
9161 ndr->depth++;
9162 ndr_print_uint32(ndr, "count", r->count);
9163 ndr_print_ptr(ndr, "data", r->data);
9164 ndr->depth++;
9165 if (r->data) {
9166 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->count);
9167 ndr->depth++;
9168 for (cntr_data_1=0;cntr_data_1<r->count;cntr_data_1++) {
9169 char *idx_1=NULL;
9170 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
9171 ndr_print_uint32(ndr, "data", r->data[cntr_data_1]);
9172 free(idx_1);
9175 ndr->depth--;
9177 ndr->depth--;
9178 ndr_print_uint32(ndr, "entry_count", r->entry_count);
9179 ndr_print_ptr(ndr, "entries", r->entries);
9180 ndr->depth++;
9181 if (r->entries) {
9182 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
9183 ndr->depth++;
9184 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
9185 char *idx_1=NULL;
9186 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
9187 ndr_print_lsa_String(ndr, "entries", &r->entries[cntr_entries_1]);
9188 free(idx_1);
9191 ndr->depth--;
9193 ndr->depth--;
9194 ndr->depth--;
9197 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
9199 if (flags & NDR_IN) {
9200 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9201 if (r->in.server_name) {
9202 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9204 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9205 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));
9207 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9210 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));
9211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9214 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9216 if (flags & NDR_OUT) {
9217 if (r->out.info == NULL) {
9218 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9220 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9221 if (*r->out.info) {
9222 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9224 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9226 return NDR_ERR_SUCCESS;
9229 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
9231 uint32_t _ptr_server_name;
9232 uint32_t size_server_name_1 = 0;
9233 uint32_t length_server_name_1 = 0;
9234 uint32_t size_account_name_0 = 0;
9235 uint32_t length_account_name_0 = 0;
9236 uint32_t size_workstation_0 = 0;
9237 uint32_t length_workstation_0 = 0;
9238 uint32_t _ptr_info;
9239 TALLOC_CTX *_mem_save_server_name_0;
9240 TALLOC_CTX *_mem_save_info_0;
9241 TALLOC_CTX *_mem_save_info_1;
9242 if (flags & NDR_IN) {
9243 ZERO_STRUCT(r->out);
9245 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9246 if (_ptr_server_name) {
9247 NDR_PULL_ALLOC(ndr, r->in.server_name);
9248 } else {
9249 r->in.server_name = NULL;
9251 if (r->in.server_name) {
9252 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9253 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9254 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9255 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9256 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
9257 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
9258 if (length_server_name_1 > size_server_name_1) {
9259 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
9261 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
9262 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
9263 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9265 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9266 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9267 size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
9268 length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
9269 if (length_account_name_0 > size_account_name_0) {
9270 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
9272 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
9273 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
9274 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9275 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9276 size_workstation_0 = ndr_get_array_size(ndr, &r->in.workstation);
9277 length_workstation_0 = ndr_get_array_length(ndr, &r->in.workstation);
9278 if (length_workstation_0 > size_workstation_0) {
9279 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_0, length_workstation_0);
9281 NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_0, sizeof(uint16_t)));
9282 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, length_workstation_0, sizeof(uint16_t), CH_UTF16));
9283 NDR_PULL_ALLOC(ndr, r->out.info);
9284 ZERO_STRUCTP(r->out.info);
9286 if (flags & NDR_OUT) {
9287 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9288 NDR_PULL_ALLOC(ndr, r->out.info);
9290 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9291 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9292 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9293 if (_ptr_info) {
9294 NDR_PULL_ALLOC(ndr, *r->out.info);
9295 } else {
9296 *r->out.info = NULL;
9298 if (*r->out.info) {
9299 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9300 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9301 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9305 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9307 return NDR_ERR_SUCCESS;
9310 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
9312 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
9313 ndr->depth++;
9314 if (flags & NDR_SET_VALUES) {
9315 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9317 if (flags & NDR_IN) {
9318 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
9319 ndr->depth++;
9320 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9321 ndr->depth++;
9322 if (r->in.server_name) {
9323 ndr_print_string(ndr, "server_name", r->in.server_name);
9325 ndr->depth--;
9326 ndr_print_string(ndr, "account_name", r->in.account_name);
9327 ndr_print_string(ndr, "workstation", r->in.workstation);
9328 ndr->depth--;
9330 if (flags & NDR_OUT) {
9331 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
9332 ndr->depth++;
9333 ndr_print_ptr(ndr, "info", r->out.info);
9334 ndr->depth++;
9335 ndr_print_ptr(ndr, "info", *r->out.info);
9336 ndr->depth++;
9337 if (*r->out.info) {
9338 ndr_print_netr_UasInfo(ndr, "info", *r->out.info);
9340 ndr->depth--;
9341 ndr->depth--;
9342 ndr_print_WERROR(ndr, "result", r->out.result);
9343 ndr->depth--;
9345 ndr->depth--;
9348 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
9350 if (flags & NDR_IN) {
9351 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9352 if (r->in.server_name) {
9353 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9354 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9356 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));
9358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9361 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));
9362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9365 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9367 if (flags & NDR_OUT) {
9368 if (r->out.info == NULL) {
9369 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9371 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9372 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9374 return NDR_ERR_SUCCESS;
9377 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
9379 uint32_t _ptr_server_name;
9380 uint32_t size_server_name_1 = 0;
9381 uint32_t length_server_name_1 = 0;
9382 uint32_t size_account_name_0 = 0;
9383 uint32_t length_account_name_0 = 0;
9384 uint32_t size_workstation_0 = 0;
9385 uint32_t length_workstation_0 = 0;
9386 TALLOC_CTX *_mem_save_server_name_0;
9387 TALLOC_CTX *_mem_save_info_0;
9388 if (flags & NDR_IN) {
9389 ZERO_STRUCT(r->out);
9391 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9392 if (_ptr_server_name) {
9393 NDR_PULL_ALLOC(ndr, r->in.server_name);
9394 } else {
9395 r->in.server_name = NULL;
9397 if (r->in.server_name) {
9398 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9399 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9400 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9401 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9402 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
9403 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
9404 if (length_server_name_1 > size_server_name_1) {
9405 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
9407 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
9408 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
9409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9411 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9412 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9413 size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
9414 length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
9415 if (length_account_name_0 > size_account_name_0) {
9416 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
9418 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
9419 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
9420 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9421 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9422 size_workstation_0 = ndr_get_array_size(ndr, &r->in.workstation);
9423 length_workstation_0 = ndr_get_array_length(ndr, &r->in.workstation);
9424 if (length_workstation_0 > size_workstation_0) {
9425 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_workstation_0, length_workstation_0);
9427 NDR_CHECK(ndr_check_string_terminator(ndr, length_workstation_0, sizeof(uint16_t)));
9428 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, length_workstation_0, sizeof(uint16_t), CH_UTF16));
9429 NDR_PULL_ALLOC(ndr, r->out.info);
9430 ZERO_STRUCTP(r->out.info);
9432 if (flags & NDR_OUT) {
9433 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9434 NDR_PULL_ALLOC(ndr, r->out.info);
9436 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9437 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9438 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9439 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9440 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9442 return NDR_ERR_SUCCESS;
9445 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
9447 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
9448 ndr->depth++;
9449 if (flags & NDR_SET_VALUES) {
9450 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9452 if (flags & NDR_IN) {
9453 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
9454 ndr->depth++;
9455 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9456 ndr->depth++;
9457 if (r->in.server_name) {
9458 ndr_print_string(ndr, "server_name", r->in.server_name);
9460 ndr->depth--;
9461 ndr_print_string(ndr, "account_name", r->in.account_name);
9462 ndr_print_string(ndr, "workstation", r->in.workstation);
9463 ndr->depth--;
9465 if (flags & NDR_OUT) {
9466 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
9467 ndr->depth++;
9468 ndr_print_ptr(ndr, "info", r->out.info);
9469 ndr->depth++;
9470 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
9471 ndr->depth--;
9472 ndr_print_WERROR(ndr, "result", r->out.result);
9473 ndr->depth--;
9475 ndr->depth--;
9478 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
9480 if (flags & NDR_IN) {
9481 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9482 if (r->in.server_name) {
9483 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9484 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9485 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9486 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));
9488 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9489 if (r->in.computer_name) {
9490 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9491 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9493 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));
9495 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9496 if (r->in.credential) {
9497 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9499 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9500 if (r->in.return_authenticator) {
9501 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9503 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9504 if (r->in.logon == NULL) {
9505 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9507 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9508 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9509 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
9511 if (flags & NDR_OUT) {
9512 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9513 if (r->out.return_authenticator) {
9514 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9516 if (r->out.validation == NULL) {
9517 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9519 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9520 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9521 if (r->out.authoritative == NULL) {
9522 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9524 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
9525 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9527 return NDR_ERR_SUCCESS;
9530 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
9532 uint32_t _ptr_server_name;
9533 uint32_t size_server_name_1 = 0;
9534 uint32_t length_server_name_1 = 0;
9535 uint32_t _ptr_computer_name;
9536 uint32_t size_computer_name_1 = 0;
9537 uint32_t length_computer_name_1 = 0;
9538 uint32_t _ptr_credential;
9539 uint32_t _ptr_return_authenticator;
9540 TALLOC_CTX *_mem_save_server_name_0;
9541 TALLOC_CTX *_mem_save_computer_name_0;
9542 TALLOC_CTX *_mem_save_credential_0;
9543 TALLOC_CTX *_mem_save_return_authenticator_0;
9544 TALLOC_CTX *_mem_save_logon_0;
9545 TALLOC_CTX *_mem_save_validation_0;
9546 TALLOC_CTX *_mem_save_authoritative_0;
9547 if (flags & NDR_IN) {
9548 ZERO_STRUCT(r->out);
9550 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9551 if (_ptr_server_name) {
9552 NDR_PULL_ALLOC(ndr, r->in.server_name);
9553 } else {
9554 r->in.server_name = NULL;
9556 if (r->in.server_name) {
9557 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9558 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9559 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9560 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9561 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
9562 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
9563 if (length_server_name_1 > size_server_name_1) {
9564 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
9566 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
9567 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
9568 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9570 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9571 if (_ptr_computer_name) {
9572 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9573 } else {
9574 r->in.computer_name = NULL;
9576 if (r->in.computer_name) {
9577 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9578 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9579 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9580 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9581 size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
9582 length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
9583 if (length_computer_name_1 > size_computer_name_1) {
9584 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
9586 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
9587 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
9588 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9590 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9591 if (_ptr_credential) {
9592 NDR_PULL_ALLOC(ndr, r->in.credential);
9593 } else {
9594 r->in.credential = NULL;
9596 if (r->in.credential) {
9597 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9598 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9599 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9600 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9603 if (_ptr_return_authenticator) {
9604 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9605 } else {
9606 r->in.return_authenticator = NULL;
9608 if (r->in.return_authenticator) {
9609 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9610 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9611 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9612 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9614 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9615 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9616 NDR_PULL_ALLOC(ndr, r->in.logon);
9618 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
9619 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
9620 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9621 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
9623 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
9624 NDR_PULL_ALLOC(ndr, r->out.validation);
9625 ZERO_STRUCTP(r->out.validation);
9626 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9627 ZERO_STRUCTP(r->out.authoritative);
9629 if (flags & NDR_OUT) {
9630 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9631 if (_ptr_return_authenticator) {
9632 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9633 } else {
9634 r->out.return_authenticator = NULL;
9636 if (r->out.return_authenticator) {
9637 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9638 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9639 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9642 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9643 NDR_PULL_ALLOC(ndr, r->out.validation);
9645 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
9646 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
9647 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9648 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
9650 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9651 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9653 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
9654 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
9655 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
9656 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
9657 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9659 return NDR_ERR_SUCCESS;
9662 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
9664 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
9665 ndr->depth++;
9666 if (flags & NDR_SET_VALUES) {
9667 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9669 if (flags & NDR_IN) {
9670 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
9671 ndr->depth++;
9672 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9673 ndr->depth++;
9674 if (r->in.server_name) {
9675 ndr_print_string(ndr, "server_name", r->in.server_name);
9677 ndr->depth--;
9678 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9679 ndr->depth++;
9680 if (r->in.computer_name) {
9681 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9683 ndr->depth--;
9684 ndr_print_ptr(ndr, "credential", r->in.credential);
9685 ndr->depth++;
9686 if (r->in.credential) {
9687 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9689 ndr->depth--;
9690 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9691 ndr->depth++;
9692 if (r->in.return_authenticator) {
9693 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9695 ndr->depth--;
9696 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9697 ndr_print_ptr(ndr, "logon", r->in.logon);
9698 ndr->depth++;
9699 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
9700 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
9701 ndr->depth--;
9702 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
9703 ndr->depth--;
9705 if (flags & NDR_OUT) {
9706 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
9707 ndr->depth++;
9708 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9709 ndr->depth++;
9710 if (r->out.return_authenticator) {
9711 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9713 ndr->depth--;
9714 ndr_print_ptr(ndr, "validation", r->out.validation);
9715 ndr->depth++;
9716 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
9717 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
9718 ndr->depth--;
9719 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
9720 ndr->depth++;
9721 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
9722 ndr->depth--;
9723 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9724 ndr->depth--;
9726 ndr->depth--;
9729 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
9731 if (flags & NDR_IN) {
9732 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9733 if (r->in.server_name) {
9734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9737 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));
9739 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9740 if (r->in.computer_name) {
9741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9744 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));
9746 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9747 if (r->in.credential) {
9748 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9750 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9751 if (r->in.return_authenticator) {
9752 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9754 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9755 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9756 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9758 if (flags & NDR_OUT) {
9759 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9760 if (r->out.return_authenticator) {
9761 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9763 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9765 return NDR_ERR_SUCCESS;
9768 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
9770 uint32_t _ptr_server_name;
9771 uint32_t size_server_name_1 = 0;
9772 uint32_t length_server_name_1 = 0;
9773 uint32_t _ptr_computer_name;
9774 uint32_t size_computer_name_1 = 0;
9775 uint32_t length_computer_name_1 = 0;
9776 uint32_t _ptr_credential;
9777 uint32_t _ptr_return_authenticator;
9778 TALLOC_CTX *_mem_save_server_name_0;
9779 TALLOC_CTX *_mem_save_computer_name_0;
9780 TALLOC_CTX *_mem_save_credential_0;
9781 TALLOC_CTX *_mem_save_return_authenticator_0;
9782 if (flags & NDR_IN) {
9783 ZERO_STRUCT(r->out);
9785 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9786 if (_ptr_server_name) {
9787 NDR_PULL_ALLOC(ndr, r->in.server_name);
9788 } else {
9789 r->in.server_name = NULL;
9791 if (r->in.server_name) {
9792 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9793 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9794 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9795 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9796 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
9797 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
9798 if (length_server_name_1 > size_server_name_1) {
9799 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
9801 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
9802 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
9803 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9805 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9806 if (_ptr_computer_name) {
9807 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9808 } else {
9809 r->in.computer_name = NULL;
9811 if (r->in.computer_name) {
9812 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9813 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9814 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9815 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9816 size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
9817 length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
9818 if (length_computer_name_1 > size_computer_name_1) {
9819 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
9821 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
9822 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
9823 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9825 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9826 if (_ptr_credential) {
9827 NDR_PULL_ALLOC(ndr, r->in.credential);
9828 } else {
9829 r->in.credential = NULL;
9831 if (r->in.credential) {
9832 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9833 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9834 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9837 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9838 if (_ptr_return_authenticator) {
9839 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9840 } else {
9841 r->in.return_authenticator = NULL;
9843 if (r->in.return_authenticator) {
9844 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9845 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9846 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9849 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9850 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9851 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9853 if (flags & NDR_OUT) {
9854 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9855 if (_ptr_return_authenticator) {
9856 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9857 } else {
9858 r->out.return_authenticator = NULL;
9860 if (r->out.return_authenticator) {
9861 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9862 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9863 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9864 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9866 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9868 return NDR_ERR_SUCCESS;
9871 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
9873 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
9874 ndr->depth++;
9875 if (flags & NDR_SET_VALUES) {
9876 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9878 if (flags & NDR_IN) {
9879 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
9880 ndr->depth++;
9881 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9882 ndr->depth++;
9883 if (r->in.server_name) {
9884 ndr_print_string(ndr, "server_name", r->in.server_name);
9886 ndr->depth--;
9887 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9888 ndr->depth++;
9889 if (r->in.computer_name) {
9890 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9892 ndr->depth--;
9893 ndr_print_ptr(ndr, "credential", r->in.credential);
9894 ndr->depth++;
9895 if (r->in.credential) {
9896 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9898 ndr->depth--;
9899 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9900 ndr->depth++;
9901 if (r->in.return_authenticator) {
9902 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9904 ndr->depth--;
9905 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9906 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
9907 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
9908 ndr->depth--;
9910 if (flags & NDR_OUT) {
9911 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
9912 ndr->depth++;
9913 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9914 ndr->depth++;
9915 if (r->out.return_authenticator) {
9916 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9918 ndr->depth--;
9919 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9920 ndr->depth--;
9922 ndr->depth--;
9925 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
9927 if (flags & NDR_IN) {
9928 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9929 if (r->in.server_name) {
9930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9931 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9932 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9933 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));
9935 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9937 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9938 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));
9939 if (r->in.credentials == NULL) {
9940 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9942 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9944 if (flags & NDR_OUT) {
9945 if (r->out.return_credentials == NULL) {
9946 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9948 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
9949 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9951 return NDR_ERR_SUCCESS;
9954 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
9956 uint32_t _ptr_server_name;
9957 uint32_t size_server_name_1 = 0;
9958 uint32_t length_server_name_1 = 0;
9959 uint32_t size_computer_name_0 = 0;
9960 uint32_t length_computer_name_0 = 0;
9961 TALLOC_CTX *_mem_save_server_name_0;
9962 TALLOC_CTX *_mem_save_credentials_0;
9963 TALLOC_CTX *_mem_save_return_credentials_0;
9964 if (flags & NDR_IN) {
9965 ZERO_STRUCT(r->out);
9967 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9968 if (_ptr_server_name) {
9969 NDR_PULL_ALLOC(ndr, r->in.server_name);
9970 } else {
9971 r->in.server_name = NULL;
9973 if (r->in.server_name) {
9974 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9975 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9976 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9977 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9978 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
9979 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
9980 if (length_server_name_1 > size_server_name_1) {
9981 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
9983 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
9984 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
9985 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9987 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9988 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9989 size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
9990 length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
9991 if (length_computer_name_0 > size_computer_name_0) {
9992 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
9994 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
9995 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
9996 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9997 NDR_PULL_ALLOC(ndr, r->in.credentials);
9999 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10000 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10001 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10002 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10003 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10004 ZERO_STRUCTP(r->out.return_credentials);
10006 if (flags & NDR_OUT) {
10007 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10008 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10010 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10011 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10012 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10014 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10016 return NDR_ERR_SUCCESS;
10019 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
10021 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
10022 ndr->depth++;
10023 if (flags & NDR_SET_VALUES) {
10024 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10026 if (flags & NDR_IN) {
10027 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
10028 ndr->depth++;
10029 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10030 ndr->depth++;
10031 if (r->in.server_name) {
10032 ndr_print_string(ndr, "server_name", r->in.server_name);
10034 ndr->depth--;
10035 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10036 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10037 ndr->depth++;
10038 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10039 ndr->depth--;
10040 ndr->depth--;
10042 if (flags & NDR_OUT) {
10043 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
10044 ndr->depth++;
10045 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10046 ndr->depth++;
10047 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10048 ndr->depth--;
10049 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10050 ndr->depth--;
10052 ndr->depth--;
10055 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
10057 if (flags & NDR_IN) {
10058 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10059 if (r->in.server_name) {
10060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10061 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10063 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));
10065 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10066 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10068 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));
10069 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10070 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10073 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10074 if (r->in.credentials == NULL) {
10075 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10077 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10079 if (flags & NDR_OUT) {
10080 if (r->out.return_credentials == NULL) {
10081 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10083 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10084 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10086 return NDR_ERR_SUCCESS;
10089 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
10091 uint32_t _ptr_server_name;
10092 uint32_t size_server_name_1 = 0;
10093 uint32_t length_server_name_1 = 0;
10094 uint32_t size_account_name_0 = 0;
10095 uint32_t length_account_name_0 = 0;
10096 uint32_t size_computer_name_0 = 0;
10097 uint32_t length_computer_name_0 = 0;
10098 TALLOC_CTX *_mem_save_server_name_0;
10099 TALLOC_CTX *_mem_save_credentials_0;
10100 TALLOC_CTX *_mem_save_return_credentials_0;
10101 if (flags & NDR_IN) {
10102 ZERO_STRUCT(r->out);
10104 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10105 if (_ptr_server_name) {
10106 NDR_PULL_ALLOC(ndr, r->in.server_name);
10107 } else {
10108 r->in.server_name = NULL;
10110 if (r->in.server_name) {
10111 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10112 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10113 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10114 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10115 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
10116 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
10117 if (length_server_name_1 > size_server_name_1) {
10118 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
10120 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
10121 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
10122 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10124 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10125 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10126 size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
10127 length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
10128 if (length_account_name_0 > size_account_name_0) {
10129 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
10131 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
10132 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
10133 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10134 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10135 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10136 size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
10137 length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
10138 if (length_computer_name_0 > size_computer_name_0) {
10139 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
10141 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
10142 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
10143 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10144 NDR_PULL_ALLOC(ndr, r->in.credentials);
10146 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10147 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10148 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10149 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10150 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10151 ZERO_STRUCTP(r->out.return_credentials);
10153 if (flags & NDR_OUT) {
10154 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10155 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10157 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10158 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10159 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10160 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10161 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10163 return NDR_ERR_SUCCESS;
10166 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
10168 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
10169 ndr->depth++;
10170 if (flags & NDR_SET_VALUES) {
10171 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10173 if (flags & NDR_IN) {
10174 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
10175 ndr->depth++;
10176 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10177 ndr->depth++;
10178 if (r->in.server_name) {
10179 ndr_print_string(ndr, "server_name", r->in.server_name);
10181 ndr->depth--;
10182 ndr_print_string(ndr, "account_name", r->in.account_name);
10183 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10184 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10185 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10186 ndr->depth++;
10187 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10188 ndr->depth--;
10189 ndr->depth--;
10191 if (flags & NDR_OUT) {
10192 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
10193 ndr->depth++;
10194 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10195 ndr->depth++;
10196 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10197 ndr->depth--;
10198 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10199 ndr->depth--;
10201 ndr->depth--;
10204 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
10206 if (flags & NDR_IN) {
10207 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10208 if (r->in.server_name) {
10209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10210 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10212 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));
10214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10215 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10217 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));
10218 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10221 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10222 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10223 if (r->in.credential == NULL) {
10224 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10226 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10227 if (r->in.new_password == NULL) {
10228 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10230 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10232 if (flags & NDR_OUT) {
10233 if (r->out.return_authenticator == NULL) {
10234 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10236 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10237 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10239 return NDR_ERR_SUCCESS;
10242 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
10244 uint32_t _ptr_server_name;
10245 uint32_t size_server_name_1 = 0;
10246 uint32_t length_server_name_1 = 0;
10247 uint32_t size_account_name_0 = 0;
10248 uint32_t length_account_name_0 = 0;
10249 uint32_t size_computer_name_0 = 0;
10250 uint32_t length_computer_name_0 = 0;
10251 TALLOC_CTX *_mem_save_server_name_0;
10252 TALLOC_CTX *_mem_save_credential_0;
10253 TALLOC_CTX *_mem_save_return_authenticator_0;
10254 TALLOC_CTX *_mem_save_new_password_0;
10255 if (flags & NDR_IN) {
10256 ZERO_STRUCT(r->out);
10258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10259 if (_ptr_server_name) {
10260 NDR_PULL_ALLOC(ndr, r->in.server_name);
10261 } else {
10262 r->in.server_name = NULL;
10264 if (r->in.server_name) {
10265 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10266 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10267 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10268 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10269 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
10270 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
10271 if (length_server_name_1 > size_server_name_1) {
10272 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
10274 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
10275 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
10276 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10278 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10279 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10280 size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
10281 length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
10282 if (length_account_name_0 > size_account_name_0) {
10283 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
10285 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
10286 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
10287 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10288 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10289 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10290 size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
10291 length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
10292 if (length_computer_name_0 > size_computer_name_0) {
10293 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
10295 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
10296 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
10297 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10298 NDR_PULL_ALLOC(ndr, r->in.credential);
10300 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10301 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10302 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10304 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10305 NDR_PULL_ALLOC(ndr, r->in.new_password);
10307 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10308 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
10309 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
10311 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10312 ZERO_STRUCTP(r->out.return_authenticator);
10314 if (flags & NDR_OUT) {
10315 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10316 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10318 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10319 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10320 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10322 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10324 return NDR_ERR_SUCCESS;
10327 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
10329 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
10330 ndr->depth++;
10331 if (flags & NDR_SET_VALUES) {
10332 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10334 if (flags & NDR_IN) {
10335 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
10336 ndr->depth++;
10337 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10338 ndr->depth++;
10339 if (r->in.server_name) {
10340 ndr_print_string(ndr, "server_name", r->in.server_name);
10342 ndr->depth--;
10343 ndr_print_string(ndr, "account_name", r->in.account_name);
10344 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10345 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10346 ndr_print_ptr(ndr, "credential", r->in.credential);
10347 ndr->depth++;
10348 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10349 ndr->depth--;
10350 ndr_print_ptr(ndr, "new_password", r->in.new_password);
10351 ndr->depth++;
10352 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
10353 ndr->depth--;
10354 ndr->depth--;
10356 if (flags & NDR_OUT) {
10357 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
10358 ndr->depth++;
10359 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10360 ndr->depth++;
10361 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10362 ndr->depth--;
10363 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10364 ndr->depth--;
10366 ndr->depth--;
10369 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
10371 if (flags & NDR_IN) {
10372 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10375 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));
10376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10379 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10380 if (r->in.credential == NULL) {
10381 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10383 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10384 if (r->in.return_authenticator == NULL) {
10385 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10387 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10388 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10389 if (r->in.sequence_num == NULL) {
10390 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10392 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
10393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10395 if (flags & NDR_OUT) {
10396 if (r->out.return_authenticator == NULL) {
10397 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10399 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10400 if (r->out.sequence_num == NULL) {
10401 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10403 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
10404 if (r->out.delta_enum_array == NULL) {
10405 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10407 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10408 if (*r->out.delta_enum_array) {
10409 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10411 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10413 return NDR_ERR_SUCCESS;
10416 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
10418 uint32_t size_logon_server_0 = 0;
10419 uint32_t length_logon_server_0 = 0;
10420 uint32_t size_computername_0 = 0;
10421 uint32_t length_computername_0 = 0;
10422 uint32_t _ptr_delta_enum_array;
10423 TALLOC_CTX *_mem_save_credential_0;
10424 TALLOC_CTX *_mem_save_return_authenticator_0;
10425 TALLOC_CTX *_mem_save_sequence_num_0;
10426 TALLOC_CTX *_mem_save_delta_enum_array_0;
10427 TALLOC_CTX *_mem_save_delta_enum_array_1;
10428 if (flags & NDR_IN) {
10429 ZERO_STRUCT(r->out);
10431 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10432 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10433 size_logon_server_0 = ndr_get_array_size(ndr, &r->in.logon_server);
10434 length_logon_server_0 = ndr_get_array_length(ndr, &r->in.logon_server);
10435 if (length_logon_server_0 > size_logon_server_0) {
10436 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_0, length_logon_server_0);
10438 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_0, sizeof(uint16_t)));
10439 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_0, sizeof(uint16_t), CH_UTF16));
10440 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10441 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10442 size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
10443 length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
10444 if (length_computername_0 > size_computername_0) {
10445 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
10447 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
10448 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
10449 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10450 NDR_PULL_ALLOC(ndr, r->in.credential);
10452 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10453 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10454 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10456 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10457 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10459 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10460 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10461 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10463 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10464 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10465 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
10467 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10468 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10469 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
10470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10471 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10472 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10473 *r->out.return_authenticator = *r->in.return_authenticator;
10474 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10475 *r->out.sequence_num = *r->in.sequence_num;
10476 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10477 ZERO_STRUCTP(r->out.delta_enum_array);
10479 if (flags & NDR_OUT) {
10480 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10481 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10483 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10484 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10485 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10487 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10488 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10490 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10491 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10492 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
10493 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10494 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10495 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10497 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10498 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10500 if (_ptr_delta_enum_array) {
10501 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10502 } else {
10503 *r->out.delta_enum_array = NULL;
10505 if (*r->out.delta_enum_array) {
10506 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10507 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10508 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10509 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10511 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10512 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10514 return NDR_ERR_SUCCESS;
10517 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
10519 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
10520 ndr->depth++;
10521 if (flags & NDR_SET_VALUES) {
10522 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10524 if (flags & NDR_IN) {
10525 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
10526 ndr->depth++;
10527 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10528 ndr_print_string(ndr, "computername", r->in.computername);
10529 ndr_print_ptr(ndr, "credential", r->in.credential);
10530 ndr->depth++;
10531 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10532 ndr->depth--;
10533 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10534 ndr->depth++;
10535 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10536 ndr->depth--;
10537 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10538 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
10539 ndr->depth++;
10540 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
10541 ndr->depth--;
10542 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10543 ndr->depth--;
10545 if (flags & NDR_OUT) {
10546 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
10547 ndr->depth++;
10548 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10549 ndr->depth++;
10550 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10551 ndr->depth--;
10552 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
10553 ndr->depth++;
10554 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
10555 ndr->depth--;
10556 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10557 ndr->depth++;
10558 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10559 ndr->depth++;
10560 if (*r->out.delta_enum_array) {
10561 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10563 ndr->depth--;
10564 ndr->depth--;
10565 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10566 ndr->depth--;
10568 ndr->depth--;
10571 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
10573 if (flags & NDR_IN) {
10574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10577 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));
10578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10581 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10582 if (r->in.credential == NULL) {
10583 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10585 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10586 if (r->in.return_authenticator == NULL) {
10587 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10589 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10590 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10591 if (r->in.sync_context == NULL) {
10592 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10597 if (flags & NDR_OUT) {
10598 if (r->out.return_authenticator == NULL) {
10599 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10601 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10602 if (r->out.sync_context == NULL) {
10603 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10606 if (r->out.delta_enum_array == NULL) {
10607 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10609 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10610 if (*r->out.delta_enum_array) {
10611 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10613 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10615 return NDR_ERR_SUCCESS;
10618 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
10620 uint32_t size_logon_server_0 = 0;
10621 uint32_t length_logon_server_0 = 0;
10622 uint32_t size_computername_0 = 0;
10623 uint32_t length_computername_0 = 0;
10624 uint32_t _ptr_delta_enum_array;
10625 TALLOC_CTX *_mem_save_credential_0;
10626 TALLOC_CTX *_mem_save_return_authenticator_0;
10627 TALLOC_CTX *_mem_save_sync_context_0;
10628 TALLOC_CTX *_mem_save_delta_enum_array_0;
10629 TALLOC_CTX *_mem_save_delta_enum_array_1;
10630 if (flags & NDR_IN) {
10631 ZERO_STRUCT(r->out);
10633 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10634 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10635 size_logon_server_0 = ndr_get_array_size(ndr, &r->in.logon_server);
10636 length_logon_server_0 = ndr_get_array_length(ndr, &r->in.logon_server);
10637 if (length_logon_server_0 > size_logon_server_0) {
10638 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_0, length_logon_server_0);
10640 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_0, sizeof(uint16_t)));
10641 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_0, sizeof(uint16_t), CH_UTF16));
10642 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10643 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10644 size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
10645 length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
10646 if (length_computername_0 > size_computername_0) {
10647 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
10649 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
10650 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
10651 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10652 NDR_PULL_ALLOC(ndr, r->in.credential);
10654 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10655 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10656 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10658 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10659 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10661 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10662 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10663 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10664 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10665 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10666 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10667 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10669 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10670 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10671 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10672 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10673 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10674 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10675 *r->out.return_authenticator = *r->in.return_authenticator;
10676 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10677 *r->out.sync_context = *r->in.sync_context;
10678 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10679 ZERO_STRUCTP(r->out.delta_enum_array);
10681 if (flags & NDR_OUT) {
10682 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10683 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10685 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10686 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10687 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10689 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10690 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10692 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10693 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10696 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10697 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10699 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10700 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10701 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10702 if (_ptr_delta_enum_array) {
10703 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10704 } else {
10705 *r->out.delta_enum_array = NULL;
10707 if (*r->out.delta_enum_array) {
10708 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10709 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10710 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10711 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10714 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10716 return NDR_ERR_SUCCESS;
10719 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
10721 ndr_print_struct(ndr, name, "netr_DatabaseSync");
10722 ndr->depth++;
10723 if (flags & NDR_SET_VALUES) {
10724 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10726 if (flags & NDR_IN) {
10727 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
10728 ndr->depth++;
10729 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10730 ndr_print_string(ndr, "computername", r->in.computername);
10731 ndr_print_ptr(ndr, "credential", r->in.credential);
10732 ndr->depth++;
10733 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10734 ndr->depth--;
10735 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10736 ndr->depth++;
10737 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10738 ndr->depth--;
10739 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10740 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10741 ndr->depth++;
10742 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10743 ndr->depth--;
10744 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10745 ndr->depth--;
10747 if (flags & NDR_OUT) {
10748 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
10749 ndr->depth++;
10750 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10751 ndr->depth++;
10752 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10753 ndr->depth--;
10754 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10755 ndr->depth++;
10756 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10757 ndr->depth--;
10758 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10759 ndr->depth++;
10760 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10761 ndr->depth++;
10762 if (*r->out.delta_enum_array) {
10763 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10765 ndr->depth--;
10766 ndr->depth--;
10767 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10768 ndr->depth--;
10770 ndr->depth--;
10773 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
10775 if (flags & NDR_IN) {
10776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10777 if (r->in.logon_server) {
10778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10781 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));
10783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10786 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10787 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10788 if (r->in.return_authenticator == NULL) {
10789 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10791 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10792 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
10794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
10797 if (flags & NDR_OUT) {
10798 if (r->out.return_authenticator == NULL) {
10799 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10801 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10802 if (r->out.buffer == NULL) {
10803 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10806 struct ndr_push *_ndr_buffer;
10807 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10808 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10809 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
10811 if (r->out.count_returned == NULL) {
10812 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
10815 if (r->out.total_entries == NULL) {
10816 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10818 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
10819 if (r->out.recordid == NULL) {
10820 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10822 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10823 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10825 return NDR_ERR_SUCCESS;
10828 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
10830 uint32_t _ptr_logon_server;
10831 uint32_t size_logon_server_1 = 0;
10832 uint32_t length_logon_server_1 = 0;
10833 uint32_t size_computername_0 = 0;
10834 uint32_t length_computername_0 = 0;
10835 TALLOC_CTX *_mem_save_logon_server_0;
10836 TALLOC_CTX *_mem_save_return_authenticator_0;
10837 TALLOC_CTX *_mem_save_buffer_0;
10838 TALLOC_CTX *_mem_save_count_returned_0;
10839 TALLOC_CTX *_mem_save_total_entries_0;
10840 TALLOC_CTX *_mem_save_recordid_0;
10841 if (flags & NDR_IN) {
10842 ZERO_STRUCT(r->out);
10844 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10845 if (_ptr_logon_server) {
10846 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10847 } else {
10848 r->in.logon_server = NULL;
10850 if (r->in.logon_server) {
10851 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10852 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10853 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10854 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10855 size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
10856 length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
10857 if (length_logon_server_1 > size_logon_server_1) {
10858 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
10860 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
10861 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
10862 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10864 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10865 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10866 size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
10867 length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
10868 if (length_computername_0 > size_computername_0) {
10869 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
10871 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
10872 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
10873 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10874 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10875 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10877 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10878 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10879 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10880 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10881 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10882 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
10883 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10884 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
10885 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10886 *r->out.return_authenticator = *r->in.return_authenticator;
10887 NDR_PULL_ALLOC(ndr, r->out.buffer);
10888 ZERO_STRUCTP(r->out.buffer);
10889 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10890 ZERO_STRUCTP(r->out.count_returned);
10891 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10892 ZERO_STRUCTP(r->out.total_entries);
10893 NDR_PULL_ALLOC(ndr, r->out.recordid);
10894 ZERO_STRUCTP(r->out.recordid);
10896 if (flags & NDR_OUT) {
10897 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10898 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10900 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10901 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10902 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10904 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10905 NDR_PULL_ALLOC(ndr, r->out.buffer);
10907 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
10908 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
10910 struct ndr_pull *_ndr_buffer;
10911 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10912 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10913 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
10915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
10916 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10917 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10919 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
10920 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
10921 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
10922 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
10923 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10924 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10926 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
10927 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
10928 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
10929 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
10930 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10931 NDR_PULL_ALLOC(ndr, r->out.recordid);
10933 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10934 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
10935 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10936 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
10937 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10939 return NDR_ERR_SUCCESS;
10942 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
10944 ndr_print_struct(ndr, name, "netr_AccountDeltas");
10945 ndr->depth++;
10946 if (flags & NDR_SET_VALUES) {
10947 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10949 if (flags & NDR_IN) {
10950 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
10951 ndr->depth++;
10952 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10953 ndr->depth++;
10954 if (r->in.logon_server) {
10955 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10957 ndr->depth--;
10958 ndr_print_string(ndr, "computername", r->in.computername);
10959 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10960 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10961 ndr->depth++;
10962 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10963 ndr->depth--;
10964 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
10965 ndr_print_uint32(ndr, "count", r->in.count);
10966 ndr_print_uint32(ndr, "level", r->in.level);
10967 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
10968 ndr->depth--;
10970 if (flags & NDR_OUT) {
10971 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
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, "buffer", r->out.buffer);
10978 ndr->depth++;
10979 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
10980 ndr->depth--;
10981 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
10982 ndr->depth++;
10983 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
10984 ndr->depth--;
10985 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
10986 ndr->depth++;
10987 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
10988 ndr->depth--;
10989 ndr_print_ptr(ndr, "recordid", r->out.recordid);
10990 ndr->depth++;
10991 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
10992 ndr->depth--;
10993 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10994 ndr->depth--;
10996 ndr->depth--;
10999 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
11001 if (flags & NDR_IN) {
11002 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11003 if (r->in.logon_server) {
11004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11006 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11007 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.logon_server, ndr_charset_length(r->in.logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11009 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11010 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11011 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11012 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11013 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11014 if (r->in.return_authenticator == NULL) {
11015 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11017 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
11019 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
11021 if (r->in.recordid == NULL) {
11022 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11024 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11026 if (flags & NDR_OUT) {
11027 if (r->out.return_authenticator == NULL) {
11028 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11030 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11031 if (r->out.buffer == NULL) {
11032 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11035 struct ndr_push *_ndr_buffer;
11036 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11037 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11038 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
11040 if (r->out.count_returned == NULL) {
11041 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
11044 if (r->out.total_entries == NULL) {
11045 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
11048 if (r->out.next_reference == NULL) {
11049 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
11052 if (r->out.recordid == NULL) {
11053 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11055 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11056 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11058 return NDR_ERR_SUCCESS;
11061 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
11063 uint32_t _ptr_logon_server;
11064 uint32_t size_logon_server_1 = 0;
11065 uint32_t length_logon_server_1 = 0;
11066 uint32_t size_computername_0 = 0;
11067 uint32_t length_computername_0 = 0;
11068 TALLOC_CTX *_mem_save_logon_server_0;
11069 TALLOC_CTX *_mem_save_return_authenticator_0;
11070 TALLOC_CTX *_mem_save_buffer_0;
11071 TALLOC_CTX *_mem_save_count_returned_0;
11072 TALLOC_CTX *_mem_save_total_entries_0;
11073 TALLOC_CTX *_mem_save_next_reference_0;
11074 TALLOC_CTX *_mem_save_recordid_0;
11075 if (flags & NDR_IN) {
11076 ZERO_STRUCT(r->out);
11078 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11079 if (_ptr_logon_server) {
11080 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11081 } else {
11082 r->in.logon_server = NULL;
11084 if (r->in.logon_server) {
11085 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11086 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11087 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11088 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11089 size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
11090 length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
11091 if (length_logon_server_1 > size_logon_server_1) {
11092 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
11094 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
11095 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
11096 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11098 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11099 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11100 size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
11101 length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
11102 if (length_computername_0 > size_computername_0) {
11103 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
11105 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
11106 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
11107 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11108 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11109 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11111 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11112 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11113 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11114 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11115 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
11116 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11117 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
11118 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11119 NDR_PULL_ALLOC(ndr, r->in.recordid);
11121 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11122 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
11123 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11124 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11125 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11126 *r->out.return_authenticator = *r->in.return_authenticator;
11127 NDR_PULL_ALLOC(ndr, r->out.buffer);
11128 ZERO_STRUCTP(r->out.buffer);
11129 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11130 ZERO_STRUCTP(r->out.count_returned);
11131 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11132 ZERO_STRUCTP(r->out.total_entries);
11133 NDR_PULL_ALLOC(ndr, r->out.next_reference);
11134 ZERO_STRUCTP(r->out.next_reference);
11135 NDR_PULL_ALLOC(ndr, r->out.recordid);
11136 *r->out.recordid = *r->in.recordid;
11138 if (flags & NDR_OUT) {
11139 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11140 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11142 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11143 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11144 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11145 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11146 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11147 NDR_PULL_ALLOC(ndr, r->out.buffer);
11149 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
11150 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
11152 struct ndr_pull *_ndr_buffer;
11153 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11154 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11155 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
11157 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
11158 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11159 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11161 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
11162 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
11163 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
11164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
11165 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11166 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11168 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
11169 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
11170 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
11171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
11172 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11173 NDR_PULL_ALLOC(ndr, r->out.next_reference);
11175 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
11176 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
11177 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
11178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
11179 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11180 NDR_PULL_ALLOC(ndr, r->out.recordid);
11182 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11183 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
11184 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11186 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11188 return NDR_ERR_SUCCESS;
11191 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
11193 ndr_print_struct(ndr, name, "netr_AccountSync");
11194 ndr->depth++;
11195 if (flags & NDR_SET_VALUES) {
11196 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11198 if (flags & NDR_IN) {
11199 ndr_print_struct(ndr, "in", "netr_AccountSync");
11200 ndr->depth++;
11201 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11202 ndr->depth++;
11203 if (r->in.logon_server) {
11204 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11206 ndr->depth--;
11207 ndr_print_string(ndr, "computername", r->in.computername);
11208 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
11209 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11210 ndr->depth++;
11211 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11212 ndr->depth--;
11213 ndr_print_uint32(ndr, "reference", r->in.reference);
11214 ndr_print_uint32(ndr, "level", r->in.level);
11215 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
11216 ndr_print_ptr(ndr, "recordid", r->in.recordid);
11217 ndr->depth++;
11218 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
11219 ndr->depth--;
11220 ndr->depth--;
11222 if (flags & NDR_OUT) {
11223 ndr_print_struct(ndr, "out", "netr_AccountSync");
11224 ndr->depth++;
11225 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11226 ndr->depth++;
11227 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11228 ndr->depth--;
11229 ndr_print_ptr(ndr, "buffer", r->out.buffer);
11230 ndr->depth++;
11231 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
11232 ndr->depth--;
11233 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
11234 ndr->depth++;
11235 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
11236 ndr->depth--;
11237 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
11238 ndr->depth++;
11239 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
11240 ndr->depth--;
11241 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
11242 ndr->depth++;
11243 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
11244 ndr->depth--;
11245 ndr_print_ptr(ndr, "recordid", r->out.recordid);
11246 ndr->depth++;
11247 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
11248 ndr->depth--;
11249 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11250 ndr->depth--;
11252 ndr->depth--;
11255 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
11257 if (flags & NDR_IN) {
11258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11261 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));
11262 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11263 if (r->in.domainname) {
11264 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11266 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11267 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11270 if (flags & NDR_OUT) {
11271 if (r->out.dcname == NULL) {
11272 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11274 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11275 if (*r->out.dcname) {
11276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11277 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11279 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11281 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11283 return NDR_ERR_SUCCESS;
11286 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
11288 uint32_t size_logon_server_0 = 0;
11289 uint32_t length_logon_server_0 = 0;
11290 uint32_t _ptr_domainname;
11291 uint32_t size_domainname_1 = 0;
11292 uint32_t length_domainname_1 = 0;
11293 uint32_t _ptr_dcname;
11294 uint32_t size_dcname_2 = 0;
11295 uint32_t length_dcname_2 = 0;
11296 TALLOC_CTX *_mem_save_domainname_0;
11297 TALLOC_CTX *_mem_save_dcname_0;
11298 TALLOC_CTX *_mem_save_dcname_1;
11299 if (flags & NDR_IN) {
11300 ZERO_STRUCT(r->out);
11302 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11303 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11304 size_logon_server_0 = ndr_get_array_size(ndr, &r->in.logon_server);
11305 length_logon_server_0 = ndr_get_array_length(ndr, &r->in.logon_server);
11306 if (length_logon_server_0 > size_logon_server_0) {
11307 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_0, length_logon_server_0);
11309 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_0, sizeof(uint16_t)));
11310 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_0, sizeof(uint16_t), CH_UTF16));
11311 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11312 if (_ptr_domainname) {
11313 NDR_PULL_ALLOC(ndr, r->in.domainname);
11314 } else {
11315 r->in.domainname = NULL;
11317 if (r->in.domainname) {
11318 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11319 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11320 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11321 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11322 size_domainname_1 = ndr_get_array_size(ndr, &r->in.domainname);
11323 length_domainname_1 = ndr_get_array_length(ndr, &r->in.domainname);
11324 if (length_domainname_1 > size_domainname_1) {
11325 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domainname_1, length_domainname_1);
11327 NDR_CHECK(ndr_check_string_terminator(ndr, length_domainname_1, sizeof(uint16_t)));
11328 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, length_domainname_1, sizeof(uint16_t), CH_UTF16));
11329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11331 NDR_PULL_ALLOC(ndr, r->out.dcname);
11332 ZERO_STRUCTP(r->out.dcname);
11334 if (flags & NDR_OUT) {
11335 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11336 NDR_PULL_ALLOC(ndr, r->out.dcname);
11338 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11339 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11340 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11341 if (_ptr_dcname) {
11342 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11343 } else {
11344 *r->out.dcname = NULL;
11346 if (*r->out.dcname) {
11347 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11348 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11349 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11350 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11351 size_dcname_2 = ndr_get_array_size(ndr, r->out.dcname);
11352 length_dcname_2 = ndr_get_array_length(ndr, r->out.dcname);
11353 if (length_dcname_2 > size_dcname_2) {
11354 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dcname_2, length_dcname_2);
11356 NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint16_t)));
11357 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint16_t), CH_UTF16));
11358 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11361 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11363 return NDR_ERR_SUCCESS;
11366 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
11368 ndr_print_struct(ndr, name, "netr_GetDcName");
11369 ndr->depth++;
11370 if (flags & NDR_SET_VALUES) {
11371 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11373 if (flags & NDR_IN) {
11374 ndr_print_struct(ndr, "in", "netr_GetDcName");
11375 ndr->depth++;
11376 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11377 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11378 ndr->depth++;
11379 if (r->in.domainname) {
11380 ndr_print_string(ndr, "domainname", r->in.domainname);
11382 ndr->depth--;
11383 ndr->depth--;
11385 if (flags & NDR_OUT) {
11386 ndr_print_struct(ndr, "out", "netr_GetDcName");
11387 ndr->depth++;
11388 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11389 ndr->depth++;
11390 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11391 ndr->depth++;
11392 if (*r->out.dcname) {
11393 ndr_print_string(ndr, "dcname", *r->out.dcname);
11395 ndr->depth--;
11396 ndr->depth--;
11397 ndr_print_WERROR(ndr, "result", r->out.result);
11398 ndr->depth--;
11400 ndr->depth--;
11403 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
11405 if (flags & NDR_IN) {
11406 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11407 if (r->in.logon_server) {
11408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11411 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));
11413 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11416 if (flags & NDR_OUT) {
11417 if (r->out.info == NULL) {
11418 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11420 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
11421 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
11422 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11424 return NDR_ERR_SUCCESS;
11427 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
11429 uint32_t _ptr_logon_server;
11430 uint32_t size_logon_server_1 = 0;
11431 uint32_t length_logon_server_1 = 0;
11432 TALLOC_CTX *_mem_save_logon_server_0;
11433 TALLOC_CTX *_mem_save_info_0;
11434 if (flags & NDR_IN) {
11435 ZERO_STRUCT(r->out);
11437 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11438 if (_ptr_logon_server) {
11439 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11440 } else {
11441 r->in.logon_server = NULL;
11443 if (r->in.logon_server) {
11444 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11445 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11446 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11447 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11448 size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
11449 length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
11450 if (length_logon_server_1 > size_logon_server_1) {
11451 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
11453 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
11454 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
11455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11457 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11458 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11459 NDR_PULL_ALLOC(ndr, r->out.info);
11460 ZERO_STRUCTP(r->out.info);
11462 if (flags & NDR_OUT) {
11463 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11464 NDR_PULL_ALLOC(ndr, r->out.info);
11466 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11467 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11468 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
11469 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
11470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11471 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11473 return NDR_ERR_SUCCESS;
11476 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
11478 ndr_print_struct(ndr, name, "netr_LogonControl");
11479 ndr->depth++;
11480 if (flags & NDR_SET_VALUES) {
11481 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11483 if (flags & NDR_IN) {
11484 ndr_print_struct(ndr, "in", "netr_LogonControl");
11485 ndr->depth++;
11486 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11487 ndr->depth++;
11488 if (r->in.logon_server) {
11489 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11491 ndr->depth--;
11492 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11493 ndr_print_uint32(ndr, "level", r->in.level);
11494 ndr->depth--;
11496 if (flags & NDR_OUT) {
11497 ndr_print_struct(ndr, "out", "netr_LogonControl");
11498 ndr->depth++;
11499 ndr_print_ptr(ndr, "info", r->out.info);
11500 ndr->depth++;
11501 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
11502 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "info", r->out.info);
11503 ndr->depth--;
11504 ndr_print_WERROR(ndr, "result", r->out.result);
11505 ndr->depth--;
11507 ndr->depth--;
11510 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
11512 if (flags & NDR_IN) {
11513 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11514 if (r->in.logon_server) {
11515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11518 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));
11520 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11521 if (r->in.domainname) {
11522 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11525 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11528 if (flags & NDR_OUT) {
11529 if (r->out.dcname == NULL) {
11530 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11532 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11533 if (*r->out.dcname) {
11534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11537 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11539 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11541 return NDR_ERR_SUCCESS;
11544 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
11546 uint32_t _ptr_logon_server;
11547 uint32_t size_logon_server_1 = 0;
11548 uint32_t length_logon_server_1 = 0;
11549 uint32_t _ptr_domainname;
11550 uint32_t size_domainname_1 = 0;
11551 uint32_t length_domainname_1 = 0;
11552 uint32_t _ptr_dcname;
11553 uint32_t size_dcname_2 = 0;
11554 uint32_t length_dcname_2 = 0;
11555 TALLOC_CTX *_mem_save_logon_server_0;
11556 TALLOC_CTX *_mem_save_domainname_0;
11557 TALLOC_CTX *_mem_save_dcname_0;
11558 TALLOC_CTX *_mem_save_dcname_1;
11559 if (flags & NDR_IN) {
11560 ZERO_STRUCT(r->out);
11562 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11563 if (_ptr_logon_server) {
11564 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11565 } else {
11566 r->in.logon_server = NULL;
11568 if (r->in.logon_server) {
11569 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11570 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11571 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11572 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11573 size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
11574 length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
11575 if (length_logon_server_1 > size_logon_server_1) {
11576 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
11578 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
11579 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
11580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11582 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11583 if (_ptr_domainname) {
11584 NDR_PULL_ALLOC(ndr, r->in.domainname);
11585 } else {
11586 r->in.domainname = NULL;
11588 if (r->in.domainname) {
11589 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11590 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11591 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11592 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11593 size_domainname_1 = ndr_get_array_size(ndr, &r->in.domainname);
11594 length_domainname_1 = ndr_get_array_length(ndr, &r->in.domainname);
11595 if (length_domainname_1 > size_domainname_1) {
11596 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domainname_1, length_domainname_1);
11598 NDR_CHECK(ndr_check_string_terminator(ndr, length_domainname_1, sizeof(uint16_t)));
11599 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, length_domainname_1, sizeof(uint16_t), CH_UTF16));
11600 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11602 NDR_PULL_ALLOC(ndr, r->out.dcname);
11603 ZERO_STRUCTP(r->out.dcname);
11605 if (flags & NDR_OUT) {
11606 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11607 NDR_PULL_ALLOC(ndr, r->out.dcname);
11609 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11610 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11611 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11612 if (_ptr_dcname) {
11613 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11614 } else {
11615 *r->out.dcname = NULL;
11617 if (*r->out.dcname) {
11618 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11619 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11620 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11621 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11622 size_dcname_2 = ndr_get_array_size(ndr, r->out.dcname);
11623 length_dcname_2 = ndr_get_array_length(ndr, r->out.dcname);
11624 if (length_dcname_2 > size_dcname_2) {
11625 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dcname_2, length_dcname_2);
11627 NDR_CHECK(ndr_check_string_terminator(ndr, length_dcname_2, sizeof(uint16_t)));
11628 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, length_dcname_2, sizeof(uint16_t), CH_UTF16));
11629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11631 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11632 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11634 return NDR_ERR_SUCCESS;
11637 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
11639 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
11640 ndr->depth++;
11641 if (flags & NDR_SET_VALUES) {
11642 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11644 if (flags & NDR_IN) {
11645 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
11646 ndr->depth++;
11647 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11648 ndr->depth++;
11649 if (r->in.logon_server) {
11650 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11652 ndr->depth--;
11653 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11654 ndr->depth++;
11655 if (r->in.domainname) {
11656 ndr_print_string(ndr, "domainname", r->in.domainname);
11658 ndr->depth--;
11659 ndr->depth--;
11661 if (flags & NDR_OUT) {
11662 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
11663 ndr->depth++;
11664 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11665 ndr->depth++;
11666 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11667 ndr->depth++;
11668 if (*r->out.dcname) {
11669 ndr_print_string(ndr, "dcname", *r->out.dcname);
11671 ndr->depth--;
11672 ndr->depth--;
11673 ndr_print_WERROR(ndr, "result", r->out.result);
11674 ndr->depth--;
11676 ndr->depth--;
11679 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
11681 if (flags & NDR_IN) {
11682 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11683 if (r->in.logon_server) {
11684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11687 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));
11689 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11691 if (r->in.data == NULL) {
11692 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11694 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
11695 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11697 if (flags & NDR_OUT) {
11698 if (r->out.query == NULL) {
11699 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11701 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11702 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11703 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11705 return NDR_ERR_SUCCESS;
11708 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
11710 uint32_t _ptr_logon_server;
11711 uint32_t size_logon_server_1 = 0;
11712 uint32_t length_logon_server_1 = 0;
11713 TALLOC_CTX *_mem_save_logon_server_0;
11714 TALLOC_CTX *_mem_save_data_0;
11715 TALLOC_CTX *_mem_save_query_0;
11716 if (flags & NDR_IN) {
11717 ZERO_STRUCT(r->out);
11719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11720 if (_ptr_logon_server) {
11721 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11722 } else {
11723 r->in.logon_server = NULL;
11725 if (r->in.logon_server) {
11726 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11727 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11728 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11729 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11730 size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
11731 length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
11732 if (length_logon_server_1 > size_logon_server_1) {
11733 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
11735 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
11736 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
11737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11739 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11740 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11741 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11742 NDR_PULL_ALLOC(ndr, r->in.data);
11744 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
11745 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
11746 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
11747 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11748 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
11749 NDR_PULL_ALLOC(ndr, r->out.query);
11750 ZERO_STRUCTP(r->out.query);
11752 if (flags & NDR_OUT) {
11753 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11754 NDR_PULL_ALLOC(ndr, r->out.query);
11756 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11757 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11758 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11759 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11760 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11761 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11763 return NDR_ERR_SUCCESS;
11766 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
11768 ndr_print_struct(ndr, name, "netr_LogonControl2");
11769 ndr->depth++;
11770 if (flags & NDR_SET_VALUES) {
11771 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11773 if (flags & NDR_IN) {
11774 ndr_print_struct(ndr, "in", "netr_LogonControl2");
11775 ndr->depth++;
11776 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11777 ndr->depth++;
11778 if (r->in.logon_server) {
11779 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11781 ndr->depth--;
11782 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11783 ndr_print_uint32(ndr, "level", r->in.level);
11784 ndr_print_ptr(ndr, "data", r->in.data);
11785 ndr->depth++;
11786 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
11787 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
11788 ndr->depth--;
11789 ndr->depth--;
11791 if (flags & NDR_OUT) {
11792 ndr_print_struct(ndr, "out", "netr_LogonControl2");
11793 ndr->depth++;
11794 ndr_print_ptr(ndr, "query", r->out.query);
11795 ndr->depth++;
11796 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11797 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11798 ndr->depth--;
11799 ndr_print_WERROR(ndr, "result", r->out.result);
11800 ndr->depth--;
11802 ndr->depth--;
11805 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
11807 if (flags & NDR_IN) {
11808 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11809 if (r->in.server_name) {
11810 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11811 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11813 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));
11815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11817 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11818 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));
11819 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11820 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11821 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11822 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11823 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));
11824 if (r->in.credentials == NULL) {
11825 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11827 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11828 if (r->in.negotiate_flags == NULL) {
11829 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11831 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11833 if (flags & NDR_OUT) {
11834 if (r->out.return_credentials == NULL) {
11835 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11837 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11838 if (r->out.negotiate_flags == NULL) {
11839 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11841 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11842 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11844 return NDR_ERR_SUCCESS;
11847 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
11849 uint32_t _ptr_server_name;
11850 uint32_t size_server_name_1 = 0;
11851 uint32_t length_server_name_1 = 0;
11852 uint32_t size_account_name_0 = 0;
11853 uint32_t length_account_name_0 = 0;
11854 uint32_t size_computer_name_0 = 0;
11855 uint32_t length_computer_name_0 = 0;
11856 TALLOC_CTX *_mem_save_server_name_0;
11857 TALLOC_CTX *_mem_save_credentials_0;
11858 TALLOC_CTX *_mem_save_return_credentials_0;
11859 TALLOC_CTX *_mem_save_negotiate_flags_0;
11860 if (flags & NDR_IN) {
11861 ZERO_STRUCT(r->out);
11863 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11864 if (_ptr_server_name) {
11865 NDR_PULL_ALLOC(ndr, r->in.server_name);
11866 } else {
11867 r->in.server_name = NULL;
11869 if (r->in.server_name) {
11870 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11871 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11872 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11873 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11874 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
11875 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
11876 if (length_server_name_1 > size_server_name_1) {
11877 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
11879 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
11880 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
11881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11883 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11884 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11885 size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
11886 length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
11887 if (length_account_name_0 > size_account_name_0) {
11888 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
11890 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
11891 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
11892 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11893 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11894 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11895 size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
11896 length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
11897 if (length_computer_name_0 > size_computer_name_0) {
11898 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
11900 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
11901 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
11902 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11903 NDR_PULL_ALLOC(ndr, r->in.credentials);
11905 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11906 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11907 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11909 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11910 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11912 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11913 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11914 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
11915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11916 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11917 ZERO_STRUCTP(r->out.return_credentials);
11918 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11919 *r->out.negotiate_flags = *r->in.negotiate_flags;
11921 if (flags & NDR_OUT) {
11922 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11923 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11925 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11926 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
11927 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11929 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11930 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11932 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11933 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11934 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
11935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11936 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11938 return NDR_ERR_SUCCESS;
11941 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
11943 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
11944 ndr->depth++;
11945 if (flags & NDR_SET_VALUES) {
11946 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11948 if (flags & NDR_IN) {
11949 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
11950 ndr->depth++;
11951 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11952 ndr->depth++;
11953 if (r->in.server_name) {
11954 ndr_print_string(ndr, "server_name", r->in.server_name);
11956 ndr->depth--;
11957 ndr_print_string(ndr, "account_name", r->in.account_name);
11958 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11959 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11960 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11961 ndr->depth++;
11962 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11963 ndr->depth--;
11964 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11965 ndr->depth++;
11966 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
11967 ndr->depth--;
11968 ndr->depth--;
11970 if (flags & NDR_OUT) {
11971 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
11972 ndr->depth++;
11973 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
11974 ndr->depth++;
11975 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
11976 ndr->depth--;
11977 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
11978 ndr->depth++;
11979 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
11980 ndr->depth--;
11981 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11982 ndr->depth--;
11984 ndr->depth--;
11987 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
11989 if (flags & NDR_IN) {
11990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, 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.logon_server, CH_UTF16)));
11993 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));
11994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11997 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11998 if (r->in.credential == NULL) {
11999 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12001 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12002 if (r->in.return_authenticator == NULL) {
12003 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12005 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12006 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
12007 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.restart_state));
12008 if (r->in.sync_context == NULL) {
12009 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12011 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
12012 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
12014 if (flags & NDR_OUT) {
12015 if (r->out.return_authenticator == NULL) {
12016 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12018 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12019 if (r->out.sync_context == NULL) {
12020 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
12023 if (r->out.delta_enum_array == NULL) {
12024 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12026 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12027 if (*r->out.delta_enum_array) {
12028 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12030 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12032 return NDR_ERR_SUCCESS;
12035 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
12037 uint32_t size_logon_server_0 = 0;
12038 uint32_t length_logon_server_0 = 0;
12039 uint32_t size_computername_0 = 0;
12040 uint32_t length_computername_0 = 0;
12041 uint32_t _ptr_delta_enum_array;
12042 TALLOC_CTX *_mem_save_credential_0;
12043 TALLOC_CTX *_mem_save_return_authenticator_0;
12044 TALLOC_CTX *_mem_save_sync_context_0;
12045 TALLOC_CTX *_mem_save_delta_enum_array_0;
12046 TALLOC_CTX *_mem_save_delta_enum_array_1;
12047 if (flags & NDR_IN) {
12048 ZERO_STRUCT(r->out);
12050 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12051 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12052 size_logon_server_0 = ndr_get_array_size(ndr, &r->in.logon_server);
12053 length_logon_server_0 = ndr_get_array_length(ndr, &r->in.logon_server);
12054 if (length_logon_server_0 > size_logon_server_0) {
12055 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_0, length_logon_server_0);
12057 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_0, sizeof(uint16_t)));
12058 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_0, sizeof(uint16_t), CH_UTF16));
12059 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12060 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12061 size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
12062 length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
12063 if (length_computername_0 > size_computername_0) {
12064 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
12066 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
12067 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
12068 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12069 NDR_PULL_ALLOC(ndr, r->in.credential);
12071 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12072 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12073 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12075 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12076 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12078 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12079 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12080 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12081 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12082 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
12083 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.restart_state));
12084 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12085 NDR_PULL_ALLOC(ndr, r->in.sync_context);
12087 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12088 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
12089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
12090 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12091 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
12092 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12093 *r->out.return_authenticator = *r->in.return_authenticator;
12094 NDR_PULL_ALLOC(ndr, r->out.sync_context);
12095 *r->out.sync_context = *r->in.sync_context;
12096 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12097 ZERO_STRUCTP(r->out.delta_enum_array);
12099 if (flags & NDR_OUT) {
12100 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12101 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12103 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12104 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12105 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12106 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12107 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12108 NDR_PULL_ALLOC(ndr, r->out.sync_context);
12110 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12111 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
12112 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
12113 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12114 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12115 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12117 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12118 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12119 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12120 if (_ptr_delta_enum_array) {
12121 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12122 } else {
12123 *r->out.delta_enum_array = NULL;
12125 if (*r->out.delta_enum_array) {
12126 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12127 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12128 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12129 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12131 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12132 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12134 return NDR_ERR_SUCCESS;
12137 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
12139 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
12140 ndr->depth++;
12141 if (flags & NDR_SET_VALUES) {
12142 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12144 if (flags & NDR_IN) {
12145 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
12146 ndr->depth++;
12147 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12148 ndr_print_string(ndr, "computername", r->in.computername);
12149 ndr_print_ptr(ndr, "credential", r->in.credential);
12150 ndr->depth++;
12151 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12152 ndr->depth--;
12153 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12154 ndr->depth++;
12155 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12156 ndr->depth--;
12157 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
12158 ndr_print_uint16(ndr, "restart_state", r->in.restart_state);
12159 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
12160 ndr->depth++;
12161 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
12162 ndr->depth--;
12163 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
12164 ndr->depth--;
12166 if (flags & NDR_OUT) {
12167 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
12168 ndr->depth++;
12169 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12170 ndr->depth++;
12171 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12172 ndr->depth--;
12173 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
12174 ndr->depth++;
12175 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
12176 ndr->depth--;
12177 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12178 ndr->depth++;
12179 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12180 ndr->depth++;
12181 if (*r->out.delta_enum_array) {
12182 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12184 ndr->depth--;
12185 ndr->depth--;
12186 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12187 ndr->depth--;
12189 ndr->depth--;
12192 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
12194 if (flags & NDR_IN) {
12195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12197 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12198 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));
12199 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12200 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12202 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12203 if (r->in.credential == NULL) {
12204 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12206 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12207 if (r->in.return_authenticator == NULL) {
12208 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12210 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12212 struct ndr_push *_ndr_change_log_entry;
12213 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12214 NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12215 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12219 if (flags & NDR_OUT) {
12220 if (r->out.return_authenticator == NULL) {
12221 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12223 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12224 if (r->out.delta_enum_array == NULL) {
12225 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12227 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12228 if (*r->out.delta_enum_array) {
12229 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12231 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12233 return NDR_ERR_SUCCESS;
12236 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
12238 uint32_t size_logon_server_0 = 0;
12239 uint32_t length_logon_server_0 = 0;
12240 uint32_t size_computername_0 = 0;
12241 uint32_t length_computername_0 = 0;
12242 uint32_t _ptr_delta_enum_array;
12243 TALLOC_CTX *_mem_save_credential_0;
12244 TALLOC_CTX *_mem_save_return_authenticator_0;
12245 TALLOC_CTX *_mem_save_delta_enum_array_0;
12246 TALLOC_CTX *_mem_save_delta_enum_array_1;
12247 if (flags & NDR_IN) {
12248 ZERO_STRUCT(r->out);
12250 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12251 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12252 size_logon_server_0 = ndr_get_array_size(ndr, &r->in.logon_server);
12253 length_logon_server_0 = ndr_get_array_length(ndr, &r->in.logon_server);
12254 if (length_logon_server_0 > size_logon_server_0) {
12255 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_0, length_logon_server_0);
12257 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_0, sizeof(uint16_t)));
12258 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_0, sizeof(uint16_t), CH_UTF16));
12259 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12260 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12261 size_computername_0 = ndr_get_array_size(ndr, &r->in.computername);
12262 length_computername_0 = ndr_get_array_length(ndr, &r->in.computername);
12263 if (length_computername_0 > size_computername_0) {
12264 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computername_0, length_computername_0);
12266 NDR_CHECK(ndr_check_string_terminator(ndr, length_computername_0, sizeof(uint16_t)));
12267 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, length_computername_0, sizeof(uint16_t), CH_UTF16));
12268 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12269 NDR_PULL_ALLOC(ndr, r->in.credential);
12271 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12272 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12273 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12275 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12276 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12278 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12279 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12280 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12283 struct ndr_pull *_ndr_change_log_entry;
12284 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, r->in.change_log_entry_size));
12285 NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12286 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, r->in.change_log_entry_size));
12288 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
12289 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12290 *r->out.return_authenticator = *r->in.return_authenticator;
12291 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12292 ZERO_STRUCTP(r->out.delta_enum_array);
12294 if (flags & NDR_OUT) {
12295 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12296 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12298 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12299 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12300 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12301 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12302 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12303 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12305 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12306 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12307 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12308 if (_ptr_delta_enum_array) {
12309 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12310 } else {
12311 *r->out.delta_enum_array = NULL;
12313 if (*r->out.delta_enum_array) {
12314 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12315 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12316 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12319 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12320 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12322 return NDR_ERR_SUCCESS;
12325 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
12327 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
12328 ndr->depth++;
12329 if (flags & NDR_SET_VALUES) {
12330 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12332 if (flags & NDR_IN) {
12333 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
12334 ndr->depth++;
12335 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12336 ndr_print_string(ndr, "computername", r->in.computername);
12337 ndr_print_ptr(ndr, "credential", r->in.credential);
12338 ndr->depth++;
12339 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12340 ndr->depth--;
12341 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12342 ndr->depth++;
12343 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12344 ndr->depth--;
12345 ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry);
12346 ndr_print_uint32(ndr, "change_log_entry_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags):r->in.change_log_entry_size);
12347 ndr->depth--;
12349 if (flags & NDR_OUT) {
12350 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
12351 ndr->depth++;
12352 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12353 ndr->depth++;
12354 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12355 ndr->depth--;
12356 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12357 ndr->depth++;
12358 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12359 ndr->depth++;
12360 if (*r->out.delta_enum_array) {
12361 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12363 ndr->depth--;
12364 ndr->depth--;
12365 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12366 ndr->depth--;
12368 ndr->depth--;
12371 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
12373 if (flags & NDR_IN) {
12374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
12375 if (r->in.logon_server) {
12376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12379 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));
12381 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
12382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12383 if (r->in.data == NULL) {
12384 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12386 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
12387 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12389 if (flags & NDR_OUT) {
12390 if (r->out.query == NULL) {
12391 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12393 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
12394 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12395 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12397 return NDR_ERR_SUCCESS;
12400 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
12402 uint32_t _ptr_logon_server;
12403 uint32_t size_logon_server_1 = 0;
12404 uint32_t length_logon_server_1 = 0;
12405 TALLOC_CTX *_mem_save_logon_server_0;
12406 TALLOC_CTX *_mem_save_data_0;
12407 TALLOC_CTX *_mem_save_query_0;
12408 if (flags & NDR_IN) {
12409 ZERO_STRUCT(r->out);
12411 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
12412 if (_ptr_logon_server) {
12413 NDR_PULL_ALLOC(ndr, r->in.logon_server);
12414 } else {
12415 r->in.logon_server = NULL;
12417 if (r->in.logon_server) {
12418 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12419 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
12420 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12421 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12422 size_logon_server_1 = ndr_get_array_size(ndr, &r->in.logon_server);
12423 length_logon_server_1 = ndr_get_array_length(ndr, &r->in.logon_server);
12424 if (length_logon_server_1 > size_logon_server_1) {
12425 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_logon_server_1, length_logon_server_1);
12427 NDR_CHECK(ndr_check_string_terminator(ndr, length_logon_server_1, sizeof(uint16_t)));
12428 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, length_logon_server_1, sizeof(uint16_t), CH_UTF16));
12429 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
12431 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
12432 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12433 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12434 NDR_PULL_ALLOC(ndr, r->in.data);
12436 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
12437 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
12438 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
12439 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12440 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
12441 NDR_PULL_ALLOC(ndr, r->out.query);
12442 ZERO_STRUCTP(r->out.query);
12444 if (flags & NDR_OUT) {
12445 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12446 NDR_PULL_ALLOC(ndr, r->out.query);
12448 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
12449 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
12450 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
12451 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12452 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
12453 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12455 return NDR_ERR_SUCCESS;
12458 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
12460 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
12461 ndr->depth++;
12462 if (flags & NDR_SET_VALUES) {
12463 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12465 if (flags & NDR_IN) {
12466 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
12467 ndr->depth++;
12468 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12469 ndr->depth++;
12470 if (r->in.logon_server) {
12471 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12473 ndr->depth--;
12474 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
12475 ndr_print_uint32(ndr, "level", r->in.level);
12476 ndr_print_ptr(ndr, "data", r->in.data);
12477 ndr->depth++;
12478 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
12479 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
12480 ndr->depth--;
12481 ndr->depth--;
12483 if (flags & NDR_OUT) {
12484 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
12485 ndr->depth++;
12486 ndr_print_ptr(ndr, "query", r->out.query);
12487 ndr->depth++;
12488 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
12489 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
12490 ndr->depth--;
12491 ndr_print_WERROR(ndr, "result", r->out.result);
12492 ndr->depth--;
12494 ndr->depth--;
12497 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12499 if (flags & NDR_IN) {
12500 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12501 if (r->in.server_name) {
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));
12508 if (flags & NDR_OUT) {
12509 if (r->out.trusted_domains_blob == NULL) {
12510 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12512 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12513 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12515 return NDR_ERR_SUCCESS;
12518 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
12520 uint32_t _ptr_server_name;
12521 uint32_t size_server_name_1 = 0;
12522 uint32_t length_server_name_1 = 0;
12523 TALLOC_CTX *_mem_save_server_name_0;
12524 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
12525 if (flags & NDR_IN) {
12526 ZERO_STRUCT(r->out);
12528 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12529 if (_ptr_server_name) {
12530 NDR_PULL_ALLOC(ndr, r->in.server_name);
12531 } else {
12532 r->in.server_name = NULL;
12534 if (r->in.server_name) {
12535 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12536 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12537 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12538 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12539 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
12540 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
12541 if (length_server_name_1 > size_server_name_1) {
12542 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
12544 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
12545 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
12546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12548 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12549 ZERO_STRUCTP(r->out.trusted_domains_blob);
12551 if (flags & NDR_OUT) {
12552 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12553 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12555 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
12556 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
12557 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
12559 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12561 return NDR_ERR_SUCCESS;
12564 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12566 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
12567 ndr->depth++;
12568 if (flags & NDR_SET_VALUES) {
12569 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12571 if (flags & NDR_IN) {
12572 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
12573 ndr->depth++;
12574 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12575 ndr->depth++;
12576 if (r->in.server_name) {
12577 ndr_print_string(ndr, "server_name", r->in.server_name);
12579 ndr->depth--;
12580 ndr->depth--;
12582 if (flags & NDR_OUT) {
12583 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
12584 ndr->depth++;
12585 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12586 ndr->depth++;
12587 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12588 ndr->depth--;
12589 ndr_print_WERROR(ndr, "result", r->out.result);
12590 ndr->depth--;
12592 ndr->depth--;
12595 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
12597 if (flags & NDR_IN) {
12598 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12599 if (r->in.server_unc) {
12600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12603 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));
12605 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12606 if (r->in.domain_name) {
12607 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12610 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));
12612 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12613 if (r->in.domain_guid) {
12614 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12616 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
12617 if (r->in.site_guid) {
12618 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12620 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12622 if (flags & NDR_OUT) {
12623 if (r->out.info == NULL) {
12624 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12626 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12627 if (*r->out.info) {
12628 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12630 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12632 return NDR_ERR_SUCCESS;
12635 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
12637 uint32_t _ptr_server_unc;
12638 uint32_t size_server_unc_1 = 0;
12639 uint32_t length_server_unc_1 = 0;
12640 uint32_t _ptr_domain_name;
12641 uint32_t size_domain_name_1 = 0;
12642 uint32_t length_domain_name_1 = 0;
12643 uint32_t _ptr_domain_guid;
12644 uint32_t _ptr_site_guid;
12645 uint32_t _ptr_info;
12646 TALLOC_CTX *_mem_save_server_unc_0;
12647 TALLOC_CTX *_mem_save_domain_name_0;
12648 TALLOC_CTX *_mem_save_domain_guid_0;
12649 TALLOC_CTX *_mem_save_site_guid_0;
12650 TALLOC_CTX *_mem_save_info_0;
12651 TALLOC_CTX *_mem_save_info_1;
12652 if (flags & NDR_IN) {
12653 ZERO_STRUCT(r->out);
12655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12656 if (_ptr_server_unc) {
12657 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12658 } else {
12659 r->in.server_unc = NULL;
12661 if (r->in.server_unc) {
12662 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12663 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12664 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12665 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12666 size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
12667 length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
12668 if (length_server_unc_1 > size_server_unc_1) {
12669 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
12671 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
12672 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
12673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12675 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12676 if (_ptr_domain_name) {
12677 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12678 } else {
12679 r->in.domain_name = NULL;
12681 if (r->in.domain_name) {
12682 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12683 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12684 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12685 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12686 size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
12687 length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
12688 if (length_domain_name_1 > size_domain_name_1) {
12689 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
12691 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
12692 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
12693 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12695 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12696 if (_ptr_domain_guid) {
12697 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12698 } else {
12699 r->in.domain_guid = NULL;
12701 if (r->in.domain_guid) {
12702 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12703 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12704 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12707 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
12708 if (_ptr_site_guid) {
12709 NDR_PULL_ALLOC(ndr, r->in.site_guid);
12710 } else {
12711 r->in.site_guid = NULL;
12713 if (r->in.site_guid) {
12714 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12715 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
12716 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12717 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
12719 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12720 NDR_PULL_ALLOC(ndr, r->out.info);
12721 ZERO_STRUCTP(r->out.info);
12723 if (flags & NDR_OUT) {
12724 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12725 NDR_PULL_ALLOC(ndr, r->out.info);
12727 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12728 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12729 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12730 if (_ptr_info) {
12731 NDR_PULL_ALLOC(ndr, *r->out.info);
12732 } else {
12733 *r->out.info = NULL;
12735 if (*r->out.info) {
12736 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12737 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12738 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12742 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12744 return NDR_ERR_SUCCESS;
12747 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
12749 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
12750 ndr->depth++;
12751 if (flags & NDR_SET_VALUES) {
12752 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12754 if (flags & NDR_IN) {
12755 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
12756 ndr->depth++;
12757 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12758 ndr->depth++;
12759 if (r->in.server_unc) {
12760 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12762 ndr->depth--;
12763 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12764 ndr->depth++;
12765 if (r->in.domain_name) {
12766 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12768 ndr->depth--;
12769 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12770 ndr->depth++;
12771 if (r->in.domain_guid) {
12772 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12774 ndr->depth--;
12775 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
12776 ndr->depth++;
12777 if (r->in.site_guid) {
12778 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
12780 ndr->depth--;
12781 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12782 ndr->depth--;
12784 if (flags & NDR_OUT) {
12785 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
12786 ndr->depth++;
12787 ndr_print_ptr(ndr, "info", r->out.info);
12788 ndr->depth++;
12789 ndr_print_ptr(ndr, "info", *r->out.info);
12790 ndr->depth++;
12791 if (*r->out.info) {
12792 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12794 ndr->depth--;
12795 ndr->depth--;
12796 ndr_print_WERROR(ndr, "result", r->out.result);
12797 ndr->depth--;
12799 ndr->depth--;
12802 static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
12804 if (flags & NDR_IN) {
12805 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12808 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));
12809 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12810 if (r->in.computer_name) {
12811 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12814 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));
12816 if (r->in.credential == NULL) {
12817 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12819 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12820 if (r->in.return_authenticator == NULL) {
12821 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12823 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level));
12826 if (flags & NDR_OUT) {
12827 if (r->out.return_authenticator == NULL) {
12828 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12830 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12831 if (r->out.capabilities == NULL) {
12832 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12834 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
12835 NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
12836 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12838 return NDR_ERR_SUCCESS;
12841 static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
12843 uint32_t size_server_name_0 = 0;
12844 uint32_t length_server_name_0 = 0;
12845 uint32_t _ptr_computer_name;
12846 uint32_t size_computer_name_1 = 0;
12847 uint32_t length_computer_name_1 = 0;
12848 TALLOC_CTX *_mem_save_computer_name_0;
12849 TALLOC_CTX *_mem_save_credential_0;
12850 TALLOC_CTX *_mem_save_return_authenticator_0;
12851 TALLOC_CTX *_mem_save_capabilities_0;
12852 if (flags & NDR_IN) {
12853 ZERO_STRUCT(r->out);
12855 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12856 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12857 size_server_name_0 = ndr_get_array_size(ndr, &r->in.server_name);
12858 length_server_name_0 = ndr_get_array_length(ndr, &r->in.server_name);
12859 if (length_server_name_0 > size_server_name_0) {
12860 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_0, length_server_name_0);
12862 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_0, sizeof(uint16_t)));
12863 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_0, sizeof(uint16_t), CH_UTF16));
12864 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12865 if (_ptr_computer_name) {
12866 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12867 } else {
12868 r->in.computer_name = NULL;
12870 if (r->in.computer_name) {
12871 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12872 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12873 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12874 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12875 size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
12876 length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
12877 if (length_computer_name_1 > size_computer_name_1) {
12878 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
12880 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
12881 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
12882 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12884 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12885 NDR_PULL_ALLOC(ndr, r->in.credential);
12887 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12888 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12889 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12891 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12892 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12894 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12895 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12896 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12898 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level));
12899 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12900 *r->out.return_authenticator = *r->in.return_authenticator;
12901 NDR_PULL_ALLOC(ndr, r->out.capabilities);
12902 ZERO_STRUCTP(r->out.capabilities);
12904 if (flags & NDR_OUT) {
12905 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12906 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12908 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12909 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12910 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12911 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12912 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12913 NDR_PULL_ALLOC(ndr, r->out.capabilities);
12915 _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr);
12916 NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC);
12917 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
12918 NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
12919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC);
12920 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12922 return NDR_ERR_SUCCESS;
12925 _PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r)
12927 ndr_print_struct(ndr, name, "netr_LogonGetCapabilities");
12928 ndr->depth++;
12929 if (flags & NDR_SET_VALUES) {
12930 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12932 if (flags & NDR_IN) {
12933 ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
12934 ndr->depth++;
12935 ndr_print_string(ndr, "server_name", r->in.server_name);
12936 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12937 ndr->depth++;
12938 if (r->in.computer_name) {
12939 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12941 ndr->depth--;
12942 ndr_print_ptr(ndr, "credential", r->in.credential);
12943 ndr->depth++;
12944 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12945 ndr->depth--;
12946 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12947 ndr->depth++;
12948 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12949 ndr->depth--;
12950 ndr_print_uint32(ndr, "query_level", r->in.query_level);
12951 ndr->depth--;
12953 if (flags & NDR_OUT) {
12954 ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities");
12955 ndr->depth++;
12956 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12957 ndr->depth++;
12958 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12959 ndr->depth--;
12960 ndr_print_ptr(ndr, "capabilities", r->out.capabilities);
12961 ndr->depth++;
12962 ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level);
12963 ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities);
12964 ndr->depth--;
12965 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12966 ndr->depth--;
12968 ndr->depth--;
12971 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
12973 if (flags & NDR_IN) {
12975 if (flags & NDR_OUT) {
12976 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12978 return NDR_ERR_SUCCESS;
12981 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
12983 if (flags & NDR_IN) {
12985 if (flags & NDR_OUT) {
12986 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12988 return NDR_ERR_SUCCESS;
12991 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
12993 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
12994 ndr->depth++;
12995 if (flags & NDR_SET_VALUES) {
12996 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12998 if (flags & NDR_IN) {
12999 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
13000 ndr->depth++;
13001 ndr->depth--;
13003 if (flags & NDR_OUT) {
13004 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
13005 ndr->depth++;
13006 ndr_print_WERROR(ndr, "result", r->out.result);
13007 ndr->depth--;
13009 ndr->depth--;
13012 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
13014 if (flags & NDR_IN) {
13015 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13016 if (r->in.server_name) {
13017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13019 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13020 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));
13022 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13023 if (r->in.domain_name) {
13024 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13025 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13027 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));
13030 if (flags & NDR_OUT) {
13031 if (r->out.rid == NULL) {
13032 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13035 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13037 return NDR_ERR_SUCCESS;
13040 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
13042 uint32_t _ptr_server_name;
13043 uint32_t size_server_name_1 = 0;
13044 uint32_t length_server_name_1 = 0;
13045 uint32_t _ptr_domain_name;
13046 uint32_t size_domain_name_1 = 0;
13047 uint32_t length_domain_name_1 = 0;
13048 TALLOC_CTX *_mem_save_server_name_0;
13049 TALLOC_CTX *_mem_save_domain_name_0;
13050 TALLOC_CTX *_mem_save_rid_0;
13051 if (flags & NDR_IN) {
13052 ZERO_STRUCT(r->out);
13054 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13055 if (_ptr_server_name) {
13056 NDR_PULL_ALLOC(ndr, r->in.server_name);
13057 } else {
13058 r->in.server_name = NULL;
13060 if (r->in.server_name) {
13061 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13062 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13063 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13064 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13065 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
13066 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
13067 if (length_server_name_1 > size_server_name_1) {
13068 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
13070 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
13071 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
13072 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13074 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13075 if (_ptr_domain_name) {
13076 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13077 } else {
13078 r->in.domain_name = NULL;
13080 if (r->in.domain_name) {
13081 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13082 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13083 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13084 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13085 size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
13086 length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
13087 if (length_domain_name_1 > size_domain_name_1) {
13088 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
13090 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
13091 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
13092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13094 NDR_PULL_ALLOC(ndr, r->out.rid);
13095 ZERO_STRUCTP(r->out.rid);
13097 if (flags & NDR_OUT) {
13098 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13099 NDR_PULL_ALLOC(ndr, r->out.rid);
13101 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13102 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13103 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13104 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13105 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13107 return NDR_ERR_SUCCESS;
13110 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
13112 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
13113 ndr->depth++;
13114 if (flags & NDR_SET_VALUES) {
13115 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13117 if (flags & NDR_IN) {
13118 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
13119 ndr->depth++;
13120 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13121 ndr->depth++;
13122 if (r->in.server_name) {
13123 ndr_print_string(ndr, "server_name", r->in.server_name);
13125 ndr->depth--;
13126 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13127 ndr->depth++;
13128 if (r->in.domain_name) {
13129 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13131 ndr->depth--;
13132 ndr->depth--;
13134 if (flags & NDR_OUT) {
13135 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
13136 ndr->depth++;
13137 ndr_print_ptr(ndr, "rid", r->out.rid);
13138 ndr->depth++;
13139 ndr_print_uint32(ndr, "rid", *r->out.rid);
13140 ndr->depth--;
13141 ndr_print_WERROR(ndr, "result", r->out.result);
13142 ndr->depth--;
13144 ndr->depth--;
13147 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13149 if (flags & NDR_IN) {
13151 if (flags & NDR_OUT) {
13152 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13154 return NDR_ERR_SUCCESS;
13157 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13159 if (flags & NDR_IN) {
13161 if (flags & NDR_OUT) {
13162 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13164 return NDR_ERR_SUCCESS;
13167 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13169 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
13170 ndr->depth++;
13171 if (flags & NDR_SET_VALUES) {
13172 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13174 if (flags & NDR_IN) {
13175 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13176 ndr->depth++;
13177 ndr->depth--;
13179 if (flags & NDR_OUT) {
13180 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13181 ndr->depth++;
13182 ndr_print_WERROR(ndr, "result", r->out.result);
13183 ndr->depth--;
13185 ndr->depth--;
13188 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13190 if (flags & NDR_IN) {
13192 if (flags & NDR_OUT) {
13193 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13195 return NDR_ERR_SUCCESS;
13198 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13200 if (flags & NDR_IN) {
13202 if (flags & NDR_OUT) {
13203 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13205 return NDR_ERR_SUCCESS;
13208 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13210 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13211 ndr->depth++;
13212 if (flags & NDR_SET_VALUES) {
13213 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13215 if (flags & NDR_IN) {
13216 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13217 ndr->depth++;
13218 ndr->depth--;
13220 if (flags & NDR_OUT) {
13221 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13222 ndr->depth++;
13223 ndr_print_WERROR(ndr, "result", r->out.result);
13224 ndr->depth--;
13226 ndr->depth--;
13229 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
13231 if (flags & NDR_IN) {
13232 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13233 if (r->in.server_name) {
13234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13237 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));
13239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13242 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));
13243 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13247 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));
13248 if (r->in.credentials == NULL) {
13249 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13251 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13252 if (r->in.negotiate_flags == NULL) {
13253 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13255 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
13257 if (flags & NDR_OUT) {
13258 if (r->out.return_credentials == NULL) {
13259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13261 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13262 if (r->out.negotiate_flags == NULL) {
13263 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13265 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
13266 if (r->out.rid == NULL) {
13267 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13270 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13272 return NDR_ERR_SUCCESS;
13275 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
13277 uint32_t _ptr_server_name;
13278 uint32_t size_server_name_1 = 0;
13279 uint32_t length_server_name_1 = 0;
13280 uint32_t size_account_name_0 = 0;
13281 uint32_t length_account_name_0 = 0;
13282 uint32_t size_computer_name_0 = 0;
13283 uint32_t length_computer_name_0 = 0;
13284 TALLOC_CTX *_mem_save_server_name_0;
13285 TALLOC_CTX *_mem_save_credentials_0;
13286 TALLOC_CTX *_mem_save_return_credentials_0;
13287 TALLOC_CTX *_mem_save_negotiate_flags_0;
13288 TALLOC_CTX *_mem_save_rid_0;
13289 if (flags & NDR_IN) {
13290 ZERO_STRUCT(r->out);
13292 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13293 if (_ptr_server_name) {
13294 NDR_PULL_ALLOC(ndr, r->in.server_name);
13295 } else {
13296 r->in.server_name = NULL;
13298 if (r->in.server_name) {
13299 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13300 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13301 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13302 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13303 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
13304 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
13305 if (length_server_name_1 > size_server_name_1) {
13306 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
13308 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
13309 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
13310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13312 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13313 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13314 size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
13315 length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
13316 if (length_account_name_0 > size_account_name_0) {
13317 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
13319 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
13320 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
13321 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13322 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13323 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13324 size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
13325 length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
13326 if (length_computer_name_0 > size_computer_name_0) {
13327 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
13329 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
13330 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
13331 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13332 NDR_PULL_ALLOC(ndr, r->in.credentials);
13334 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13335 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
13336 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13337 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13338 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13339 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
13341 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13342 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13343 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
13344 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13345 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13346 ZERO_STRUCTP(r->out.return_credentials);
13347 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13348 *r->out.negotiate_flags = *r->in.negotiate_flags;
13349 NDR_PULL_ALLOC(ndr, r->out.rid);
13350 ZERO_STRUCTP(r->out.rid);
13352 if (flags & NDR_OUT) {
13353 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13354 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13356 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13357 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
13358 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13359 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13360 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13361 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13363 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13364 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13365 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
13366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13367 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13368 NDR_PULL_ALLOC(ndr, r->out.rid);
13370 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13371 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13372 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13373 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13374 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13376 return NDR_ERR_SUCCESS;
13379 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
13381 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
13382 ndr->depth++;
13383 if (flags & NDR_SET_VALUES) {
13384 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13386 if (flags & NDR_IN) {
13387 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
13388 ndr->depth++;
13389 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13390 ndr->depth++;
13391 if (r->in.server_name) {
13392 ndr_print_string(ndr, "server_name", r->in.server_name);
13394 ndr->depth--;
13395 ndr_print_string(ndr, "account_name", r->in.account_name);
13396 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13397 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13398 ndr_print_ptr(ndr, "credentials", r->in.credentials);
13399 ndr->depth++;
13400 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
13401 ndr->depth--;
13402 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
13403 ndr->depth++;
13404 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
13405 ndr->depth--;
13406 ndr->depth--;
13408 if (flags & NDR_OUT) {
13409 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
13410 ndr->depth++;
13411 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
13412 ndr->depth++;
13413 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
13414 ndr->depth--;
13415 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
13416 ndr->depth++;
13417 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
13418 ndr->depth--;
13419 ndr_print_ptr(ndr, "rid", r->out.rid);
13420 ndr->depth++;
13421 ndr_print_uint32(ndr, "rid", *r->out.rid);
13422 ndr->depth--;
13423 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13424 ndr->depth--;
13426 ndr->depth--;
13429 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
13431 if (flags & NDR_IN) {
13432 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
13433 if (r->in.server_unc) {
13434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13437 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));
13439 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13440 if (r->in.domain_name) {
13441 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13442 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13444 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));
13446 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13447 if (r->in.domain_guid) {
13448 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13450 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
13451 if (r->in.site_name) {
13452 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13453 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13455 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));
13457 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
13459 if (flags & NDR_OUT) {
13460 if (r->out.info == NULL) {
13461 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13463 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
13464 if (*r->out.info) {
13465 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13467 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13469 return NDR_ERR_SUCCESS;
13472 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
13474 uint32_t _ptr_server_unc;
13475 uint32_t size_server_unc_1 = 0;
13476 uint32_t length_server_unc_1 = 0;
13477 uint32_t _ptr_domain_name;
13478 uint32_t size_domain_name_1 = 0;
13479 uint32_t length_domain_name_1 = 0;
13480 uint32_t _ptr_domain_guid;
13481 uint32_t _ptr_site_name;
13482 uint32_t size_site_name_1 = 0;
13483 uint32_t length_site_name_1 = 0;
13484 uint32_t _ptr_info;
13485 TALLOC_CTX *_mem_save_server_unc_0;
13486 TALLOC_CTX *_mem_save_domain_name_0;
13487 TALLOC_CTX *_mem_save_domain_guid_0;
13488 TALLOC_CTX *_mem_save_site_name_0;
13489 TALLOC_CTX *_mem_save_info_0;
13490 TALLOC_CTX *_mem_save_info_1;
13491 if (flags & NDR_IN) {
13492 ZERO_STRUCT(r->out);
13494 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
13495 if (_ptr_server_unc) {
13496 NDR_PULL_ALLOC(ndr, r->in.server_unc);
13497 } else {
13498 r->in.server_unc = NULL;
13500 if (r->in.server_unc) {
13501 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
13502 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
13503 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
13504 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
13505 size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
13506 length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
13507 if (length_server_unc_1 > size_server_unc_1) {
13508 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
13510 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
13511 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
13512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
13514 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13515 if (_ptr_domain_name) {
13516 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13517 } else {
13518 r->in.domain_name = NULL;
13520 if (r->in.domain_name) {
13521 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13522 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13523 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13524 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13525 size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
13526 length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
13527 if (length_domain_name_1 > size_domain_name_1) {
13528 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
13530 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
13531 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
13532 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13534 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13535 if (_ptr_domain_guid) {
13536 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13537 } else {
13538 r->in.domain_guid = NULL;
13540 if (r->in.domain_guid) {
13541 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13542 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13543 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13546 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
13547 if (_ptr_site_name) {
13548 NDR_PULL_ALLOC(ndr, r->in.site_name);
13549 } else {
13550 r->in.site_name = NULL;
13552 if (r->in.site_name) {
13553 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13554 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
13555 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
13556 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
13557 size_site_name_1 = ndr_get_array_size(ndr, &r->in.site_name);
13558 length_site_name_1 = ndr_get_array_length(ndr, &r->in.site_name);
13559 if (length_site_name_1 > size_site_name_1) {
13560 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
13562 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
13563 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
13564 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
13566 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
13567 NDR_PULL_ALLOC(ndr, r->out.info);
13568 ZERO_STRUCTP(r->out.info);
13570 if (flags & NDR_OUT) {
13571 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13572 NDR_PULL_ALLOC(ndr, r->out.info);
13574 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13575 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13576 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13577 if (_ptr_info) {
13578 NDR_PULL_ALLOC(ndr, *r->out.info);
13579 } else {
13580 *r->out.info = NULL;
13582 if (*r->out.info) {
13583 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13584 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
13585 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13588 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13589 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13591 return NDR_ERR_SUCCESS;
13594 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
13596 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
13597 ndr->depth++;
13598 if (flags & NDR_SET_VALUES) {
13599 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13601 if (flags & NDR_IN) {
13602 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
13603 ndr->depth++;
13604 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
13605 ndr->depth++;
13606 if (r->in.server_unc) {
13607 ndr_print_string(ndr, "server_unc", r->in.server_unc);
13609 ndr->depth--;
13610 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13611 ndr->depth++;
13612 if (r->in.domain_name) {
13613 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13615 ndr->depth--;
13616 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13617 ndr->depth++;
13618 if (r->in.domain_guid) {
13619 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13621 ndr->depth--;
13622 ndr_print_ptr(ndr, "site_name", r->in.site_name);
13623 ndr->depth++;
13624 if (r->in.site_name) {
13625 ndr_print_string(ndr, "site_name", r->in.site_name);
13627 ndr->depth--;
13628 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13629 ndr->depth--;
13631 if (flags & NDR_OUT) {
13632 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
13633 ndr->depth++;
13634 ndr_print_ptr(ndr, "info", r->out.info);
13635 ndr->depth++;
13636 ndr_print_ptr(ndr, "info", *r->out.info);
13637 ndr->depth++;
13638 if (*r->out.info) {
13639 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13641 ndr->depth--;
13642 ndr->depth--;
13643 ndr_print_WERROR(ndr, "result", r->out.result);
13644 ndr->depth--;
13646 ndr->depth--;
13649 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
13651 if (flags & NDR_IN) {
13652 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13653 if (r->in.computer_name) {
13654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13656 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13657 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));
13660 if (flags & NDR_OUT) {
13661 if (r->out.site == NULL) {
13662 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13664 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
13665 if (*r->out.site) {
13666 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13669 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13671 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13673 return NDR_ERR_SUCCESS;
13676 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
13678 uint32_t _ptr_computer_name;
13679 uint32_t size_computer_name_1 = 0;
13680 uint32_t length_computer_name_1 = 0;
13681 uint32_t _ptr_site;
13682 uint32_t size_site_2 = 0;
13683 uint32_t length_site_2 = 0;
13684 TALLOC_CTX *_mem_save_computer_name_0;
13685 TALLOC_CTX *_mem_save_site_0;
13686 TALLOC_CTX *_mem_save_site_1;
13687 if (flags & NDR_IN) {
13688 ZERO_STRUCT(r->out);
13690 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13691 if (_ptr_computer_name) {
13692 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13693 } else {
13694 r->in.computer_name = NULL;
13696 if (r->in.computer_name) {
13697 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13698 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13699 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13700 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13701 size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
13702 length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
13703 if (length_computer_name_1 > size_computer_name_1) {
13704 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
13706 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
13707 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
13708 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13710 NDR_PULL_ALLOC(ndr, r->out.site);
13711 ZERO_STRUCTP(r->out.site);
13713 if (flags & NDR_OUT) {
13714 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13715 NDR_PULL_ALLOC(ndr, r->out.site);
13717 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
13718 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
13719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
13720 if (_ptr_site) {
13721 NDR_PULL_ALLOC(ndr, *r->out.site);
13722 } else {
13723 *r->out.site = NULL;
13725 if (*r->out.site) {
13726 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
13727 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
13728 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
13729 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
13730 size_site_2 = ndr_get_array_size(ndr, r->out.site);
13731 length_site_2 = ndr_get_array_length(ndr, r->out.site);
13732 if (length_site_2 > size_site_2) {
13733 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_2, length_site_2);
13735 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_2, sizeof(uint16_t)));
13736 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, length_site_2, sizeof(uint16_t), CH_UTF16));
13737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
13739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
13740 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13742 return NDR_ERR_SUCCESS;
13745 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
13747 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
13748 ndr->depth++;
13749 if (flags & NDR_SET_VALUES) {
13750 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13752 if (flags & NDR_IN) {
13753 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
13754 ndr->depth++;
13755 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13756 ndr->depth++;
13757 if (r->in.computer_name) {
13758 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13760 ndr->depth--;
13761 ndr->depth--;
13763 if (flags & NDR_OUT) {
13764 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
13765 ndr->depth++;
13766 ndr_print_ptr(ndr, "site", r->out.site);
13767 ndr->depth++;
13768 ndr_print_ptr(ndr, "site", *r->out.site);
13769 ndr->depth++;
13770 if (*r->out.site) {
13771 ndr_print_string(ndr, "site", *r->out.site);
13773 ndr->depth--;
13774 ndr->depth--;
13775 ndr_print_WERROR(ndr, "result", r->out.result);
13776 ndr->depth--;
13778 ndr->depth--;
13781 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
13783 if (flags & NDR_IN) {
13784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13787 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));
13788 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13789 if (r->in.computer_name) {
13790 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13793 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));
13795 if (r->in.credential == NULL) {
13796 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13798 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13799 if (r->in.return_authenticator == NULL) {
13800 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13802 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13804 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.query, r->in.level));
13805 NDR_CHECK(ndr_push_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
13807 if (flags & NDR_OUT) {
13808 if (r->out.return_authenticator == NULL) {
13809 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13811 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13812 if (r->out.info == NULL) {
13813 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13815 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
13816 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13817 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13819 return NDR_ERR_SUCCESS;
13822 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
13824 uint32_t size_server_name_0 = 0;
13825 uint32_t length_server_name_0 = 0;
13826 uint32_t _ptr_computer_name;
13827 uint32_t size_computer_name_1 = 0;
13828 uint32_t length_computer_name_1 = 0;
13829 TALLOC_CTX *_mem_save_computer_name_0;
13830 TALLOC_CTX *_mem_save_credential_0;
13831 TALLOC_CTX *_mem_save_return_authenticator_0;
13832 TALLOC_CTX *_mem_save_info_0;
13833 if (flags & NDR_IN) {
13834 ZERO_STRUCT(r->out);
13836 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13837 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13838 size_server_name_0 = ndr_get_array_size(ndr, &r->in.server_name);
13839 length_server_name_0 = ndr_get_array_length(ndr, &r->in.server_name);
13840 if (length_server_name_0 > size_server_name_0) {
13841 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_0, length_server_name_0);
13843 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_0, sizeof(uint16_t)));
13844 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_0, sizeof(uint16_t), CH_UTF16));
13845 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13846 if (_ptr_computer_name) {
13847 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13848 } else {
13849 r->in.computer_name = NULL;
13851 if (r->in.computer_name) {
13852 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13853 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13854 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13855 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13856 size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
13857 length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
13858 if (length_computer_name_1 > size_computer_name_1) {
13859 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
13861 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
13862 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
13863 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13865 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13866 NDR_PULL_ALLOC(ndr, r->in.credential);
13868 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13869 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13870 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13872 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13873 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13875 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13876 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13877 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13878 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13879 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13880 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.query, r->in.level));
13881 NDR_CHECK(ndr_pull_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
13882 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13883 *r->out.return_authenticator = *r->in.return_authenticator;
13884 NDR_PULL_ALLOC(ndr, r->out.info);
13885 ZERO_STRUCTP(r->out.info);
13887 if (flags & NDR_OUT) {
13888 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13889 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13891 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13892 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13893 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13895 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13896 NDR_PULL_ALLOC(ndr, r->out.info);
13898 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13899 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13900 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
13901 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13902 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13903 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13905 return NDR_ERR_SUCCESS;
13908 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
13910 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
13911 ndr->depth++;
13912 if (flags & NDR_SET_VALUES) {
13913 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13915 if (flags & NDR_IN) {
13916 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
13917 ndr->depth++;
13918 ndr_print_string(ndr, "server_name", r->in.server_name);
13919 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13920 ndr->depth++;
13921 if (r->in.computer_name) {
13922 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13924 ndr->depth--;
13925 ndr_print_ptr(ndr, "credential", r->in.credential);
13926 ndr->depth++;
13927 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13928 ndr->depth--;
13929 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
13930 ndr->depth++;
13931 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
13932 ndr->depth--;
13933 ndr_print_uint32(ndr, "level", r->in.level);
13934 ndr_print_set_switch_value(ndr, &r->in.query, r->in.level);
13935 ndr_print_netr_DomainQuery(ndr, "query", &r->in.query);
13936 ndr->depth--;
13938 if (flags & NDR_OUT) {
13939 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
13940 ndr->depth++;
13941 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13942 ndr->depth++;
13943 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13944 ndr->depth--;
13945 ndr_print_ptr(ndr, "info", r->out.info);
13946 ndr->depth++;
13947 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
13948 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
13949 ndr->depth--;
13950 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13951 ndr->depth--;
13953 ndr->depth--;
13956 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
13958 if (flags & NDR_IN) {
13959 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13960 if (r->in.server_name) {
13961 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13964 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));
13966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13968 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13969 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));
13970 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13974 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));
13975 if (r->in.credential == NULL) {
13976 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13978 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13979 if (r->in.new_password == NULL) {
13980 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13982 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
13984 if (flags & NDR_OUT) {
13985 if (r->out.return_authenticator == NULL) {
13986 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13988 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13989 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13991 return NDR_ERR_SUCCESS;
13994 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
13996 uint32_t _ptr_server_name;
13997 uint32_t size_server_name_1 = 0;
13998 uint32_t length_server_name_1 = 0;
13999 uint32_t size_account_name_0 = 0;
14000 uint32_t length_account_name_0 = 0;
14001 uint32_t size_computer_name_0 = 0;
14002 uint32_t length_computer_name_0 = 0;
14003 TALLOC_CTX *_mem_save_server_name_0;
14004 TALLOC_CTX *_mem_save_credential_0;
14005 TALLOC_CTX *_mem_save_return_authenticator_0;
14006 TALLOC_CTX *_mem_save_new_password_0;
14007 if (flags & NDR_IN) {
14008 ZERO_STRUCT(r->out);
14010 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14011 if (_ptr_server_name) {
14012 NDR_PULL_ALLOC(ndr, r->in.server_name);
14013 } else {
14014 r->in.server_name = NULL;
14016 if (r->in.server_name) {
14017 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14018 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14019 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14020 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14021 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
14022 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
14023 if (length_server_name_1 > size_server_name_1) {
14024 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
14026 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
14027 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
14028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14030 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14031 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14032 size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
14033 length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
14034 if (length_account_name_0 > size_account_name_0) {
14035 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
14037 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
14038 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
14039 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14040 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14041 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14042 size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
14043 length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
14044 if (length_computer_name_0 > size_computer_name_0) {
14045 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
14047 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
14048 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
14049 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14050 NDR_PULL_ALLOC(ndr, r->in.credential);
14052 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14053 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14054 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14055 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14056 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14057 NDR_PULL_ALLOC(ndr, r->in.new_password);
14059 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14060 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
14061 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
14062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
14063 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14064 ZERO_STRUCTP(r->out.return_authenticator);
14066 if (flags & NDR_OUT) {
14067 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14068 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14070 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14071 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14072 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14074 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14076 return NDR_ERR_SUCCESS;
14079 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
14081 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
14082 ndr->depth++;
14083 if (flags & NDR_SET_VALUES) {
14084 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14086 if (flags & NDR_IN) {
14087 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
14088 ndr->depth++;
14089 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14090 ndr->depth++;
14091 if (r->in.server_name) {
14092 ndr_print_string(ndr, "server_name", r->in.server_name);
14094 ndr->depth--;
14095 ndr_print_string(ndr, "account_name", r->in.account_name);
14096 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14097 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14098 ndr_print_ptr(ndr, "credential", r->in.credential);
14099 ndr->depth++;
14100 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14101 ndr->depth--;
14102 ndr_print_ptr(ndr, "new_password", r->in.new_password);
14103 ndr->depth++;
14104 ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
14105 ndr->depth--;
14106 ndr->depth--;
14108 if (flags & NDR_OUT) {
14109 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
14110 ndr->depth++;
14111 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14112 ndr->depth++;
14113 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14114 ndr->depth--;
14115 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14116 ndr->depth--;
14118 ndr->depth--;
14121 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
14123 if (flags & NDR_IN) {
14124 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14125 if (r->in.server_name) {
14126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14129 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));
14131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, 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.account_name, CH_UTF16)));
14134 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));
14135 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14136 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14139 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));
14140 if (r->in.credential == NULL) {
14141 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14143 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14145 if (flags & NDR_OUT) {
14146 if (r->out.return_authenticator == NULL) {
14147 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14149 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14150 if (r->out.password == NULL) {
14151 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14153 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
14154 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14156 return NDR_ERR_SUCCESS;
14159 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
14161 uint32_t _ptr_server_name;
14162 uint32_t size_server_name_1 = 0;
14163 uint32_t length_server_name_1 = 0;
14164 uint32_t size_account_name_0 = 0;
14165 uint32_t length_account_name_0 = 0;
14166 uint32_t size_computer_name_0 = 0;
14167 uint32_t length_computer_name_0 = 0;
14168 TALLOC_CTX *_mem_save_server_name_0;
14169 TALLOC_CTX *_mem_save_credential_0;
14170 TALLOC_CTX *_mem_save_return_authenticator_0;
14171 TALLOC_CTX *_mem_save_password_0;
14172 if (flags & NDR_IN) {
14173 ZERO_STRUCT(r->out);
14175 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14176 if (_ptr_server_name) {
14177 NDR_PULL_ALLOC(ndr, r->in.server_name);
14178 } else {
14179 r->in.server_name = NULL;
14181 if (r->in.server_name) {
14182 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14183 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14184 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14185 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14186 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
14187 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
14188 if (length_server_name_1 > size_server_name_1) {
14189 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
14191 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
14192 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
14193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14195 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14196 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14197 size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
14198 length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
14199 if (length_account_name_0 > size_account_name_0) {
14200 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
14202 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
14203 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
14204 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14205 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14206 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14207 size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
14208 length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
14209 if (length_computer_name_0 > size_computer_name_0) {
14210 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
14212 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
14213 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
14214 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14215 NDR_PULL_ALLOC(ndr, r->in.credential);
14217 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14218 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14219 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14220 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14221 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14222 ZERO_STRUCTP(r->out.return_authenticator);
14223 NDR_PULL_ALLOC(ndr, r->out.password);
14224 ZERO_STRUCTP(r->out.password);
14226 if (flags & NDR_OUT) {
14227 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14228 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14230 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14231 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14232 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14233 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14234 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14235 NDR_PULL_ALLOC(ndr, r->out.password);
14237 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14238 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14239 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
14240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14241 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14243 return NDR_ERR_SUCCESS;
14246 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
14248 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
14249 ndr->depth++;
14250 if (flags & NDR_SET_VALUES) {
14251 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14253 if (flags & NDR_IN) {
14254 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
14255 ndr->depth++;
14256 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14257 ndr->depth++;
14258 if (r->in.server_name) {
14259 ndr_print_string(ndr, "server_name", r->in.server_name);
14261 ndr->depth--;
14262 ndr_print_string(ndr, "account_name", r->in.account_name);
14263 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14264 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14265 ndr_print_ptr(ndr, "credential", r->in.credential);
14266 ndr->depth++;
14267 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14268 ndr->depth--;
14269 ndr->depth--;
14271 if (flags & NDR_OUT) {
14272 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
14273 ndr->depth++;
14274 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14275 ndr->depth++;
14276 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14277 ndr->depth--;
14278 ndr_print_ptr(ndr, "password", r->out.password);
14279 ndr->depth++;
14280 ndr_print_samr_Password(ndr, "password", r->out.password);
14281 ndr->depth--;
14282 ndr_print_WERROR(ndr, "result", r->out.result);
14283 ndr->depth--;
14285 ndr->depth--;
14288 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14290 if (flags & NDR_IN) {
14292 if (flags & NDR_OUT) {
14293 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14295 return NDR_ERR_SUCCESS;
14298 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
14300 if (flags & NDR_IN) {
14302 if (flags & NDR_OUT) {
14303 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14305 return NDR_ERR_SUCCESS;
14308 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14310 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
14311 ndr->depth++;
14312 if (flags & NDR_SET_VALUES) {
14313 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14315 if (flags & NDR_IN) {
14316 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
14317 ndr->depth++;
14318 ndr->depth--;
14320 if (flags & NDR_OUT) {
14321 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
14322 ndr->depth++;
14323 ndr_print_WERROR(ndr, "result", r->out.result);
14324 ndr->depth--;
14326 ndr->depth--;
14329 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
14331 uint32_t cntr_addresses_1;
14332 if (flags & NDR_IN) {
14333 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14334 if (r->in.server_name) {
14335 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14338 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));
14340 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14341 if (r->in.addresses == NULL) {
14342 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14344 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14345 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14346 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14348 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14349 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14352 if (flags & NDR_OUT) {
14353 if (r->out.ctr == NULL) {
14354 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14356 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14357 if (*r->out.ctr) {
14358 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14360 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14362 return NDR_ERR_SUCCESS;
14365 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
14367 uint32_t _ptr_server_name;
14368 uint32_t size_server_name_1 = 0;
14369 uint32_t length_server_name_1 = 0;
14370 uint32_t size_addresses_1 = 0;
14371 uint32_t cntr_addresses_1;
14372 uint32_t _ptr_ctr;
14373 TALLOC_CTX *_mem_save_server_name_0;
14374 TALLOC_CTX *_mem_save_addresses_1;
14375 TALLOC_CTX *_mem_save_ctr_0;
14376 TALLOC_CTX *_mem_save_ctr_1;
14377 if (flags & NDR_IN) {
14378 ZERO_STRUCT(r->out);
14380 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14381 if (_ptr_server_name) {
14382 NDR_PULL_ALLOC(ndr, r->in.server_name);
14383 } else {
14384 r->in.server_name = NULL;
14386 if (r->in.server_name) {
14387 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14388 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14389 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14390 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14391 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
14392 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
14393 if (length_server_name_1 > size_server_name_1) {
14394 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
14396 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
14397 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
14398 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14400 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14401 if (r->in.count > 32000) {
14402 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14404 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14405 size_addresses_1 = ndr_get_array_size(ndr, &r->in.addresses);
14406 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14407 NDR_PULL_ALLOC_N(ndr, r->in.addresses, size_addresses_1);
14409 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14410 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14411 for (cntr_addresses_1 = 0; cntr_addresses_1 < size_addresses_1; cntr_addresses_1++) {
14412 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14414 for (cntr_addresses_1 = 0; cntr_addresses_1 < size_addresses_1; cntr_addresses_1++) {
14415 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14418 NDR_PULL_ALLOC(ndr, r->out.ctr);
14419 ZERO_STRUCTP(r->out.ctr);
14420 if (r->in.addresses) {
14421 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14424 if (flags & NDR_OUT) {
14425 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14426 NDR_PULL_ALLOC(ndr, r->out.ctr);
14428 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14429 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14430 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14431 if (_ptr_ctr) {
14432 NDR_PULL_ALLOC(ndr, *r->out.ctr);
14433 } else {
14434 *r->out.ctr = NULL;
14436 if (*r->out.ctr) {
14437 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14438 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14439 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14440 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14442 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14443 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14445 return NDR_ERR_SUCCESS;
14448 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
14450 uint32_t cntr_addresses_1;
14451 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
14452 ndr->depth++;
14453 if (flags & NDR_SET_VALUES) {
14454 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14456 if (flags & NDR_IN) {
14457 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
14458 ndr->depth++;
14459 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14460 ndr->depth++;
14461 if (r->in.server_name) {
14462 ndr_print_string(ndr, "server_name", r->in.server_name);
14464 ndr->depth--;
14465 ndr_print_uint32(ndr, "count", r->in.count);
14466 ndr_print_ptr(ndr, "addresses", r->in.addresses);
14467 ndr->depth++;
14468 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
14469 ndr->depth++;
14470 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
14471 char *idx_1=NULL;
14472 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
14473 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
14474 free(idx_1);
14477 ndr->depth--;
14478 ndr->depth--;
14479 ndr->depth--;
14481 if (flags & NDR_OUT) {
14482 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
14483 ndr->depth++;
14484 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14485 ndr->depth++;
14486 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
14487 ndr->depth++;
14488 if (*r->out.ctr) {
14489 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
14491 ndr->depth--;
14492 ndr->depth--;
14493 ndr_print_WERROR(ndr, "result", r->out.result);
14494 ndr->depth--;
14496 ndr->depth--;
14499 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
14501 if (flags & NDR_IN) {
14502 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
14503 if (r->in.server_unc) {
14504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14507 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));
14509 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
14510 if (r->in.client_account) {
14511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14512 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14514 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));
14516 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
14517 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
14518 if (r->in.domain_name) {
14519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14520 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14521 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14522 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));
14524 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
14525 if (r->in.domain_guid) {
14526 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14528 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
14529 if (r->in.site_name) {
14530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14533 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));
14535 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
14537 if (flags & NDR_OUT) {
14538 if (r->out.info == NULL) {
14539 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14541 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
14542 if (*r->out.info) {
14543 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14545 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14547 return NDR_ERR_SUCCESS;
14550 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
14552 uint32_t _ptr_server_unc;
14553 uint32_t size_server_unc_1 = 0;
14554 uint32_t length_server_unc_1 = 0;
14555 uint32_t _ptr_client_account;
14556 uint32_t size_client_account_1 = 0;
14557 uint32_t length_client_account_1 = 0;
14558 uint32_t _ptr_domain_name;
14559 uint32_t size_domain_name_1 = 0;
14560 uint32_t length_domain_name_1 = 0;
14561 uint32_t _ptr_domain_guid;
14562 uint32_t _ptr_site_name;
14563 uint32_t size_site_name_1 = 0;
14564 uint32_t length_site_name_1 = 0;
14565 uint32_t _ptr_info;
14566 TALLOC_CTX *_mem_save_server_unc_0;
14567 TALLOC_CTX *_mem_save_client_account_0;
14568 TALLOC_CTX *_mem_save_domain_name_0;
14569 TALLOC_CTX *_mem_save_domain_guid_0;
14570 TALLOC_CTX *_mem_save_site_name_0;
14571 TALLOC_CTX *_mem_save_info_0;
14572 TALLOC_CTX *_mem_save_info_1;
14573 if (flags & NDR_IN) {
14574 ZERO_STRUCT(r->out);
14576 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
14577 if (_ptr_server_unc) {
14578 NDR_PULL_ALLOC(ndr, r->in.server_unc);
14579 } else {
14580 r->in.server_unc = NULL;
14582 if (r->in.server_unc) {
14583 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
14584 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
14585 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
14586 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
14587 size_server_unc_1 = ndr_get_array_size(ndr, &r->in.server_unc);
14588 length_server_unc_1 = ndr_get_array_length(ndr, &r->in.server_unc);
14589 if (length_server_unc_1 > size_server_unc_1) {
14590 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_unc_1, length_server_unc_1);
14592 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_unc_1, sizeof(uint16_t)));
14593 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, length_server_unc_1, sizeof(uint16_t), CH_UTF16));
14594 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
14596 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
14597 if (_ptr_client_account) {
14598 NDR_PULL_ALLOC(ndr, r->in.client_account);
14599 } else {
14600 r->in.client_account = NULL;
14602 if (r->in.client_account) {
14603 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
14604 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
14605 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
14606 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
14607 size_client_account_1 = ndr_get_array_size(ndr, &r->in.client_account);
14608 length_client_account_1 = ndr_get_array_length(ndr, &r->in.client_account);
14609 if (length_client_account_1 > size_client_account_1) {
14610 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_client_account_1, length_client_account_1);
14612 NDR_CHECK(ndr_check_string_terminator(ndr, length_client_account_1, sizeof(uint16_t)));
14613 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_account, length_client_account_1, sizeof(uint16_t), CH_UTF16));
14614 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
14616 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
14617 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
14618 if (_ptr_domain_name) {
14619 NDR_PULL_ALLOC(ndr, r->in.domain_name);
14620 } else {
14621 r->in.domain_name = NULL;
14623 if (r->in.domain_name) {
14624 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14625 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
14626 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
14627 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
14628 size_domain_name_1 = ndr_get_array_size(ndr, &r->in.domain_name);
14629 length_domain_name_1 = ndr_get_array_length(ndr, &r->in.domain_name);
14630 if (length_domain_name_1 > size_domain_name_1) {
14631 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_name_1, length_domain_name_1);
14633 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_name_1, sizeof(uint16_t)));
14634 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, length_domain_name_1, sizeof(uint16_t), CH_UTF16));
14635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
14637 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
14638 if (_ptr_domain_guid) {
14639 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
14640 } else {
14641 r->in.domain_guid = NULL;
14643 if (r->in.domain_guid) {
14644 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14645 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
14646 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14647 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
14649 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
14650 if (_ptr_site_name) {
14651 NDR_PULL_ALLOC(ndr, r->in.site_name);
14652 } else {
14653 r->in.site_name = NULL;
14655 if (r->in.site_name) {
14656 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14657 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
14658 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
14659 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
14660 size_site_name_1 = ndr_get_array_size(ndr, &r->in.site_name);
14661 length_site_name_1 = ndr_get_array_length(ndr, &r->in.site_name);
14662 if (length_site_name_1 > size_site_name_1) {
14663 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_site_name_1, length_site_name_1);
14665 NDR_CHECK(ndr_check_string_terminator(ndr, length_site_name_1, sizeof(uint16_t)));
14666 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, length_site_name_1, sizeof(uint16_t), CH_UTF16));
14667 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
14669 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
14670 NDR_PULL_ALLOC(ndr, r->out.info);
14671 ZERO_STRUCTP(r->out.info);
14673 if (flags & NDR_OUT) {
14674 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14675 NDR_PULL_ALLOC(ndr, r->out.info);
14677 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14678 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14679 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14680 if (_ptr_info) {
14681 NDR_PULL_ALLOC(ndr, *r->out.info);
14682 } else {
14683 *r->out.info = NULL;
14685 if (*r->out.info) {
14686 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14687 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
14688 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
14691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14692 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14694 return NDR_ERR_SUCCESS;
14697 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
14699 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
14700 ndr->depth++;
14701 if (flags & NDR_SET_VALUES) {
14702 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14704 if (flags & NDR_IN) {
14705 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
14706 ndr->depth++;
14707 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
14708 ndr->depth++;
14709 if (r->in.server_unc) {
14710 ndr_print_string(ndr, "server_unc", r->in.server_unc);
14712 ndr->depth--;
14713 ndr_print_ptr(ndr, "client_account", r->in.client_account);
14714 ndr->depth++;
14715 if (r->in.client_account) {
14716 ndr_print_string(ndr, "client_account", r->in.client_account);
14718 ndr->depth--;
14719 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
14720 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
14721 ndr->depth++;
14722 if (r->in.domain_name) {
14723 ndr_print_string(ndr, "domain_name", r->in.domain_name);
14725 ndr->depth--;
14726 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
14727 ndr->depth++;
14728 if (r->in.domain_guid) {
14729 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
14731 ndr->depth--;
14732 ndr_print_ptr(ndr, "site_name", r->in.site_name);
14733 ndr->depth++;
14734 if (r->in.site_name) {
14735 ndr_print_string(ndr, "site_name", r->in.site_name);
14737 ndr->depth--;
14738 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
14739 ndr->depth--;
14741 if (flags & NDR_OUT) {
14742 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
14743 ndr->depth++;
14744 ndr_print_ptr(ndr, "info", r->out.info);
14745 ndr->depth++;
14746 ndr_print_ptr(ndr, "info", *r->out.info);
14747 ndr->depth++;
14748 if (*r->out.info) {
14749 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
14751 ndr->depth--;
14752 ndr->depth--;
14753 ndr_print_WERROR(ndr, "result", r->out.result);
14754 ndr->depth--;
14756 ndr->depth--;
14759 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14761 if (flags & NDR_IN) {
14763 if (flags & NDR_OUT) {
14764 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14766 return NDR_ERR_SUCCESS;
14769 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14771 if (flags & NDR_IN) {
14773 if (flags & NDR_OUT) {
14774 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14776 return NDR_ERR_SUCCESS;
14779 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14781 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14782 ndr->depth++;
14783 if (flags & NDR_SET_VALUES) {
14784 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14786 if (flags & NDR_IN) {
14787 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14788 ndr->depth++;
14789 ndr->depth--;
14791 if (flags & NDR_OUT) {
14792 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14793 ndr->depth++;
14794 ndr_print_WERROR(ndr, "result", r->out.result);
14795 ndr->depth--;
14797 ndr->depth--;
14800 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14802 if (flags & NDR_IN) {
14803 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14804 if (r->in.server_name) {
14805 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14808 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));
14811 if (flags & NDR_OUT) {
14812 if (r->out.dom_trust_list == NULL) {
14813 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14815 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14816 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14818 return NDR_ERR_SUCCESS;
14821 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
14823 uint32_t _ptr_server_name;
14824 uint32_t size_server_name_1 = 0;
14825 uint32_t length_server_name_1 = 0;
14826 TALLOC_CTX *_mem_save_server_name_0;
14827 TALLOC_CTX *_mem_save_dom_trust_list_0;
14828 if (flags & NDR_IN) {
14829 ZERO_STRUCT(r->out);
14831 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14832 if (_ptr_server_name) {
14833 NDR_PULL_ALLOC(ndr, r->in.server_name);
14834 } else {
14835 r->in.server_name = NULL;
14837 if (r->in.server_name) {
14838 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14839 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14840 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14841 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14842 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
14843 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
14844 if (length_server_name_1 > size_server_name_1) {
14845 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
14847 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
14848 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
14849 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14851 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14852 ZERO_STRUCTP(r->out.dom_trust_list);
14854 if (flags & NDR_OUT) {
14855 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14856 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14858 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
14859 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
14860 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
14862 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14864 return NDR_ERR_SUCCESS;
14867 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14869 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
14870 ndr->depth++;
14871 if (flags & NDR_SET_VALUES) {
14872 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14874 if (flags & NDR_IN) {
14875 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
14876 ndr->depth++;
14877 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14878 ndr->depth++;
14879 if (r->in.server_name) {
14880 ndr_print_string(ndr, "server_name", r->in.server_name);
14882 ndr->depth--;
14883 ndr->depth--;
14885 if (flags & NDR_OUT) {
14886 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
14887 ndr->depth++;
14888 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
14889 ndr->depth++;
14890 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
14891 ndr->depth--;
14892 ndr_print_WERROR(ndr, "result", r->out.result);
14893 ndr->depth--;
14895 ndr->depth--;
14898 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
14900 uint32_t cntr_addresses_1;
14901 if (flags & NDR_IN) {
14902 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14903 if (r->in.server_name) {
14904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14905 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14906 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14907 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));
14909 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14910 if (r->in.addresses == NULL) {
14911 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14914 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14915 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14917 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14918 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14921 if (flags & NDR_OUT) {
14922 if (r->out.ctr == NULL) {
14923 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14925 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14926 if (*r->out.ctr) {
14927 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14929 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14931 return NDR_ERR_SUCCESS;
14934 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
14936 uint32_t _ptr_server_name;
14937 uint32_t size_server_name_1 = 0;
14938 uint32_t length_server_name_1 = 0;
14939 uint32_t size_addresses_1 = 0;
14940 uint32_t cntr_addresses_1;
14941 uint32_t _ptr_ctr;
14942 TALLOC_CTX *_mem_save_server_name_0;
14943 TALLOC_CTX *_mem_save_addresses_1;
14944 TALLOC_CTX *_mem_save_ctr_0;
14945 TALLOC_CTX *_mem_save_ctr_1;
14946 if (flags & NDR_IN) {
14947 ZERO_STRUCT(r->out);
14949 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14950 if (_ptr_server_name) {
14951 NDR_PULL_ALLOC(ndr, r->in.server_name);
14952 } else {
14953 r->in.server_name = NULL;
14955 if (r->in.server_name) {
14956 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14957 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14958 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14959 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14960 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
14961 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
14962 if (length_server_name_1 > size_server_name_1) {
14963 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
14965 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
14966 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
14967 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14969 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14970 if (r->in.count > 32000) {
14971 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14973 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14974 size_addresses_1 = ndr_get_array_size(ndr, &r->in.addresses);
14975 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14976 NDR_PULL_ALLOC_N(ndr, r->in.addresses, size_addresses_1);
14978 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14979 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14980 for (cntr_addresses_1 = 0; cntr_addresses_1 < size_addresses_1; cntr_addresses_1++) {
14981 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14983 for (cntr_addresses_1 = 0; cntr_addresses_1 < size_addresses_1; cntr_addresses_1++) {
14984 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14986 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14987 NDR_PULL_ALLOC(ndr, r->out.ctr);
14988 ZERO_STRUCTP(r->out.ctr);
14989 if (r->in.addresses) {
14990 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14993 if (flags & NDR_OUT) {
14994 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14995 NDR_PULL_ALLOC(ndr, r->out.ctr);
14997 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14998 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14999 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
15000 if (_ptr_ctr) {
15001 NDR_PULL_ALLOC(ndr, *r->out.ctr);
15002 } else {
15003 *r->out.ctr = NULL;
15005 if (*r->out.ctr) {
15006 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
15007 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
15008 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15009 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
15011 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15012 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15014 return NDR_ERR_SUCCESS;
15017 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
15019 uint32_t cntr_addresses_1;
15020 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
15021 ndr->depth++;
15022 if (flags & NDR_SET_VALUES) {
15023 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15025 if (flags & NDR_IN) {
15026 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
15027 ndr->depth++;
15028 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15029 ndr->depth++;
15030 if (r->in.server_name) {
15031 ndr_print_string(ndr, "server_name", r->in.server_name);
15033 ndr->depth--;
15034 ndr_print_uint32(ndr, "count", r->in.count);
15035 ndr_print_ptr(ndr, "addresses", r->in.addresses);
15036 ndr->depth++;
15037 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
15038 ndr->depth++;
15039 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
15040 char *idx_1=NULL;
15041 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
15042 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
15043 free(idx_1);
15046 ndr->depth--;
15047 ndr->depth--;
15048 ndr->depth--;
15050 if (flags & NDR_OUT) {
15051 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
15052 ndr->depth++;
15053 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15054 ndr->depth++;
15055 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
15056 ndr->depth++;
15057 if (*r->out.ctr) {
15058 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
15060 ndr->depth--;
15061 ndr->depth--;
15062 ndr_print_WERROR(ndr, "result", r->out.result);
15063 ndr->depth--;
15065 ndr->depth--;
15068 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
15070 if (flags & NDR_IN) {
15071 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15072 if (r->in.server_name) {
15073 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15074 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15076 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));
15079 if (flags & NDR_OUT) {
15080 if (r->out.ctr == NULL) {
15081 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15083 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
15084 if (*r->out.ctr) {
15085 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15087 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15089 return NDR_ERR_SUCCESS;
15092 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
15094 uint32_t _ptr_server_name;
15095 uint32_t size_server_name_1 = 0;
15096 uint32_t length_server_name_1 = 0;
15097 uint32_t _ptr_ctr;
15098 TALLOC_CTX *_mem_save_server_name_0;
15099 TALLOC_CTX *_mem_save_ctr_0;
15100 TALLOC_CTX *_mem_save_ctr_1;
15101 if (flags & NDR_IN) {
15102 ZERO_STRUCT(r->out);
15104 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15105 if (_ptr_server_name) {
15106 NDR_PULL_ALLOC(ndr, r->in.server_name);
15107 } else {
15108 r->in.server_name = NULL;
15110 if (r->in.server_name) {
15111 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15112 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15113 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15114 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15115 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
15116 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
15117 if (length_server_name_1 > size_server_name_1) {
15118 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
15120 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
15121 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
15122 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15124 NDR_PULL_ALLOC(ndr, r->out.ctr);
15125 ZERO_STRUCTP(r->out.ctr);
15127 if (flags & NDR_OUT) {
15128 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15129 NDR_PULL_ALLOC(ndr, r->out.ctr);
15131 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15132 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15133 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
15134 if (_ptr_ctr) {
15135 NDR_PULL_ALLOC(ndr, *r->out.ctr);
15136 } else {
15137 *r->out.ctr = NULL;
15139 if (*r->out.ctr) {
15140 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
15141 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
15142 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15143 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
15145 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15146 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15148 return NDR_ERR_SUCCESS;
15151 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
15153 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
15154 ndr->depth++;
15155 if (flags & NDR_SET_VALUES) {
15156 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15158 if (flags & NDR_IN) {
15159 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
15160 ndr->depth++;
15161 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15162 ndr->depth++;
15163 if (r->in.server_name) {
15164 ndr_print_string(ndr, "server_name", r->in.server_name);
15166 ndr->depth--;
15167 ndr->depth--;
15169 if (flags & NDR_OUT) {
15170 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
15171 ndr->depth++;
15172 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15173 ndr->depth++;
15174 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
15175 ndr->depth++;
15176 if (*r->out.ctr) {
15177 ndr_print_DcSitesCtr(ndr, "ctr", *r->out.ctr);
15179 ndr->depth--;
15180 ndr->depth--;
15181 ndr_print_WERROR(ndr, "result", r->out.result);
15182 ndr->depth--;
15184 ndr->depth--;
15187 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
15189 if (flags & NDR_IN) {
15190 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15191 if (r->in.server_name) {
15192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15195 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));
15197 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
15198 if (r->in.computer_name) {
15199 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15200 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15202 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));
15204 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
15205 if (r->in.logon == NULL) {
15206 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15208 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15209 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15210 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
15211 if (r->in.flags == NULL) {
15212 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
15216 if (flags & NDR_OUT) {
15217 if (r->out.validation == NULL) {
15218 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15220 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15221 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15222 if (r->out.authoritative == NULL) {
15223 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15225 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
15226 if (r->out.flags == NULL) {
15227 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
15230 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15232 return NDR_ERR_SUCCESS;
15235 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
15237 uint32_t _ptr_server_name;
15238 uint32_t size_server_name_1 = 0;
15239 uint32_t length_server_name_1 = 0;
15240 uint32_t _ptr_computer_name;
15241 uint32_t size_computer_name_1 = 0;
15242 uint32_t length_computer_name_1 = 0;
15243 TALLOC_CTX *_mem_save_server_name_0;
15244 TALLOC_CTX *_mem_save_computer_name_0;
15245 TALLOC_CTX *_mem_save_logon_0;
15246 TALLOC_CTX *_mem_save_validation_0;
15247 TALLOC_CTX *_mem_save_authoritative_0;
15248 TALLOC_CTX *_mem_save_flags_0;
15249 if (flags & NDR_IN) {
15250 ZERO_STRUCT(r->out);
15252 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15253 if (_ptr_server_name) {
15254 NDR_PULL_ALLOC(ndr, r->in.server_name);
15255 } else {
15256 r->in.server_name = NULL;
15258 if (r->in.server_name) {
15259 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15260 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15261 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15262 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15263 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
15264 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
15265 if (length_server_name_1 > size_server_name_1) {
15266 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
15268 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
15269 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
15270 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15272 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
15273 if (_ptr_computer_name) {
15274 NDR_PULL_ALLOC(ndr, r->in.computer_name);
15275 } else {
15276 r->in.computer_name = NULL;
15278 if (r->in.computer_name) {
15279 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15280 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
15281 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15282 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15283 size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
15284 length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
15285 if (length_computer_name_1 > size_computer_name_1) {
15286 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
15288 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
15289 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
15290 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
15292 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
15293 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15294 NDR_PULL_ALLOC(ndr, r->in.logon);
15296 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
15297 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
15298 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15299 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15300 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
15301 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
15302 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15303 NDR_PULL_ALLOC(ndr, r->in.flags);
15305 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15306 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
15307 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
15308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15309 NDR_PULL_ALLOC(ndr, r->out.validation);
15310 ZERO_STRUCTP(r->out.validation);
15311 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15312 ZERO_STRUCTP(r->out.authoritative);
15313 NDR_PULL_ALLOC(ndr, r->out.flags);
15314 *r->out.flags = *r->in.flags;
15316 if (flags & NDR_OUT) {
15317 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15318 NDR_PULL_ALLOC(ndr, r->out.validation);
15320 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
15321 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
15322 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15323 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15324 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
15325 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15326 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15328 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
15329 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
15330 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
15331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
15332 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15333 NDR_PULL_ALLOC(ndr, r->out.flags);
15335 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15336 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
15337 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
15338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15339 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15341 return NDR_ERR_SUCCESS;
15344 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
15346 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
15347 ndr->depth++;
15348 if (flags & NDR_SET_VALUES) {
15349 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15351 if (flags & NDR_IN) {
15352 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
15353 ndr->depth++;
15354 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15355 ndr->depth++;
15356 if (r->in.server_name) {
15357 ndr_print_string(ndr, "server_name", r->in.server_name);
15359 ndr->depth--;
15360 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15361 ndr->depth++;
15362 if (r->in.computer_name) {
15363 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15365 ndr->depth--;
15366 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
15367 ndr_print_ptr(ndr, "logon", r->in.logon);
15368 ndr->depth++;
15369 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
15370 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
15371 ndr->depth--;
15372 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
15373 ndr_print_ptr(ndr, "flags", r->in.flags);
15374 ndr->depth++;
15375 ndr_print_uint32(ndr, "flags", *r->in.flags);
15376 ndr->depth--;
15377 ndr->depth--;
15379 if (flags & NDR_OUT) {
15380 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
15381 ndr->depth++;
15382 ndr_print_ptr(ndr, "validation", r->out.validation);
15383 ndr->depth++;
15384 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
15385 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
15386 ndr->depth--;
15387 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
15388 ndr->depth++;
15389 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
15390 ndr->depth--;
15391 ndr_print_ptr(ndr, "flags", r->out.flags);
15392 ndr->depth++;
15393 ndr_print_uint32(ndr, "flags", *r->out.flags);
15394 ndr->depth--;
15395 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15396 ndr->depth--;
15398 ndr->depth--;
15401 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15403 if (flags & NDR_IN) {
15404 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15405 if (r->in.server_name) {
15406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15409 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));
15411 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
15413 if (flags & NDR_OUT) {
15414 if (r->out.trusts == NULL) {
15415 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15417 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15418 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15420 return NDR_ERR_SUCCESS;
15423 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
15425 uint32_t _ptr_server_name;
15426 uint32_t size_server_name_1 = 0;
15427 uint32_t length_server_name_1 = 0;
15428 TALLOC_CTX *_mem_save_server_name_0;
15429 TALLOC_CTX *_mem_save_trusts_0;
15430 if (flags & NDR_IN) {
15431 ZERO_STRUCT(r->out);
15433 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15434 if (_ptr_server_name) {
15435 NDR_PULL_ALLOC(ndr, r->in.server_name);
15436 } else {
15437 r->in.server_name = NULL;
15439 if (r->in.server_name) {
15440 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15441 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15442 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15443 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15444 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
15445 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
15446 if (length_server_name_1 > size_server_name_1) {
15447 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
15449 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
15450 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
15451 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15453 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
15454 NDR_PULL_ALLOC(ndr, r->out.trusts);
15455 ZERO_STRUCTP(r->out.trusts);
15457 if (flags & NDR_OUT) {
15458 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15459 NDR_PULL_ALLOC(ndr, r->out.trusts);
15461 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
15462 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
15463 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15464 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
15465 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15467 return NDR_ERR_SUCCESS;
15470 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15472 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
15473 ndr->depth++;
15474 if (flags & NDR_SET_VALUES) {
15475 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15477 if (flags & NDR_IN) {
15478 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
15479 ndr->depth++;
15480 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15481 ndr->depth++;
15482 if (r->in.server_name) {
15483 ndr_print_string(ndr, "server_name", r->in.server_name);
15485 ndr->depth--;
15486 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
15487 ndr->depth--;
15489 if (flags & NDR_OUT) {
15490 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
15491 ndr->depth++;
15492 ndr_print_ptr(ndr, "trusts", r->out.trusts);
15493 ndr->depth++;
15494 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
15495 ndr->depth--;
15496 ndr_print_WERROR(ndr, "result", r->out.result);
15497 ndr->depth--;
15499 ndr->depth--;
15502 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15504 if (flags & NDR_IN) {
15505 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15506 if (r->in.server_name) {
15507 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15509 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15510 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));
15512 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
15513 if (r->in.domain) {
15514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15517 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15519 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
15520 if (r->in.domain_guid) {
15521 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15523 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
15524 if (r->in.dsa_guid) {
15525 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15527 if (r->in.dns_host == NULL) {
15528 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15533 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));
15535 if (flags & NDR_OUT) {
15536 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15538 return NDR_ERR_SUCCESS;
15541 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
15543 uint32_t _ptr_server_name;
15544 uint32_t size_server_name_1 = 0;
15545 uint32_t length_server_name_1 = 0;
15546 uint32_t _ptr_domain;
15547 uint32_t size_domain_1 = 0;
15548 uint32_t length_domain_1 = 0;
15549 uint32_t _ptr_domain_guid;
15550 uint32_t _ptr_dsa_guid;
15551 uint32_t size_dns_host_1 = 0;
15552 uint32_t length_dns_host_1 = 0;
15553 TALLOC_CTX *_mem_save_server_name_0;
15554 TALLOC_CTX *_mem_save_domain_0;
15555 TALLOC_CTX *_mem_save_domain_guid_0;
15556 TALLOC_CTX *_mem_save_dsa_guid_0;
15557 if (flags & NDR_IN) {
15558 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15559 if (_ptr_server_name) {
15560 NDR_PULL_ALLOC(ndr, r->in.server_name);
15561 } else {
15562 r->in.server_name = NULL;
15564 if (r->in.server_name) {
15565 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15566 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15567 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15568 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15569 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
15570 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
15571 if (length_server_name_1 > size_server_name_1) {
15572 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
15574 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
15575 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
15576 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15578 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
15579 if (_ptr_domain) {
15580 NDR_PULL_ALLOC(ndr, r->in.domain);
15581 } else {
15582 r->in.domain = NULL;
15584 if (r->in.domain) {
15585 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
15586 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
15587 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
15588 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
15589 size_domain_1 = ndr_get_array_size(ndr, &r->in.domain);
15590 length_domain_1 = ndr_get_array_length(ndr, &r->in.domain);
15591 if (length_domain_1 > size_domain_1) {
15592 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_domain_1, length_domain_1);
15594 NDR_CHECK(ndr_check_string_terminator(ndr, length_domain_1, sizeof(uint16_t)));
15595 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, length_domain_1, sizeof(uint16_t), CH_UTF16));
15596 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
15598 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
15599 if (_ptr_domain_guid) {
15600 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
15601 } else {
15602 r->in.domain_guid = NULL;
15604 if (r->in.domain_guid) {
15605 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15606 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
15607 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15608 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
15610 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
15611 if (_ptr_dsa_guid) {
15612 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
15613 } else {
15614 r->in.dsa_guid = NULL;
15616 if (r->in.dsa_guid) {
15617 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15618 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
15619 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
15622 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
15623 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
15624 size_dns_host_1 = ndr_get_array_size(ndr, &r->in.dns_host);
15625 length_dns_host_1 = ndr_get_array_length(ndr, &r->in.dns_host);
15626 if (length_dns_host_1 > size_dns_host_1) {
15627 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_host_1, length_dns_host_1);
15629 NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_host_1, sizeof(uint16_t)));
15630 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_host, length_dns_host_1, sizeof(uint16_t), CH_UTF16));
15632 if (flags & NDR_OUT) {
15633 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15635 return NDR_ERR_SUCCESS;
15638 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15640 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
15641 ndr->depth++;
15642 if (flags & NDR_SET_VALUES) {
15643 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15645 if (flags & NDR_IN) {
15646 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
15647 ndr->depth++;
15648 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15649 ndr->depth++;
15650 if (r->in.server_name) {
15651 ndr_print_string(ndr, "server_name", r->in.server_name);
15653 ndr->depth--;
15654 ndr_print_ptr(ndr, "domain", r->in.domain);
15655 ndr->depth++;
15656 if (r->in.domain) {
15657 ndr_print_string(ndr, "domain", r->in.domain);
15659 ndr->depth--;
15660 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
15661 ndr->depth++;
15662 if (r->in.domain_guid) {
15663 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
15665 ndr->depth--;
15666 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
15667 ndr->depth++;
15668 if (r->in.dsa_guid) {
15669 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
15671 ndr->depth--;
15672 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
15673 ndr->depth++;
15674 ndr_print_string(ndr, "dns_host", r->in.dns_host);
15675 ndr->depth--;
15676 ndr->depth--;
15678 if (flags & NDR_OUT) {
15679 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
15680 ndr->depth++;
15681 ndr_print_WERROR(ndr, "result", r->out.result);
15682 ndr->depth--;
15684 ndr->depth--;
15687 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
15689 if (flags & NDR_IN) {
15690 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15691 if (r->in.server_name) {
15692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15695 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));
15697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15698 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15699 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15700 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));
15701 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
15702 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15703 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15704 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15705 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));
15706 if (r->in.credential == NULL) {
15707 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15709 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15711 if (flags & NDR_OUT) {
15712 if (r->out.return_authenticator == NULL) {
15713 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15715 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15716 if (r->out.password == NULL) {
15717 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15719 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
15720 if (r->out.password2 == NULL) {
15721 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15723 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15724 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15726 return NDR_ERR_SUCCESS;
15729 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
15731 uint32_t _ptr_server_name;
15732 uint32_t size_server_name_1 = 0;
15733 uint32_t length_server_name_1 = 0;
15734 uint32_t size_account_name_0 = 0;
15735 uint32_t length_account_name_0 = 0;
15736 uint32_t size_computer_name_0 = 0;
15737 uint32_t length_computer_name_0 = 0;
15738 TALLOC_CTX *_mem_save_server_name_0;
15739 TALLOC_CTX *_mem_save_credential_0;
15740 TALLOC_CTX *_mem_save_return_authenticator_0;
15741 TALLOC_CTX *_mem_save_password_0;
15742 TALLOC_CTX *_mem_save_password2_0;
15743 if (flags & NDR_IN) {
15744 ZERO_STRUCT(r->out);
15746 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15747 if (_ptr_server_name) {
15748 NDR_PULL_ALLOC(ndr, r->in.server_name);
15749 } else {
15750 r->in.server_name = NULL;
15752 if (r->in.server_name) {
15753 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15754 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15755 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15756 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15757 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
15758 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
15759 if (length_server_name_1 > size_server_name_1) {
15760 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
15762 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
15763 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
15764 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15766 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
15767 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
15768 size_account_name_0 = ndr_get_array_size(ndr, &r->in.account_name);
15769 length_account_name_0 = ndr_get_array_length(ndr, &r->in.account_name);
15770 if (length_account_name_0 > size_account_name_0) {
15771 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_0, length_account_name_0);
15773 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_0, sizeof(uint16_t)));
15774 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_0, sizeof(uint16_t), CH_UTF16));
15775 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
15776 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15777 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15778 size_computer_name_0 = ndr_get_array_size(ndr, &r->in.computer_name);
15779 length_computer_name_0 = ndr_get_array_length(ndr, &r->in.computer_name);
15780 if (length_computer_name_0 > size_computer_name_0) {
15781 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_0, length_computer_name_0);
15783 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_0, sizeof(uint16_t)));
15784 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_0, sizeof(uint16_t), CH_UTF16));
15785 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15786 NDR_PULL_ALLOC(ndr, r->in.credential);
15788 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15789 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15790 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15791 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15792 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15793 ZERO_STRUCTP(r->out.return_authenticator);
15794 NDR_PULL_ALLOC(ndr, r->out.password);
15795 ZERO_STRUCTP(r->out.password);
15796 NDR_PULL_ALLOC(ndr, r->out.password2);
15797 ZERO_STRUCTP(r->out.password2);
15799 if (flags & NDR_OUT) {
15800 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15801 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15803 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15804 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15805 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15806 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15807 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15808 NDR_PULL_ALLOC(ndr, r->out.password);
15810 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
15811 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
15812 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
15813 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
15814 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15815 NDR_PULL_ALLOC(ndr, r->out.password2);
15817 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
15818 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
15819 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
15821 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15823 return NDR_ERR_SUCCESS;
15826 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
15828 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
15829 ndr->depth++;
15830 if (flags & NDR_SET_VALUES) {
15831 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15833 if (flags & NDR_IN) {
15834 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
15835 ndr->depth++;
15836 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15837 ndr->depth++;
15838 if (r->in.server_name) {
15839 ndr_print_string(ndr, "server_name", r->in.server_name);
15841 ndr->depth--;
15842 ndr_print_string(ndr, "account_name", r->in.account_name);
15843 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
15844 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15845 ndr_print_ptr(ndr, "credential", r->in.credential);
15846 ndr->depth++;
15847 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15848 ndr->depth--;
15849 ndr->depth--;
15851 if (flags & NDR_OUT) {
15852 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
15853 ndr->depth++;
15854 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15855 ndr->depth++;
15856 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15857 ndr->depth--;
15858 ndr_print_ptr(ndr, "password", r->out.password);
15859 ndr->depth++;
15860 ndr_print_samr_Password(ndr, "password", r->out.password);
15861 ndr->depth--;
15862 ndr_print_ptr(ndr, "password2", r->out.password2);
15863 ndr->depth++;
15864 ndr_print_samr_Password(ndr, "password2", r->out.password2);
15865 ndr->depth--;
15866 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15867 ndr->depth--;
15869 ndr->depth--;
15872 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
15874 if (flags & NDR_IN) {
15875 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15876 if (r->in.server_name) {
15877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15878 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15880 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));
15882 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
15883 if (r->in.trusted_domain_name) {
15884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15887 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));
15889 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
15891 if (flags & NDR_OUT) {
15892 if (r->out.forest_trust_info == NULL) {
15893 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15895 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
15896 if (*r->out.forest_trust_info) {
15897 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15899 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15901 return NDR_ERR_SUCCESS;
15904 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
15906 uint32_t _ptr_server_name;
15907 uint32_t size_server_name_1 = 0;
15908 uint32_t length_server_name_1 = 0;
15909 uint32_t _ptr_trusted_domain_name;
15910 uint32_t size_trusted_domain_name_1 = 0;
15911 uint32_t length_trusted_domain_name_1 = 0;
15912 uint32_t _ptr_forest_trust_info;
15913 TALLOC_CTX *_mem_save_server_name_0;
15914 TALLOC_CTX *_mem_save_trusted_domain_name_0;
15915 TALLOC_CTX *_mem_save_forest_trust_info_0;
15916 TALLOC_CTX *_mem_save_forest_trust_info_1;
15917 if (flags & NDR_IN) {
15918 ZERO_STRUCT(r->out);
15920 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15921 if (_ptr_server_name) {
15922 NDR_PULL_ALLOC(ndr, r->in.server_name);
15923 } else {
15924 r->in.server_name = NULL;
15926 if (r->in.server_name) {
15927 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15928 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15929 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15930 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15931 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
15932 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
15933 if (length_server_name_1 > size_server_name_1) {
15934 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
15936 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
15937 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
15938 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15940 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
15941 if (_ptr_trusted_domain_name) {
15942 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
15943 } else {
15944 r->in.trusted_domain_name = NULL;
15946 if (r->in.trusted_domain_name) {
15947 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15948 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
15949 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
15950 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
15951 size_trusted_domain_name_1 = ndr_get_array_size(ndr, &r->in.trusted_domain_name);
15952 length_trusted_domain_name_1 = ndr_get_array_length(ndr, &r->in.trusted_domain_name);
15953 if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
15954 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_domain_name_1, length_trusted_domain_name_1);
15956 NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
15957 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
15958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
15960 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
15961 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15962 ZERO_STRUCTP(r->out.forest_trust_info);
15964 if (flags & NDR_OUT) {
15965 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15966 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15968 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15969 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
15970 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
15971 if (_ptr_forest_trust_info) {
15972 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
15973 } else {
15974 *r->out.forest_trust_info = NULL;
15976 if (*r->out.forest_trust_info) {
15977 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
15978 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
15979 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15980 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
15982 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
15983 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15985 return NDR_ERR_SUCCESS;
15988 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
15990 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
15991 ndr->depth++;
15992 if (flags & NDR_SET_VALUES) {
15993 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15995 if (flags & NDR_IN) {
15996 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
15997 ndr->depth++;
15998 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15999 ndr->depth++;
16000 if (r->in.server_name) {
16001 ndr_print_string(ndr, "server_name", r->in.server_name);
16003 ndr->depth--;
16004 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16005 ndr->depth++;
16006 if (r->in.trusted_domain_name) {
16007 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16009 ndr->depth--;
16010 ndr_print_uint32(ndr, "flags", r->in.flags);
16011 ndr->depth--;
16013 if (flags & NDR_OUT) {
16014 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
16015 ndr->depth++;
16016 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
16017 ndr->depth++;
16018 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
16019 ndr->depth++;
16020 if (*r->out.forest_trust_info) {
16021 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
16023 ndr->depth--;
16024 ndr->depth--;
16025 ndr_print_WERROR(ndr, "result", r->out.result);
16026 ndr->depth--;
16028 ndr->depth--;
16031 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
16033 if (flags & NDR_IN) {
16034 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16035 if (r->in.server_name) {
16036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16039 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));
16041 if (r->in.trusted_domain_name == NULL) {
16042 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
16045 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16046 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
16047 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));
16048 if (r->in.credential == NULL) {
16049 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16051 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
16054 if (flags & NDR_OUT) {
16055 if (r->out.return_authenticator == NULL) {
16056 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16058 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16059 if (r->out.forest_trust_info == NULL) {
16060 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16062 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
16063 if (*r->out.forest_trust_info) {
16064 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16066 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16068 return NDR_ERR_SUCCESS;
16071 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
16073 uint32_t _ptr_server_name;
16074 uint32_t size_server_name_1 = 0;
16075 uint32_t length_server_name_1 = 0;
16076 uint32_t size_trusted_domain_name_1 = 0;
16077 uint32_t length_trusted_domain_name_1 = 0;
16078 uint32_t _ptr_forest_trust_info;
16079 TALLOC_CTX *_mem_save_server_name_0;
16080 TALLOC_CTX *_mem_save_credential_0;
16081 TALLOC_CTX *_mem_save_return_authenticator_0;
16082 TALLOC_CTX *_mem_save_forest_trust_info_0;
16083 TALLOC_CTX *_mem_save_forest_trust_info_1;
16084 if (flags & NDR_IN) {
16085 ZERO_STRUCT(r->out);
16087 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16088 if (_ptr_server_name) {
16089 NDR_PULL_ALLOC(ndr, r->in.server_name);
16090 } else {
16091 r->in.server_name = NULL;
16093 if (r->in.server_name) {
16094 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16095 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16096 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16097 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16098 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
16099 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
16100 if (length_server_name_1 > size_server_name_1) {
16101 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
16103 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
16104 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
16105 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16107 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
16108 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
16109 size_trusted_domain_name_1 = ndr_get_array_size(ndr, &r->in.trusted_domain_name);
16110 length_trusted_domain_name_1 = ndr_get_array_length(ndr, &r->in.trusted_domain_name);
16111 if (length_trusted_domain_name_1 > size_trusted_domain_name_1) {
16112 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_trusted_domain_name_1, length_trusted_domain_name_1);
16114 NDR_CHECK(ndr_check_string_terminator(ndr, length_trusted_domain_name_1, sizeof(uint16_t)));
16115 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, length_trusted_domain_name_1, sizeof(uint16_t), CH_UTF16));
16116 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16117 NDR_PULL_ALLOC(ndr, r->in.credential);
16119 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16120 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16121 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16122 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16123 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
16124 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16125 ZERO_STRUCTP(r->out.return_authenticator);
16126 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16127 ZERO_STRUCTP(r->out.forest_trust_info);
16129 if (flags & NDR_OUT) {
16130 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16131 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16133 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16134 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16135 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16136 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16137 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16138 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16140 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16141 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
16142 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
16143 if (_ptr_forest_trust_info) {
16144 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
16145 } else {
16146 *r->out.forest_trust_info = NULL;
16148 if (*r->out.forest_trust_info) {
16149 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16150 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
16151 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
16154 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16155 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16157 return NDR_ERR_SUCCESS;
16160 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
16162 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
16163 ndr->depth++;
16164 if (flags & NDR_SET_VALUES) {
16165 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16167 if (flags & NDR_IN) {
16168 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
16169 ndr->depth++;
16170 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16171 ndr->depth++;
16172 if (r->in.server_name) {
16173 ndr_print_string(ndr, "server_name", r->in.server_name);
16175 ndr->depth--;
16176 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16177 ndr->depth++;
16178 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16179 ndr->depth--;
16180 ndr_print_ptr(ndr, "credential", r->in.credential);
16181 ndr->depth++;
16182 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16183 ndr->depth--;
16184 ndr_print_uint32(ndr, "flags", r->in.flags);
16185 ndr->depth--;
16187 if (flags & NDR_OUT) {
16188 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
16189 ndr->depth++;
16190 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16191 ndr->depth++;
16192 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16193 ndr->depth--;
16194 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
16195 ndr->depth++;
16196 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
16197 ndr->depth++;
16198 if (*r->out.forest_trust_info) {
16199 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
16201 ndr->depth--;
16202 ndr->depth--;
16203 ndr_print_WERROR(ndr, "result", r->out.result);
16204 ndr->depth--;
16206 ndr->depth--;
16209 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
16211 if (flags & NDR_IN) {
16212 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16213 if (r->in.server_name) {
16214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16215 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16217 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));
16219 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
16220 if (r->in.computer_name) {
16221 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16224 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));
16226 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
16227 if (r->in.credential) {
16228 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16230 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
16231 if (r->in.return_authenticator) {
16232 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16234 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
16235 if (r->in.logon == NULL) {
16236 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16238 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16239 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16240 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
16241 if (r->in.flags == NULL) {
16242 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
16246 if (flags & NDR_OUT) {
16247 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
16248 if (r->out.return_authenticator) {
16249 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16251 if (r->out.validation == NULL) {
16252 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16254 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16255 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16256 if (r->out.authoritative == NULL) {
16257 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16259 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
16260 if (r->out.flags == NULL) {
16261 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
16264 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16266 return NDR_ERR_SUCCESS;
16269 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
16271 uint32_t _ptr_server_name;
16272 uint32_t size_server_name_1 = 0;
16273 uint32_t length_server_name_1 = 0;
16274 uint32_t _ptr_computer_name;
16275 uint32_t size_computer_name_1 = 0;
16276 uint32_t length_computer_name_1 = 0;
16277 uint32_t _ptr_credential;
16278 uint32_t _ptr_return_authenticator;
16279 TALLOC_CTX *_mem_save_server_name_0;
16280 TALLOC_CTX *_mem_save_computer_name_0;
16281 TALLOC_CTX *_mem_save_credential_0;
16282 TALLOC_CTX *_mem_save_return_authenticator_0;
16283 TALLOC_CTX *_mem_save_logon_0;
16284 TALLOC_CTX *_mem_save_validation_0;
16285 TALLOC_CTX *_mem_save_authoritative_0;
16286 TALLOC_CTX *_mem_save_flags_0;
16287 if (flags & NDR_IN) {
16288 ZERO_STRUCT(r->out);
16290 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16291 if (_ptr_server_name) {
16292 NDR_PULL_ALLOC(ndr, r->in.server_name);
16293 } else {
16294 r->in.server_name = NULL;
16296 if (r->in.server_name) {
16297 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16298 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16299 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16300 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16301 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
16302 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
16303 if (length_server_name_1 > size_server_name_1) {
16304 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
16306 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
16307 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
16308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16310 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
16311 if (_ptr_computer_name) {
16312 NDR_PULL_ALLOC(ndr, r->in.computer_name);
16313 } else {
16314 r->in.computer_name = NULL;
16316 if (r->in.computer_name) {
16317 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16318 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
16319 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16320 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16321 size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
16322 length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
16323 if (length_computer_name_1 > size_computer_name_1) {
16324 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
16326 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
16327 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
16328 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
16330 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
16331 if (_ptr_credential) {
16332 NDR_PULL_ALLOC(ndr, r->in.credential);
16333 } else {
16334 r->in.credential = NULL;
16336 if (r->in.credential) {
16337 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16338 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
16339 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16340 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
16342 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16343 if (_ptr_return_authenticator) {
16344 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
16345 } else {
16346 r->in.return_authenticator = NULL;
16348 if (r->in.return_authenticator) {
16349 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16350 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
16351 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16354 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
16355 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16356 NDR_PULL_ALLOC(ndr, r->in.logon);
16358 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
16359 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
16360 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16361 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
16363 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
16364 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16365 NDR_PULL_ALLOC(ndr, r->in.flags);
16367 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16368 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
16369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
16370 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16371 NDR_PULL_ALLOC(ndr, r->out.validation);
16372 ZERO_STRUCTP(r->out.validation);
16373 NDR_PULL_ALLOC(ndr, r->out.authoritative);
16374 ZERO_STRUCTP(r->out.authoritative);
16375 NDR_PULL_ALLOC(ndr, r->out.flags);
16376 *r->out.flags = *r->in.flags;
16378 if (flags & NDR_OUT) {
16379 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16380 if (_ptr_return_authenticator) {
16381 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16382 } else {
16383 r->out.return_authenticator = NULL;
16385 if (r->out.return_authenticator) {
16386 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16387 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
16388 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16391 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16392 NDR_PULL_ALLOC(ndr, r->out.validation);
16394 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
16395 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
16396 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16397 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16398 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
16399 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16400 NDR_PULL_ALLOC(ndr, r->out.authoritative);
16402 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
16403 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
16404 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
16405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
16406 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16407 NDR_PULL_ALLOC(ndr, r->out.flags);
16409 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16410 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
16411 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
16412 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16413 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16415 return NDR_ERR_SUCCESS;
16418 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
16420 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
16421 ndr->depth++;
16422 if (flags & NDR_SET_VALUES) {
16423 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16425 if (flags & NDR_IN) {
16426 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
16427 ndr->depth++;
16428 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16429 ndr->depth++;
16430 if (r->in.server_name) {
16431 ndr_print_string(ndr, "server_name", r->in.server_name);
16433 ndr->depth--;
16434 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16435 ndr->depth++;
16436 if (r->in.computer_name) {
16437 ndr_print_string(ndr, "computer_name", r->in.computer_name);
16439 ndr->depth--;
16440 ndr_print_ptr(ndr, "credential", r->in.credential);
16441 ndr->depth++;
16442 if (r->in.credential) {
16443 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16445 ndr->depth--;
16446 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
16447 ndr->depth++;
16448 if (r->in.return_authenticator) {
16449 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
16451 ndr->depth--;
16452 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
16453 ndr_print_ptr(ndr, "logon", r->in.logon);
16454 ndr->depth++;
16455 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
16456 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
16457 ndr->depth--;
16458 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
16459 ndr_print_ptr(ndr, "flags", r->in.flags);
16460 ndr->depth++;
16461 ndr_print_uint32(ndr, "flags", *r->in.flags);
16462 ndr->depth--;
16463 ndr->depth--;
16465 if (flags & NDR_OUT) {
16466 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
16467 ndr->depth++;
16468 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16469 ndr->depth++;
16470 if (r->out.return_authenticator) {
16471 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16473 ndr->depth--;
16474 ndr_print_ptr(ndr, "validation", r->out.validation);
16475 ndr->depth++;
16476 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
16477 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
16478 ndr->depth--;
16479 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
16480 ndr->depth++;
16481 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
16482 ndr->depth--;
16483 ndr_print_ptr(ndr, "flags", r->out.flags);
16484 ndr->depth++;
16485 ndr_print_uint32(ndr, "flags", *r->out.flags);
16486 ndr->depth--;
16487 ndr_print_NTSTATUS(ndr, "result", r->out.result);
16488 ndr->depth--;
16490 ndr->depth--;
16493 static enum ndr_err_code ndr_push_netr_ServerGetTrustInfo(struct ndr_push *ndr, int flags, const struct netr_ServerGetTrustInfo *r)
16495 if (flags & NDR_IN) {
16496 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16497 if (r->in.server_name) {
16498 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16501 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));
16503 if (r->in.account_name == NULL) {
16504 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16507 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16509 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));
16510 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
16511 if (r->in.computer_name == NULL) {
16512 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16517 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));
16518 if (r->in.credential == NULL) {
16519 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16521 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16523 if (flags & NDR_OUT) {
16524 if (r->out.return_authenticator == NULL) {
16525 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16527 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16528 if (r->out.new_owf_password == NULL) {
16529 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16531 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16532 if (r->out.old_owf_password == NULL) {
16533 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16535 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16536 if (r->out.trust_info == NULL) {
16537 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16539 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.trust_info));
16540 if (*r->out.trust_info) {
16541 NDR_CHECK(ndr_push_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16543 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16545 return NDR_ERR_SUCCESS;
16548 static enum ndr_err_code ndr_pull_netr_ServerGetTrustInfo(struct ndr_pull *ndr, int flags, struct netr_ServerGetTrustInfo *r)
16550 uint32_t _ptr_server_name;
16551 uint32_t size_server_name_1 = 0;
16552 uint32_t length_server_name_1 = 0;
16553 uint32_t size_account_name_1 = 0;
16554 uint32_t length_account_name_1 = 0;
16555 uint32_t size_computer_name_1 = 0;
16556 uint32_t length_computer_name_1 = 0;
16557 uint32_t _ptr_trust_info;
16558 TALLOC_CTX *_mem_save_server_name_0;
16559 TALLOC_CTX *_mem_save_credential_0;
16560 TALLOC_CTX *_mem_save_return_authenticator_0;
16561 TALLOC_CTX *_mem_save_new_owf_password_0;
16562 TALLOC_CTX *_mem_save_old_owf_password_0;
16563 TALLOC_CTX *_mem_save_trust_info_0;
16564 TALLOC_CTX *_mem_save_trust_info_1;
16565 if (flags & NDR_IN) {
16566 ZERO_STRUCT(r->out);
16568 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16569 if (_ptr_server_name) {
16570 NDR_PULL_ALLOC(ndr, r->in.server_name);
16571 } else {
16572 r->in.server_name = NULL;
16574 if (r->in.server_name) {
16575 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16576 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16577 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16578 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16579 size_server_name_1 = ndr_get_array_size(ndr, &r->in.server_name);
16580 length_server_name_1 = ndr_get_array_length(ndr, &r->in.server_name);
16581 if (length_server_name_1 > size_server_name_1) {
16582 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_name_1, length_server_name_1);
16584 NDR_CHECK(ndr_check_string_terminator(ndr, length_server_name_1, sizeof(uint16_t)));
16585 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, length_server_name_1, sizeof(uint16_t), CH_UTF16));
16586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16588 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
16589 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
16590 size_account_name_1 = ndr_get_array_size(ndr, &r->in.account_name);
16591 length_account_name_1 = ndr_get_array_length(ndr, &r->in.account_name);
16592 if (length_account_name_1 > size_account_name_1) {
16593 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_account_name_1, length_account_name_1);
16595 NDR_CHECK(ndr_check_string_terminator(ndr, length_account_name_1, sizeof(uint16_t)));
16596 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, length_account_name_1, sizeof(uint16_t), CH_UTF16));
16597 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
16598 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16599 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16600 size_computer_name_1 = ndr_get_array_size(ndr, &r->in.computer_name);
16601 length_computer_name_1 = ndr_get_array_length(ndr, &r->in.computer_name);
16602 if (length_computer_name_1 > size_computer_name_1) {
16603 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_computer_name_1, length_computer_name_1);
16605 NDR_CHECK(ndr_check_string_terminator(ndr, length_computer_name_1, sizeof(uint16_t)));
16606 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, length_computer_name_1, sizeof(uint16_t), CH_UTF16));
16607 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16608 NDR_PULL_ALLOC(ndr, r->in.credential);
16610 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16611 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16612 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16613 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16614 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16615 ZERO_STRUCTP(r->out.return_authenticator);
16616 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16617 ZERO_STRUCTP(r->out.new_owf_password);
16618 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16619 ZERO_STRUCTP(r->out.old_owf_password);
16620 NDR_PULL_ALLOC(ndr, r->out.trust_info);
16621 ZERO_STRUCTP(r->out.trust_info);
16623 if (flags & NDR_OUT) {
16624 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16625 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16627 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16628 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16629 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16630 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16631 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16632 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16634 _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16635 NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
16636 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16638 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16639 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16641 _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16642 NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
16643 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16645 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16646 NDR_PULL_ALLOC(ndr, r->out.trust_info);
16648 _mem_save_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16649 NDR_PULL_SET_MEM_CTX(ndr, r->out.trust_info, LIBNDR_FLAG_REF_ALLOC);
16650 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trust_info));
16651 if (_ptr_trust_info) {
16652 NDR_PULL_ALLOC(ndr, *r->out.trust_info);
16653 } else {
16654 *r->out.trust_info = NULL;
16656 if (*r->out.trust_info) {
16657 _mem_save_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16658 NDR_PULL_SET_MEM_CTX(ndr, *r->out.trust_info, 0);
16659 NDR_CHECK(ndr_pull_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_1, 0);
16662 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16663 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16665 return NDR_ERR_SUCCESS;
16668 _PUBLIC_ void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r)
16670 ndr_print_struct(ndr, name, "netr_ServerGetTrustInfo");
16671 ndr->depth++;
16672 if (flags & NDR_SET_VALUES) {
16673 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16675 if (flags & NDR_IN) {
16676 ndr_print_struct(ndr, "in", "netr_ServerGetTrustInfo");
16677 ndr->depth++;
16678 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16679 ndr->depth++;
16680 if (r->in.server_name) {
16681 ndr_print_string(ndr, "server_name", r->in.server_name);
16683 ndr->depth--;
16684 ndr_print_ptr(ndr, "account_name", r->in.account_name);
16685 ndr->depth++;
16686 ndr_print_string(ndr, "account_name", r->in.account_name);
16687 ndr->depth--;
16688 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
16689 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16690 ndr->depth++;
16691 ndr_print_string(ndr, "computer_name", r->in.computer_name);
16692 ndr->depth--;
16693 ndr_print_ptr(ndr, "credential", r->in.credential);
16694 ndr->depth++;
16695 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16696 ndr->depth--;
16697 ndr->depth--;
16699 if (flags & NDR_OUT) {
16700 ndr_print_struct(ndr, "out", "netr_ServerGetTrustInfo");
16701 ndr->depth++;
16702 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16703 ndr->depth++;
16704 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16705 ndr->depth--;
16706 ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
16707 ndr->depth++;
16708 ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
16709 ndr->depth--;
16710 ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
16711 ndr->depth++;
16712 ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
16713 ndr->depth--;
16714 ndr_print_ptr(ndr, "trust_info", r->out.trust_info);
16715 ndr->depth++;
16716 ndr_print_ptr(ndr, "trust_info", *r->out.trust_info);
16717 ndr->depth++;
16718 if (*r->out.trust_info) {
16719 ndr_print_netr_TrustInfo(ndr, "trust_info", *r->out.trust_info);
16721 ndr->depth--;
16722 ndr->depth--;
16723 ndr_print_NTSTATUS(ndr, "result", r->out.result);
16724 ndr->depth--;
16726 ndr->depth--;
16729 static const struct ndr_interface_call netlogon_calls[] = {
16731 "netr_LogonUasLogon",
16732 sizeof(struct netr_LogonUasLogon),
16733 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
16734 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
16735 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
16736 false,
16739 "netr_LogonUasLogoff",
16740 sizeof(struct netr_LogonUasLogoff),
16741 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
16742 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
16743 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
16744 false,
16747 "netr_LogonSamLogon",
16748 sizeof(struct netr_LogonSamLogon),
16749 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
16750 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
16751 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
16752 false,
16755 "netr_LogonSamLogoff",
16756 sizeof(struct netr_LogonSamLogoff),
16757 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
16758 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
16759 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
16760 false,
16763 "netr_ServerReqChallenge",
16764 sizeof(struct netr_ServerReqChallenge),
16765 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
16766 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
16767 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
16768 false,
16771 "netr_ServerAuthenticate",
16772 sizeof(struct netr_ServerAuthenticate),
16773 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
16774 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
16775 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
16776 false,
16779 "netr_ServerPasswordSet",
16780 sizeof(struct netr_ServerPasswordSet),
16781 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
16782 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
16783 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
16784 false,
16787 "netr_DatabaseDeltas",
16788 sizeof(struct netr_DatabaseDeltas),
16789 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
16790 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
16791 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
16792 false,
16795 "netr_DatabaseSync",
16796 sizeof(struct netr_DatabaseSync),
16797 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
16798 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
16799 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
16800 false,
16803 "netr_AccountDeltas",
16804 sizeof(struct netr_AccountDeltas),
16805 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
16806 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
16807 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
16808 false,
16811 "netr_AccountSync",
16812 sizeof(struct netr_AccountSync),
16813 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
16814 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
16815 (ndr_print_function_t) ndr_print_netr_AccountSync,
16816 false,
16819 "netr_GetDcName",
16820 sizeof(struct netr_GetDcName),
16821 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
16822 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
16823 (ndr_print_function_t) ndr_print_netr_GetDcName,
16824 false,
16827 "netr_LogonControl",
16828 sizeof(struct netr_LogonControl),
16829 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
16830 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
16831 (ndr_print_function_t) ndr_print_netr_LogonControl,
16832 false,
16835 "netr_GetAnyDCName",
16836 sizeof(struct netr_GetAnyDCName),
16837 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
16838 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
16839 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
16840 false,
16843 "netr_LogonControl2",
16844 sizeof(struct netr_LogonControl2),
16845 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
16846 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
16847 (ndr_print_function_t) ndr_print_netr_LogonControl2,
16848 false,
16851 "netr_ServerAuthenticate2",
16852 sizeof(struct netr_ServerAuthenticate2),
16853 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
16854 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
16855 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
16856 false,
16859 "netr_DatabaseSync2",
16860 sizeof(struct netr_DatabaseSync2),
16861 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
16862 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
16863 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
16864 false,
16867 "netr_DatabaseRedo",
16868 sizeof(struct netr_DatabaseRedo),
16869 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
16870 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
16871 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
16872 false,
16875 "netr_LogonControl2Ex",
16876 sizeof(struct netr_LogonControl2Ex),
16877 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
16878 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
16879 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
16880 false,
16883 "netr_NetrEnumerateTrustedDomains",
16884 sizeof(struct netr_NetrEnumerateTrustedDomains),
16885 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
16886 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
16887 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
16888 false,
16891 "netr_DsRGetDCName",
16892 sizeof(struct netr_DsRGetDCName),
16893 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
16894 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
16895 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
16896 false,
16899 "netr_LogonGetCapabilities",
16900 sizeof(struct netr_LogonGetCapabilities),
16901 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities,
16902 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities,
16903 (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities,
16904 false,
16907 "netr_NETRLOGONSETSERVICEBITS",
16908 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
16909 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
16910 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
16911 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
16912 false,
16915 "netr_LogonGetTrustRid",
16916 sizeof(struct netr_LogonGetTrustRid),
16917 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
16918 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
16919 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
16920 false,
16923 "netr_NETRLOGONCOMPUTESERVERDIGEST",
16924 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
16925 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
16926 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
16927 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
16928 false,
16931 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
16932 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
16933 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16934 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16935 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16936 false,
16939 "netr_ServerAuthenticate3",
16940 sizeof(struct netr_ServerAuthenticate3),
16941 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
16942 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
16943 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
16944 false,
16947 "netr_DsRGetDCNameEx",
16948 sizeof(struct netr_DsRGetDCNameEx),
16949 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
16950 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
16951 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
16952 false,
16955 "netr_DsRGetSiteName",
16956 sizeof(struct netr_DsRGetSiteName),
16957 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
16958 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
16959 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
16960 false,
16963 "netr_LogonGetDomainInfo",
16964 sizeof(struct netr_LogonGetDomainInfo),
16965 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
16966 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
16967 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
16968 false,
16971 "netr_ServerPasswordSet2",
16972 sizeof(struct netr_ServerPasswordSet2),
16973 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
16974 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
16975 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
16976 false,
16979 "netr_ServerPasswordGet",
16980 sizeof(struct netr_ServerPasswordGet),
16981 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
16982 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
16983 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
16984 false,
16987 "netr_NETRLOGONSENDTOSAM",
16988 sizeof(struct netr_NETRLOGONSENDTOSAM),
16989 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
16990 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
16991 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
16992 false,
16995 "netr_DsRAddressToSitenamesW",
16996 sizeof(struct netr_DsRAddressToSitenamesW),
16997 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
16998 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
16999 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
17000 false,
17003 "netr_DsRGetDCNameEx2",
17004 sizeof(struct netr_DsRGetDCNameEx2),
17005 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
17006 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
17007 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
17008 false,
17011 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
17012 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
17013 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
17014 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
17015 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
17016 false,
17019 "netr_NetrEnumerateTrustedDomainsEx",
17020 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
17021 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
17022 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
17023 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
17024 false,
17027 "netr_DsRAddressToSitenamesExW",
17028 sizeof(struct netr_DsRAddressToSitenamesExW),
17029 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
17030 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
17031 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
17032 false,
17035 "netr_DsrGetDcSiteCoverageW",
17036 sizeof(struct netr_DsrGetDcSiteCoverageW),
17037 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
17038 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
17039 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
17040 false,
17043 "netr_LogonSamLogonEx",
17044 sizeof(struct netr_LogonSamLogonEx),
17045 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
17046 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
17047 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
17048 false,
17051 "netr_DsrEnumerateDomainTrusts",
17052 sizeof(struct netr_DsrEnumerateDomainTrusts),
17053 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
17054 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
17055 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
17056 false,
17059 "netr_DsrDeregisterDNSHostRecords",
17060 sizeof(struct netr_DsrDeregisterDNSHostRecords),
17061 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
17062 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
17063 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
17064 false,
17067 "netr_ServerTrustPasswordsGet",
17068 sizeof(struct netr_ServerTrustPasswordsGet),
17069 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
17070 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
17071 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
17072 false,
17075 "netr_DsRGetForestTrustInformation",
17076 sizeof(struct netr_DsRGetForestTrustInformation),
17077 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
17078 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
17079 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
17080 false,
17083 "netr_GetForestTrustInformation",
17084 sizeof(struct netr_GetForestTrustInformation),
17085 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
17086 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
17087 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
17088 false,
17091 "netr_LogonSamLogonWithFlags",
17092 sizeof(struct netr_LogonSamLogonWithFlags),
17093 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
17094 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
17095 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
17096 false,
17099 "netr_ServerGetTrustInfo",
17100 sizeof(struct netr_ServerGetTrustInfo),
17101 (ndr_push_flags_fn_t) ndr_push_netr_ServerGetTrustInfo,
17102 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerGetTrustInfo,
17103 (ndr_print_function_t) ndr_print_netr_ServerGetTrustInfo,
17104 false,
17106 { NULL, 0, NULL, NULL, NULL, false }
17109 static const char * const netlogon_endpoint_strings[] = {
17110 "ncacn_np:[\\pipe\\netlogon]",
17111 "ncacn_ip_tcp:",
17112 "ncalrpc:",
17115 static const struct ndr_interface_string_array netlogon_endpoints = {
17116 .count = 3,
17117 .names = netlogon_endpoint_strings
17120 static const char * const netlogon_authservice_strings[] = {
17121 "host",
17124 static const struct ndr_interface_string_array netlogon_authservices = {
17125 .count = 1,
17126 .names = netlogon_authservice_strings
17130 const struct ndr_interface_table ndr_table_netlogon = {
17131 .name = "netlogon",
17132 .syntax_id = {
17133 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
17134 NDR_NETLOGON_VERSION
17136 .helpstring = NDR_NETLOGON_HELPSTRING,
17137 .num_calls = 47,
17138 .calls = netlogon_calls,
17139 .endpoints = &netlogon_endpoints,
17140 .authservices = &netlogon_authservices