1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_netlogon.h"
6 #include "librpc/gen_ndr/ndr_lsa.h"
7 #include "librpc/gen_ndr/ndr_samr.h"
8 #include "librpc/gen_ndr/ndr_security.h"
9 #include "librpc/gen_ndr/ndr_nbt.h"
10 static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
12 if (ndr_flags & NDR_SCALARS) {
13 NDR_CHECK(ndr_push_align(ndr, 4));
14 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
15 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
16 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
17 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
18 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
19 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
20 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
21 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
22 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
23 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
24 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
25 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
26 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
27 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
28 NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
29 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
31 if (ndr_flags & NDR_BUFFERS) {
32 if (r->account_name) {
33 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
34 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
35 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
36 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
39 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
40 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
41 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
42 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
45 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
46 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
47 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
48 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
51 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
52 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
53 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
54 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
57 return NDR_ERR_SUCCESS;
60 static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
62 uint32_t _ptr_account_name;
63 TALLOC_CTX *_mem_save_account_name_0;
64 uint32_t _ptr_computer;
65 TALLOC_CTX *_mem_save_computer_0;
67 TALLOC_CTX *_mem_save_domain_0;
68 uint32_t _ptr_script_path;
69 TALLOC_CTX *_mem_save_script_path_0;
70 if (ndr_flags & NDR_SCALARS) {
71 NDR_CHECK(ndr_pull_align(ndr, 4));
72 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
73 if (_ptr_account_name) {
74 NDR_PULL_ALLOC(ndr, r->account_name);
76 r->account_name = NULL;
78 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
79 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
81 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
82 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
83 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
84 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
85 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
86 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
87 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
88 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
89 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
91 NDR_PULL_ALLOC(ndr, r->computer);
95 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
97 NDR_PULL_ALLOC(ndr, r->domain);
101 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
102 if (_ptr_script_path) {
103 NDR_PULL_ALLOC(ndr, r->script_path);
105 r->script_path = NULL;
107 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
109 if (ndr_flags & NDR_BUFFERS) {
110 if (r->account_name) {
111 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
112 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
113 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
114 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
115 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
116 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name));
118 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
119 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
120 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
123 _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
124 NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
125 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
126 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
127 if (ndr_get_array_length(ndr, &r->computer) > ndr_get_array_size(ndr, &r->computer)) {
128 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer), ndr_get_array_length(ndr, &r->computer));
130 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t)));
131 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t), CH_UTF16));
132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
135 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
136 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
137 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
138 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
139 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
140 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
142 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
143 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
144 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
146 if (r->script_path) {
147 _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
148 NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
149 NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
150 NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
151 if (ndr_get_array_length(ndr, &r->script_path) > ndr_get_array_size(ndr, &r->script_path)) {
152 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->script_path), ndr_get_array_length(ndr, &r->script_path));
154 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t)));
155 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t), CH_UTF16));
156 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
159 return NDR_ERR_SUCCESS;
162 _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
164 ndr_print_struct(ndr, name, "netr_UasInfo");
166 ndr_print_ptr(ndr, "account_name", r->account_name);
168 if (r->account_name) {
169 ndr_print_string(ndr, "account_name", r->account_name);
172 ndr_print_uint32(ndr, "priv", r->priv);
173 ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
174 ndr_print_uint32(ndr, "logon_count", r->logon_count);
175 ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
176 ndr_print_time_t(ndr, "last_logon", r->last_logon);
177 ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
178 ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
179 ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
180 ndr_print_uint32(ndr, "password_age", r->password_age);
181 ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
182 ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
183 ndr_print_ptr(ndr, "computer", r->computer);
186 ndr_print_string(ndr, "computer", r->computer);
189 ndr_print_ptr(ndr, "domain", r->domain);
192 ndr_print_string(ndr, "domain", r->domain);
195 ndr_print_ptr(ndr, "script_path", r->script_path);
197 if (r->script_path) {
198 ndr_print_string(ndr, "script_path", r->script_path);
201 ndr_print_uint32(ndr, "unknown", r->unknown);
205 static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
207 if (ndr_flags & NDR_SCALARS) {
208 NDR_CHECK(ndr_push_align(ndr, 4));
209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
210 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
212 if (ndr_flags & NDR_BUFFERS) {
214 return NDR_ERR_SUCCESS;
217 static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
219 if (ndr_flags & NDR_SCALARS) {
220 NDR_CHECK(ndr_pull_align(ndr, 4));
221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
222 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
224 if (ndr_flags & NDR_BUFFERS) {
226 return NDR_ERR_SUCCESS;
229 _PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
231 ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
233 ndr_print_uint32(ndr, "duration", r->duration);
234 ndr_print_uint16(ndr, "logon_count", r->logon_count);
238 _PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
240 if (ndr_flags & NDR_SCALARS) {
241 NDR_CHECK(ndr_push_align(ndr, 4));
242 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration));
243 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count));
244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout));
245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy));
247 if (ndr_flags & NDR_BUFFERS) {
249 return NDR_ERR_SUCCESS;
252 _PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
254 if (ndr_flags & NDR_SCALARS) {
255 NDR_CHECK(ndr_pull_align(ndr, 4));
256 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration));
257 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count));
258 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout));
259 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
261 if (ndr_flags & NDR_BUFFERS) {
263 return NDR_ERR_SUCCESS;
266 _PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
268 ndr_print_struct(ndr, name, "netr_AcctLockStr");
270 ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration);
271 ndr_print_udlong(ndr, "reset_count", r->reset_count);
272 ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout);
273 ndr_print_uint32(ndr, "dummy", r->dummy);
277 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
279 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
280 return NDR_ERR_SUCCESS;
283 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
288 return NDR_ERR_SUCCESS;
291 _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
293 ndr_print_uint32(ndr, name, r);
295 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
296 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
297 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
298 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
299 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
300 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
304 static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
306 if (ndr_flags & NDR_SCALARS) {
307 NDR_CHECK(ndr_push_align(ndr, 4));
308 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
309 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low));
311 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high));
312 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
313 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
315 if (ndr_flags & NDR_BUFFERS) {
316 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
317 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
318 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
320 return NDR_ERR_SUCCESS;
323 static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
325 if (ndr_flags & NDR_SCALARS) {
326 NDR_CHECK(ndr_pull_align(ndr, 4));
327 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
328 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
329 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low));
330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high));
331 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
332 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
334 if (ndr_flags & NDR_BUFFERS) {
335 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
336 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
337 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
339 return NDR_ERR_SUCCESS;
342 _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
344 ndr_print_struct(ndr, name, "netr_IdentityInfo");
346 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
347 ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
348 ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low);
349 ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high);
350 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
351 ndr_print_lsa_String(ndr, "workstation", &r->workstation);
355 static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
357 if (ndr_flags & NDR_SCALARS) {
358 NDR_CHECK(ndr_push_align(ndr, 4));
359 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
360 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
361 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
363 if (ndr_flags & NDR_BUFFERS) {
364 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
366 return NDR_ERR_SUCCESS;
369 static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
371 if (ndr_flags & NDR_SCALARS) {
372 NDR_CHECK(ndr_pull_align(ndr, 4));
373 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
374 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
375 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
377 if (ndr_flags & NDR_BUFFERS) {
378 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
380 return NDR_ERR_SUCCESS;
383 _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
385 ndr_print_struct(ndr, name, "netr_PasswordInfo");
387 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
388 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
389 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
393 static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
396 uint32_t _flags_save_STRUCT = ndr->flags;
397 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
398 if (ndr_flags & NDR_SCALARS) {
399 NDR_CHECK(ndr_push_align(ndr, 4));
400 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
401 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
402 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
404 if (ndr_flags & NDR_BUFFERS) {
406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
409 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
412 ndr->flags = _flags_save_STRUCT;
414 return NDR_ERR_SUCCESS;
417 static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
420 TALLOC_CTX *_mem_save_data_0;
422 uint32_t _flags_save_STRUCT = ndr->flags;
423 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
424 if (ndr_flags & NDR_SCALARS) {
425 NDR_CHECK(ndr_pull_align(ndr, 4));
426 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
427 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
428 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
430 NDR_PULL_ALLOC(ndr, r->data);
435 if (ndr_flags & NDR_BUFFERS) {
437 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
438 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
439 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
440 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
441 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
442 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data));
444 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
445 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
449 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
452 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
455 ndr->flags = _flags_save_STRUCT;
457 return NDR_ERR_SUCCESS;
460 _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
462 ndr_print_struct(ndr, name, "netr_ChallengeResponse");
464 uint32_t _flags_save_STRUCT = ndr->flags;
465 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
467 ndr_print_uint16(ndr, "length", r->length);
468 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
469 ndr_print_ptr(ndr, "data", r->data);
472 ndr_print_array_uint8(ndr, "data", r->data, r->length);
476 ndr->flags = _flags_save_STRUCT;
480 static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
483 uint32_t _flags_save_STRUCT = ndr->flags;
484 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
485 if (ndr_flags & NDR_SCALARS) {
486 NDR_CHECK(ndr_push_align(ndr, 4));
487 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
488 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
489 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
490 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
492 if (ndr_flags & NDR_BUFFERS) {
493 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
494 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
495 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
497 ndr->flags = _flags_save_STRUCT;
499 return NDR_ERR_SUCCESS;
502 static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
505 uint32_t _flags_save_STRUCT = ndr->flags;
506 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
507 if (ndr_flags & NDR_SCALARS) {
508 NDR_CHECK(ndr_pull_align(ndr, 4));
509 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
510 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
511 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
512 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
514 if (ndr_flags & NDR_BUFFERS) {
515 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
516 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
517 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
519 ndr->flags = _flags_save_STRUCT;
521 return NDR_ERR_SUCCESS;
524 _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
526 ndr_print_struct(ndr, name, "netr_NetworkInfo");
528 uint32_t _flags_save_STRUCT = ndr->flags;
529 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
531 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
532 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
533 ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
534 ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
536 ndr->flags = _flags_save_STRUCT;
540 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfo(struct ndr_push *ndr, int ndr_flags, const union netr_LogonInfo *r)
542 if (ndr_flags & NDR_SCALARS) {
543 int level = ndr_push_get_switch_value(ndr, r);
544 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
547 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
551 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
555 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
559 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
563 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
567 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
570 if (ndr_flags & NDR_BUFFERS) {
571 int level = ndr_push_get_switch_value(ndr, r);
575 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
581 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
587 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
593 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
599 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
604 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
607 return NDR_ERR_SUCCESS;
610 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr_flags, union netr_LogonInfo *r)
614 TALLOC_CTX *_mem_save_password_0;
615 TALLOC_CTX *_mem_save_network_0;
616 level = ndr_pull_get_switch_value(ndr, r);
617 if (ndr_flags & NDR_SCALARS) {
618 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
619 if (_level != level) {
620 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
624 uint32_t _ptr_password;
625 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
627 NDR_PULL_ALLOC(ndr, r->password);
634 uint32_t _ptr_network;
635 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
637 NDR_PULL_ALLOC(ndr, r->network);
644 uint32_t _ptr_password;
645 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
647 NDR_PULL_ALLOC(ndr, r->password);
654 uint32_t _ptr_password;
655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
657 NDR_PULL_ALLOC(ndr, r->password);
664 uint32_t _ptr_network;
665 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
667 NDR_PULL_ALLOC(ndr, r->network);
674 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
677 if (ndr_flags & NDR_BUFFERS) {
681 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
682 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
683 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
690 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
691 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
692 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
693 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
699 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
700 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
701 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
702 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
708 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
709 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
710 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
711 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
717 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
718 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
719 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
725 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
728 return NDR_ERR_SUCCESS;
731 _PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name, const union netr_LogonInfo *r)
734 level = ndr_print_get_switch_value(ndr, r);
735 ndr_print_union(ndr, name, level, "netr_LogonInfo");
738 ndr_print_ptr(ndr, "password", r->password);
741 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
747 ndr_print_ptr(ndr, "network", r->network);
750 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
756 ndr_print_ptr(ndr, "password", r->password);
759 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
765 ndr_print_ptr(ndr, "password", r->password);
768 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
774 ndr_print_ptr(ndr, "network", r->network);
777 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
783 ndr_print_bad_level(ndr, name, level);
787 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
790 uint32_t _flags_save_STRUCT = ndr->flags;
791 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
792 if (ndr_flags & NDR_SCALARS) {
793 NDR_CHECK(ndr_push_align(ndr, 1));
794 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
796 if (ndr_flags & NDR_BUFFERS) {
798 ndr->flags = _flags_save_STRUCT;
800 return NDR_ERR_SUCCESS;
803 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
806 uint32_t _flags_save_STRUCT = ndr->flags;
807 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
808 if (ndr_flags & NDR_SCALARS) {
809 NDR_CHECK(ndr_pull_align(ndr, 1));
810 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
812 if (ndr_flags & NDR_BUFFERS) {
814 ndr->flags = _flags_save_STRUCT;
816 return NDR_ERR_SUCCESS;
819 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
821 ndr_print_struct(ndr, name, "netr_UserSessionKey");
823 uint32_t _flags_save_STRUCT = ndr->flags;
824 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
826 ndr_print_array_uint8(ndr, "key", r->key, 16);
828 ndr->flags = _flags_save_STRUCT;
832 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
835 uint32_t _flags_save_STRUCT = ndr->flags;
836 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
837 if (ndr_flags & NDR_SCALARS) {
838 NDR_CHECK(ndr_push_align(ndr, 1));
839 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
841 if (ndr_flags & NDR_BUFFERS) {
843 ndr->flags = _flags_save_STRUCT;
845 return NDR_ERR_SUCCESS;
848 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
851 uint32_t _flags_save_STRUCT = ndr->flags;
852 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
853 if (ndr_flags & NDR_SCALARS) {
854 NDR_CHECK(ndr_pull_align(ndr, 1));
855 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
857 if (ndr_flags & NDR_BUFFERS) {
859 ndr->flags = _flags_save_STRUCT;
861 return NDR_ERR_SUCCESS;
864 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
866 ndr_print_struct(ndr, name, "netr_LMSessionKey");
868 uint32_t _flags_save_STRUCT = ndr->flags;
869 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
871 ndr_print_array_uint8(ndr, "key", r->key, 8);
873 ndr->flags = _flags_save_STRUCT;
877 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
880 return NDR_ERR_SUCCESS;
883 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
886 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
888 return NDR_ERR_SUCCESS;
891 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
893 ndr_print_uint32(ndr, name, r);
895 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
896 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
897 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
898 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
899 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
900 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
901 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
902 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
903 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
904 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
905 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
909 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
911 uint32_t cntr_unknown_0;
912 if (ndr_flags & NDR_SCALARS) {
913 NDR_CHECK(ndr_push_align(ndr, 4));
914 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
915 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
916 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
917 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
918 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
919 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
920 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
921 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
922 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
923 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
924 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
925 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
926 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
927 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
930 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
931 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
932 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
933 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
934 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
935 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
936 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
937 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
938 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
939 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
942 if (ndr_flags & NDR_BUFFERS) {
943 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
944 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
945 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
946 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
947 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
948 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
949 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
950 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
951 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
953 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
956 return NDR_ERR_SUCCESS;
959 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
961 uint32_t _ptr_domain_sid;
962 TALLOC_CTX *_mem_save_domain_sid_0;
963 uint32_t cntr_unknown_0;
964 if (ndr_flags & NDR_SCALARS) {
965 NDR_CHECK(ndr_pull_align(ndr, 4));
966 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
967 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
968 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
969 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
970 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
971 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
972 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
973 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
974 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
975 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
976 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
977 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
978 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
979 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
980 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
981 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
982 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
983 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
984 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
985 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
986 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
988 if (_ptr_domain_sid) {
989 NDR_PULL_ALLOC(ndr, r->domain_sid);
991 r->domain_sid = NULL;
993 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
994 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
995 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
996 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
999 if (ndr_flags & NDR_BUFFERS) {
1000 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1001 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1002 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1003 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1004 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1005 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1006 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1007 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1008 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1009 if (r->domain_sid) {
1010 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1011 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1012 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1016 return NDR_ERR_SUCCESS;
1019 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1021 uint32_t cntr_unknown_0;
1022 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1024 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1025 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1026 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1027 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1028 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1029 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1030 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1031 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1032 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1033 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1034 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1035 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1036 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1037 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1038 ndr_print_uint32(ndr, "rid", r->rid);
1039 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1040 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1041 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1042 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1043 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1044 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1045 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1047 if (r->domain_sid) {
1048 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1051 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1052 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1053 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)7);
1055 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1057 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1058 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1066 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1068 if (ndr_flags & NDR_SCALARS) {
1069 NDR_CHECK(ndr_push_align(ndr, 4));
1070 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1072 if (ndr_flags & NDR_BUFFERS) {
1073 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1075 return NDR_ERR_SUCCESS;
1078 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1080 if (ndr_flags & NDR_SCALARS) {
1081 NDR_CHECK(ndr_pull_align(ndr, 4));
1082 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1084 if (ndr_flags & NDR_BUFFERS) {
1085 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1087 return NDR_ERR_SUCCESS;
1090 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1092 ndr_print_struct(ndr, name, "netr_SamInfo2");
1094 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1098 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1100 if (ndr_flags & NDR_SCALARS) {
1101 NDR_CHECK(ndr_push_align(ndr, 4));
1102 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1103 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1105 if (ndr_flags & NDR_BUFFERS) {
1107 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1110 return NDR_ERR_SUCCESS;
1113 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1116 TALLOC_CTX *_mem_save_sid_0;
1117 if (ndr_flags & NDR_SCALARS) {
1118 NDR_CHECK(ndr_pull_align(ndr, 4));
1119 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1121 NDR_PULL_ALLOC(ndr, r->sid);
1125 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1127 if (ndr_flags & NDR_BUFFERS) {
1129 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1130 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1131 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1135 return NDR_ERR_SUCCESS;
1138 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1140 ndr_print_struct(ndr, name, "netr_SidAttr");
1142 ndr_print_ptr(ndr, "sid", r->sid);
1145 ndr_print_dom_sid2(ndr, "sid", r->sid);
1148 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1152 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1154 uint32_t cntr_sids_1;
1155 if (ndr_flags & NDR_SCALARS) {
1156 NDR_CHECK(ndr_push_align(ndr, 4));
1157 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1159 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1161 if (ndr_flags & NDR_BUFFERS) {
1162 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1165 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1166 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1168 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1169 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1173 return NDR_ERR_SUCCESS;
1176 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1179 uint32_t cntr_sids_1;
1180 TALLOC_CTX *_mem_save_sids_0;
1181 TALLOC_CTX *_mem_save_sids_1;
1182 if (ndr_flags & NDR_SCALARS) {
1183 NDR_CHECK(ndr_pull_align(ndr, 4));
1184 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1185 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1186 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1188 NDR_PULL_ALLOC(ndr, r->sids);
1193 if (ndr_flags & NDR_BUFFERS) {
1194 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1196 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1197 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1198 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1199 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1200 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1201 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1202 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1203 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1205 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1206 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1212 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1215 return NDR_ERR_SUCCESS;
1218 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1220 uint32_t cntr_sids_1;
1221 ndr_print_struct(ndr, name, "netr_SamInfo3");
1223 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1224 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1225 ndr_print_ptr(ndr, "sids", r->sids);
1228 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1230 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1232 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1233 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1243 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1245 uint32_t cntr_sids_1;
1246 uint32_t cntr_unknown4_0;
1247 if (ndr_flags & NDR_SCALARS) {
1248 NDR_CHECK(ndr_push_align(ndr, 4));
1249 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1250 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1251 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1252 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1253 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1254 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1255 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1258 if (ndr_flags & NDR_BUFFERS) {
1259 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1262 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1263 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1265 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1266 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1269 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1270 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1272 return NDR_ERR_SUCCESS;
1275 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1278 uint32_t cntr_sids_1;
1279 TALLOC_CTX *_mem_save_sids_0;
1280 TALLOC_CTX *_mem_save_sids_1;
1281 uint32_t cntr_unknown4_0;
1282 if (ndr_flags & NDR_SCALARS) {
1283 NDR_CHECK(ndr_pull_align(ndr, 4));
1284 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1285 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1286 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1288 NDR_PULL_ALLOC(ndr, r->sids);
1292 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1293 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1294 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1295 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1298 if (ndr_flags & NDR_BUFFERS) {
1299 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1301 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1302 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1303 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1304 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1305 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1306 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1307 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1308 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1310 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1311 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1313 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1316 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1317 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1319 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1322 return NDR_ERR_SUCCESS;
1325 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1327 uint32_t cntr_sids_1;
1328 uint32_t cntr_unknown4_0;
1329 ndr_print_struct(ndr, name, "netr_SamInfo6");
1331 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1332 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1333 ndr_print_ptr(ndr, "sids", r->sids);
1336 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1338 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1340 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1341 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1348 ndr_print_lsa_String(ndr, "forest", &r->forest);
1349 ndr_print_lsa_String(ndr, "principle", &r->principle);
1350 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
1352 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1354 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1355 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1363 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1365 uint32_t cntr_expansionroom_0;
1366 if (ndr_flags & NDR_SCALARS) {
1367 NDR_CHECK(ndr_push_align(ndr, 4));
1368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1369 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1370 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1371 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1372 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1375 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1376 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1379 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1380 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1381 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1382 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1384 if (ndr_flags & NDR_BUFFERS) {
1386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1387 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1389 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1390 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1391 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1394 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1396 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1397 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1398 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1399 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1401 return NDR_ERR_SUCCESS;
1404 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1407 TALLOC_CTX *_mem_save_pac_0;
1409 TALLOC_CTX *_mem_save_auth_0;
1410 uint32_t cntr_expansionroom_0;
1411 if (ndr_flags & NDR_SCALARS) {
1412 NDR_CHECK(ndr_pull_align(ndr, 4));
1413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1414 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1416 NDR_PULL_ALLOC(ndr, r->pac);
1420 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1421 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1422 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1423 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1424 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1426 NDR_PULL_ALLOC(ndr, r->auth);
1430 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1431 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1432 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1434 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1435 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1436 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1437 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1439 if (ndr_flags & NDR_BUFFERS) {
1441 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1442 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1443 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1444 NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1445 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1448 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1449 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1450 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1452 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1453 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1454 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1455 NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1456 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1459 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1460 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1461 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1462 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1464 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1467 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1470 return NDR_ERR_SUCCESS;
1473 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1475 uint32_t cntr_expansionroom_0;
1476 ndr_print_struct(ndr, name, "netr_PacInfo");
1478 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1479 ndr_print_ptr(ndr, "pac", r->pac);
1482 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1485 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1486 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1487 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1488 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1489 ndr_print_ptr(ndr, "auth", r->auth);
1492 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1495 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1496 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1498 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1500 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1501 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1506 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1507 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1508 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1509 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1513 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1515 if (ndr_flags & NDR_SCALARS) {
1516 int level = ndr_push_get_switch_value(ndr, r);
1517 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1520 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1524 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1528 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1532 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1536 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1540 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1543 if (ndr_flags & NDR_BUFFERS) {
1544 int level = ndr_push_get_switch_value(ndr, r);
1548 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1554 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1560 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1566 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1572 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1577 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1580 return NDR_ERR_SUCCESS;
1583 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1587 TALLOC_CTX *_mem_save_sam2_0;
1588 TALLOC_CTX *_mem_save_sam3_0;
1589 TALLOC_CTX *_mem_save_pac_0;
1590 TALLOC_CTX *_mem_save_sam6_0;
1591 level = ndr_pull_get_switch_value(ndr, r);
1592 if (ndr_flags & NDR_SCALARS) {
1593 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1594 if (_level != level) {
1595 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1600 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1602 NDR_PULL_ALLOC(ndr, r->sam2);
1610 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1612 NDR_PULL_ALLOC(ndr, r->sam3);
1620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1622 NDR_PULL_ALLOC(ndr, r->pac);
1630 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1632 NDR_PULL_ALLOC(ndr, r->pac);
1640 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1642 NDR_PULL_ALLOC(ndr, r->sam6);
1649 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1652 if (ndr_flags & NDR_BUFFERS) {
1656 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1657 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1658 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1665 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1666 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1667 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1674 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1675 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1676 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1683 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1684 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1685 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1692 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
1693 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
1694 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
1700 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1703 return NDR_ERR_SUCCESS;
1706 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
1709 level = ndr_print_get_switch_value(ndr, r);
1710 ndr_print_union(ndr, name, level, "netr_Validation");
1713 ndr_print_ptr(ndr, "sam2", r->sam2);
1716 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
1722 ndr_print_ptr(ndr, "sam3", r->sam3);
1725 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
1731 ndr_print_ptr(ndr, "pac", r->pac);
1734 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1740 ndr_print_ptr(ndr, "pac", r->pac);
1743 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1749 ndr_print_ptr(ndr, "sam6", r->sam6);
1752 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
1758 ndr_print_bad_level(ndr, name, level);
1762 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
1765 uint32_t _flags_save_STRUCT = ndr->flags;
1766 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1767 if (ndr_flags & NDR_SCALARS) {
1768 NDR_CHECK(ndr_push_align(ndr, 1));
1769 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1771 if (ndr_flags & NDR_BUFFERS) {
1773 ndr->flags = _flags_save_STRUCT;
1775 return NDR_ERR_SUCCESS;
1778 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
1781 uint32_t _flags_save_STRUCT = ndr->flags;
1782 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1783 if (ndr_flags & NDR_SCALARS) {
1784 NDR_CHECK(ndr_pull_align(ndr, 1));
1785 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1787 if (ndr_flags & NDR_BUFFERS) {
1789 ndr->flags = _flags_save_STRUCT;
1791 return NDR_ERR_SUCCESS;
1794 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
1796 ndr_print_struct(ndr, name, "netr_Credential");
1798 uint32_t _flags_save_STRUCT = ndr->flags;
1799 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1801 ndr_print_array_uint8(ndr, "data", r->data, 8);
1803 ndr->flags = _flags_save_STRUCT;
1807 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
1809 if (ndr_flags & NDR_SCALARS) {
1810 NDR_CHECK(ndr_push_align(ndr, 4));
1811 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1812 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
1814 if (ndr_flags & NDR_BUFFERS) {
1816 return NDR_ERR_SUCCESS;
1819 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
1821 if (ndr_flags & NDR_SCALARS) {
1822 NDR_CHECK(ndr_pull_align(ndr, 4));
1823 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1824 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
1826 if (ndr_flags & NDR_BUFFERS) {
1828 return NDR_ERR_SUCCESS;
1831 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
1833 ndr_print_struct(ndr, name, "netr_Authenticator");
1835 ndr_print_netr_Credential(ndr, "cred", &r->cred);
1836 ndr_print_time_t(ndr, "timestamp", r->timestamp);
1840 static enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, enum netr_LogonLevel r)
1842 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1843 return NDR_ERR_SUCCESS;
1846 static enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonLevel *r)
1849 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1851 return NDR_ERR_SUCCESS;
1854 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, enum netr_LogonLevel r)
1856 const char *val = NULL;
1859 case INTERACTIVE_LOGON_TYPE: val = "INTERACTIVE_LOGON_TYPE"; break;
1860 case NET_LOGON_TYPE: val = "NET_LOGON_TYPE"; break;
1862 ndr_print_enum(ndr, name, "ENUM", val, r);
1865 static enum ndr_err_code ndr_push_netr_DELTA_DELETE_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_USER *r)
1867 if (ndr_flags & NDR_SCALARS) {
1868 NDR_CHECK(ndr_push_align(ndr, 4));
1869 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
1870 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1871 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1872 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1873 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
1875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
1876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
1877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
1879 if (ndr_flags & NDR_BUFFERS) {
1880 if (r->account_name) {
1881 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1883 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1884 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
1886 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1887 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1888 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1889 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1891 return NDR_ERR_SUCCESS;
1894 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
1896 uint32_t _ptr_account_name;
1897 TALLOC_CTX *_mem_save_account_name_0;
1898 if (ndr_flags & NDR_SCALARS) {
1899 NDR_CHECK(ndr_pull_align(ndr, 4));
1900 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
1901 if (_ptr_account_name) {
1902 NDR_PULL_ALLOC(ndr, r->account_name);
1904 r->account_name = NULL;
1906 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1907 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1908 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1909 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1910 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
1911 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
1912 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
1913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
1915 if (ndr_flags & NDR_BUFFERS) {
1916 if (r->account_name) {
1917 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1918 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
1919 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
1920 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
1921 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
1922 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name));
1924 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
1925 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
1926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
1928 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1929 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1930 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1931 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1933 return NDR_ERR_SUCCESS;
1936 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
1938 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
1940 ndr_print_ptr(ndr, "account_name", r->account_name);
1942 if (r->account_name) {
1943 ndr_print_string(ndr, "account_name", r->account_name);
1946 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1947 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1948 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1949 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1950 ndr_print_uint32(ndr, "unknown5", r->unknown5);
1951 ndr_print_uint32(ndr, "unknown6", r->unknown6);
1952 ndr_print_uint32(ndr, "unknown7", r->unknown7);
1953 ndr_print_uint32(ndr, "unknown8", r->unknown8);
1957 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
1959 if (ndr_flags & NDR_SCALARS) {
1960 NDR_CHECK(ndr_push_align(ndr, 4));
1961 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1962 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
1964 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
1966 if (ndr_flags & NDR_BUFFERS) {
1968 return NDR_ERR_SUCCESS;
1971 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
1973 if (ndr_flags & NDR_SCALARS) {
1974 NDR_CHECK(ndr_pull_align(ndr, 4));
1975 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
1976 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
1977 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
1978 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
1980 if (ndr_flags & NDR_BUFFERS) {
1982 return NDR_ERR_SUCCESS;
1985 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
1987 ndr_print_struct(ndr, name, "netr_USER_KEY16");
1989 ndr_print_uint16(ndr, "length", r->length);
1990 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
1991 ndr_print_uint32(ndr, "flags", r->flags);
1992 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
1996 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
1998 if (ndr_flags & NDR_SCALARS) {
1999 NDR_CHECK(ndr_push_align(ndr, 4));
2000 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2001 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2002 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2003 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2004 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2006 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2007 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2009 if (ndr_flags & NDR_BUFFERS) {
2011 return NDR_ERR_SUCCESS;
2014 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2016 if (ndr_flags & NDR_SCALARS) {
2017 NDR_CHECK(ndr_pull_align(ndr, 4));
2018 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2019 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2020 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2021 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2022 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2023 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2024 NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2025 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2026 NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2027 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2029 if (ndr_flags & NDR_BUFFERS) {
2031 return NDR_ERR_SUCCESS;
2034 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2036 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2038 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2039 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2040 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2041 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2042 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2043 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2044 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2045 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2049 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2051 if (ndr_flags & NDR_SCALARS) {
2052 NDR_CHECK(ndr_push_align(ndr, 4));
2053 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2054 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2055 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2057 if (ndr_flags & NDR_BUFFERS) {
2059 return NDR_ERR_SUCCESS;
2062 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2064 if (ndr_flags & NDR_SCALARS) {
2065 NDR_CHECK(ndr_pull_align(ndr, 4));
2066 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2067 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2068 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2070 if (ndr_flags & NDR_BUFFERS) {
2072 return NDR_ERR_SUCCESS;
2075 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2077 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2079 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2080 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2081 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2085 static enum ndr_err_code ndr_push_netr_USER_KEY_UNION(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY_UNION *r)
2087 if (ndr_flags & NDR_SCALARS) {
2088 NDR_CHECK(ndr_push_align(ndr, 4));
2089 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2091 if (ndr_flags & NDR_BUFFERS) {
2093 return NDR_ERR_SUCCESS;
2096 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2098 if (ndr_flags & NDR_SCALARS) {
2099 NDR_CHECK(ndr_pull_align(ndr, 4));
2100 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2102 if (ndr_flags & NDR_BUFFERS) {
2104 return NDR_ERR_SUCCESS;
2107 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2109 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2111 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2115 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2117 if (ndr_flags & NDR_SCALARS) {
2118 NDR_CHECK(ndr_push_align(ndr, 4));
2119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2120 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2122 if (ndr_flags & NDR_BUFFERS) {
2124 return NDR_ERR_SUCCESS;
2127 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2129 if (ndr_flags & NDR_SCALARS) {
2130 NDR_CHECK(ndr_pull_align(ndr, 4));
2131 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2132 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2134 if (ndr_flags & NDR_BUFFERS) {
2136 return NDR_ERR_SUCCESS;
2139 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2141 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2143 ndr_print_uint32(ndr, "version", r->version);
2144 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2148 static enum ndr_err_code ndr_push_netr_USER_PRIVATE_INFO(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_PRIVATE_INFO *r)
2150 if (ndr_flags & NDR_SCALARS) {
2151 NDR_CHECK(ndr_push_align(ndr, 4));
2152 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2153 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2155 uint32_t _flags_save_uint8 = ndr->flags;
2156 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2157 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2158 ndr->flags = _flags_save_uint8;
2161 if (ndr_flags & NDR_BUFFERS) {
2163 uint32_t _flags_save_uint8 = ndr->flags;
2164 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2165 if (r->SensitiveData) {
2166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2167 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2169 ndr->flags = _flags_save_uint8;
2172 return NDR_ERR_SUCCESS;
2175 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2177 uint32_t _ptr_SensitiveData;
2178 TALLOC_CTX *_mem_save_SensitiveData_0;
2179 if (ndr_flags & NDR_SCALARS) {
2180 NDR_CHECK(ndr_pull_align(ndr, 4));
2181 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2182 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2184 uint32_t _flags_save_uint8 = ndr->flags;
2185 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2186 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2187 if (_ptr_SensitiveData) {
2188 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2190 r->SensitiveData = NULL;
2192 ndr->flags = _flags_save_uint8;
2195 if (ndr_flags & NDR_BUFFERS) {
2197 uint32_t _flags_save_uint8 = ndr->flags;
2198 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2199 if (r->SensitiveData) {
2200 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2201 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2202 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2203 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2204 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2207 ndr->flags = _flags_save_uint8;
2209 if (r->SensitiveData) {
2210 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2213 return NDR_ERR_SUCCESS;
2216 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2218 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2220 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2221 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2222 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2224 if (r->SensitiveData) {
2225 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2231 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2233 if (ndr_flags & NDR_SCALARS) {
2234 NDR_CHECK(ndr_push_align(ndr, 4));
2235 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2236 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2239 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2240 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2241 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2242 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2243 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2244 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2245 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2246 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2247 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2248 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2249 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2250 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2251 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2252 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2253 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2254 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2255 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2256 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2257 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2258 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->parameters));
2259 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2260 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2261 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2263 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2264 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2265 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2266 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2267 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2270 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2273 if (ndr_flags & NDR_BUFFERS) {
2274 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2275 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2276 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2277 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2278 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2279 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2280 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2281 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2282 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2283 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
2284 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2285 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2286 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2287 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2288 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2289 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2291 return NDR_ERR_SUCCESS;
2294 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2296 if (ndr_flags & NDR_SCALARS) {
2297 NDR_CHECK(ndr_pull_align(ndr, 4));
2298 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2299 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2300 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2301 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2302 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2303 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2304 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2305 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2306 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2307 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2308 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2309 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2310 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2311 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2312 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2313 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2314 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2315 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2316 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2317 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2318 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2319 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2320 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2321 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->parameters));
2322 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2323 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2324 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2325 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2326 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2327 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2328 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2329 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2330 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2331 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2332 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2333 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2336 if (ndr_flags & NDR_BUFFERS) {
2337 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2338 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2339 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2340 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2341 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2342 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2343 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2344 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2345 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2346 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
2347 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2348 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2349 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2350 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2351 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2352 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2354 return NDR_ERR_SUCCESS;
2357 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2359 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2361 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2362 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2363 ndr_print_uint32(ndr, "rid", r->rid);
2364 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2365 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2366 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2367 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2368 ndr_print_lsa_String(ndr, "description", &r->description);
2369 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2370 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2371 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2372 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2373 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2374 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2375 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2376 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2377 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2378 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2379 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2380 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2381 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2382 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2383 ndr_print_lsa_String(ndr, "comment", &r->comment);
2384 ndr_print_lsa_String(ndr, "parameters", &r->parameters);
2385 ndr_print_uint16(ndr, "country_code", r->country_code);
2386 ndr_print_uint16(ndr, "code_page", r->code_page);
2387 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2388 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2389 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2390 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2391 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2392 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2393 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2394 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2395 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2396 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2397 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2401 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2403 if (ndr_flags & NDR_SCALARS) {
2404 NDR_CHECK(ndr_push_align(ndr, 4));
2405 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2406 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2407 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2408 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2409 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2410 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2411 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2412 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2413 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2415 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2416 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2417 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2418 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2419 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2425 if (ndr_flags & NDR_BUFFERS) {
2426 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2427 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2428 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2429 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2430 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2431 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2432 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2434 return NDR_ERR_SUCCESS;
2437 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2439 if (ndr_flags & NDR_SCALARS) {
2440 NDR_CHECK(ndr_pull_align(ndr, 4));
2441 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2442 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2443 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2444 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2445 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2446 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2447 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2448 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2449 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2450 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2451 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2452 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2453 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2454 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2455 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2456 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2457 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2458 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2459 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2461 if (ndr_flags & NDR_BUFFERS) {
2462 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2463 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2464 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2465 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2466 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2467 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2468 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2470 return NDR_ERR_SUCCESS;
2473 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2475 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2477 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2478 ndr_print_lsa_String(ndr, "comment", &r->comment);
2479 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2480 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2481 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2482 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2483 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2484 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2485 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2486 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2487 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2488 ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
2489 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2490 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2491 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2492 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2493 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2494 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2495 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2499 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2501 if (ndr_flags & NDR_SCALARS) {
2502 NDR_CHECK(ndr_push_align(ndr, 4));
2503 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2506 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2507 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2508 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2509 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2510 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2511 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2512 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2518 if (ndr_flags & NDR_BUFFERS) {
2519 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2520 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2521 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2522 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2523 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2524 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2525 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2527 return NDR_ERR_SUCCESS;
2530 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2532 if (ndr_flags & NDR_SCALARS) {
2533 NDR_CHECK(ndr_pull_align(ndr, 4));
2534 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2535 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2536 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2537 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2538 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2539 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2540 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2541 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2542 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2543 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2544 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2545 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2546 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2547 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2549 if (ndr_flags & NDR_BUFFERS) {
2550 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2551 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2552 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2553 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2554 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2555 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2556 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2558 return NDR_ERR_SUCCESS;
2561 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2563 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2565 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2566 ndr_print_uint32(ndr, "rid", r->rid);
2567 ndr_print_uint32(ndr, "attributes", r->attributes);
2568 ndr_print_lsa_String(ndr, "description", &r->description);
2569 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2570 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2571 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2572 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2573 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2574 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2575 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2576 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2577 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2578 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2582 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2584 if (ndr_flags & NDR_SCALARS) {
2585 NDR_CHECK(ndr_push_align(ndr, 4));
2586 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2587 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2588 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2589 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2590 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2591 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2597 if (ndr_flags & NDR_BUFFERS) {
2598 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2599 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2600 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2601 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2602 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2603 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2605 return NDR_ERR_SUCCESS;
2608 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2610 if (ndr_flags & NDR_SCALARS) {
2611 NDR_CHECK(ndr_pull_align(ndr, 4));
2612 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2613 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2614 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2615 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2616 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2617 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2618 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2620 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2621 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2623 if (ndr_flags & NDR_BUFFERS) {
2624 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2625 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2626 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2627 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2628 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2629 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2631 return NDR_ERR_SUCCESS;
2634 _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2636 ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2638 ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2639 ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2640 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2641 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2642 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2643 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2644 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2645 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2646 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2647 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2651 static enum ndr_err_code ndr_push_netr_DELTA_GROUP_MEMBER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP_MEMBER *r)
2653 uint32_t cntr_rids_1;
2654 uint32_t cntr_attribs_1;
2655 if (ndr_flags & NDR_SCALARS) {
2656 NDR_CHECK(ndr_push_align(ndr, 4));
2657 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2658 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2659 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2661 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2662 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2663 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2665 if (ndr_flags & NDR_BUFFERS) {
2667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2668 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2673 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2674 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
2679 return NDR_ERR_SUCCESS;
2682 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
2685 uint32_t cntr_rids_1;
2686 TALLOC_CTX *_mem_save_rids_0;
2687 TALLOC_CTX *_mem_save_rids_1;
2688 uint32_t _ptr_attribs;
2689 uint32_t cntr_attribs_1;
2690 TALLOC_CTX *_mem_save_attribs_0;
2691 TALLOC_CTX *_mem_save_attribs_1;
2692 if (ndr_flags & NDR_SCALARS) {
2693 NDR_CHECK(ndr_pull_align(ndr, 4));
2694 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
2696 NDR_PULL_ALLOC(ndr, r->rids);
2700 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2702 NDR_PULL_ALLOC(ndr, r->attribs);
2706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
2707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2708 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2709 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2710 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2712 if (ndr_flags & NDR_BUFFERS) {
2714 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2715 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2716 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
2717 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
2718 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2719 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2720 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2721 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
2723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
2724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
2727 _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
2728 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2729 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
2730 NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
2731 _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
2732 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2733 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2734 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
2736 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
2737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
2740 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
2743 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
2746 return NDR_ERR_SUCCESS;
2749 _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
2751 uint32_t cntr_rids_1;
2752 uint32_t cntr_attribs_1;
2753 ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
2755 ndr_print_ptr(ndr, "rids", r->rids);
2758 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
2760 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
2762 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
2763 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
2770 ndr_print_ptr(ndr, "attribs", r->attribs);
2773 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
2775 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
2777 if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
2778 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
2785 ndr_print_uint32(ndr, "num_rids", r->num_rids);
2786 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2787 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2788 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2789 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2793 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
2795 if (ndr_flags & NDR_SCALARS) {
2796 NDR_CHECK(ndr_push_align(ndr, 4));
2797 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2800 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2801 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2802 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2803 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2804 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2805 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2810 if (ndr_flags & NDR_BUFFERS) {
2811 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2812 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2813 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2814 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2815 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2816 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2818 return NDR_ERR_SUCCESS;
2821 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
2823 if (ndr_flags & NDR_SCALARS) {
2824 NDR_CHECK(ndr_pull_align(ndr, 4));
2825 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2826 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2827 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2828 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2829 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2830 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2831 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2832 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2833 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2834 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2835 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2836 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2838 if (ndr_flags & NDR_BUFFERS) {
2839 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2840 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2841 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2842 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2843 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2844 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2846 return NDR_ERR_SUCCESS;
2849 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
2851 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
2853 ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
2854 ndr_print_uint32(ndr, "rid", r->rid);
2855 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2856 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2857 ndr_print_lsa_String(ndr, "description", &r->description);
2858 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2859 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2860 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2861 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2862 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2863 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2864 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2868 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS_MEMBER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS_MEMBER *r)
2870 if (ndr_flags & NDR_SCALARS) {
2871 NDR_CHECK(ndr_push_align(ndr, 4));
2872 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2878 if (ndr_flags & NDR_BUFFERS) {
2879 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2881 return NDR_ERR_SUCCESS;
2884 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
2886 if (ndr_flags & NDR_SCALARS) {
2887 NDR_CHECK(ndr_pull_align(ndr, 4));
2888 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2889 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2890 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2892 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2894 if (ndr_flags & NDR_BUFFERS) {
2895 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2897 return NDR_ERR_SUCCESS;
2900 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
2902 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
2904 ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
2905 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2906 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2907 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2908 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2912 static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
2914 if (ndr_flags & NDR_SCALARS) {
2915 NDR_CHECK(ndr_push_align(ndr, 4));
2916 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
2917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
2918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
2919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
2920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
2921 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
2923 if (ndr_flags & NDR_BUFFERS) {
2925 return NDR_ERR_SUCCESS;
2928 static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
2930 if (ndr_flags & NDR_SCALARS) {
2931 NDR_CHECK(ndr_pull_align(ndr, 4));
2932 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
2933 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
2934 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
2935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
2936 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
2937 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
2939 if (ndr_flags & NDR_BUFFERS) {
2941 return NDR_ERR_SUCCESS;
2944 _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
2946 ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
2948 ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
2949 ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
2950 ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
2951 ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
2952 ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
2953 ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
2957 static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
2959 uint32_t cntr_eventauditoptions_1;
2960 if (ndr_flags & NDR_SCALARS) {
2961 NDR_CHECK(ndr_push_align(ndr, 4));
2962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
2963 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
2964 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
2965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
2966 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
2967 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
2968 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2969 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
2970 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2971 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
2972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2973 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2974 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2975 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2976 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2977 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2983 if (ndr_flags & NDR_BUFFERS) {
2984 if (r->eventauditoptions) {
2985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
2986 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
2987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
2990 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
2992 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2994 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2995 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2996 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2997 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2998 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3000 return NDR_ERR_SUCCESS;
3003 static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3005 uint32_t _ptr_eventauditoptions;
3006 uint32_t cntr_eventauditoptions_1;
3007 TALLOC_CTX *_mem_save_eventauditoptions_0;
3008 TALLOC_CTX *_mem_save_eventauditoptions_1;
3010 TALLOC_CTX *_mem_save_sid_0;
3011 if (ndr_flags & NDR_SCALARS) {
3012 NDR_CHECK(ndr_pull_align(ndr, 4));
3013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3014 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3015 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3016 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3017 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3018 if (_ptr_eventauditoptions) {
3019 NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3021 r->eventauditoptions = NULL;
3023 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3026 NDR_PULL_ALLOC(ndr, r->sid);
3030 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3031 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3032 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3033 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3034 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3035 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3036 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3037 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3038 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3039 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3040 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3041 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3042 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3044 if (ndr_flags & NDR_BUFFERS) {
3045 if (r->eventauditoptions) {
3046 _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3047 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3048 NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3049 NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
3050 _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3051 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3052 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3053 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3055 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3058 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3060 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3061 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3062 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3063 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3065 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3066 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3067 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3068 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3069 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3070 if (r->eventauditoptions) {
3071 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3074 return NDR_ERR_SUCCESS;
3077 _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3079 uint32_t cntr_eventauditoptions_1;
3080 ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3082 ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3083 ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3084 ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3085 ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3086 ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3088 if (r->eventauditoptions) {
3089 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
3091 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3093 if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3094 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3101 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3102 ndr_print_ptr(ndr, "sid", r->sid);
3105 ndr_print_dom_sid2(ndr, "sid", r->sid);
3108 ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3109 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3110 ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3111 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3112 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3113 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3114 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3115 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3116 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3117 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3118 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3119 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3120 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3124 static enum ndr_err_code ndr_push_netr_DELTA_TRUSTED_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3126 uint32_t cntr_controller_names_1;
3127 if (ndr_flags & NDR_SCALARS) {
3128 NDR_CHECK(ndr_push_align(ndr, 4));
3129 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3130 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3131 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3133 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3134 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3135 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3136 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3137 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3143 if (ndr_flags & NDR_BUFFERS) {
3144 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3145 if (r->controller_names) {
3146 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3147 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3148 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3150 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3151 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3154 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3155 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3156 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3157 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3158 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3160 return NDR_ERR_SUCCESS;
3163 static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3165 uint32_t _ptr_controller_names;
3166 uint32_t cntr_controller_names_1;
3167 TALLOC_CTX *_mem_save_controller_names_0;
3168 TALLOC_CTX *_mem_save_controller_names_1;
3169 if (ndr_flags & NDR_SCALARS) {
3170 NDR_CHECK(ndr_pull_align(ndr, 4));
3171 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3172 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3173 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3174 if (_ptr_controller_names) {
3175 NDR_PULL_ALLOC(ndr, r->controller_names);
3177 r->controller_names = NULL;
3179 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3180 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3181 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3182 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3183 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3184 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3185 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3190 if (ndr_flags & NDR_BUFFERS) {
3191 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3192 if (r->controller_names) {
3193 _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3194 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3195 NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3196 NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
3197 _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3198 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3199 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3200 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3202 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3203 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3208 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3209 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3210 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3211 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3212 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3213 if (r->controller_names) {
3214 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3217 return NDR_ERR_SUCCESS;
3220 _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3222 uint32_t cntr_controller_names_1;
3223 ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3225 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3226 ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3227 ndr_print_ptr(ndr, "controller_names", r->controller_names);
3229 if (r->controller_names) {
3230 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
3232 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3234 if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) {
3235 ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3242 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3243 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3244 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3245 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3246 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3247 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3248 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3249 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3250 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3251 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3255 static enum ndr_err_code ndr_push_netr_DELTA_DELETE_TRUST(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_TRUST *r)
3257 if (ndr_flags & NDR_SCALARS) {
3258 NDR_CHECK(ndr_push_align(ndr, 2));
3259 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3261 if (ndr_flags & NDR_BUFFERS) {
3263 return NDR_ERR_SUCCESS;
3266 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3268 if (ndr_flags & NDR_SCALARS) {
3269 NDR_CHECK(ndr_pull_align(ndr, 2));
3270 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3272 if (ndr_flags & NDR_BUFFERS) {
3274 return NDR_ERR_SUCCESS;
3277 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3279 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3281 ndr_print_uint16(ndr, "unknown", r->unknown);
3285 static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3287 uint32_t cntr_privilege_attrib_1;
3288 uint32_t cntr_privilege_name_1;
3289 if (ndr_flags & NDR_SCALARS) {
3290 NDR_CHECK(ndr_push_align(ndr, 4));
3291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3293 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3294 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3295 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3298 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3299 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3300 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3301 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3302 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3306 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3308 if (ndr_flags & NDR_BUFFERS) {
3309 if (r->privilege_attrib) {
3310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3311 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3312 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3315 if (r->privilege_name) {
3316 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3317 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3318 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3320 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3321 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3324 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3325 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3326 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3327 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3328 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3330 return NDR_ERR_SUCCESS;
3333 static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3335 uint32_t _ptr_privilege_attrib;
3336 uint32_t cntr_privilege_attrib_1;
3337 TALLOC_CTX *_mem_save_privilege_attrib_0;
3338 TALLOC_CTX *_mem_save_privilege_attrib_1;
3339 uint32_t _ptr_privilege_name;
3340 uint32_t cntr_privilege_name_1;
3341 TALLOC_CTX *_mem_save_privilege_name_0;
3342 TALLOC_CTX *_mem_save_privilege_name_1;
3343 if (ndr_flags & NDR_SCALARS) {
3344 NDR_CHECK(ndr_pull_align(ndr, 4));
3345 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3346 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3347 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3348 if (_ptr_privilege_attrib) {
3349 NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3351 r->privilege_attrib = NULL;
3353 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3354 if (_ptr_privilege_name) {
3355 NDR_PULL_ALLOC(ndr, r->privilege_name);
3357 r->privilege_name = NULL;
3359 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3362 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3363 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3364 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3365 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3366 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3367 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3368 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3370 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3372 if (ndr_flags & NDR_BUFFERS) {
3373 if (r->privilege_attrib) {
3374 _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3375 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3376 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3377 NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
3378 _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3379 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3380 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3384 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3386 if (r->privilege_name) {
3387 _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3388 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3389 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3390 NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
3391 _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3392 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3393 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3394 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3396 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3397 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3399 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3402 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3403 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3404 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3405 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3406 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3407 if (r->privilege_attrib) {
3408 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3410 if (r->privilege_name) {
3411 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3414 return NDR_ERR_SUCCESS;
3417 _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3419 uint32_t cntr_privilege_attrib_1;
3420 uint32_t cntr_privilege_name_1;
3421 ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3423 ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3424 ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3425 ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3427 if (r->privilege_attrib) {
3428 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
3430 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3432 if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) {
3433 ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3440 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3442 if (r->privilege_name) {
3443 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
3445 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3447 if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) {
3448 ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3455 ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3456 ndr_print_uint32(ndr, "system_flags", r->system_flags);
3457 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3458 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3459 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3460 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3461 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3462 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3463 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3464 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3465 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3466 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3470 static enum ndr_err_code ndr_push_netr_DELTA_DELETE_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_ACCOUNT *r)
3472 if (ndr_flags & NDR_SCALARS) {
3473 NDR_CHECK(ndr_push_align(ndr, 2));
3474 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3476 if (ndr_flags & NDR_BUFFERS) {
3478 return NDR_ERR_SUCCESS;
3481 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3483 if (ndr_flags & NDR_SCALARS) {
3484 NDR_CHECK(ndr_pull_align(ndr, 2));
3485 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3487 if (ndr_flags & NDR_BUFFERS) {
3489 return NDR_ERR_SUCCESS;
3492 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3494 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3496 ndr_print_uint16(ndr, "unknown", r->unknown);
3500 static enum ndr_err_code ndr_push_netr_DELTA_DELETE_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DELETE_SECRET *r)
3502 if (ndr_flags & NDR_SCALARS) {
3503 NDR_CHECK(ndr_push_align(ndr, 2));
3504 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3506 if (ndr_flags & NDR_BUFFERS) {
3508 return NDR_ERR_SUCCESS;
3511 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3513 if (ndr_flags & NDR_SCALARS) {
3514 NDR_CHECK(ndr_pull_align(ndr, 2));
3515 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3517 if (ndr_flags & NDR_BUFFERS) {
3519 return NDR_ERR_SUCCESS;
3522 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3524 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3526 ndr_print_uint16(ndr, "unknown", r->unknown);
3530 static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3532 if (ndr_flags & NDR_SCALARS) {
3533 NDR_CHECK(ndr_push_align(ndr, 4));
3534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3536 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3538 if (ndr_flags & NDR_BUFFERS) {
3539 if (r->cipher_data) {
3540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3541 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3542 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3543 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3546 return NDR_ERR_SUCCESS;
3549 static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3551 uint32_t _ptr_cipher_data;
3552 TALLOC_CTX *_mem_save_cipher_data_0;
3553 if (ndr_flags & NDR_SCALARS) {
3554 NDR_CHECK(ndr_pull_align(ndr, 4));
3555 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3556 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3557 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3558 if (_ptr_cipher_data) {
3559 NDR_PULL_ALLOC(ndr, r->cipher_data);
3561 r->cipher_data = NULL;
3564 if (ndr_flags & NDR_BUFFERS) {
3565 if (r->cipher_data) {
3566 _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3567 NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3568 NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3569 NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3570 if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
3571 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->cipher_data), ndr_get_array_length(ndr, &r->cipher_data));
3573 NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
3574 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
3575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3577 if (r->cipher_data) {
3578 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3580 if (r->cipher_data) {
3581 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3584 return NDR_ERR_SUCCESS;
3587 _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3589 ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3591 ndr_print_uint32(ndr, "len", r->len);
3592 ndr_print_uint32(ndr, "maxlen", r->maxlen);
3593 ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3595 if (r->cipher_data) {
3596 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3602 static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3604 if (ndr_flags & NDR_SCALARS) {
3605 NDR_CHECK(ndr_push_align(ndr, 4));
3606 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3607 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3608 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3609 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3611 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3612 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3613 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3614 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3615 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3618 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3619 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3621 if (ndr_flags & NDR_BUFFERS) {
3622 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3623 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3624 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3625 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3626 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3627 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3628 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3630 return NDR_ERR_SUCCESS;
3633 static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3635 if (ndr_flags & NDR_SCALARS) {
3636 NDR_CHECK(ndr_pull_align(ndr, 4));
3637 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3638 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3639 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3640 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3641 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3642 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3643 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3644 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3645 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3646 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3647 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3648 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3649 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3650 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3652 if (ndr_flags & NDR_BUFFERS) {
3653 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3654 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3655 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3656 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3657 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3658 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3659 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3661 return NDR_ERR_SUCCESS;
3664 _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
3666 ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
3668 ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
3669 ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
3670 ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
3671 ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
3672 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3673 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3674 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3675 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3676 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3677 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3678 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3679 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3680 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3681 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3685 static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
3687 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3688 return NDR_ERR_SUCCESS;
3691 static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
3694 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3696 return NDR_ERR_SUCCESS;
3699 _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
3701 const char *val = NULL;
3704 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
3705 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
3706 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
3707 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
3708 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
3709 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
3710 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
3711 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
3712 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
3713 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
3714 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
3715 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
3716 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
3717 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
3718 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
3719 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
3720 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
3721 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
3722 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
3723 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
3724 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
3725 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
3727 ndr_print_enum(ndr, name, "ENUM", val, r);
3730 static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
3732 if (ndr_flags & NDR_SCALARS) {
3733 int level = ndr_push_get_switch_value(ndr, r);
3734 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
3736 case NETR_DELTA_DOMAIN: {
3737 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
3740 case NETR_DELTA_GROUP: {
3741 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
3744 case NETR_DELTA_DELETE_GROUP: {
3747 case NETR_DELTA_RENAME_GROUP: {
3748 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
3751 case NETR_DELTA_USER: {
3752 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
3755 case NETR_DELTA_DELETE_USER: {
3758 case NETR_DELTA_RENAME_USER: {
3759 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
3762 case NETR_DELTA_GROUP_MEMBER: {
3763 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
3766 case NETR_DELTA_ALIAS: {
3767 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
3770 case NETR_DELTA_DELETE_ALIAS: {
3773 case NETR_DELTA_RENAME_ALIAS: {
3774 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
3777 case NETR_DELTA_ALIAS_MEMBER: {
3778 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
3781 case NETR_DELTA_POLICY: {
3782 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
3785 case NETR_DELTA_TRUSTED_DOMAIN: {
3786 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
3789 case NETR_DELTA_DELETE_TRUST: {
3790 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
3793 case NETR_DELTA_ACCOUNT: {
3794 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
3797 case NETR_DELTA_DELETE_ACCOUNT: {
3798 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
3801 case NETR_DELTA_SECRET: {
3802 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
3805 case NETR_DELTA_DELETE_SECRET: {
3806 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
3809 case NETR_DELTA_DELETE_GROUP2: {
3810 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
3813 case NETR_DELTA_DELETE_USER2: {
3814 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
3817 case NETR_DELTA_MODIFY_COUNT: {
3818 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
3822 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3825 if (ndr_flags & NDR_BUFFERS) {
3826 int level = ndr_push_get_switch_value(ndr, r);
3828 case NETR_DELTA_DOMAIN:
3830 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
3834 case NETR_DELTA_GROUP:
3836 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
3840 case NETR_DELTA_DELETE_GROUP:
3843 case NETR_DELTA_RENAME_GROUP:
3844 if (r->rename_group) {
3845 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
3849 case NETR_DELTA_USER:
3851 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
3855 case NETR_DELTA_DELETE_USER:
3858 case NETR_DELTA_RENAME_USER:
3859 if (r->rename_user) {
3860 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
3864 case NETR_DELTA_GROUP_MEMBER:
3865 if (r->group_member) {
3866 NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
3870 case NETR_DELTA_ALIAS:
3872 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
3876 case NETR_DELTA_DELETE_ALIAS:
3879 case NETR_DELTA_RENAME_ALIAS:
3880 if (r->rename_alias) {
3881 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
3885 case NETR_DELTA_ALIAS_MEMBER:
3886 if (r->alias_member) {
3887 NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
3891 case NETR_DELTA_POLICY:
3893 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
3897 case NETR_DELTA_TRUSTED_DOMAIN:
3898 if (r->trusted_domain) {
3899 NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
3903 case NETR_DELTA_DELETE_TRUST:
3906 case NETR_DELTA_ACCOUNT:
3908 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
3912 case NETR_DELTA_DELETE_ACCOUNT:
3915 case NETR_DELTA_SECRET:
3917 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
3921 case NETR_DELTA_DELETE_SECRET:
3924 case NETR_DELTA_DELETE_GROUP2:
3925 if (r->delete_group) {
3926 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
3930 case NETR_DELTA_DELETE_USER2:
3931 if (r->delete_user) {
3932 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
3936 case NETR_DELTA_MODIFY_COUNT:
3937 if (r->modified_count) {
3938 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
3943 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3946 return NDR_ERR_SUCCESS;
3949 static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
3953 TALLOC_CTX *_mem_save_domain_0;
3954 TALLOC_CTX *_mem_save_group_0;
3955 TALLOC_CTX *_mem_save_rename_group_0;
3956 TALLOC_CTX *_mem_save_user_0;
3957 TALLOC_CTX *_mem_save_rename_user_0;
3958 TALLOC_CTX *_mem_save_group_member_0;
3959 TALLOC_CTX *_mem_save_alias_0;
3960 TALLOC_CTX *_mem_save_rename_alias_0;
3961 TALLOC_CTX *_mem_save_alias_member_0;
3962 TALLOC_CTX *_mem_save_policy_0;
3963 TALLOC_CTX *_mem_save_trusted_domain_0;
3964 TALLOC_CTX *_mem_save_account_0;
3965 TALLOC_CTX *_mem_save_secret_0;
3966 TALLOC_CTX *_mem_save_delete_group_0;
3967 TALLOC_CTX *_mem_save_delete_user_0;
3968 TALLOC_CTX *_mem_save_modified_count_0;
3969 level = ndr_pull_get_switch_value(ndr, r);
3970 if (ndr_flags & NDR_SCALARS) {
3971 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
3972 if (_level != level) {
3973 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3976 case NETR_DELTA_DOMAIN: {
3977 uint32_t _ptr_domain;
3978 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
3980 NDR_PULL_ALLOC(ndr, r->domain);
3986 case NETR_DELTA_GROUP: {
3987 uint32_t _ptr_group;
3988 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
3990 NDR_PULL_ALLOC(ndr, r->group);
3996 case NETR_DELTA_DELETE_GROUP: {
3999 case NETR_DELTA_RENAME_GROUP: {
4000 uint32_t _ptr_rename_group;
4001 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4002 if (_ptr_rename_group) {
4003 NDR_PULL_ALLOC(ndr, r->rename_group);
4005 r->rename_group = NULL;
4009 case NETR_DELTA_USER: {
4011 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4013 NDR_PULL_ALLOC(ndr, r->user);
4019 case NETR_DELTA_DELETE_USER: {
4022 case NETR_DELTA_RENAME_USER: {
4023 uint32_t _ptr_rename_user;
4024 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4025 if (_ptr_rename_user) {
4026 NDR_PULL_ALLOC(ndr, r->rename_user);
4028 r->rename_user = NULL;
4032 case NETR_DELTA_GROUP_MEMBER: {
4033 uint32_t _ptr_group_member;
4034 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4035 if (_ptr_group_member) {
4036 NDR_PULL_ALLOC(ndr, r->group_member);
4038 r->group_member = NULL;
4042 case NETR_DELTA_ALIAS: {
4043 uint32_t _ptr_alias;
4044 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4046 NDR_PULL_ALLOC(ndr, r->alias);
4052 case NETR_DELTA_DELETE_ALIAS: {
4055 case NETR_DELTA_RENAME_ALIAS: {
4056 uint32_t _ptr_rename_alias;
4057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4058 if (_ptr_rename_alias) {
4059 NDR_PULL_ALLOC(ndr, r->rename_alias);
4061 r->rename_alias = NULL;
4065 case NETR_DELTA_ALIAS_MEMBER: {
4066 uint32_t _ptr_alias_member;
4067 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4068 if (_ptr_alias_member) {
4069 NDR_PULL_ALLOC(ndr, r->alias_member);
4071 r->alias_member = NULL;
4075 case NETR_DELTA_POLICY: {
4076 uint32_t _ptr_policy;
4077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4079 NDR_PULL_ALLOC(ndr, r->policy);
4085 case NETR_DELTA_TRUSTED_DOMAIN: {
4086 uint32_t _ptr_trusted_domain;
4087 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4088 if (_ptr_trusted_domain) {
4089 NDR_PULL_ALLOC(ndr, r->trusted_domain);
4091 r->trusted_domain = NULL;
4095 case NETR_DELTA_DELETE_TRUST: {
4096 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4099 case NETR_DELTA_ACCOUNT: {
4100 uint32_t _ptr_account;
4101 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4103 NDR_PULL_ALLOC(ndr, r->account);
4109 case NETR_DELTA_DELETE_ACCOUNT: {
4110 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4113 case NETR_DELTA_SECRET: {
4114 uint32_t _ptr_secret;
4115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4117 NDR_PULL_ALLOC(ndr, r->secret);
4123 case NETR_DELTA_DELETE_SECRET: {
4124 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4127 case NETR_DELTA_DELETE_GROUP2: {
4128 uint32_t _ptr_delete_group;
4129 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4130 if (_ptr_delete_group) {
4131 NDR_PULL_ALLOC(ndr, r->delete_group);
4133 r->delete_group = NULL;
4137 case NETR_DELTA_DELETE_USER2: {
4138 uint32_t _ptr_delete_user;
4139 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4140 if (_ptr_delete_user) {
4141 NDR_PULL_ALLOC(ndr, r->delete_user);
4143 r->delete_user = NULL;
4147 case NETR_DELTA_MODIFY_COUNT: {
4148 uint32_t _ptr_modified_count;
4149 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4150 if (_ptr_modified_count) {
4151 NDR_PULL_ALLOC(ndr, r->modified_count);
4153 r->modified_count = NULL;
4158 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4161 if (ndr_flags & NDR_BUFFERS) {
4163 case NETR_DELTA_DOMAIN:
4165 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4166 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4167 NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4168 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4172 case NETR_DELTA_GROUP:
4174 _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4175 NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4176 NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4177 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4181 case NETR_DELTA_DELETE_GROUP:
4184 case NETR_DELTA_RENAME_GROUP:
4185 if (r->rename_group) {
4186 _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4187 NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4188 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4193 case NETR_DELTA_USER:
4195 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4196 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4197 NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4202 case NETR_DELTA_DELETE_USER:
4205 case NETR_DELTA_RENAME_USER:
4206 if (r->rename_user) {
4207 _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4208 NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4209 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4214 case NETR_DELTA_GROUP_MEMBER:
4215 if (r->group_member) {
4216 _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4217 NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4218 NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4223 case NETR_DELTA_ALIAS:
4225 _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4226 NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4227 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4232 case NETR_DELTA_DELETE_ALIAS:
4235 case NETR_DELTA_RENAME_ALIAS:
4236 if (r->rename_alias) {
4237 _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4238 NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4239 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4244 case NETR_DELTA_ALIAS_MEMBER:
4245 if (r->alias_member) {
4246 _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4247 NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4248 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4249 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4253 case NETR_DELTA_POLICY:
4255 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4256 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4257 NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4258 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4262 case NETR_DELTA_TRUSTED_DOMAIN:
4263 if (r->trusted_domain) {
4264 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4265 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4266 NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4271 case NETR_DELTA_DELETE_TRUST:
4274 case NETR_DELTA_ACCOUNT:
4276 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4277 NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4278 NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4283 case NETR_DELTA_DELETE_ACCOUNT:
4286 case NETR_DELTA_SECRET:
4288 _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4289 NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4290 NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4295 case NETR_DELTA_DELETE_SECRET:
4298 case NETR_DELTA_DELETE_GROUP2:
4299 if (r->delete_group) {
4300 _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4301 NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4302 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4307 case NETR_DELTA_DELETE_USER2:
4308 if (r->delete_user) {
4309 _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4310 NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4311 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4316 case NETR_DELTA_MODIFY_COUNT:
4317 if (r->modified_count) {
4318 _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4319 NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4320 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4326 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4329 return NDR_ERR_SUCCESS;
4332 _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4335 level = ndr_print_get_switch_value(ndr, r);
4336 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4338 case NETR_DELTA_DOMAIN:
4339 ndr_print_ptr(ndr, "domain", r->domain);
4342 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4347 case NETR_DELTA_GROUP:
4348 ndr_print_ptr(ndr, "group", r->group);
4351 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4356 case NETR_DELTA_DELETE_GROUP:
4359 case NETR_DELTA_RENAME_GROUP:
4360 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4362 if (r->rename_group) {
4363 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4368 case NETR_DELTA_USER:
4369 ndr_print_ptr(ndr, "user", r->user);
4372 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4377 case NETR_DELTA_DELETE_USER:
4380 case NETR_DELTA_RENAME_USER:
4381 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4383 if (r->rename_user) {
4384 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4389 case NETR_DELTA_GROUP_MEMBER:
4390 ndr_print_ptr(ndr, "group_member", r->group_member);
4392 if (r->group_member) {
4393 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4398 case NETR_DELTA_ALIAS:
4399 ndr_print_ptr(ndr, "alias", r->alias);
4402 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4407 case NETR_DELTA_DELETE_ALIAS:
4410 case NETR_DELTA_RENAME_ALIAS:
4411 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4413 if (r->rename_alias) {
4414 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4419 case NETR_DELTA_ALIAS_MEMBER:
4420 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4422 if (r->alias_member) {
4423 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4428 case NETR_DELTA_POLICY:
4429 ndr_print_ptr(ndr, "policy", r->policy);
4432 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4437 case NETR_DELTA_TRUSTED_DOMAIN:
4438 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4440 if (r->trusted_domain) {
4441 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4446 case NETR_DELTA_DELETE_TRUST:
4447 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4450 case NETR_DELTA_ACCOUNT:
4451 ndr_print_ptr(ndr, "account", r->account);
4454 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4459 case NETR_DELTA_DELETE_ACCOUNT:
4460 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4463 case NETR_DELTA_SECRET:
4464 ndr_print_ptr(ndr, "secret", r->secret);
4467 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4472 case NETR_DELTA_DELETE_SECRET:
4473 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4476 case NETR_DELTA_DELETE_GROUP2:
4477 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4479 if (r->delete_group) {
4480 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4485 case NETR_DELTA_DELETE_USER2:
4486 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4488 if (r->delete_user) {
4489 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4494 case NETR_DELTA_MODIFY_COUNT:
4495 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4497 if (r->modified_count) {
4498 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4504 ndr_print_bad_level(ndr, name, level);
4508 static enum ndr_err_code ndr_push_netr_DELTA_ID_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_ID_UNION *r)
4510 if (ndr_flags & NDR_SCALARS) {
4511 int level = ndr_push_get_switch_value(ndr, r);
4512 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4514 case NETR_DELTA_DOMAIN: {
4515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4518 case NETR_DELTA_GROUP: {
4519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4522 case NETR_DELTA_DELETE_GROUP: {
4523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4526 case NETR_DELTA_RENAME_GROUP: {
4527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4530 case NETR_DELTA_USER: {
4531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4534 case NETR_DELTA_DELETE_USER: {
4535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4538 case NETR_DELTA_RENAME_USER: {
4539 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4542 case NETR_DELTA_GROUP_MEMBER: {
4543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4546 case NETR_DELTA_ALIAS: {
4547 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4550 case NETR_DELTA_DELETE_ALIAS: {
4551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4554 case NETR_DELTA_RENAME_ALIAS: {
4555 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4558 case NETR_DELTA_ALIAS_MEMBER: {
4559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4562 case NETR_DELTA_POLICY: {
4563 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4566 case NETR_DELTA_TRUSTED_DOMAIN: {
4567 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4570 case NETR_DELTA_DELETE_TRUST: {
4571 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4574 case NETR_DELTA_ACCOUNT: {
4575 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4578 case NETR_DELTA_DELETE_ACCOUNT: {
4579 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4582 case NETR_DELTA_SECRET: {
4583 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4586 case NETR_DELTA_DELETE_SECRET: {
4587 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4590 case NETR_DELTA_DELETE_GROUP2: {
4591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4594 case NETR_DELTA_DELETE_USER2: {
4595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4598 case NETR_DELTA_MODIFY_COUNT: {
4602 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4605 if (ndr_flags & NDR_BUFFERS) {
4606 int level = ndr_push_get_switch_value(ndr, r);
4608 case NETR_DELTA_DOMAIN:
4611 case NETR_DELTA_GROUP:
4614 case NETR_DELTA_DELETE_GROUP:
4617 case NETR_DELTA_RENAME_GROUP:
4620 case NETR_DELTA_USER:
4623 case NETR_DELTA_DELETE_USER:
4626 case NETR_DELTA_RENAME_USER:
4629 case NETR_DELTA_GROUP_MEMBER:
4632 case NETR_DELTA_ALIAS:
4635 case NETR_DELTA_DELETE_ALIAS:
4638 case NETR_DELTA_RENAME_ALIAS:
4641 case NETR_DELTA_ALIAS_MEMBER:
4644 case NETR_DELTA_POLICY:
4646 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4650 case NETR_DELTA_TRUSTED_DOMAIN:
4652 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4656 case NETR_DELTA_DELETE_TRUST:
4658 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4662 case NETR_DELTA_ACCOUNT:
4664 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4668 case NETR_DELTA_DELETE_ACCOUNT:
4670 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4674 case NETR_DELTA_SECRET:
4676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4677 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4679 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4683 case NETR_DELTA_DELETE_SECRET:
4685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4688 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4692 case NETR_DELTA_DELETE_GROUP2:
4695 case NETR_DELTA_DELETE_USER2:
4698 case NETR_DELTA_MODIFY_COUNT:
4702 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4705 return NDR_ERR_SUCCESS;
4708 static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
4712 TALLOC_CTX *_mem_save_sid_0;
4713 TALLOC_CTX *_mem_save_name_0;
4714 level = ndr_pull_get_switch_value(ndr, r);
4715 if (ndr_flags & NDR_SCALARS) {
4716 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4717 if (_level != level) {
4718 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4721 case NETR_DELTA_DOMAIN: {
4722 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4725 case NETR_DELTA_GROUP: {
4726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4729 case NETR_DELTA_DELETE_GROUP: {
4730 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4733 case NETR_DELTA_RENAME_GROUP: {
4734 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4737 case NETR_DELTA_USER: {
4738 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4741 case NETR_DELTA_DELETE_USER: {
4742 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4745 case NETR_DELTA_RENAME_USER: {
4746 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4749 case NETR_DELTA_GROUP_MEMBER: {
4750 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4753 case NETR_DELTA_ALIAS: {
4754 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4757 case NETR_DELTA_DELETE_ALIAS: {
4758 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4761 case NETR_DELTA_RENAME_ALIAS: {
4762 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4765 case NETR_DELTA_ALIAS_MEMBER: {
4766 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4769 case NETR_DELTA_POLICY: {
4771 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4773 NDR_PULL_ALLOC(ndr, r->sid);
4779 case NETR_DELTA_TRUSTED_DOMAIN: {
4781 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4783 NDR_PULL_ALLOC(ndr, r->sid);
4789 case NETR_DELTA_DELETE_TRUST: {
4791 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4793 NDR_PULL_ALLOC(ndr, r->sid);
4799 case NETR_DELTA_ACCOUNT: {
4801 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4803 NDR_PULL_ALLOC(ndr, r->sid);
4809 case NETR_DELTA_DELETE_ACCOUNT: {
4811 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4813 NDR_PULL_ALLOC(ndr, r->sid);
4819 case NETR_DELTA_SECRET: {
4821 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4823 NDR_PULL_ALLOC(ndr, r->name);
4829 case NETR_DELTA_DELETE_SECRET: {
4831 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4833 NDR_PULL_ALLOC(ndr, r->name);
4839 case NETR_DELTA_DELETE_GROUP2: {
4840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4843 case NETR_DELTA_DELETE_USER2: {
4844 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4847 case NETR_DELTA_MODIFY_COUNT: {
4851 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4854 if (ndr_flags & NDR_BUFFERS) {
4856 case NETR_DELTA_DOMAIN:
4859 case NETR_DELTA_GROUP:
4862 case NETR_DELTA_DELETE_GROUP:
4865 case NETR_DELTA_RENAME_GROUP:
4868 case NETR_DELTA_USER:
4871 case NETR_DELTA_DELETE_USER:
4874 case NETR_DELTA_RENAME_USER:
4877 case NETR_DELTA_GROUP_MEMBER:
4880 case NETR_DELTA_ALIAS:
4883 case NETR_DELTA_DELETE_ALIAS:
4886 case NETR_DELTA_RENAME_ALIAS:
4889 case NETR_DELTA_ALIAS_MEMBER:
4892 case NETR_DELTA_POLICY:
4894 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4895 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4896 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4901 case NETR_DELTA_TRUSTED_DOMAIN:
4903 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4904 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4905 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4906 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4910 case NETR_DELTA_DELETE_TRUST:
4912 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4913 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4914 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4919 case NETR_DELTA_ACCOUNT:
4921 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4922 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4923 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4924 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4928 case NETR_DELTA_DELETE_ACCOUNT:
4930 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4931 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4932 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4937 case NETR_DELTA_SECRET:
4939 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4940 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
4941 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
4942 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
4943 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
4944 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
4946 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
4947 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
4948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
4952 case NETR_DELTA_DELETE_SECRET:
4954 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4955 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
4956 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
4957 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
4958 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
4959 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
4961 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
4962 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
4963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
4967 case NETR_DELTA_DELETE_GROUP2:
4970 case NETR_DELTA_DELETE_USER2:
4973 case NETR_DELTA_MODIFY_COUNT:
4977 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4980 return NDR_ERR_SUCCESS;
4983 _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
4986 level = ndr_print_get_switch_value(ndr, r);
4987 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
4989 case NETR_DELTA_DOMAIN:
4990 ndr_print_uint32(ndr, "rid", r->rid);
4993 case NETR_DELTA_GROUP:
4994 ndr_print_uint32(ndr, "rid", r->rid);
4997 case NETR_DELTA_DELETE_GROUP:
4998 ndr_print_uint32(ndr, "rid", r->rid);
5001 case NETR_DELTA_RENAME_GROUP:
5002 ndr_print_uint32(ndr, "rid", r->rid);
5005 case NETR_DELTA_USER:
5006 ndr_print_uint32(ndr, "rid", r->rid);
5009 case NETR_DELTA_DELETE_USER:
5010 ndr_print_uint32(ndr, "rid", r->rid);
5013 case NETR_DELTA_RENAME_USER:
5014 ndr_print_uint32(ndr, "rid", r->rid);
5017 case NETR_DELTA_GROUP_MEMBER:
5018 ndr_print_uint32(ndr, "rid", r->rid);
5021 case NETR_DELTA_ALIAS:
5022 ndr_print_uint32(ndr, "rid", r->rid);
5025 case NETR_DELTA_DELETE_ALIAS:
5026 ndr_print_uint32(ndr, "rid", r->rid);
5029 case NETR_DELTA_RENAME_ALIAS:
5030 ndr_print_uint32(ndr, "rid", r->rid);
5033 case NETR_DELTA_ALIAS_MEMBER:
5034 ndr_print_uint32(ndr, "rid", r->rid);
5037 case NETR_DELTA_POLICY:
5038 ndr_print_ptr(ndr, "sid", r->sid);
5041 ndr_print_dom_sid2(ndr, "sid", r->sid);
5046 case NETR_DELTA_TRUSTED_DOMAIN:
5047 ndr_print_ptr(ndr, "sid", r->sid);
5050 ndr_print_dom_sid2(ndr, "sid", r->sid);
5055 case NETR_DELTA_DELETE_TRUST:
5056 ndr_print_ptr(ndr, "sid", r->sid);
5059 ndr_print_dom_sid2(ndr, "sid", r->sid);
5064 case NETR_DELTA_ACCOUNT:
5065 ndr_print_ptr(ndr, "sid", r->sid);
5068 ndr_print_dom_sid2(ndr, "sid", r->sid);
5073 case NETR_DELTA_DELETE_ACCOUNT:
5074 ndr_print_ptr(ndr, "sid", r->sid);
5077 ndr_print_dom_sid2(ndr, "sid", r->sid);
5082 case NETR_DELTA_SECRET:
5083 ndr_print_ptr(ndr, "name", r->name);
5086 ndr_print_string(ndr, "name", r->name);
5091 case NETR_DELTA_DELETE_SECRET:
5092 ndr_print_ptr(ndr, "name", r->name);
5095 ndr_print_string(ndr, "name", r->name);
5100 case NETR_DELTA_DELETE_GROUP2:
5101 ndr_print_uint32(ndr, "rid", r->rid);
5104 case NETR_DELTA_DELETE_USER2:
5105 ndr_print_uint32(ndr, "rid", r->rid);
5108 case NETR_DELTA_MODIFY_COUNT:
5112 ndr_print_bad_level(ndr, name, level);
5116 static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5118 if (ndr_flags & NDR_SCALARS) {
5119 NDR_CHECK(ndr_push_align(ndr, 4));
5120 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5121 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5122 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5123 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5124 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5126 if (ndr_flags & NDR_BUFFERS) {
5127 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5128 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5130 return NDR_ERR_SUCCESS;
5133 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5135 if (ndr_flags & NDR_SCALARS) {
5136 NDR_CHECK(ndr_pull_align(ndr, 4));
5137 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5138 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5139 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5140 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5141 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5143 if (ndr_flags & NDR_BUFFERS) {
5144 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5145 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5147 return NDR_ERR_SUCCESS;
5150 _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5152 ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5154 ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5155 ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5156 ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5157 ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5158 ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5162 static enum ndr_err_code ndr_push_netr_DELTA_ENUM_ARRAY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM_ARRAY *r)
5164 uint32_t cntr_delta_enum_1;
5165 if (ndr_flags & NDR_SCALARS) {
5166 NDR_CHECK(ndr_push_align(ndr, 4));
5167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5168 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5170 if (ndr_flags & NDR_BUFFERS) {
5171 if (r->delta_enum) {
5172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5173 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5174 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5176 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5177 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5181 return NDR_ERR_SUCCESS;
5184 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5186 uint32_t _ptr_delta_enum;
5187 uint32_t cntr_delta_enum_1;
5188 TALLOC_CTX *_mem_save_delta_enum_0;
5189 TALLOC_CTX *_mem_save_delta_enum_1;
5190 if (ndr_flags & NDR_SCALARS) {
5191 NDR_CHECK(ndr_pull_align(ndr, 4));
5192 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5193 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5194 if (_ptr_delta_enum) {
5195 NDR_PULL_ALLOC(ndr, r->delta_enum);
5197 r->delta_enum = NULL;
5200 if (ndr_flags & NDR_BUFFERS) {
5201 if (r->delta_enum) {
5202 _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5203 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5204 NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5205 NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
5206 _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5207 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5208 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5209 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5211 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5212 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5217 if (r->delta_enum) {
5218 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5221 return NDR_ERR_SUCCESS;
5224 _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5226 uint32_t cntr_delta_enum_1;
5227 ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5229 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5230 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5232 if (r->delta_enum) {
5233 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
5235 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5237 if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) {
5238 ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5248 static enum ndr_err_code ndr_push_netr_UAS_INFO_0(struct ndr_push *ndr, int ndr_flags, const struct netr_UAS_INFO_0 *r)
5251 uint32_t _flags_save_STRUCT = ndr->flags;
5252 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5253 if (ndr_flags & NDR_SCALARS) {
5254 NDR_CHECK(ndr_push_align(ndr, 4));
5255 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5256 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5257 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5259 if (ndr_flags & NDR_BUFFERS) {
5261 ndr->flags = _flags_save_STRUCT;
5263 return NDR_ERR_SUCCESS;
5266 static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5269 uint32_t _flags_save_STRUCT = ndr->flags;
5270 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5271 if (ndr_flags & NDR_SCALARS) {
5272 NDR_CHECK(ndr_pull_align(ndr, 4));
5273 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5274 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5275 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5277 if (ndr_flags & NDR_BUFFERS) {
5279 ndr->flags = _flags_save_STRUCT;
5281 return NDR_ERR_SUCCESS;
5284 _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5286 ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5288 uint32_t _flags_save_STRUCT = ndr->flags;
5289 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5291 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5292 ndr_print_uint32(ndr, "timecreated", r->timecreated);
5293 ndr_print_uint32(ndr, "serial_number", r->serial_number);
5295 ndr->flags = _flags_save_STRUCT;
5299 static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5301 if (ndr_flags & NDR_SCALARS) {
5302 NDR_CHECK(ndr_push_align(ndr, 4));
5304 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5305 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5306 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5307 ndr->flags = _flags_save_DATA_BLOB;
5310 if (ndr_flags & NDR_BUFFERS) {
5312 return NDR_ERR_SUCCESS;
5315 static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5317 if (ndr_flags & NDR_SCALARS) {
5318 NDR_CHECK(ndr_pull_align(ndr, 4));
5320 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5321 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5322 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5323 ndr->flags = _flags_save_DATA_BLOB;
5326 if (ndr_flags & NDR_BUFFERS) {
5328 return NDR_ERR_SUCCESS;
5331 _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5333 ndr_print_struct(ndr, name, "netr_AccountBuffer");
5335 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5339 static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5341 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5342 return NDR_ERR_SUCCESS;
5345 static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5348 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5350 return NDR_ERR_SUCCESS;
5353 _PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5355 ndr_print_uint32(ndr, name, r);
5357 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_NEEDED", NETLOGON_CTRL_REPL_NEEDED, r);
5358 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_IN_PROGRESS", NETLOGON_CTRL_REPL_IN_PROGRESS, r);
5359 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_FULL_SYNC", NETLOGON_CTRL_REPL_FULL_SYNC, r);
5363 static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_1(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_1 *r)
5365 if (ndr_flags & NDR_SCALARS) {
5366 NDR_CHECK(ndr_push_align(ndr, 4));
5367 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5370 if (ndr_flags & NDR_BUFFERS) {
5372 return NDR_ERR_SUCCESS;
5375 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5377 if (ndr_flags & NDR_SCALARS) {
5378 NDR_CHECK(ndr_pull_align(ndr, 4));
5379 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5380 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5382 if (ndr_flags & NDR_BUFFERS) {
5384 return NDR_ERR_SUCCESS;
5387 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5389 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5391 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5392 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5396 static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_2(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_2 *r)
5398 if (ndr_flags & NDR_SCALARS) {
5399 NDR_CHECK(ndr_push_align(ndr, 4));
5400 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5401 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5402 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tc_connection_status));
5405 if (ndr_flags & NDR_BUFFERS) {
5406 if (r->trusted_dc_name) {
5407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5410 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_dc_name, ndr_charset_length(r->trusted_dc_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5413 return NDR_ERR_SUCCESS;
5416 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5418 uint32_t _ptr_trusted_dc_name;
5419 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5420 if (ndr_flags & NDR_SCALARS) {
5421 NDR_CHECK(ndr_pull_align(ndr, 4));
5422 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5423 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5424 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5425 if (_ptr_trusted_dc_name) {
5426 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5428 r->trusted_dc_name = NULL;
5430 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tc_connection_status));
5432 if (ndr_flags & NDR_BUFFERS) {
5433 if (r->trusted_dc_name) {
5434 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5435 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5436 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5437 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5438 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5439 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->trusted_dc_name), ndr_get_array_length(ndr, &r->trusted_dc_name));
5441 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5442 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_dc_name, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t), CH_UTF16));
5443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5446 return NDR_ERR_SUCCESS;
5449 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5451 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5453 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5454 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5455 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5457 if (r->trusted_dc_name) {
5458 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5461 ndr_print_uint32(ndr, "tc_connection_status", r->tc_connection_status);
5465 static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_3(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_3 *r)
5467 if (ndr_flags & NDR_SCALARS) {
5468 NDR_CHECK(ndr_push_align(ndr, 4));
5469 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5477 if (ndr_flags & NDR_BUFFERS) {
5479 return NDR_ERR_SUCCESS;
5482 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5484 if (ndr_flags & NDR_SCALARS) {
5485 NDR_CHECK(ndr_pull_align(ndr, 4));
5486 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5490 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5491 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5492 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5494 if (ndr_flags & NDR_BUFFERS) {
5496 return NDR_ERR_SUCCESS;
5499 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5501 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5503 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5504 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5505 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5506 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5507 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5508 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5509 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5513 static enum ndr_err_code ndr_push_netr_CONTROL_QUERY_INFORMATION(struct ndr_push *ndr, int ndr_flags, const union netr_CONTROL_QUERY_INFORMATION *r)
5515 if (ndr_flags & NDR_SCALARS) {
5516 int level = ndr_push_get_switch_value(ndr, r);
5517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5520 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5524 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5528 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5532 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5535 if (ndr_flags & NDR_BUFFERS) {
5536 int level = ndr_push_get_switch_value(ndr, r);
5540 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5546 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5552 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5557 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5560 return NDR_ERR_SUCCESS;
5563 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5567 TALLOC_CTX *_mem_save_info1_0;
5568 TALLOC_CTX *_mem_save_info2_0;
5569 TALLOC_CTX *_mem_save_info3_0;
5570 level = ndr_pull_get_switch_value(ndr, r);
5571 if (ndr_flags & NDR_SCALARS) {
5572 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5573 if (_level != level) {
5574 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5578 uint32_t _ptr_info1;
5579 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5581 NDR_PULL_ALLOC(ndr, r->info1);
5588 uint32_t _ptr_info2;
5589 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5591 NDR_PULL_ALLOC(ndr, r->info2);
5598 uint32_t _ptr_info3;
5599 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5601 NDR_PULL_ALLOC(ndr, r->info3);
5608 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5611 if (ndr_flags & NDR_BUFFERS) {
5615 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5616 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
5617 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5618 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
5624 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5625 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
5626 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5627 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
5633 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
5634 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
5635 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5636 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
5641 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5644 return NDR_ERR_SUCCESS;
5647 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
5650 level = ndr_print_get_switch_value(ndr, r);
5651 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
5654 ndr_print_ptr(ndr, "info1", r->info1);
5657 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
5663 ndr_print_ptr(ndr, "info2", r->info2);
5666 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
5672 ndr_print_ptr(ndr, "info3", r->info3);
5675 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
5681 ndr_print_bad_level(ndr, name, level);
5685 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
5687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5688 return NDR_ERR_SUCCESS;
5691 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
5694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5696 return NDR_ERR_SUCCESS;
5699 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
5701 const char *val = NULL;
5704 case NETLOGON_CONTROL_SYNC: val = "NETLOGON_CONTROL_SYNC"; break;
5705 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
5706 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
5707 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
5708 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
5710 ndr_print_enum(ndr, name, "ENUM", val, r);
5713 static enum ndr_err_code ndr_push_netr_CONTROL_DATA_INFORMATION(struct ndr_push *ndr, int ndr_flags, const union netr_CONTROL_DATA_INFORMATION *r)
5715 if (ndr_flags & NDR_SCALARS) {
5716 int level = ndr_push_get_switch_value(ndr, r);
5717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5719 case NETLOGON_CONTROL_REDISCOVER: {
5720 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5723 case NETLOGON_CONTROL_TC_QUERY: {
5724 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5727 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5728 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5731 case NETLOGON_CONTROL_SET_DBFLAG: {
5732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
5736 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5739 if (ndr_flags & NDR_BUFFERS) {
5740 int level = ndr_push_get_switch_value(ndr, r);
5742 case NETLOGON_CONTROL_REDISCOVER:
5744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5747 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5751 case NETLOGON_CONTROL_TC_QUERY:
5753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5756 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5760 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5762 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5765 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5769 case NETLOGON_CONTROL_SET_DBFLAG:
5773 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5776 return NDR_ERR_SUCCESS;
5779 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
5783 TALLOC_CTX *_mem_save_domain_0;
5784 level = ndr_pull_get_switch_value(ndr, r);
5785 if (ndr_flags & NDR_SCALARS) {
5786 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5787 if (_level != level) {
5788 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5791 case NETLOGON_CONTROL_REDISCOVER: {
5792 uint32_t _ptr_domain;
5793 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5795 NDR_PULL_ALLOC(ndr, r->domain);
5801 case NETLOGON_CONTROL_TC_QUERY: {
5802 uint32_t _ptr_domain;
5803 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5805 NDR_PULL_ALLOC(ndr, r->domain);
5811 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5812 uint32_t _ptr_domain;
5813 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5815 NDR_PULL_ALLOC(ndr, r->domain);
5821 case NETLOGON_CONTROL_SET_DBFLAG: {
5822 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
5826 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5829 if (ndr_flags & NDR_BUFFERS) {
5831 case NETLOGON_CONTROL_REDISCOVER:
5833 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5834 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5835 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5836 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5837 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5838 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
5840 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5841 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5842 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5846 case NETLOGON_CONTROL_TC_QUERY:
5848 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5849 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5850 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5851 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5852 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5853 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
5855 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5856 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5857 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5861 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5863 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5864 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5865 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5866 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5867 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5868 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
5870 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5871 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5876 case NETLOGON_CONTROL_SET_DBFLAG:
5880 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5883 return NDR_ERR_SUCCESS;
5886 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
5889 level = ndr_print_get_switch_value(ndr, r);
5890 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
5892 case NETLOGON_CONTROL_REDISCOVER:
5893 ndr_print_ptr(ndr, "domain", r->domain);
5896 ndr_print_string(ndr, "domain", r->domain);
5901 case NETLOGON_CONTROL_TC_QUERY:
5902 ndr_print_ptr(ndr, "domain", r->domain);
5905 ndr_print_string(ndr, "domain", r->domain);
5910 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5911 ndr_print_ptr(ndr, "domain", r->domain);
5914 ndr_print_string(ndr, "domain", r->domain);
5919 case NETLOGON_CONTROL_SET_DBFLAG:
5920 ndr_print_uint32(ndr, "debug_level", r->debug_level);
5924 ndr_print_bad_level(ndr, name, level);
5928 static enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5931 return NDR_ERR_SUCCESS;
5934 static enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5937 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5939 return NDR_ERR_SUCCESS;
5942 _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5944 ndr_print_uint32(ndr, name, r);
5946 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
5947 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
5948 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
5949 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
5950 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
5951 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
5952 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
5953 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
5954 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
5955 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
5956 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
5957 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
5958 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
5959 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
5960 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_128BIT", NETLOGON_NEG_128BIT, r);
5961 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
5962 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
5963 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
5964 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
5965 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
5966 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
5967 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
5968 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
5969 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SCHANNEL", NETLOGON_NEG_SCHANNEL, r);
5973 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
5975 if (ndr_flags & NDR_SCALARS) {
5976 NDR_CHECK(ndr_push_align(ndr, 4));
5977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5978 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5980 if (ndr_flags & NDR_BUFFERS) {
5982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5983 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5986 return NDR_ERR_SUCCESS;
5989 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
5992 TALLOC_CTX *_mem_save_data_0;
5993 if (ndr_flags & NDR_SCALARS) {
5994 NDR_CHECK(ndr_pull_align(ndr, 4));
5995 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5996 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5998 NDR_PULL_ALLOC(ndr, r->data);
6003 if (ndr_flags & NDR_BUFFERS) {
6005 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6006 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6007 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6008 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6009 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
6010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6013 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6016 return NDR_ERR_SUCCESS;
6019 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6021 ndr_print_struct(ndr, name, "netr_Blob");
6023 ndr_print_uint32(ndr, "length", r->length);
6024 ndr_print_ptr(ndr, "data", r->data);
6027 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6033 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6036 return NDR_ERR_SUCCESS;
6039 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6042 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6044 return NDR_ERR_SUCCESS;
6047 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6049 ndr_print_uint32(ndr, name, r);
6051 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6052 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6053 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6054 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6055 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6056 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6057 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6058 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6059 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6060 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6061 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6062 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6063 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6064 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6065 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6066 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6067 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6068 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6069 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6073 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6076 return NDR_ERR_SUCCESS;
6079 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6082 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6084 return NDR_ERR_SUCCESS;
6087 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6089 const char *val = NULL;
6092 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6093 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6095 ndr_print_enum(ndr, name, "ENUM", val, r);
6098 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6100 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6101 return NDR_ERR_SUCCESS;
6104 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6107 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6109 return NDR_ERR_SUCCESS;
6112 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6114 ndr_print_uint32(ndr, name, r);
6116 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6117 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6118 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6119 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6120 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6121 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6122 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6123 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6124 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6125 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6126 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6127 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6128 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6129 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6130 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6134 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6136 if (ndr_flags & NDR_SCALARS) {
6137 NDR_CHECK(ndr_push_align(ndr, 4));
6138 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6139 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6140 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6141 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6142 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6143 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6144 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6145 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6146 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6148 if (ndr_flags & NDR_BUFFERS) {
6150 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6151 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6152 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6153 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6155 if (r->dc_address) {
6156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6157 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6159 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6161 if (r->domain_name) {
6162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6165 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6167 if (r->forest_name) {
6168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6171 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6173 if (r->dc_site_name) {
6174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6177 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));
6179 if (r->client_site_name) {
6180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6182 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6183 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));
6186 return NDR_ERR_SUCCESS;
6189 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6191 uint32_t _ptr_dc_unc;
6192 TALLOC_CTX *_mem_save_dc_unc_0;
6193 uint32_t _ptr_dc_address;
6194 TALLOC_CTX *_mem_save_dc_address_0;
6195 uint32_t _ptr_domain_name;
6196 TALLOC_CTX *_mem_save_domain_name_0;
6197 uint32_t _ptr_forest_name;
6198 TALLOC_CTX *_mem_save_forest_name_0;
6199 uint32_t _ptr_dc_site_name;
6200 TALLOC_CTX *_mem_save_dc_site_name_0;
6201 uint32_t _ptr_client_site_name;
6202 TALLOC_CTX *_mem_save_client_site_name_0;
6203 if (ndr_flags & NDR_SCALARS) {
6204 NDR_CHECK(ndr_pull_align(ndr, 4));
6205 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6207 NDR_PULL_ALLOC(ndr, r->dc_unc);
6211 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6212 if (_ptr_dc_address) {
6213 NDR_PULL_ALLOC(ndr, r->dc_address);
6215 r->dc_address = NULL;
6217 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6218 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6219 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6220 if (_ptr_domain_name) {
6221 NDR_PULL_ALLOC(ndr, r->domain_name);
6223 r->domain_name = NULL;
6225 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
6226 if (_ptr_forest_name) {
6227 NDR_PULL_ALLOC(ndr, r->forest_name);
6229 r->forest_name = NULL;
6231 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
6232 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
6233 if (_ptr_dc_site_name) {
6234 NDR_PULL_ALLOC(ndr, r->dc_site_name);
6236 r->dc_site_name = NULL;
6238 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
6239 if (_ptr_client_site_name) {
6240 NDR_PULL_ALLOC(ndr, r->client_site_name);
6242 r->client_site_name = NULL;
6245 if (ndr_flags & NDR_BUFFERS) {
6247 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
6248 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
6249 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
6250 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
6251 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
6252 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_unc), ndr_get_array_length(ndr, &r->dc_unc));
6254 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
6255 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
6256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
6258 if (r->dc_address) {
6259 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
6260 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
6261 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
6262 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
6263 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
6264 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_address), ndr_get_array_length(ndr, &r->dc_address));
6266 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
6267 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
6268 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
6270 if (r->domain_name) {
6271 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6272 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6273 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6274 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6275 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6276 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
6278 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6279 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6282 if (r->forest_name) {
6283 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6284 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
6285 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
6286 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
6287 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
6288 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->forest_name), ndr_get_array_length(ndr, &r->forest_name));
6290 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
6291 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
6292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
6294 if (r->dc_site_name) {
6295 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6296 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
6297 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
6298 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
6299 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
6300 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dc_site_name), ndr_get_array_length(ndr, &r->dc_site_name));
6302 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
6303 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_site_name, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t), CH_UTF16));
6304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
6306 if (r->client_site_name) {
6307 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6308 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
6309 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
6310 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
6311 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
6312 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->client_site_name), ndr_get_array_length(ndr, &r->client_site_name));
6314 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
6315 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->client_site_name, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t), CH_UTF16));
6316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
6319 return NDR_ERR_SUCCESS;
6322 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
6324 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
6326 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
6329 ndr_print_string(ndr, "dc_unc", r->dc_unc);
6332 ndr_print_ptr(ndr, "dc_address", r->dc_address);
6334 if (r->dc_address) {
6335 ndr_print_string(ndr, "dc_address", r->dc_address);
6338 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
6339 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
6340 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6342 if (r->domain_name) {
6343 ndr_print_string(ndr, "domain_name", r->domain_name);
6346 ndr_print_ptr(ndr, "forest_name", r->forest_name);
6348 if (r->forest_name) {
6349 ndr_print_string(ndr, "forest_name", r->forest_name);
6352 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
6353 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
6355 if (r->dc_site_name) {
6356 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
6359 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
6361 if (r->client_site_name) {
6362 ndr_print_string(ndr, "client_site_name", r->client_site_name);
6368 static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct netr_BinaryString *r)
6370 uint32_t cntr_data_1;
6372 uint32_t _flags_save_STRUCT = ndr->flags;
6373 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6374 if (ndr_flags & NDR_SCALARS) {
6375 NDR_CHECK(ndr_push_align(ndr, 4));
6376 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
6377 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
6378 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6380 if (ndr_flags & NDR_BUFFERS) {
6382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
6383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6384 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
6385 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6386 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data[cntr_data_1]));
6390 ndr->flags = _flags_save_STRUCT;
6392 return NDR_ERR_SUCCESS;
6395 static enum ndr_err_code ndr_pull_netr_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct netr_BinaryString *r)
6398 uint32_t cntr_data_1;
6399 TALLOC_CTX *_mem_save_data_0;
6400 TALLOC_CTX *_mem_save_data_1;
6402 uint32_t _flags_save_STRUCT = ndr->flags;
6403 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6404 if (ndr_flags & NDR_SCALARS) {
6405 NDR_CHECK(ndr_pull_align(ndr, 4));
6406 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
6407 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
6408 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6410 NDR_PULL_ALLOC(ndr, r->data);
6415 if (ndr_flags & NDR_BUFFERS) {
6417 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6418 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6419 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6420 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
6421 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
6422 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data));
6424 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6425 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
6426 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6427 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6428 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
6430 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
6431 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6434 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size / 2));
6437 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length / 2));
6440 ndr->flags = _flags_save_STRUCT;
6442 return NDR_ERR_SUCCESS;
6445 _PUBLIC_ void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r)
6447 uint32_t cntr_data_1;
6448 ndr_print_struct(ndr, name, "netr_BinaryString");
6450 uint32_t _flags_save_STRUCT = ndr->flags;
6451 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6453 ndr_print_uint16(ndr, "length", r->length);
6454 ndr_print_uint16(ndr, "size", r->size);
6455 ndr_print_ptr(ndr, "data", r->data);
6458 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->length / 2);
6460 for (cntr_data_1=0;cntr_data_1<r->length / 2;cntr_data_1++) {
6462 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
6463 ndr_print_uint16(ndr, "data", r->data[cntr_data_1]);
6471 ndr->flags = _flags_save_STRUCT;
6475 static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainQuery1 *r)
6477 uint32_t cntr_unknown7_0;
6478 if (ndr_flags & NDR_SCALARS) {
6479 NDR_CHECK(ndr_push_align(ndr, 4));
6480 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6481 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_domain));
6482 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_site));
6483 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
6484 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
6485 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown3));
6486 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown4));
6487 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6488 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->product));
6489 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6490 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6491 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7[cntr_unknown7_0]));
6495 if (ndr_flags & NDR_BUFFERS) {
6496 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6497 if (r->workstation_domain) {
6498 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6501 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_domain, ndr_charset_length(r->workstation_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6503 if (r->workstation_site) {
6504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6505 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6507 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_site, ndr_charset_length(r->workstation_site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6510 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6512 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6513 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6519 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6522 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6525 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown3, ndr_charset_length(r->unknown3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6531 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown4, ndr_charset_length(r->unknown4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6533 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6534 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->product));
6535 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6536 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6538 return NDR_ERR_SUCCESS;
6541 static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
6543 uint32_t _ptr_workstation_domain;
6544 TALLOC_CTX *_mem_save_workstation_domain_0;
6545 uint32_t _ptr_workstation_site;
6546 TALLOC_CTX *_mem_save_workstation_site_0;
6547 uint32_t _ptr_unknown1;
6548 TALLOC_CTX *_mem_save_unknown1_0;
6549 uint32_t _ptr_unknown2;
6550 TALLOC_CTX *_mem_save_unknown2_0;
6551 uint32_t _ptr_unknown3;
6552 TALLOC_CTX *_mem_save_unknown3_0;
6553 uint32_t _ptr_unknown4;
6554 TALLOC_CTX *_mem_save_unknown4_0;
6555 uint32_t cntr_unknown7_0;
6556 if (ndr_flags & NDR_SCALARS) {
6557 NDR_CHECK(ndr_pull_align(ndr, 4));
6558 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6559 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_domain));
6560 if (_ptr_workstation_domain) {
6561 NDR_PULL_ALLOC(ndr, r->workstation_domain);
6563 r->workstation_domain = NULL;
6565 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_site));
6566 if (_ptr_workstation_site) {
6567 NDR_PULL_ALLOC(ndr, r->workstation_site);
6569 r->workstation_site = NULL;
6571 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
6572 if (_ptr_unknown1) {
6573 NDR_PULL_ALLOC(ndr, r->unknown1);
6577 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
6578 if (_ptr_unknown2) {
6579 NDR_PULL_ALLOC(ndr, r->unknown2);
6583 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown3));
6584 if (_ptr_unknown3) {
6585 NDR_PULL_ALLOC(ndr, r->unknown3);
6589 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
6590 if (_ptr_unknown4) {
6591 NDR_PULL_ALLOC(ndr, r->unknown4);
6595 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6596 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
6597 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6598 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6599 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6600 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
6603 if (ndr_flags & NDR_BUFFERS) {
6604 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6605 if (r->workstation_domain) {
6606 _mem_save_workstation_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6607 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
6608 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
6609 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
6610 if (ndr_get_array_length(ndr, &r->workstation_domain) > ndr_get_array_size(ndr, &r->workstation_domain)) {
6611 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_domain), ndr_get_array_length(ndr, &r->workstation_domain));
6613 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t)));
6614 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t), CH_UTF16));
6615 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
6617 if (r->workstation_site) {
6618 _mem_save_workstation_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
6619 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
6620 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
6621 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
6622 if (ndr_get_array_length(ndr, &r->workstation_site) > ndr_get_array_size(ndr, &r->workstation_site)) {
6623 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_site), ndr_get_array_length(ndr, &r->workstation_site));
6625 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t)));
6626 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t), CH_UTF16));
6627 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
6630 _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6631 NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
6632 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
6633 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
6634 if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
6635 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown1), ndr_get_array_length(ndr, &r->unknown1));
6637 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
6638 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
6639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
6642 _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6643 NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
6644 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
6645 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
6646 if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
6647 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2));
6649 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
6650 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
6651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
6654 _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6655 NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
6656 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
6657 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
6658 if (ndr_get_array_length(ndr, &r->unknown3) > ndr_get_array_size(ndr, &r->unknown3)) {
6659 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown3), ndr_get_array_length(ndr, &r->unknown3));
6661 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t)));
6662 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t), CH_UTF16));
6663 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
6666 _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6667 NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
6668 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
6669 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
6670 if (ndr_get_array_length(ndr, &r->unknown4) > ndr_get_array_size(ndr, &r->unknown4)) {
6671 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown4), ndr_get_array_length(ndr, &r->unknown4));
6673 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t)));
6674 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t), CH_UTF16));
6675 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
6677 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6678 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->product));
6679 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6680 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6682 return NDR_ERR_SUCCESS;
6685 _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r)
6687 uint32_t cntr_unknown7_0;
6688 ndr_print_struct(ndr, name, "netr_DomainQuery1");
6690 ndr_print_netr_Blob(ndr, "blob", &r->blob);
6691 ndr_print_ptr(ndr, "workstation_domain", r->workstation_domain);
6693 if (r->workstation_domain) {
6694 ndr_print_string(ndr, "workstation_domain", r->workstation_domain);
6697 ndr_print_ptr(ndr, "workstation_site", r->workstation_site);
6699 if (r->workstation_site) {
6700 ndr_print_string(ndr, "workstation_site", r->workstation_site);
6703 ndr_print_ptr(ndr, "unknown1", r->unknown1);
6706 ndr_print_string(ndr, "unknown1", r->unknown1);
6709 ndr_print_ptr(ndr, "unknown2", r->unknown2);
6712 ndr_print_string(ndr, "unknown2", r->unknown2);
6715 ndr_print_ptr(ndr, "unknown3", r->unknown3);
6718 ndr_print_string(ndr, "unknown3", r->unknown3);
6721 ndr_print_ptr(ndr, "unknown4", r->unknown4);
6724 ndr_print_string(ndr, "unknown4", r->unknown4);
6727 ndr_print_netr_BinaryString(ndr, "blob2", &r->blob2);
6728 ndr_print_lsa_String(ndr, "product", &r->product);
6729 ndr_print_lsa_String(ndr, "unknown5", &r->unknown5);
6730 ndr_print_lsa_String(ndr, "unknown6", &r->unknown6);
6731 ndr->print(ndr, "%s: ARRAY(%d)", "unknown7", (int)4);
6733 for (cntr_unknown7_0=0;cntr_unknown7_0<4;cntr_unknown7_0++) {
6735 if (asprintf(&idx_0, "[%d]", cntr_unknown7_0) != -1) {
6736 ndr_print_uint32(ndr, "unknown7", r->unknown7[cntr_unknown7_0]);
6744 static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr_flags, const union netr_DomainQuery *r)
6746 if (ndr_flags & NDR_SCALARS) {
6747 int level = ndr_push_get_switch_value(ndr, r);
6748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6751 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6755 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6759 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6762 if (ndr_flags & NDR_BUFFERS) {
6763 int level = ndr_push_get_switch_value(ndr, r);
6767 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6773 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6778 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6781 return NDR_ERR_SUCCESS;
6784 static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr_flags, union netr_DomainQuery *r)
6788 TALLOC_CTX *_mem_save_query1_0;
6789 level = ndr_pull_get_switch_value(ndr, r);
6790 if (ndr_flags & NDR_SCALARS) {
6791 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6792 if (_level != level) {
6793 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6797 uint32_t _ptr_query1;
6798 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6800 NDR_PULL_ALLOC(ndr, r->query1);
6807 uint32_t _ptr_query1;
6808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6810 NDR_PULL_ALLOC(ndr, r->query1);
6817 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6820 if (ndr_flags & NDR_BUFFERS) {
6824 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6825 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6826 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6827 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6833 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6834 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6835 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6836 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6841 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6844 return NDR_ERR_SUCCESS;
6847 _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r)
6850 level = ndr_print_get_switch_value(ndr, r);
6851 ndr_print_union(ndr, name, level, "netr_DomainQuery");
6854 ndr_print_ptr(ndr, "query1", r->query1);
6857 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6863 ndr_print_ptr(ndr, "query1", r->query1);
6866 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6872 ndr_print_bad_level(ndr, name, level);
6876 static enum ndr_err_code ndr_push_netr_DomainTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustInfo *r)
6878 uint32_t cntr_unknown1_0;
6879 uint32_t cntr_unknown_0;
6880 if (ndr_flags & NDR_SCALARS) {
6881 NDR_CHECK(ndr_push_align(ndr, 4));
6882 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6883 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6884 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
6885 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
6886 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
6887 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6888 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6890 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
6894 if (ndr_flags & NDR_BUFFERS) {
6895 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6896 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6897 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6899 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6901 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6902 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6905 return NDR_ERR_SUCCESS;
6908 static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustInfo *r)
6911 TALLOC_CTX *_mem_save_sid_0;
6912 uint32_t cntr_unknown1_0;
6913 uint32_t cntr_unknown_0;
6914 if (ndr_flags & NDR_SCALARS) {
6915 NDR_CHECK(ndr_pull_align(ndr, 4));
6916 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6917 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6918 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
6919 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
6920 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
6922 NDR_PULL_ALLOC(ndr, r->sid);
6926 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6927 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6929 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6930 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
6933 if (ndr_flags & NDR_BUFFERS) {
6934 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6935 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6936 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6938 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6939 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
6940 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
6943 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6944 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6947 return NDR_ERR_SUCCESS;
6950 _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r)
6952 uint32_t cntr_unknown1_0;
6953 uint32_t cntr_unknown_0;
6954 ndr_print_struct(ndr, name, "netr_DomainTrustInfo");
6956 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
6957 ndr_print_lsa_String(ndr, "fulldomainname", &r->fulldomainname);
6958 ndr_print_lsa_String(ndr, "forest", &r->forest);
6959 ndr_print_GUID(ndr, "guid", &r->guid);
6960 ndr_print_ptr(ndr, "sid", r->sid);
6963 ndr_print_dom_sid2(ndr, "sid", r->sid);
6966 ndr->print(ndr, "%s: ARRAY(%d)", "unknown1", (int)4);
6968 for (cntr_unknown1_0=0;cntr_unknown1_0<4;cntr_unknown1_0++) {
6970 if (asprintf(&idx_0, "[%d]", cntr_unknown1_0) != -1) {
6971 ndr_print_netr_BinaryString(ndr, "unknown1", &r->unknown1[cntr_unknown1_0]);
6976 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)4);
6978 for (cntr_unknown_0=0;cntr_unknown_0<4;cntr_unknown_0++) {
6980 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
6981 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
6989 static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInfo1 *r)
6991 uint32_t cntr_trusts_1;
6992 uint32_t cntr_unknown_0;
6993 if (ndr_flags & NDR_SCALARS) {
6994 NDR_CHECK(ndr_push_align(ndr, 4));
6995 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
6996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
6997 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusts));
6998 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
6999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
7002 if (ndr_flags & NDR_BUFFERS) {
7003 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
7006 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7007 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7009 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7010 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7014 return NDR_ERR_SUCCESS;
7017 static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
7019 uint32_t _ptr_trusts;
7020 uint32_t cntr_trusts_1;
7021 TALLOC_CTX *_mem_save_trusts_0;
7022 TALLOC_CTX *_mem_save_trusts_1;
7023 uint32_t cntr_unknown_0;
7024 if (ndr_flags & NDR_SCALARS) {
7025 NDR_CHECK(ndr_pull_align(ndr, 4));
7026 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7027 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_trusts));
7028 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusts));
7030 NDR_PULL_ALLOC(ndr, r->trusts);
7034 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
7035 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
7038 if (ndr_flags & NDR_BUFFERS) {
7039 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7041 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
7042 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7043 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
7044 NDR_PULL_ALLOC_N(ndr, r->trusts, ndr_get_array_size(ndr, &r->trusts));
7045 _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
7046 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7047 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7048 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7050 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7051 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7053 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
7054 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, 0);
7057 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusts, r->num_trusts));
7060 return NDR_ERR_SUCCESS;
7063 _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r)
7065 uint32_t cntr_trusts_1;
7066 uint32_t cntr_unknown_0;
7067 ndr_print_struct(ndr, name, "netr_DomainInfo1");
7069 ndr_print_netr_DomainTrustInfo(ndr, "domaininfo", &r->domaininfo);
7070 ndr_print_uint32(ndr, "num_trusts", r->num_trusts);
7071 ndr_print_ptr(ndr, "trusts", r->trusts);
7074 ndr->print(ndr, "%s: ARRAY(%d)", "trusts", (int)r->num_trusts);
7076 for (cntr_trusts_1=0;cntr_trusts_1<r->num_trusts;cntr_trusts_1++) {
7078 if (asprintf(&idx_1, "[%d]", cntr_trusts_1) != -1) {
7079 ndr_print_netr_DomainTrustInfo(ndr, "trusts", &r->trusts[cntr_trusts_1]);
7086 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)14);
7088 for (cntr_unknown_0=0;cntr_unknown_0<14;cntr_unknown_0++) {
7090 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
7091 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
7099 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
7101 if (ndr_flags & NDR_SCALARS) {
7102 int level = ndr_push_get_switch_value(ndr, r);
7103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7106 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7110 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7114 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7117 if (ndr_flags & NDR_BUFFERS) {
7118 int level = ndr_push_get_switch_value(ndr, r);
7122 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7128 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7133 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7136 return NDR_ERR_SUCCESS;
7139 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
7143 TALLOC_CTX *_mem_save_info1_0;
7144 level = ndr_pull_get_switch_value(ndr, r);
7145 if (ndr_flags & NDR_SCALARS) {
7146 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7147 if (_level != level) {
7148 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7152 uint32_t _ptr_info1;
7153 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7155 NDR_PULL_ALLOC(ndr, r->info1);
7162 uint32_t _ptr_info1;
7163 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7165 NDR_PULL_ALLOC(ndr, r->info1);
7172 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7175 if (ndr_flags & NDR_BUFFERS) {
7179 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7180 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7181 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7182 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7188 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7189 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7190 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7196 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7199 return NDR_ERR_SUCCESS;
7202 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
7205 level = ndr_print_get_switch_value(ndr, r);
7206 ndr_print_union(ndr, name, level, "netr_DomainInfo");
7209 ndr_print_ptr(ndr, "info1", r->info1);
7212 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7218 ndr_print_ptr(ndr, "info1", r->info1);
7221 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7227 ndr_print_bad_level(ndr, name, level);
7231 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
7234 uint32_t _flags_save_STRUCT = ndr->flags;
7235 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7236 if (ndr_flags & NDR_SCALARS) {
7237 NDR_CHECK(ndr_push_align(ndr, 4));
7238 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
7241 if (ndr_flags & NDR_BUFFERS) {
7243 ndr->flags = _flags_save_STRUCT;
7245 return NDR_ERR_SUCCESS;
7248 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
7251 uint32_t _flags_save_STRUCT = ndr->flags;
7252 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7253 if (ndr_flags & NDR_SCALARS) {
7254 NDR_CHECK(ndr_pull_align(ndr, 4));
7255 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7256 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7258 if (ndr_flags & NDR_BUFFERS) {
7260 ndr->flags = _flags_save_STRUCT;
7262 return NDR_ERR_SUCCESS;
7265 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
7267 ndr_print_struct(ndr, name, "netr_CryptPassword");
7269 uint32_t _flags_save_STRUCT = ndr->flags;
7270 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7272 ndr_print_array_uint8(ndr, "data", r->data, 512);
7273 ndr_print_uint32(ndr, "length", r->length);
7275 ndr->flags = _flags_save_STRUCT;
7279 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
7281 uint32_t cntr_sitename_1;
7282 if (ndr_flags & NDR_SCALARS) {
7283 NDR_CHECK(ndr_push_align(ndr, 4));
7284 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7285 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7287 if (ndr_flags & NDR_BUFFERS) {
7289 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7290 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7291 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7293 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7294 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7298 return NDR_ERR_SUCCESS;
7301 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
7303 uint32_t _ptr_sitename;
7304 uint32_t cntr_sitename_1;
7305 TALLOC_CTX *_mem_save_sitename_0;
7306 TALLOC_CTX *_mem_save_sitename_1;
7307 if (ndr_flags & NDR_SCALARS) {
7308 NDR_CHECK(ndr_pull_align(ndr, 4));
7309 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7310 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7311 if (_ptr_sitename) {
7312 NDR_PULL_ALLOC(ndr, r->sitename);
7317 if (ndr_flags & NDR_BUFFERS) {
7319 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7320 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7321 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7322 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7323 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7324 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7325 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7326 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7328 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7329 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7332 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7335 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7338 return NDR_ERR_SUCCESS;
7341 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
7343 uint32_t cntr_sitename_1;
7344 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
7346 ndr_print_uint32(ndr, "count", r->count);
7347 ndr_print_ptr(ndr, "sitename", r->sitename);
7350 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
7352 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7354 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7355 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7365 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
7367 if (ndr_flags & NDR_SCALARS) {
7368 NDR_CHECK(ndr_push_align(ndr, 4));
7369 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
7370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7372 if (ndr_flags & NDR_BUFFERS) {
7374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7375 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
7378 return NDR_ERR_SUCCESS;
7381 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
7383 uint32_t _ptr_buffer;
7384 TALLOC_CTX *_mem_save_buffer_0;
7385 if (ndr_flags & NDR_SCALARS) {
7386 NDR_CHECK(ndr_pull_align(ndr, 4));
7387 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
7389 NDR_PULL_ALLOC(ndr, r->buffer);
7393 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7395 if (ndr_flags & NDR_BUFFERS) {
7397 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
7398 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
7399 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
7400 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
7401 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
7402 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
7405 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
7408 return NDR_ERR_SUCCESS;
7411 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
7413 ndr_print_struct(ndr, name, "netr_DsRAddress");
7415 ndr_print_ptr(ndr, "buffer", r->buffer);
7418 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
7421 ndr_print_uint32(ndr, "size", r->size);
7425 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7428 return NDR_ERR_SUCCESS;
7431 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7434 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7436 return NDR_ERR_SUCCESS;
7439 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7441 ndr_print_uint32(ndr, name, r);
7443 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7444 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7445 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7446 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7447 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7448 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7452 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
7454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7455 return NDR_ERR_SUCCESS;
7458 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
7461 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7463 return NDR_ERR_SUCCESS;
7466 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
7468 const char *val = NULL;
7471 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
7472 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
7473 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
7474 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
7476 ndr_print_enum(ndr, name, "ENUM", val, r);
7479 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7481 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7482 return NDR_ERR_SUCCESS;
7485 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7490 return NDR_ERR_SUCCESS;
7493 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
7495 ndr_print_uint32(ndr, name, r);
7497 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
7498 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
7499 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
7500 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
7501 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
7502 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
7503 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
7507 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
7509 if (ndr_flags & NDR_SCALARS) {
7510 NDR_CHECK(ndr_push_align(ndr, 4));
7511 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7512 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7513 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
7514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7515 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
7516 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
7517 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
7518 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
7520 if (ndr_flags & NDR_BUFFERS) {
7521 if (r->netbios_name) {
7522 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7525 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7531 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7534 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7537 return NDR_ERR_SUCCESS;
7540 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
7542 uint32_t _ptr_netbios_name;
7543 TALLOC_CTX *_mem_save_netbios_name_0;
7544 uint32_t _ptr_dns_name;
7545 TALLOC_CTX *_mem_save_dns_name_0;
7547 TALLOC_CTX *_mem_save_sid_0;
7548 if (ndr_flags & NDR_SCALARS) {
7549 NDR_CHECK(ndr_pull_align(ndr, 4));
7550 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7551 if (_ptr_netbios_name) {
7552 NDR_PULL_ALLOC(ndr, r->netbios_name);
7554 r->netbios_name = NULL;
7556 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7557 if (_ptr_dns_name) {
7558 NDR_PULL_ALLOC(ndr, r->dns_name);
7562 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
7563 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7564 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
7565 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
7566 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
7568 NDR_PULL_ALLOC(ndr, r->sid);
7572 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
7574 if (ndr_flags & NDR_BUFFERS) {
7575 if (r->netbios_name) {
7576 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7577 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7578 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7579 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7580 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7581 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
7583 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7584 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7585 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7588 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7589 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7590 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7591 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7592 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7593 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
7595 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7596 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7597 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7600 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7601 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
7602 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
7606 return NDR_ERR_SUCCESS;
7609 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
7611 ndr_print_struct(ndr, name, "netr_DomainTrust");
7613 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7615 if (r->netbios_name) {
7616 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7619 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7622 ndr_print_string(ndr, "dns_name", r->dns_name);
7625 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
7626 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7627 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
7628 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
7629 ndr_print_ptr(ndr, "sid", r->sid);
7632 ndr_print_dom_sid2(ndr, "sid", r->sid);
7635 ndr_print_GUID(ndr, "guid", &r->guid);
7639 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
7641 uint32_t cntr_array_1;
7642 if (ndr_flags & NDR_SCALARS) {
7643 NDR_CHECK(ndr_push_align(ndr, 4));
7644 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7645 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7647 if (ndr_flags & NDR_BUFFERS) {
7649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7650 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7651 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7653 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7654 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7658 return NDR_ERR_SUCCESS;
7661 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
7663 uint32_t _ptr_array;
7664 uint32_t cntr_array_1;
7665 TALLOC_CTX *_mem_save_array_0;
7666 TALLOC_CTX *_mem_save_array_1;
7667 if (ndr_flags & NDR_SCALARS) {
7668 NDR_CHECK(ndr_pull_align(ndr, 4));
7669 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7670 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7672 NDR_PULL_ALLOC(ndr, r->array);
7677 if (ndr_flags & NDR_BUFFERS) {
7679 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7680 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7681 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7682 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7683 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7684 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7685 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7686 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7688 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7689 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7692 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7695 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7698 return NDR_ERR_SUCCESS;
7701 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
7703 uint32_t cntr_array_1;
7704 ndr_print_struct(ndr, name, "netr_DomainTrustList");
7706 ndr_print_uint32(ndr, "count", r->count);
7707 ndr_print_ptr(ndr, "array", r->array);
7710 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
7712 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7714 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7715 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
7725 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
7727 uint32_t cntr_sitename_1;
7728 uint32_t cntr_subnetname_1;
7729 if (ndr_flags & NDR_SCALARS) {
7730 NDR_CHECK(ndr_push_align(ndr, 4));
7731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7732 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7733 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
7735 if (ndr_flags & NDR_BUFFERS) {
7737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7738 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7739 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7741 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7742 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7745 if (r->subnetname) {
7746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7747 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7748 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
7750 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7751 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
7755 return NDR_ERR_SUCCESS;
7758 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
7760 uint32_t _ptr_sitename;
7761 uint32_t cntr_sitename_1;
7762 TALLOC_CTX *_mem_save_sitename_0;
7763 TALLOC_CTX *_mem_save_sitename_1;
7764 uint32_t _ptr_subnetname;
7765 uint32_t cntr_subnetname_1;
7766 TALLOC_CTX *_mem_save_subnetname_0;
7767 TALLOC_CTX *_mem_save_subnetname_1;
7768 if (ndr_flags & NDR_SCALARS) {
7769 NDR_CHECK(ndr_pull_align(ndr, 4));
7770 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7771 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7772 if (_ptr_sitename) {
7773 NDR_PULL_ALLOC(ndr, r->sitename);
7777 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
7778 if (_ptr_subnetname) {
7779 NDR_PULL_ALLOC(ndr, r->subnetname);
7781 r->subnetname = NULL;
7784 if (ndr_flags & NDR_BUFFERS) {
7786 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7787 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7788 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7789 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7790 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7791 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7792 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7793 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7795 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7796 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7798 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7801 if (r->subnetname) {
7802 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7803 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
7804 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
7805 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
7806 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
7807 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
7808 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7809 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
7811 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7812 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
7814 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
7815 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
7818 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7820 if (r->subnetname) {
7821 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
7824 return NDR_ERR_SUCCESS;
7827 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
7829 uint32_t cntr_sitename_1;
7830 uint32_t cntr_subnetname_1;
7831 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
7833 ndr_print_uint32(ndr, "count", r->count);
7834 ndr_print_ptr(ndr, "sitename", r->sitename);
7837 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
7839 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7841 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7842 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7849 ndr_print_ptr(ndr, "subnetname", r->subnetname);
7851 if (r->subnetname) {
7852 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
7854 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
7856 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
7857 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
7867 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
7869 uint32_t cntr_sites_1;
7870 if (ndr_flags & NDR_SCALARS) {
7871 NDR_CHECK(ndr_push_align(ndr, 4));
7872 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7873 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
7875 if (ndr_flags & NDR_BUFFERS) {
7877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7878 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7879 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7881 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7882 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7886 return NDR_ERR_SUCCESS;
7889 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
7891 uint32_t _ptr_sites;
7892 uint32_t cntr_sites_1;
7893 TALLOC_CTX *_mem_save_sites_0;
7894 TALLOC_CTX *_mem_save_sites_1;
7895 if (ndr_flags & NDR_SCALARS) {
7896 NDR_CHECK(ndr_pull_align(ndr, 4));
7897 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
7898 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
7900 NDR_PULL_ALLOC(ndr, r->sites);
7905 if (ndr_flags & NDR_BUFFERS) {
7907 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
7908 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7909 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
7910 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
7911 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
7912 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7913 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7914 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7916 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7917 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
7920 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
7923 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
7926 return NDR_ERR_SUCCESS;
7929 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
7931 uint32_t cntr_sites_1;
7932 ndr_print_struct(ndr, name, "DcSitesCtr");
7934 ndr_print_uint32(ndr, "num_sites", r->num_sites);
7935 ndr_print_ptr(ndr, "sites", r->sites);
7938 ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
7940 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
7942 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
7943 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
7953 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
7955 if (flags & NDR_IN) {
7956 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
7957 if (r->in.server_name) {
7958 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7960 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7961 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));
7963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7966 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));
7967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7968 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7970 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7972 if (flags & NDR_OUT) {
7973 if (r->out.info == NULL) {
7974 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7976 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
7977 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
7979 return NDR_ERR_SUCCESS;
7982 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
7984 uint32_t _ptr_server_name;
7985 TALLOC_CTX *_mem_save_server_name_0;
7986 TALLOC_CTX *_mem_save_info_0;
7987 if (flags & NDR_IN) {
7988 ZERO_STRUCT(r->out);
7990 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
7991 if (_ptr_server_name) {
7992 NDR_PULL_ALLOC(ndr, r->in.server_name);
7994 r->in.server_name = NULL;
7996 if (r->in.server_name) {
7997 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7998 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
7999 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8000 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8001 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8002 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8004 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8005 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8006 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8008 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8009 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8010 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8011 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
8013 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8014 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
8015 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8016 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8017 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8018 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.workstation), ndr_get_array_length(ndr, &r->in.workstation));
8020 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8021 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8022 NDR_PULL_ALLOC(ndr, r->out.info);
8023 ZERO_STRUCTP(r->out.info);
8025 if (flags & NDR_OUT) {
8026 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8027 NDR_PULL_ALLOC(ndr, r->out.info);
8029 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8030 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8031 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
8032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8033 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8035 return NDR_ERR_SUCCESS;
8038 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
8040 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
8042 if (flags & NDR_SET_VALUES) {
8043 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8045 if (flags & NDR_IN) {
8046 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
8048 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8050 if (r->in.server_name) {
8051 ndr_print_string(ndr, "server_name", r->in.server_name);
8054 ndr_print_string(ndr, "account_name", r->in.account_name);
8055 ndr_print_string(ndr, "workstation", r->in.workstation);
8058 if (flags & NDR_OUT) {
8059 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
8061 ndr_print_ptr(ndr, "info", r->out.info);
8063 ndr_print_netr_UasInfo(ndr, "info", r->out.info);
8065 ndr_print_WERROR(ndr, "result", r->out.result);
8071 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
8073 if (flags & NDR_IN) {
8074 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8075 if (r->in.server_name) {
8076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8078 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8079 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));
8081 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8084 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));
8085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8088 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8090 if (flags & NDR_OUT) {
8091 if (r->out.info == NULL) {
8092 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8094 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8095 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8097 return NDR_ERR_SUCCESS;
8100 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
8102 uint32_t _ptr_server_name;
8103 TALLOC_CTX *_mem_save_server_name_0;
8104 TALLOC_CTX *_mem_save_info_0;
8105 if (flags & NDR_IN) {
8106 ZERO_STRUCT(r->out);
8108 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8109 if (_ptr_server_name) {
8110 NDR_PULL_ALLOC(ndr, r->in.server_name);
8112 r->in.server_name = NULL;
8114 if (r->in.server_name) {
8115 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8116 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8117 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8118 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8119 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8120 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8122 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8123 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8124 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8126 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8127 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8128 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8129 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
8131 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8132 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
8133 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8134 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8135 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8136 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.workstation), ndr_get_array_length(ndr, &r->in.workstation));
8138 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8139 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8140 NDR_PULL_ALLOC(ndr, r->out.info);
8141 ZERO_STRUCTP(r->out.info);
8143 if (flags & NDR_OUT) {
8144 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8145 NDR_PULL_ALLOC(ndr, r->out.info);
8147 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8148 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8149 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8151 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8153 return NDR_ERR_SUCCESS;
8156 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
8158 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
8160 if (flags & NDR_SET_VALUES) {
8161 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8163 if (flags & NDR_IN) {
8164 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
8166 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8168 if (r->in.server_name) {
8169 ndr_print_string(ndr, "server_name", r->in.server_name);
8172 ndr_print_string(ndr, "account_name", r->in.account_name);
8173 ndr_print_string(ndr, "workstation", r->in.workstation);
8176 if (flags & NDR_OUT) {
8177 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
8179 ndr_print_ptr(ndr, "info", r->out.info);
8181 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
8183 ndr_print_WERROR(ndr, "result", r->out.result);
8189 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
8191 if (flags & NDR_IN) {
8192 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8193 if (r->in.server_name) {
8194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8197 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));
8199 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8200 if (r->in.computer_name) {
8201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8202 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8204 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));
8206 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8207 if (r->in.credential) {
8208 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8210 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8211 if (r->in.return_authenticator) {
8212 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8214 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
8215 if (r->in.logon == NULL) {
8216 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8218 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8219 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8220 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
8222 if (flags & NDR_OUT) {
8223 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8224 if (r->out.return_authenticator) {
8225 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8227 if (r->out.validation == NULL) {
8228 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8230 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8231 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8232 if (r->out.authoritative == NULL) {
8233 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8235 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
8236 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8238 return NDR_ERR_SUCCESS;
8241 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
8243 uint32_t _ptr_server_name;
8244 uint32_t _ptr_computer_name;
8245 uint32_t _ptr_credential;
8246 uint32_t _ptr_return_authenticator;
8247 TALLOC_CTX *_mem_save_server_name_0;
8248 TALLOC_CTX *_mem_save_computer_name_0;
8249 TALLOC_CTX *_mem_save_credential_0;
8250 TALLOC_CTX *_mem_save_return_authenticator_0;
8251 TALLOC_CTX *_mem_save_logon_0;
8252 TALLOC_CTX *_mem_save_validation_0;
8253 TALLOC_CTX *_mem_save_authoritative_0;
8254 if (flags & NDR_IN) {
8255 ZERO_STRUCT(r->out);
8257 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8258 if (_ptr_server_name) {
8259 NDR_PULL_ALLOC(ndr, r->in.server_name);
8261 r->in.server_name = NULL;
8263 if (r->in.server_name) {
8264 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8265 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8266 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8267 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8268 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8269 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8271 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8272 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8275 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8276 if (_ptr_computer_name) {
8277 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8279 r->in.computer_name = NULL;
8281 if (r->in.computer_name) {
8282 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8283 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8284 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8285 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8286 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8287 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8289 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8290 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
8291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8293 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8294 if (_ptr_credential) {
8295 NDR_PULL_ALLOC(ndr, r->in.credential);
8297 r->in.credential = NULL;
8299 if (r->in.credential) {
8300 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8301 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8302 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8305 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8306 if (_ptr_return_authenticator) {
8307 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8309 r->in.return_authenticator = NULL;
8311 if (r->in.return_authenticator) {
8312 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8313 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8314 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8317 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
8318 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8319 NDR_PULL_ALLOC(ndr, r->in.logon);
8321 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
8322 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
8323 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8324 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8325 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
8326 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
8327 NDR_PULL_ALLOC(ndr, r->out.validation);
8328 ZERO_STRUCTP(r->out.validation);
8329 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8330 ZERO_STRUCTP(r->out.authoritative);
8332 if (flags & NDR_OUT) {
8333 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8334 if (_ptr_return_authenticator) {
8335 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8337 r->out.return_authenticator = NULL;
8339 if (r->out.return_authenticator) {
8340 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8341 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8342 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8343 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8345 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8346 NDR_PULL_ALLOC(ndr, r->out.validation);
8348 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
8349 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
8350 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8351 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
8353 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8354 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8356 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
8357 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
8358 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
8359 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
8360 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8362 return NDR_ERR_SUCCESS;
8365 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
8367 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
8369 if (flags & NDR_SET_VALUES) {
8370 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8372 if (flags & NDR_IN) {
8373 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
8375 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8377 if (r->in.server_name) {
8378 ndr_print_string(ndr, "server_name", r->in.server_name);
8381 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8383 if (r->in.computer_name) {
8384 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8387 ndr_print_ptr(ndr, "credential", r->in.credential);
8389 if (r->in.credential) {
8390 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8393 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8395 if (r->in.return_authenticator) {
8396 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8399 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
8400 ndr_print_ptr(ndr, "logon", r->in.logon);
8402 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
8403 ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
8405 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
8408 if (flags & NDR_OUT) {
8409 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
8411 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8413 if (r->out.return_authenticator) {
8414 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8417 ndr_print_ptr(ndr, "validation", r->out.validation);
8419 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
8420 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
8422 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
8424 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
8426 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8432 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
8434 if (flags & NDR_IN) {
8435 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8436 if (r->in.server_name) {
8437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8438 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8439 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8440 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));
8442 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8443 if (r->in.computer_name) {
8444 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8445 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8446 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8447 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));
8449 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8450 if (r->in.credential) {
8451 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8453 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8454 if (r->in.return_authenticator) {
8455 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8457 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
8458 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8459 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8461 if (flags & NDR_OUT) {
8462 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8463 if (r->out.return_authenticator) {
8464 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8466 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8468 return NDR_ERR_SUCCESS;
8471 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
8473 uint32_t _ptr_server_name;
8474 uint32_t _ptr_computer_name;
8475 uint32_t _ptr_credential;
8476 uint32_t _ptr_return_authenticator;
8477 TALLOC_CTX *_mem_save_server_name_0;
8478 TALLOC_CTX *_mem_save_computer_name_0;
8479 TALLOC_CTX *_mem_save_credential_0;
8480 TALLOC_CTX *_mem_save_return_authenticator_0;
8481 if (flags & NDR_IN) {
8482 ZERO_STRUCT(r->out);
8484 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8485 if (_ptr_server_name) {
8486 NDR_PULL_ALLOC(ndr, r->in.server_name);
8488 r->in.server_name = NULL;
8490 if (r->in.server_name) {
8491 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8492 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8493 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8494 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8495 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8496 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8498 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8499 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8500 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8502 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8503 if (_ptr_computer_name) {
8504 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8506 r->in.computer_name = NULL;
8508 if (r->in.computer_name) {
8509 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8510 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8511 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8512 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8513 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8514 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8516 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8517 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
8518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8520 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8521 if (_ptr_credential) {
8522 NDR_PULL_ALLOC(ndr, r->in.credential);
8524 r->in.credential = NULL;
8526 if (r->in.credential) {
8527 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8528 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8529 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8532 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8533 if (_ptr_return_authenticator) {
8534 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8536 r->in.return_authenticator = NULL;
8538 if (r->in.return_authenticator) {
8539 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8540 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8541 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8542 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8544 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
8545 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8546 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8548 if (flags & NDR_OUT) {
8549 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8550 if (_ptr_return_authenticator) {
8551 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8553 r->out.return_authenticator = NULL;
8555 if (r->out.return_authenticator) {
8556 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8557 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8558 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8559 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8561 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8563 return NDR_ERR_SUCCESS;
8566 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
8568 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
8570 if (flags & NDR_SET_VALUES) {
8571 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8573 if (flags & NDR_IN) {
8574 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
8576 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8578 if (r->in.server_name) {
8579 ndr_print_string(ndr, "server_name", r->in.server_name);
8582 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8584 if (r->in.computer_name) {
8585 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8588 ndr_print_ptr(ndr, "credential", r->in.credential);
8590 if (r->in.credential) {
8591 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8594 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8596 if (r->in.return_authenticator) {
8597 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8600 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
8601 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
8602 ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
8605 if (flags & NDR_OUT) {
8606 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
8608 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8610 if (r->out.return_authenticator) {
8611 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8614 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8620 static enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
8622 if (flags & NDR_IN) {
8623 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8624 if (r->in.server_name) {
8625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8628 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));
8630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8632 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8633 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));
8634 if (r->in.credentials == NULL) {
8635 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8637 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8639 if (flags & NDR_OUT) {
8640 if (r->out.return_credentials == NULL) {
8641 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8643 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8644 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8646 return NDR_ERR_SUCCESS;
8649 static enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
8651 uint32_t _ptr_server_name;
8652 TALLOC_CTX *_mem_save_server_name_0;
8653 TALLOC_CTX *_mem_save_credentials_0;
8654 TALLOC_CTX *_mem_save_return_credentials_0;
8655 if (flags & NDR_IN) {
8656 ZERO_STRUCT(r->out);
8658 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8659 if (_ptr_server_name) {
8660 NDR_PULL_ALLOC(ndr, r->in.server_name);
8662 r->in.server_name = NULL;
8664 if (r->in.server_name) {
8665 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8666 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8667 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8668 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8669 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8670 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8672 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8673 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8676 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8677 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8678 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8679 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8681 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8682 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
8683 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8684 NDR_PULL_ALLOC(ndr, r->in.credentials);
8686 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8687 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8688 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8689 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8690 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8691 ZERO_STRUCTP(r->out.return_credentials);
8693 if (flags & NDR_OUT) {
8694 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8695 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8697 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8698 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8699 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8701 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8703 return NDR_ERR_SUCCESS;
8706 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
8708 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
8710 if (flags & NDR_SET_VALUES) {
8711 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8713 if (flags & NDR_IN) {
8714 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
8716 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8718 if (r->in.server_name) {
8719 ndr_print_string(ndr, "server_name", r->in.server_name);
8722 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8723 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8725 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8729 if (flags & NDR_OUT) {
8730 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
8732 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8734 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8736 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8742 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
8744 if (flags & NDR_IN) {
8745 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8746 if (r->in.server_name) {
8747 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8750 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));
8752 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8755 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));
8756 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8757 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8758 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8760 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));
8761 if (r->in.credentials == NULL) {
8762 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8764 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8766 if (flags & NDR_OUT) {
8767 if (r->out.return_credentials == NULL) {
8768 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8770 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8771 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8773 return NDR_ERR_SUCCESS;
8776 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
8778 uint32_t _ptr_server_name;
8779 TALLOC_CTX *_mem_save_server_name_0;
8780 TALLOC_CTX *_mem_save_credentials_0;
8781 TALLOC_CTX *_mem_save_return_credentials_0;
8782 if (flags & NDR_IN) {
8783 ZERO_STRUCT(r->out);
8785 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8786 if (_ptr_server_name) {
8787 NDR_PULL_ALLOC(ndr, r->in.server_name);
8789 r->in.server_name = NULL;
8791 if (r->in.server_name) {
8792 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8793 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8794 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8795 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8796 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8797 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8799 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8800 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8801 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8803 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8804 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8805 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8806 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
8808 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8809 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
8810 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8811 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8812 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8813 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8814 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8816 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8817 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
8818 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8819 NDR_PULL_ALLOC(ndr, r->in.credentials);
8821 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8822 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8823 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8825 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8826 ZERO_STRUCTP(r->out.return_credentials);
8828 if (flags & NDR_OUT) {
8829 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8830 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8832 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8833 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8834 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8836 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8838 return NDR_ERR_SUCCESS;
8841 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
8843 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
8845 if (flags & NDR_SET_VALUES) {
8846 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8848 if (flags & NDR_IN) {
8849 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
8851 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8853 if (r->in.server_name) {
8854 ndr_print_string(ndr, "server_name", r->in.server_name);
8857 ndr_print_string(ndr, "account_name", r->in.account_name);
8858 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
8859 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8860 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8862 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8866 if (flags & NDR_OUT) {
8867 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
8869 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8871 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8873 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8879 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
8881 if (flags & NDR_IN) {
8882 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8883 if (r->in.server_name) {
8884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8887 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8889 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8890 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8892 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));
8893 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8894 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8895 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8897 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));
8898 if (r->in.credential == NULL) {
8899 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8901 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8902 if (r->in.new_password == NULL) {
8903 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8905 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
8907 if (flags & NDR_OUT) {
8908 if (r->out.return_authenticator == NULL) {
8909 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8911 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8912 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8914 return NDR_ERR_SUCCESS;
8917 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
8919 uint32_t _ptr_server_name;
8920 TALLOC_CTX *_mem_save_server_name_0;
8921 TALLOC_CTX *_mem_save_credential_0;
8922 TALLOC_CTX *_mem_save_return_authenticator_0;
8923 TALLOC_CTX *_mem_save_new_password_0;
8924 if (flags & NDR_IN) {
8925 ZERO_STRUCT(r->out);
8927 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8928 if (_ptr_server_name) {
8929 NDR_PULL_ALLOC(ndr, r->in.server_name);
8931 r->in.server_name = NULL;
8933 if (r->in.server_name) {
8934 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8935 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8936 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8937 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8938 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8939 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
8941 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8942 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
8943 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8945 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8946 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8947 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8948 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
8950 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8951 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
8952 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8953 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8954 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8955 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8956 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8958 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8959 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
8960 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8961 NDR_PULL_ALLOC(ndr, r->in.credential);
8963 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8964 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
8965 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8966 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
8967 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8968 NDR_PULL_ALLOC(ndr, r->in.new_password);
8970 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
8971 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
8972 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
8973 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
8974 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8975 ZERO_STRUCTP(r->out.return_authenticator);
8977 if (flags & NDR_OUT) {
8978 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8979 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8981 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8982 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
8983 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8984 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
8985 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8987 return NDR_ERR_SUCCESS;
8990 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
8992 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
8994 if (flags & NDR_SET_VALUES) {
8995 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8997 if (flags & NDR_IN) {
8998 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
9000 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9002 if (r->in.server_name) {
9003 ndr_print_string(ndr, "server_name", r->in.server_name);
9006 ndr_print_string(ndr, "account_name", r->in.account_name);
9007 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
9008 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9009 ndr_print_ptr(ndr, "credential", r->in.credential);
9011 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9013 ndr_print_ptr(ndr, "new_password", r->in.new_password);
9015 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
9019 if (flags & NDR_OUT) {
9020 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
9022 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9024 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9026 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9032 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
9034 if (flags & NDR_IN) {
9035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9038 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));
9039 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9040 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9041 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9042 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9043 if (r->in.credential == NULL) {
9044 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9046 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9047 if (r->in.return_authenticator == NULL) {
9048 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9050 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9051 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9052 if (r->in.sequence_num == NULL) {
9053 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9055 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
9056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9058 if (flags & NDR_OUT) {
9059 if (r->out.return_authenticator == NULL) {
9060 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9062 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9063 if (r->out.sequence_num == NULL) {
9064 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9066 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
9067 if (r->out.delta_enum_array == NULL) {
9068 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9070 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
9071 if (*r->out.delta_enum_array) {
9072 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9074 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9076 return NDR_ERR_SUCCESS;
9079 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
9081 uint32_t _ptr_delta_enum_array;
9082 TALLOC_CTX *_mem_save_credential_0;
9083 TALLOC_CTX *_mem_save_return_authenticator_0;
9084 TALLOC_CTX *_mem_save_sequence_num_0;
9085 TALLOC_CTX *_mem_save_delta_enum_array_0;
9086 TALLOC_CTX *_mem_save_delta_enum_array_1;
9087 if (flags & NDR_IN) {
9088 ZERO_STRUCT(r->out);
9090 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9091 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9092 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9093 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
9095 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9096 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
9097 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9098 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9099 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9100 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
9102 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9103 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9104 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9105 NDR_PULL_ALLOC(ndr, r->in.credential);
9107 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9108 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
9109 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
9111 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9112 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9114 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9115 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9116 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9118 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9119 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9120 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
9122 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9123 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9124 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
9125 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9127 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9128 *r->out.return_authenticator = *r->in.return_authenticator;
9129 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9130 *r->out.sequence_num = *r->in.sequence_num;
9131 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9132 ZERO_STRUCTP(r->out.delta_enum_array);
9134 if (flags & NDR_OUT) {
9135 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9136 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9138 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9139 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9140 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9141 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9142 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9143 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9145 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9146 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9147 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
9148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9149 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9150 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9152 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9153 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9154 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
9155 if (_ptr_delta_enum_array) {
9156 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
9158 *r->out.delta_enum_array = NULL;
9160 if (*r->out.delta_enum_array) {
9161 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
9162 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
9163 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
9166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9167 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9169 return NDR_ERR_SUCCESS;
9172 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
9174 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
9176 if (flags & NDR_SET_VALUES) {
9177 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9179 if (flags & NDR_IN) {
9180 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
9182 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9183 ndr_print_string(ndr, "computername", r->in.computername);
9184 ndr_print_ptr(ndr, "credential", r->in.credential);
9186 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9188 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9190 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9192 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9193 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
9195 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
9197 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9200 if (flags & NDR_OUT) {
9201 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
9203 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9205 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9207 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
9209 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
9211 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9213 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
9215 if (*r->out.delta_enum_array) {
9216 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
9220 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9226 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
9228 if (flags & NDR_IN) {
9229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9232 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));
9233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9236 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9237 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9238 if (r->in.return_authenticator == NULL) {
9239 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9241 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9242 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9243 if (r->in.sync_context == NULL) {
9244 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
9247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9249 if (flags & NDR_OUT) {
9250 if (r->out.return_authenticator == NULL) {
9251 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9253 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9254 if (r->out.sync_context == NULL) {
9255 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9257 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
9258 if (r->out.delta_enum_array == NULL) {
9259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9261 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9262 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9264 return NDR_ERR_SUCCESS;
9267 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
9269 TALLOC_CTX *_mem_save_return_authenticator_0;
9270 TALLOC_CTX *_mem_save_sync_context_0;
9271 TALLOC_CTX *_mem_save_delta_enum_array_0;
9272 if (flags & NDR_IN) {
9273 ZERO_STRUCT(r->out);
9275 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9276 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9277 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9278 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
9280 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9281 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
9282 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9283 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9284 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9285 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
9287 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9288 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9289 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9290 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9291 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9293 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9294 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9295 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9297 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9298 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9299 NDR_PULL_ALLOC(ndr, r->in.sync_context);
9301 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9302 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
9303 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
9304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9305 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9306 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9307 *r->out.return_authenticator = *r->in.return_authenticator;
9308 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9309 *r->out.sync_context = *r->in.sync_context;
9310 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9311 ZERO_STRUCTP(r->out.delta_enum_array);
9313 if (flags & NDR_OUT) {
9314 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9315 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9317 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9318 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9319 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9320 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9321 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9322 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9324 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9325 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
9326 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
9327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9328 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9329 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9331 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9332 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9333 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9335 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9337 return NDR_ERR_SUCCESS;
9340 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
9342 ndr_print_struct(ndr, name, "netr_DatabaseSync");
9344 if (flags & NDR_SET_VALUES) {
9345 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9347 if (flags & NDR_IN) {
9348 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
9350 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9351 ndr_print_string(ndr, "computername", r->in.computername);
9352 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9353 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9355 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9357 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9358 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
9360 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
9362 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9365 if (flags & NDR_OUT) {
9366 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
9368 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9370 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9372 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
9374 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
9376 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9378 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
9380 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9386 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
9388 if (flags & NDR_IN) {
9389 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9390 if (r->in.logon_server) {
9391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9394 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));
9396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9398 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9399 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9400 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9401 if (r->in.return_authenticator == NULL) {
9402 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9404 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9405 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
9407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9410 if (flags & NDR_OUT) {
9411 if (r->out.return_authenticator == NULL) {
9412 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9414 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9415 if (r->out.buffer == NULL) {
9416 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9419 struct ndr_push *_ndr_buffer;
9420 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9421 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9422 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9424 if (r->out.count_returned == NULL) {
9425 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9428 if (r->out.total_entries == NULL) {
9429 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9432 if (r->out.recordid == NULL) {
9433 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9435 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9436 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9438 return NDR_ERR_SUCCESS;
9441 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
9443 uint32_t _ptr_logon_server;
9444 TALLOC_CTX *_mem_save_logon_server_0;
9445 TALLOC_CTX *_mem_save_return_authenticator_0;
9446 TALLOC_CTX *_mem_save_buffer_0;
9447 TALLOC_CTX *_mem_save_count_returned_0;
9448 TALLOC_CTX *_mem_save_total_entries_0;
9449 TALLOC_CTX *_mem_save_recordid_0;
9450 if (flags & NDR_IN) {
9451 ZERO_STRUCT(r->out);
9453 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9454 if (_ptr_logon_server) {
9455 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9457 r->in.logon_server = NULL;
9459 if (r->in.logon_server) {
9460 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9461 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9462 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9463 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9464 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9465 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
9467 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9468 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
9469 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9471 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9472 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9473 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9474 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
9476 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9477 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9478 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9479 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9480 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9482 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9483 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9484 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9486 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
9488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9490 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9491 *r->out.return_authenticator = *r->in.return_authenticator;
9492 NDR_PULL_ALLOC(ndr, r->out.buffer);
9493 ZERO_STRUCTP(r->out.buffer);
9494 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9495 ZERO_STRUCTP(r->out.count_returned);
9496 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9497 ZERO_STRUCTP(r->out.total_entries);
9498 NDR_PULL_ALLOC(ndr, r->out.recordid);
9499 ZERO_STRUCTP(r->out.recordid);
9501 if (flags & NDR_OUT) {
9502 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9503 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9505 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9506 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9507 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9509 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9510 NDR_PULL_ALLOC(ndr, r->out.buffer);
9512 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9513 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9515 struct ndr_pull *_ndr_buffer;
9516 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9517 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9518 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9521 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9522 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9524 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9525 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9526 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9527 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9528 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9529 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9531 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9532 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9533 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9535 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9536 NDR_PULL_ALLOC(ndr, r->out.recordid);
9538 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9539 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9540 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9542 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9544 return NDR_ERR_SUCCESS;
9547 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
9549 ndr_print_struct(ndr, name, "netr_AccountDeltas");
9551 if (flags & NDR_SET_VALUES) {
9552 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9554 if (flags & NDR_IN) {
9555 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
9557 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9559 if (r->in.logon_server) {
9560 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9563 ndr_print_string(ndr, "computername", r->in.computername);
9564 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9565 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9567 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9569 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
9570 ndr_print_uint32(ndr, "count", r->in.count);
9571 ndr_print_uint32(ndr, "level", r->in.level);
9572 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9575 if (flags & NDR_OUT) {
9576 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
9578 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9580 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9582 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9584 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9586 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9588 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9590 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9592 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9594 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9596 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9598 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9604 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
9606 if (flags & NDR_IN) {
9607 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9608 if (r->in.logon_server) {
9609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9612 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));
9614 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9615 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9617 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9618 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9619 if (r->in.return_authenticator == NULL) {
9620 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9622 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
9624 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9626 if (r->in.recordid == NULL) {
9627 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9629 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9631 if (flags & NDR_OUT) {
9632 if (r->out.return_authenticator == NULL) {
9633 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9635 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9636 if (r->out.buffer == NULL) {
9637 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9640 struct ndr_push *_ndr_buffer;
9641 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9642 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9643 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9645 if (r->out.count_returned == NULL) {
9646 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9648 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9649 if (r->out.total_entries == NULL) {
9650 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9653 if (r->out.next_reference == NULL) {
9654 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9656 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
9657 if (r->out.recordid == NULL) {
9658 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9660 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9661 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9663 return NDR_ERR_SUCCESS;
9666 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
9668 uint32_t _ptr_logon_server;
9669 TALLOC_CTX *_mem_save_logon_server_0;
9670 TALLOC_CTX *_mem_save_return_authenticator_0;
9671 TALLOC_CTX *_mem_save_buffer_0;
9672 TALLOC_CTX *_mem_save_count_returned_0;
9673 TALLOC_CTX *_mem_save_total_entries_0;
9674 TALLOC_CTX *_mem_save_next_reference_0;
9675 TALLOC_CTX *_mem_save_recordid_0;
9676 if (flags & NDR_IN) {
9677 ZERO_STRUCT(r->out);
9679 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9680 if (_ptr_logon_server) {
9681 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9683 r->in.logon_server = NULL;
9685 if (r->in.logon_server) {
9686 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9687 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9688 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9689 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9690 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9691 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
9693 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9694 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
9695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9697 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9698 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9699 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9700 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
9702 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9703 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9704 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9705 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9706 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9708 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9709 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9710 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9711 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9712 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
9713 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9714 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9715 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9716 NDR_PULL_ALLOC(ndr, r->in.recordid);
9718 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9719 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
9720 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9722 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9723 *r->out.return_authenticator = *r->in.return_authenticator;
9724 NDR_PULL_ALLOC(ndr, r->out.buffer);
9725 ZERO_STRUCTP(r->out.buffer);
9726 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9727 ZERO_STRUCTP(r->out.count_returned);
9728 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9729 ZERO_STRUCTP(r->out.total_entries);
9730 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9731 ZERO_STRUCTP(r->out.next_reference);
9732 NDR_PULL_ALLOC(ndr, r->out.recordid);
9733 *r->out.recordid = *r->in.recordid;
9735 if (flags & NDR_OUT) {
9736 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9737 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9739 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9740 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9741 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9743 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9744 NDR_PULL_ALLOC(ndr, r->out.buffer);
9746 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9747 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9749 struct ndr_pull *_ndr_buffer;
9750 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9751 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9752 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9754 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9755 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9756 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9758 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9759 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9760 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9761 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9762 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9763 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9765 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9766 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9767 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9769 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9770 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9772 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
9773 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
9774 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
9775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
9776 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9777 NDR_PULL_ALLOC(ndr, r->out.recordid);
9779 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9780 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9781 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9783 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9785 return NDR_ERR_SUCCESS;
9788 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
9790 ndr_print_struct(ndr, name, "netr_AccountSync");
9792 if (flags & NDR_SET_VALUES) {
9793 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9795 if (flags & NDR_IN) {
9796 ndr_print_struct(ndr, "in", "netr_AccountSync");
9798 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9800 if (r->in.logon_server) {
9801 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9804 ndr_print_string(ndr, "computername", r->in.computername);
9805 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9806 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9808 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9810 ndr_print_uint32(ndr, "reference", r->in.reference);
9811 ndr_print_uint32(ndr, "level", r->in.level);
9812 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9813 ndr_print_ptr(ndr, "recordid", r->in.recordid);
9815 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
9819 if (flags & NDR_OUT) {
9820 ndr_print_struct(ndr, "out", "netr_AccountSync");
9822 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9824 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9826 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9828 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9830 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9832 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9834 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9836 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9838 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
9840 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
9842 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9844 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9846 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9852 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
9854 if (flags & NDR_IN) {
9855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9857 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9858 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));
9859 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
9860 if (r->in.domainname) {
9861 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9864 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9867 if (flags & NDR_OUT) {
9868 if (r->out.dcname == NULL) {
9869 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9871 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
9872 if (*r->out.dcname) {
9873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9876 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9878 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9880 return NDR_ERR_SUCCESS;
9883 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
9885 uint32_t _ptr_domainname;
9886 uint32_t _ptr_dcname;
9887 TALLOC_CTX *_mem_save_domainname_0;
9888 TALLOC_CTX *_mem_save_dcname_0;
9889 TALLOC_CTX *_mem_save_dcname_1;
9890 if (flags & NDR_IN) {
9891 ZERO_STRUCT(r->out);
9893 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9894 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9895 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9896 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
9898 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9899 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
9900 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
9901 if (_ptr_domainname) {
9902 NDR_PULL_ALLOC(ndr, r->in.domainname);
9904 r->in.domainname = NULL;
9906 if (r->in.domainname) {
9907 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9908 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
9909 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
9910 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
9911 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
9912 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domainname), ndr_get_array_length(ndr, &r->in.domainname));
9914 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
9915 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
9916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
9918 NDR_PULL_ALLOC(ndr, r->out.dcname);
9919 ZERO_STRUCTP(r->out.dcname);
9921 if (flags & NDR_OUT) {
9922 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9923 NDR_PULL_ALLOC(ndr, r->out.dcname);
9925 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9926 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
9927 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
9929 NDR_PULL_ALLOC(ndr, *r->out.dcname);
9931 *r->out.dcname = NULL;
9933 if (*r->out.dcname) {
9934 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
9935 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
9936 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
9937 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
9938 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
9939 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.dcname), ndr_get_array_length(ndr, r->out.dcname));
9941 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
9942 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
9943 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
9945 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
9946 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9948 return NDR_ERR_SUCCESS;
9951 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
9953 ndr_print_struct(ndr, name, "netr_GetDcName");
9955 if (flags & NDR_SET_VALUES) {
9956 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9958 if (flags & NDR_IN) {
9959 ndr_print_struct(ndr, "in", "netr_GetDcName");
9961 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9962 ndr_print_ptr(ndr, "domainname", r->in.domainname);
9964 if (r->in.domainname) {
9965 ndr_print_string(ndr, "domainname", r->in.domainname);
9970 if (flags & NDR_OUT) {
9971 ndr_print_struct(ndr, "out", "netr_GetDcName");
9973 ndr_print_ptr(ndr, "dcname", r->out.dcname);
9975 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
9977 if (*r->out.dcname) {
9978 ndr_print_string(ndr, "dcname", *r->out.dcname);
9982 ndr_print_WERROR(ndr, "result", r->out.result);
9988 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
9990 if (flags & NDR_IN) {
9991 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9992 if (r->in.logon_server) {
9993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9996 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));
9998 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
9999 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10001 if (flags & NDR_OUT) {
10002 if (r->out.info == NULL) {
10003 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10005 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10006 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10007 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10009 return NDR_ERR_SUCCESS;
10012 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
10014 uint32_t _ptr_logon_server;
10015 TALLOC_CTX *_mem_save_logon_server_0;
10016 TALLOC_CTX *_mem_save_info_0;
10017 if (flags & NDR_IN) {
10018 ZERO_STRUCT(r->out);
10020 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10021 if (_ptr_logon_server) {
10022 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10024 r->in.logon_server = NULL;
10026 if (r->in.logon_server) {
10027 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10028 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10029 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10030 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10031 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10032 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10034 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10035 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10036 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10038 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10039 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10040 NDR_PULL_ALLOC(ndr, r->out.info);
10041 ZERO_STRUCTP(r->out.info);
10043 if (flags & NDR_OUT) {
10044 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10045 NDR_PULL_ALLOC(ndr, r->out.info);
10047 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10048 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10049 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10050 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10051 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10052 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10054 return NDR_ERR_SUCCESS;
10057 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
10059 ndr_print_struct(ndr, name, "netr_LogonControl");
10061 if (flags & NDR_SET_VALUES) {
10062 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10064 if (flags & NDR_IN) {
10065 ndr_print_struct(ndr, "in", "netr_LogonControl");
10067 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10069 if (r->in.logon_server) {
10070 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10073 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10074 ndr_print_uint32(ndr, "level", r->in.level);
10077 if (flags & NDR_OUT) {
10078 ndr_print_struct(ndr, "out", "netr_LogonControl");
10080 ndr_print_ptr(ndr, "info", r->out.info);
10082 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10083 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "info", r->out.info);
10085 ndr_print_WERROR(ndr, "result", r->out.result);
10091 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
10093 if (flags & NDR_IN) {
10094 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10095 if (r->in.logon_server) {
10096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10098 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10099 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));
10101 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
10102 if (r->in.domainname) {
10103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10106 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10109 if (flags & NDR_OUT) {
10110 if (r->out.dcname == NULL) {
10111 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10113 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
10114 if (*r->out.dcname) {
10115 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10116 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10118 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10120 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10122 return NDR_ERR_SUCCESS;
10125 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
10127 uint32_t _ptr_logon_server;
10128 uint32_t _ptr_domainname;
10129 uint32_t _ptr_dcname;
10130 TALLOC_CTX *_mem_save_logon_server_0;
10131 TALLOC_CTX *_mem_save_domainname_0;
10132 TALLOC_CTX *_mem_save_dcname_0;
10133 TALLOC_CTX *_mem_save_dcname_1;
10134 if (flags & NDR_IN) {
10135 ZERO_STRUCT(r->out);
10137 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10138 if (_ptr_logon_server) {
10139 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10141 r->in.logon_server = NULL;
10143 if (r->in.logon_server) {
10144 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10145 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10146 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10147 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10148 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10149 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10151 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10152 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10153 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10155 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
10156 if (_ptr_domainname) {
10157 NDR_PULL_ALLOC(ndr, r->in.domainname);
10159 r->in.domainname = NULL;
10161 if (r->in.domainname) {
10162 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10163 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
10164 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
10165 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
10166 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
10167 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domainname), ndr_get_array_length(ndr, &r->in.domainname));
10169 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
10170 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
10171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
10173 NDR_PULL_ALLOC(ndr, r->out.dcname);
10174 ZERO_STRUCTP(r->out.dcname);
10176 if (flags & NDR_OUT) {
10177 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10178 NDR_PULL_ALLOC(ndr, r->out.dcname);
10180 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10181 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
10182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
10184 NDR_PULL_ALLOC(ndr, *r->out.dcname);
10186 *r->out.dcname = NULL;
10188 if (*r->out.dcname) {
10189 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
10190 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
10191 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
10192 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
10193 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
10194 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.dcname), ndr_get_array_length(ndr, r->out.dcname));
10196 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
10197 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
10198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
10200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
10201 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10203 return NDR_ERR_SUCCESS;
10206 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
10208 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
10210 if (flags & NDR_SET_VALUES) {
10211 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10213 if (flags & NDR_IN) {
10214 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
10216 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10218 if (r->in.logon_server) {
10219 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10222 ndr_print_ptr(ndr, "domainname", r->in.domainname);
10224 if (r->in.domainname) {
10225 ndr_print_string(ndr, "domainname", r->in.domainname);
10230 if (flags & NDR_OUT) {
10231 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
10233 ndr_print_ptr(ndr, "dcname", r->out.dcname);
10235 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
10237 if (*r->out.dcname) {
10238 ndr_print_string(ndr, "dcname", *r->out.dcname);
10242 ndr_print_WERROR(ndr, "result", r->out.result);
10248 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
10250 if (flags & NDR_IN) {
10251 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10252 if (r->in.logon_server) {
10253 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10255 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10256 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));
10258 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
10259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10260 if (r->in.data == NULL) {
10261 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10263 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
10264 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10266 if (flags & NDR_OUT) {
10267 if (r->out.query == NULL) {
10268 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10270 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10271 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10272 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10274 return NDR_ERR_SUCCESS;
10277 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
10279 uint32_t _ptr_logon_server;
10280 TALLOC_CTX *_mem_save_logon_server_0;
10281 TALLOC_CTX *_mem_save_data_0;
10282 TALLOC_CTX *_mem_save_query_0;
10283 if (flags & NDR_IN) {
10284 ZERO_STRUCT(r->out);
10286 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10287 if (_ptr_logon_server) {
10288 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10290 r->in.logon_server = NULL;
10292 if (r->in.logon_server) {
10293 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10294 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10295 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10296 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10297 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10298 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10300 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10301 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10304 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10305 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10306 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10307 NDR_PULL_ALLOC(ndr, r->in.data);
10309 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
10310 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
10311 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
10312 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10313 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
10314 NDR_PULL_ALLOC(ndr, r->out.query);
10315 ZERO_STRUCTP(r->out.query);
10317 if (flags & NDR_OUT) {
10318 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10319 NDR_PULL_ALLOC(ndr, r->out.query);
10321 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10322 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10323 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10324 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10325 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10326 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10328 return NDR_ERR_SUCCESS;
10331 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
10333 ndr_print_struct(ndr, name, "netr_LogonControl2");
10335 if (flags & NDR_SET_VALUES) {
10336 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10338 if (flags & NDR_IN) {
10339 ndr_print_struct(ndr, "in", "netr_LogonControl2");
10341 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10343 if (r->in.logon_server) {
10344 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10347 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10348 ndr_print_uint32(ndr, "level", r->in.level);
10349 ndr_print_ptr(ndr, "data", r->in.data);
10351 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
10352 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
10356 if (flags & NDR_OUT) {
10357 ndr_print_struct(ndr, "out", "netr_LogonControl2");
10359 ndr_print_ptr(ndr, "query", r->out.query);
10361 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10362 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10364 ndr_print_WERROR(ndr, "result", r->out.result);
10370 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
10372 if (flags & NDR_IN) {
10373 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10374 if (r->in.server_name) {
10375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10378 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));
10380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10383 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));
10384 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10388 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));
10389 if (r->in.credentials == NULL) {
10390 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10392 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10393 if (r->in.negotiate_flags == NULL) {
10394 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10396 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
10398 if (flags & NDR_OUT) {
10399 if (r->out.return_credentials == NULL) {
10400 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10402 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10403 if (r->out.negotiate_flags == NULL) {
10404 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10406 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
10407 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10409 return NDR_ERR_SUCCESS;
10412 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
10414 uint32_t _ptr_server_name;
10415 TALLOC_CTX *_mem_save_server_name_0;
10416 TALLOC_CTX *_mem_save_credentials_0;
10417 TALLOC_CTX *_mem_save_return_credentials_0;
10418 TALLOC_CTX *_mem_save_negotiate_flags_0;
10419 if (flags & NDR_IN) {
10420 ZERO_STRUCT(r->out);
10422 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10423 if (_ptr_server_name) {
10424 NDR_PULL_ALLOC(ndr, r->in.server_name);
10426 r->in.server_name = NULL;
10428 if (r->in.server_name) {
10429 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10430 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10431 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10432 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10433 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10434 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
10436 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10437 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
10438 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10440 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10441 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10442 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10443 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
10445 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10446 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
10447 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10448 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10449 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10450 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10451 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
10453 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10454 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
10455 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10456 NDR_PULL_ALLOC(ndr, r->in.credentials);
10458 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10459 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10460 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10462 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10463 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
10465 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10466 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10467 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
10468 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10469 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10470 ZERO_STRUCTP(r->out.return_credentials);
10471 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10472 *r->out.negotiate_flags = *r->in.negotiate_flags;
10474 if (flags & NDR_OUT) {
10475 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10476 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10478 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10479 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10480 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10481 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10482 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10483 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10485 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10486 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10487 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
10488 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10489 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10491 return NDR_ERR_SUCCESS;
10494 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
10496 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
10498 if (flags & NDR_SET_VALUES) {
10499 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10501 if (flags & NDR_IN) {
10502 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
10504 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10506 if (r->in.server_name) {
10507 ndr_print_string(ndr, "server_name", r->in.server_name);
10510 ndr_print_string(ndr, "account_name", r->in.account_name);
10511 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10512 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10513 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10515 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10517 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
10519 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
10523 if (flags & NDR_OUT) {
10524 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
10526 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10528 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10530 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
10532 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
10534 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10540 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
10542 if (flags & NDR_IN) {
10543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10546 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));
10547 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10550 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10551 if (r->in.credential == NULL) {
10552 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10554 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10555 if (r->in.return_authenticator == NULL) {
10556 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10558 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10559 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10560 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.restart_state));
10561 if (r->in.sync_context == NULL) {
10562 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10567 if (flags & NDR_OUT) {
10568 if (r->out.return_authenticator == NULL) {
10569 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10571 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10572 if (r->out.sync_context == NULL) {
10573 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10576 if (r->out.delta_enum_array == NULL) {
10577 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10579 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10580 if (*r->out.delta_enum_array) {
10581 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10583 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10585 return NDR_ERR_SUCCESS;
10588 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
10590 uint32_t _ptr_delta_enum_array;
10591 TALLOC_CTX *_mem_save_credential_0;
10592 TALLOC_CTX *_mem_save_return_authenticator_0;
10593 TALLOC_CTX *_mem_save_sync_context_0;
10594 TALLOC_CTX *_mem_save_delta_enum_array_0;
10595 TALLOC_CTX *_mem_save_delta_enum_array_1;
10596 if (flags & NDR_IN) {
10597 ZERO_STRUCT(r->out);
10599 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10600 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10601 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10602 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10604 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10605 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10606 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10607 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10608 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10609 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
10611 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10612 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10613 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10614 NDR_PULL_ALLOC(ndr, r->in.credential);
10616 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10617 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10618 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10620 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10621 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10623 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10624 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10625 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10627 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10628 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.restart_state));
10629 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10630 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10632 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10633 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10634 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10636 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10637 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10638 *r->out.return_authenticator = *r->in.return_authenticator;
10639 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10640 *r->out.sync_context = *r->in.sync_context;
10641 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10642 ZERO_STRUCTP(r->out.delta_enum_array);
10644 if (flags & NDR_OUT) {
10645 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10646 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10648 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10649 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10650 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10652 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10653 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10655 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10656 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10657 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10658 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10659 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10660 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10662 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10663 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10664 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10665 if (_ptr_delta_enum_array) {
10666 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10668 *r->out.delta_enum_array = NULL;
10670 if (*r->out.delta_enum_array) {
10671 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10672 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10673 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10677 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10679 return NDR_ERR_SUCCESS;
10682 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
10684 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
10686 if (flags & NDR_SET_VALUES) {
10687 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10689 if (flags & NDR_IN) {
10690 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
10692 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10693 ndr_print_string(ndr, "computername", r->in.computername);
10694 ndr_print_ptr(ndr, "credential", r->in.credential);
10696 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10698 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10700 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10702 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10703 ndr_print_uint16(ndr, "restart_state", r->in.restart_state);
10704 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10706 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10708 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10711 if (flags & NDR_OUT) {
10712 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
10714 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10716 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10718 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10720 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10722 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10724 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10726 if (*r->out.delta_enum_array) {
10727 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10731 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10737 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
10739 if (flags & NDR_IN) {
10740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10743 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));
10744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10747 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10748 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10749 if (r->in.return_authenticator == NULL) {
10750 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10752 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10753 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.change_log_entry));
10754 if (r->in.change_log_entry) {
10755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10756 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, r->in.change_log_entry_size));
10758 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10760 if (flags & NDR_OUT) {
10761 if (r->out.return_authenticator == NULL) {
10762 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10764 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10765 if (r->out.delta_enum_array == NULL) {
10766 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10768 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10769 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10771 return NDR_ERR_SUCCESS;
10774 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
10776 uint32_t _ptr_change_log_entry;
10777 TALLOC_CTX *_mem_save_return_authenticator_0;
10778 TALLOC_CTX *_mem_save_change_log_entry_0;
10779 TALLOC_CTX *_mem_save_delta_enum_array_0;
10780 if (flags & NDR_IN) {
10781 ZERO_STRUCT(r->out);
10783 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10784 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10785 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10786 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10788 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10789 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10790 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10791 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10792 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10793 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
10795 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10796 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10797 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10798 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10799 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10801 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10802 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10803 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10804 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10805 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_change_log_entry));
10806 if (_ptr_change_log_entry) {
10807 NDR_PULL_ALLOC(ndr, r->in.change_log_entry);
10809 r->in.change_log_entry = NULL;
10811 if (r->in.change_log_entry) {
10812 _mem_save_change_log_entry_0 = NDR_PULL_GET_MEM_CTX(ndr);
10813 NDR_PULL_SET_MEM_CTX(ndr, r->in.change_log_entry, 0);
10814 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.change_log_entry));
10815 NDR_PULL_ALLOC_N(ndr, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry));
10816 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry)));
10817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_change_log_entry_0, 0);
10819 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
10820 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10821 *r->out.return_authenticator = *r->in.return_authenticator;
10822 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10823 ZERO_STRUCTP(r->out.delta_enum_array);
10824 if (r->in.change_log_entry) {
10825 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.change_log_entry, r->in.change_log_entry_size));
10828 if (flags & NDR_OUT) {
10829 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10830 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10832 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10833 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10834 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10836 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10837 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10839 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10840 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10841 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10842 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10843 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10845 return NDR_ERR_SUCCESS;
10848 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
10850 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
10852 if (flags & NDR_SET_VALUES) {
10853 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10855 if (flags & NDR_IN) {
10856 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
10858 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10859 ndr_print_string(ndr, "computername", r->in.computername);
10860 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10861 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10863 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10865 ndr_print_ptr(ndr, "change_log_entry", r->in.change_log_entry);
10867 if (r->in.change_log_entry) {
10868 ndr_print_array_uint8(ndr, "change_log_entry", r->in.change_log_entry, r->in.change_log_entry_size);
10871 ndr_print_uint32(ndr, "change_log_entry_size", r->in.change_log_entry_size);
10874 if (flags & NDR_OUT) {
10875 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
10877 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10879 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10881 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10883 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
10885 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10891 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
10893 if (flags & NDR_IN) {
10894 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10895 if (r->in.logon_server) {
10896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10898 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10899 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));
10901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.function_code));
10902 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10903 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.data, r->in.function_code));
10904 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10906 if (flags & NDR_OUT) {
10907 if (r->out.query == NULL) {
10908 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10910 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10911 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10912 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10914 return NDR_ERR_SUCCESS;
10917 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
10919 uint32_t _ptr_logon_server;
10920 TALLOC_CTX *_mem_save_logon_server_0;
10921 TALLOC_CTX *_mem_save_query_0;
10922 if (flags & NDR_IN) {
10923 ZERO_STRUCT(r->out);
10925 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10926 if (_ptr_logon_server) {
10927 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10929 r->in.logon_server = NULL;
10931 if (r->in.logon_server) {
10932 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10933 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10934 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10935 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10936 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10937 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10939 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10940 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.logon_server, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t), CH_UTF16));
10941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
10944 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10945 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.data, r->in.function_code));
10946 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10947 NDR_PULL_ALLOC(ndr, r->out.query);
10948 ZERO_STRUCTP(r->out.query);
10950 if (flags & NDR_OUT) {
10951 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10952 NDR_PULL_ALLOC(ndr, r->out.query);
10954 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10955 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10956 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10957 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10959 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10961 return NDR_ERR_SUCCESS;
10964 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
10966 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
10968 if (flags & NDR_SET_VALUES) {
10969 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10971 if (flags & NDR_IN) {
10972 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
10974 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10976 if (r->in.logon_server) {
10977 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10980 ndr_print_uint32(ndr, "function_code", r->in.function_code);
10981 ndr_print_uint32(ndr, "level", r->in.level);
10982 ndr_print_set_switch_value(ndr, &r->in.data, r->in.function_code);
10983 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", &r->in.data);
10986 if (flags & NDR_OUT) {
10987 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
10989 ndr_print_ptr(ndr, "query", r->out.query);
10991 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10992 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10994 ndr_print_WERROR(ndr, "result", r->out.result);
11000 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11002 if (flags & NDR_IN) {
11003 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11004 if (r->in.server_name) {
11005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11006 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11008 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));
11011 if (flags & NDR_OUT) {
11012 if (r->out.trusted_domains_blob == NULL) {
11013 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11015 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11016 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11018 return NDR_ERR_SUCCESS;
11021 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
11023 uint32_t _ptr_server_name;
11024 TALLOC_CTX *_mem_save_server_name_0;
11025 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
11026 if (flags & NDR_IN) {
11027 ZERO_STRUCT(r->out);
11029 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11030 if (_ptr_server_name) {
11031 NDR_PULL_ALLOC(ndr, r->in.server_name);
11033 r->in.server_name = NULL;
11035 if (r->in.server_name) {
11036 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11037 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11038 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11039 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11040 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11041 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
11043 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11044 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
11045 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11047 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11048 ZERO_STRUCTP(r->out.trusted_domains_blob);
11050 if (flags & NDR_OUT) {
11051 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11052 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11054 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
11055 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
11056 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11057 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
11058 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11060 return NDR_ERR_SUCCESS;
11063 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11065 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
11067 if (flags & NDR_SET_VALUES) {
11068 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11070 if (flags & NDR_IN) {
11071 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
11073 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11075 if (r->in.server_name) {
11076 ndr_print_string(ndr, "server_name", r->in.server_name);
11081 if (flags & NDR_OUT) {
11082 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
11084 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11086 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11088 ndr_print_WERROR(ndr, "result", r->out.result);
11094 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
11096 if (flags & NDR_IN) {
11097 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11098 if (r->in.server_unc) {
11099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11100 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11101 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11102 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));
11104 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11105 if (r->in.domain_name) {
11106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11109 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));
11111 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11112 if (r->in.domain_guid) {
11113 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11115 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
11116 if (r->in.site_guid) {
11117 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
11119 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11121 if (flags & NDR_OUT) {
11122 if (r->out.info == NULL) {
11123 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11125 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11126 if (*r->out.info) {
11127 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11129 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11131 return NDR_ERR_SUCCESS;
11134 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
11136 uint32_t _ptr_server_unc;
11137 uint32_t _ptr_domain_name;
11138 uint32_t _ptr_domain_guid;
11139 uint32_t _ptr_site_guid;
11140 uint32_t _ptr_info;
11141 TALLOC_CTX *_mem_save_server_unc_0;
11142 TALLOC_CTX *_mem_save_domain_name_0;
11143 TALLOC_CTX *_mem_save_domain_guid_0;
11144 TALLOC_CTX *_mem_save_site_guid_0;
11145 TALLOC_CTX *_mem_save_info_0;
11146 TALLOC_CTX *_mem_save_info_1;
11147 if (flags & NDR_IN) {
11148 ZERO_STRUCT(r->out);
11150 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11151 if (_ptr_server_unc) {
11152 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11154 r->in.server_unc = NULL;
11156 if (r->in.server_unc) {
11157 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11158 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11159 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11160 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11161 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11162 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
11164 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11165 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
11166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11168 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11169 if (_ptr_domain_name) {
11170 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11172 r->in.domain_name = NULL;
11174 if (r->in.domain_name) {
11175 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11176 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11177 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11178 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11179 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11180 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
11182 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11183 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
11184 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11186 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11187 if (_ptr_domain_guid) {
11188 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11190 r->in.domain_guid = NULL;
11192 if (r->in.domain_guid) {
11193 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11194 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11195 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11198 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
11199 if (_ptr_site_guid) {
11200 NDR_PULL_ALLOC(ndr, r->in.site_guid);
11202 r->in.site_guid = NULL;
11204 if (r->in.site_guid) {
11205 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11206 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
11207 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
11208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
11210 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11211 NDR_PULL_ALLOC(ndr, r->out.info);
11212 ZERO_STRUCTP(r->out.info);
11214 if (flags & NDR_OUT) {
11215 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11216 NDR_PULL_ALLOC(ndr, r->out.info);
11218 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11219 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11220 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11222 NDR_PULL_ALLOC(ndr, *r->out.info);
11224 *r->out.info = NULL;
11226 if (*r->out.info) {
11227 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11228 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11229 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11230 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11232 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11233 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11235 return NDR_ERR_SUCCESS;
11238 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
11240 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
11242 if (flags & NDR_SET_VALUES) {
11243 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11245 if (flags & NDR_IN) {
11246 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
11248 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11250 if (r->in.server_unc) {
11251 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11254 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11256 if (r->in.domain_name) {
11257 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11260 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11262 if (r->in.domain_guid) {
11263 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11266 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
11268 if (r->in.site_guid) {
11269 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
11272 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11275 if (flags & NDR_OUT) {
11276 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
11278 ndr_print_ptr(ndr, "info", r->out.info);
11280 ndr_print_ptr(ndr, "info", *r->out.info);
11282 if (*r->out.info) {
11283 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11287 ndr_print_WERROR(ndr, "result", r->out.result);
11293 static enum ndr_err_code ndr_push_netr_NETRLOGONDUMMYROUTINE1(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11295 if (flags & NDR_IN) {
11297 if (flags & NDR_OUT) {
11298 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11300 return NDR_ERR_SUCCESS;
11303 static enum ndr_err_code ndr_pull_netr_NETRLOGONDUMMYROUTINE1(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONDUMMYROUTINE1 *r)
11305 if (flags & NDR_IN) {
11307 if (flags & NDR_OUT) {
11308 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11310 return NDR_ERR_SUCCESS;
11313 _PUBLIC_ void ndr_print_netr_NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11315 ndr_print_struct(ndr, name, "netr_NETRLOGONDUMMYROUTINE1");
11317 if (flags & NDR_SET_VALUES) {
11318 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11320 if (flags & NDR_IN) {
11321 ndr_print_struct(ndr, "in", "netr_NETRLOGONDUMMYROUTINE1");
11325 if (flags & NDR_OUT) {
11326 ndr_print_struct(ndr, "out", "netr_NETRLOGONDUMMYROUTINE1");
11328 ndr_print_WERROR(ndr, "result", r->out.result);
11334 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11336 if (flags & NDR_IN) {
11338 if (flags & NDR_OUT) {
11339 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11341 return NDR_ERR_SUCCESS;
11344 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
11346 if (flags & NDR_IN) {
11348 if (flags & NDR_OUT) {
11349 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11351 return NDR_ERR_SUCCESS;
11354 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11356 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
11358 if (flags & NDR_SET_VALUES) {
11359 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11361 if (flags & NDR_IN) {
11362 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
11366 if (flags & NDR_OUT) {
11367 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
11369 ndr_print_WERROR(ndr, "result", r->out.result);
11375 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
11377 if (flags & NDR_IN) {
11378 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11379 if (r->in.server_name) {
11380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11383 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));
11385 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11386 if (r->in.domain_name) {
11387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11390 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));
11393 if (flags & NDR_OUT) {
11394 if (r->out.rid == NULL) {
11395 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11398 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11400 return NDR_ERR_SUCCESS;
11403 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
11405 uint32_t _ptr_server_name;
11406 uint32_t _ptr_domain_name;
11407 TALLOC_CTX *_mem_save_server_name_0;
11408 TALLOC_CTX *_mem_save_domain_name_0;
11409 TALLOC_CTX *_mem_save_rid_0;
11410 if (flags & NDR_IN) {
11411 ZERO_STRUCT(r->out);
11413 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11414 if (_ptr_server_name) {
11415 NDR_PULL_ALLOC(ndr, r->in.server_name);
11417 r->in.server_name = NULL;
11419 if (r->in.server_name) {
11420 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11421 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11422 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11423 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11424 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11425 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
11427 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11428 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
11429 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11431 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11432 if (_ptr_domain_name) {
11433 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11435 r->in.domain_name = NULL;
11437 if (r->in.domain_name) {
11438 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11439 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11440 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11441 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11442 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11443 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
11445 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11446 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
11447 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11449 NDR_PULL_ALLOC(ndr, r->out.rid);
11450 ZERO_STRUCTP(r->out.rid);
11452 if (flags & NDR_OUT) {
11453 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11454 NDR_PULL_ALLOC(ndr, r->out.rid);
11456 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11457 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11458 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11459 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11460 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11462 return NDR_ERR_SUCCESS;
11465 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
11467 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
11469 if (flags & NDR_SET_VALUES) {
11470 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11472 if (flags & NDR_IN) {
11473 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
11475 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11477 if (r->in.server_name) {
11478 ndr_print_string(ndr, "server_name", r->in.server_name);
11481 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11483 if (r->in.domain_name) {
11484 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11489 if (flags & NDR_OUT) {
11490 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
11492 ndr_print_ptr(ndr, "rid", r->out.rid);
11494 ndr_print_uint32(ndr, "rid", *r->out.rid);
11496 ndr_print_WERROR(ndr, "result", r->out.result);
11502 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11504 if (flags & NDR_IN) {
11506 if (flags & NDR_OUT) {
11507 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11509 return NDR_ERR_SUCCESS;
11512 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11514 if (flags & NDR_IN) {
11516 if (flags & NDR_OUT) {
11517 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11519 return NDR_ERR_SUCCESS;
11522 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11524 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
11526 if (flags & NDR_SET_VALUES) {
11527 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11529 if (flags & NDR_IN) {
11530 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11534 if (flags & NDR_OUT) {
11535 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11537 ndr_print_WERROR(ndr, "result", r->out.result);
11543 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11545 if (flags & NDR_IN) {
11547 if (flags & NDR_OUT) {
11548 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11550 return NDR_ERR_SUCCESS;
11553 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11555 if (flags & NDR_IN) {
11557 if (flags & NDR_OUT) {
11558 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11560 return NDR_ERR_SUCCESS;
11563 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11565 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11567 if (flags & NDR_SET_VALUES) {
11568 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11570 if (flags & NDR_IN) {
11571 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11575 if (flags & NDR_OUT) {
11576 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11578 ndr_print_WERROR(ndr, "result", r->out.result);
11584 static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
11586 if (flags & NDR_IN) {
11587 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11588 if (r->in.server_name) {
11589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11592 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));
11594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11597 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));
11598 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11602 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));
11603 if (r->in.credentials == NULL) {
11604 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11606 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11607 if (r->in.negotiate_flags == NULL) {
11608 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11610 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11612 if (flags & NDR_OUT) {
11613 if (r->out.credentials == NULL) {
11614 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11616 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11617 if (r->out.negotiate_flags == NULL) {
11618 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11620 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11621 if (r->out.rid == NULL) {
11622 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11624 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11625 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11627 return NDR_ERR_SUCCESS;
11630 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
11632 uint32_t _ptr_server_name;
11633 TALLOC_CTX *_mem_save_server_name_0;
11634 TALLOC_CTX *_mem_save_credentials_0;
11635 TALLOC_CTX *_mem_save_negotiate_flags_0;
11636 TALLOC_CTX *_mem_save_rid_0;
11637 if (flags & NDR_IN) {
11638 ZERO_STRUCT(r->out);
11640 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11641 if (_ptr_server_name) {
11642 NDR_PULL_ALLOC(ndr, r->in.server_name);
11644 r->in.server_name = NULL;
11646 if (r->in.server_name) {
11647 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11648 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11649 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11650 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11651 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11652 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
11654 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11655 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
11656 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11658 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11659 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11660 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11661 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
11663 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11664 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
11665 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11666 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11667 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11668 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11669 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
11671 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11672 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
11673 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11674 NDR_PULL_ALLOC(ndr, r->in.credentials);
11676 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11677 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11678 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11680 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11681 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11683 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11684 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11685 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
11686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11687 NDR_PULL_ALLOC(ndr, r->out.credentials);
11688 *r->out.credentials = *r->in.credentials;
11689 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11690 *r->out.negotiate_flags = *r->in.negotiate_flags;
11691 NDR_PULL_ALLOC(ndr, r->out.rid);
11692 ZERO_STRUCTP(r->out.rid);
11694 if (flags & NDR_OUT) {
11695 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11696 NDR_PULL_ALLOC(ndr, r->out.credentials);
11698 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11699 NDR_PULL_SET_MEM_CTX(ndr, r->out.credentials, LIBNDR_FLAG_REF_ALLOC);
11700 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11701 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11702 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11703 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11705 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11706 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11707 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
11708 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11709 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11710 NDR_PULL_ALLOC(ndr, r->out.rid);
11712 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11713 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11714 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11715 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11716 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11718 return NDR_ERR_SUCCESS;
11721 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
11723 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
11725 if (flags & NDR_SET_VALUES) {
11726 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11728 if (flags & NDR_IN) {
11729 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
11731 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11733 if (r->in.server_name) {
11734 ndr_print_string(ndr, "server_name", r->in.server_name);
11737 ndr_print_string(ndr, "account_name", r->in.account_name);
11738 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11739 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11740 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11742 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11744 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11746 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
11750 if (flags & NDR_OUT) {
11751 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
11753 ndr_print_ptr(ndr, "credentials", r->out.credentials);
11755 ndr_print_netr_Credential(ndr, "credentials", r->out.credentials);
11757 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
11759 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
11761 ndr_print_ptr(ndr, "rid", r->out.rid);
11763 ndr_print_uint32(ndr, "rid", *r->out.rid);
11765 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11771 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
11773 if (flags & NDR_IN) {
11774 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11775 if (r->in.server_unc) {
11776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11779 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));
11781 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11782 if (r->in.domain_name) {
11783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11786 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain_name, ndr_charset_length(r->in.domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11788 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11789 if (r->in.domain_guid) {
11790 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11792 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
11793 if (r->in.site_name) {
11794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11797 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));
11799 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11801 if (flags & NDR_OUT) {
11802 if (r->out.info == NULL) {
11803 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11805 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11806 if (*r->out.info) {
11807 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11809 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11811 return NDR_ERR_SUCCESS;
11814 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
11816 uint32_t _ptr_server_unc;
11817 uint32_t _ptr_domain_name;
11818 uint32_t _ptr_domain_guid;
11819 uint32_t _ptr_site_name;
11820 uint32_t _ptr_info;
11821 TALLOC_CTX *_mem_save_server_unc_0;
11822 TALLOC_CTX *_mem_save_domain_name_0;
11823 TALLOC_CTX *_mem_save_domain_guid_0;
11824 TALLOC_CTX *_mem_save_site_name_0;
11825 TALLOC_CTX *_mem_save_info_0;
11826 TALLOC_CTX *_mem_save_info_1;
11827 if (flags & NDR_IN) {
11828 ZERO_STRUCT(r->out);
11830 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11831 if (_ptr_server_unc) {
11832 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11834 r->in.server_unc = NULL;
11836 if (r->in.server_unc) {
11837 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11838 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11839 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11840 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11841 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11842 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
11844 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11845 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
11846 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11848 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11849 if (_ptr_domain_name) {
11850 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11852 r->in.domain_name = NULL;
11854 if (r->in.domain_name) {
11855 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11856 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11857 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11858 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11859 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11860 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
11862 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11863 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
11864 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11866 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11867 if (_ptr_domain_guid) {
11868 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11870 r->in.domain_guid = NULL;
11872 if (r->in.domain_guid) {
11873 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11874 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11875 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
11876 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
11879 if (_ptr_site_name) {
11880 NDR_PULL_ALLOC(ndr, r->in.site_name);
11882 r->in.site_name = NULL;
11884 if (r->in.site_name) {
11885 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11886 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
11887 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
11888 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
11889 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
11890 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.site_name), ndr_get_array_length(ndr, &r->in.site_name));
11892 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
11893 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t), CH_UTF16));
11894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
11896 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11897 NDR_PULL_ALLOC(ndr, r->out.info);
11898 ZERO_STRUCTP(r->out.info);
11900 if (flags & NDR_OUT) {
11901 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11902 NDR_PULL_ALLOC(ndr, r->out.info);
11904 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11905 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11906 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11908 NDR_PULL_ALLOC(ndr, *r->out.info);
11910 *r->out.info = NULL;
11912 if (*r->out.info) {
11913 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11914 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11915 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11919 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11921 return NDR_ERR_SUCCESS;
11924 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
11926 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
11928 if (flags & NDR_SET_VALUES) {
11929 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11931 if (flags & NDR_IN) {
11932 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
11934 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11936 if (r->in.server_unc) {
11937 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11940 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11942 if (r->in.domain_name) {
11943 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11946 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11948 if (r->in.domain_guid) {
11949 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11952 ndr_print_ptr(ndr, "site_name", r->in.site_name);
11954 if (r->in.site_name) {
11955 ndr_print_string(ndr, "site_name", r->in.site_name);
11958 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11961 if (flags & NDR_OUT) {
11962 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
11964 ndr_print_ptr(ndr, "info", r->out.info);
11966 ndr_print_ptr(ndr, "info", *r->out.info);
11968 if (*r->out.info) {
11969 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11973 ndr_print_WERROR(ndr, "result", r->out.result);
11979 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
11981 if (flags & NDR_IN) {
11982 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
11983 if (r->in.computer_name) {
11984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11987 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));
11990 if (flags & NDR_OUT) {
11991 if (r->out.site == NULL) {
11992 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11994 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
11995 if (*r->out.site) {
11996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
11997 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11998 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
11999 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12001 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12003 return NDR_ERR_SUCCESS;
12006 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
12008 uint32_t _ptr_computer_name;
12009 uint32_t _ptr_site;
12010 TALLOC_CTX *_mem_save_computer_name_0;
12011 TALLOC_CTX *_mem_save_site_0;
12012 TALLOC_CTX *_mem_save_site_1;
12013 if (flags & NDR_IN) {
12014 ZERO_STRUCT(r->out);
12016 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12017 if (_ptr_computer_name) {
12018 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12020 r->in.computer_name = NULL;
12022 if (r->in.computer_name) {
12023 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12024 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12025 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12026 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12027 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12028 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
12030 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12031 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
12032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12034 NDR_PULL_ALLOC(ndr, r->out.site);
12035 ZERO_STRUCTP(r->out.site);
12037 if (flags & NDR_OUT) {
12038 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12039 NDR_PULL_ALLOC(ndr, r->out.site);
12041 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
12042 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
12043 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
12045 NDR_PULL_ALLOC(ndr, *r->out.site);
12047 *r->out.site = NULL;
12049 if (*r->out.site) {
12050 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
12051 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
12052 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
12053 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
12054 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
12055 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.site), ndr_get_array_length(ndr, r->out.site));
12057 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
12058 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
12059 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
12061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
12062 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12064 return NDR_ERR_SUCCESS;
12067 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
12069 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
12071 if (flags & NDR_SET_VALUES) {
12072 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12074 if (flags & NDR_IN) {
12075 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
12077 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12079 if (r->in.computer_name) {
12080 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12085 if (flags & NDR_OUT) {
12086 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
12088 ndr_print_ptr(ndr, "site", r->out.site);
12090 ndr_print_ptr(ndr, "site", *r->out.site);
12092 if (*r->out.site) {
12093 ndr_print_string(ndr, "site", *r->out.site);
12097 ndr_print_WERROR(ndr, "result", r->out.result);
12103 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
12105 if (flags & NDR_IN) {
12106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12108 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12109 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));
12110 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12111 if (r->in.computer_name) {
12112 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12113 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12114 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12115 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));
12117 if (r->in.credential == NULL) {
12118 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12120 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12121 if (r->in.return_authenticator == NULL) {
12122 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12124 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12126 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.query, r->in.level));
12127 NDR_CHECK(ndr_push_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12129 if (flags & NDR_OUT) {
12130 if (r->out.return_authenticator == NULL) {
12131 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12133 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12134 if (r->out.info == NULL) {
12135 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12137 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
12138 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12139 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12141 return NDR_ERR_SUCCESS;
12144 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
12146 uint32_t _ptr_computer_name;
12147 TALLOC_CTX *_mem_save_computer_name_0;
12148 TALLOC_CTX *_mem_save_credential_0;
12149 TALLOC_CTX *_mem_save_return_authenticator_0;
12150 TALLOC_CTX *_mem_save_info_0;
12151 if (flags & NDR_IN) {
12152 ZERO_STRUCT(r->out);
12154 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12155 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12156 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12157 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
12159 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12160 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
12161 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12162 if (_ptr_computer_name) {
12163 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12165 r->in.computer_name = NULL;
12167 if (r->in.computer_name) {
12168 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12169 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12170 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12171 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12172 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12173 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
12175 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12176 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
12177 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12179 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12180 NDR_PULL_ALLOC(ndr, r->in.credential);
12182 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12183 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12184 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12186 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12187 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12189 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12190 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12191 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12192 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12194 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.query, r->in.level));
12195 NDR_CHECK(ndr_pull_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12196 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12197 *r->out.return_authenticator = *r->in.return_authenticator;
12198 NDR_PULL_ALLOC(ndr, r->out.info);
12199 ZERO_STRUCTP(r->out.info);
12201 if (flags & NDR_OUT) {
12202 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12203 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12205 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12206 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12207 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12209 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12210 NDR_PULL_ALLOC(ndr, r->out.info);
12212 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12213 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12214 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
12215 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12216 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12217 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12219 return NDR_ERR_SUCCESS;
12222 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
12224 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
12226 if (flags & NDR_SET_VALUES) {
12227 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12229 if (flags & NDR_IN) {
12230 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
12232 ndr_print_string(ndr, "server_name", r->in.server_name);
12233 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12235 if (r->in.computer_name) {
12236 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12239 ndr_print_ptr(ndr, "credential", r->in.credential);
12241 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12243 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12245 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12247 ndr_print_uint32(ndr, "level", r->in.level);
12248 ndr_print_set_switch_value(ndr, &r->in.query, r->in.level);
12249 ndr_print_netr_DomainQuery(ndr, "query", &r->in.query);
12252 if (flags & NDR_OUT) {
12253 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
12255 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12257 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12259 ndr_print_ptr(ndr, "info", r->out.info);
12261 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
12262 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
12264 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12270 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
12272 if (flags & NDR_IN) {
12273 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12274 if (r->in.server_name) {
12275 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12277 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12278 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));
12280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12281 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12282 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12283 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));
12284 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12286 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12287 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12288 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));
12289 if (r->in.credential == NULL) {
12290 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12292 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12293 if (r->in.new_password == NULL) {
12294 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12296 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
12298 if (flags & NDR_OUT) {
12299 if (r->out.return_authenticator == NULL) {
12300 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12302 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12303 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12305 return NDR_ERR_SUCCESS;
12308 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
12310 uint32_t _ptr_server_name;
12311 TALLOC_CTX *_mem_save_server_name_0;
12312 TALLOC_CTX *_mem_save_credential_0;
12313 TALLOC_CTX *_mem_save_return_authenticator_0;
12314 TALLOC_CTX *_mem_save_new_password_0;
12315 if (flags & NDR_IN) {
12316 ZERO_STRUCT(r->out);
12318 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12319 if (_ptr_server_name) {
12320 NDR_PULL_ALLOC(ndr, r->in.server_name);
12322 r->in.server_name = NULL;
12324 if (r->in.server_name) {
12325 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12326 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12327 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12328 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12329 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12330 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
12332 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12333 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
12334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12336 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12337 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12338 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12339 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
12341 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12342 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
12343 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12344 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12345 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12346 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12347 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
12349 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12350 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
12351 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12352 NDR_PULL_ALLOC(ndr, r->in.credential);
12354 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12355 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12356 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12357 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12358 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12359 NDR_PULL_ALLOC(ndr, r->in.new_password);
12361 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12362 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
12363 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
12364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
12365 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12366 ZERO_STRUCTP(r->out.return_authenticator);
12368 if (flags & NDR_OUT) {
12369 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12370 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12372 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12373 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12374 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12375 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12376 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12378 return NDR_ERR_SUCCESS;
12381 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
12383 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
12385 if (flags & NDR_SET_VALUES) {
12386 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12388 if (flags & NDR_IN) {
12389 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
12391 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12393 if (r->in.server_name) {
12394 ndr_print_string(ndr, "server_name", r->in.server_name);
12397 ndr_print_string(ndr, "account_name", r->in.account_name);
12398 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12399 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12400 ndr_print_ptr(ndr, "credential", r->in.credential);
12402 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12404 ndr_print_ptr(ndr, "new_password", r->in.new_password);
12406 ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
12410 if (flags & NDR_OUT) {
12411 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
12413 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12415 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12417 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12423 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
12425 if (flags & NDR_IN) {
12426 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12427 if (r->in.server_name) {
12428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12431 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));
12433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12436 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));
12437 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12438 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12439 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12440 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12441 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));
12442 if (r->in.credential == NULL) {
12443 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12445 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12447 if (flags & NDR_OUT) {
12448 if (r->out.return_authenticator == NULL) {
12449 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12451 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12452 if (r->out.password == NULL) {
12453 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12455 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
12456 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12458 return NDR_ERR_SUCCESS;
12461 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
12463 uint32_t _ptr_server_name;
12464 TALLOC_CTX *_mem_save_server_name_0;
12465 TALLOC_CTX *_mem_save_credential_0;
12466 TALLOC_CTX *_mem_save_return_authenticator_0;
12467 TALLOC_CTX *_mem_save_password_0;
12468 if (flags & NDR_IN) {
12469 ZERO_STRUCT(r->out);
12471 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12472 if (_ptr_server_name) {
12473 NDR_PULL_ALLOC(ndr, r->in.server_name);
12475 r->in.server_name = NULL;
12477 if (r->in.server_name) {
12478 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12479 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12480 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12481 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12482 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12483 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
12485 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12486 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
12487 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12489 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12490 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12491 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12492 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
12494 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12495 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
12496 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12497 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12498 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12499 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12500 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
12502 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12503 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
12504 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12505 NDR_PULL_ALLOC(ndr, r->in.credential);
12507 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12508 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12509 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12511 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12512 ZERO_STRUCTP(r->out.return_authenticator);
12513 NDR_PULL_ALLOC(ndr, r->out.password);
12514 ZERO_STRUCTP(r->out.password);
12516 if (flags & NDR_OUT) {
12517 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12518 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12520 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12521 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12522 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12523 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12524 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12525 NDR_PULL_ALLOC(ndr, r->out.password);
12527 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12528 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
12529 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
12530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
12531 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12533 return NDR_ERR_SUCCESS;
12536 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
12538 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
12540 if (flags & NDR_SET_VALUES) {
12541 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12543 if (flags & NDR_IN) {
12544 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
12546 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12548 if (r->in.server_name) {
12549 ndr_print_string(ndr, "server_name", r->in.server_name);
12552 ndr_print_string(ndr, "account_name", r->in.account_name);
12553 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12554 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12555 ndr_print_ptr(ndr, "credential", r->in.credential);
12557 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12561 if (flags & NDR_OUT) {
12562 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
12564 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12566 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12568 ndr_print_ptr(ndr, "password", r->out.password);
12570 ndr_print_samr_Password(ndr, "password", r->out.password);
12572 ndr_print_WERROR(ndr, "result", r->out.result);
12578 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12580 if (flags & NDR_IN) {
12582 if (flags & NDR_OUT) {
12583 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12585 return NDR_ERR_SUCCESS;
12588 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
12590 if (flags & NDR_IN) {
12592 if (flags & NDR_OUT) {
12593 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12595 return NDR_ERR_SUCCESS;
12598 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12600 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
12602 if (flags & NDR_SET_VALUES) {
12603 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12605 if (flags & NDR_IN) {
12606 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
12610 if (flags & NDR_OUT) {
12611 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
12613 ndr_print_WERROR(ndr, "result", r->out.result);
12619 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
12621 uint32_t cntr_addresses_1;
12622 if (flags & NDR_IN) {
12623 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12624 if (r->in.server_name) {
12625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12628 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));
12630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12631 if (r->in.addresses == NULL) {
12632 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12635 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12636 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12638 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12639 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12642 if (flags & NDR_OUT) {
12643 if (r->out.ctr == NULL) {
12644 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12646 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
12648 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12650 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12652 return NDR_ERR_SUCCESS;
12655 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
12657 uint32_t _ptr_server_name;
12658 uint32_t cntr_addresses_1;
12660 TALLOC_CTX *_mem_save_server_name_0;
12661 TALLOC_CTX *_mem_save_addresses_1;
12662 TALLOC_CTX *_mem_save_ctr_0;
12663 TALLOC_CTX *_mem_save_ctr_1;
12664 if (flags & NDR_IN) {
12665 ZERO_STRUCT(r->out);
12667 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12668 if (_ptr_server_name) {
12669 NDR_PULL_ALLOC(ndr, r->in.server_name);
12671 r->in.server_name = NULL;
12673 if (r->in.server_name) {
12674 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12675 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12676 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12677 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12678 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12679 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
12681 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12682 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
12683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12685 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
12686 if (r->in.count < 0 || r->in.count > 32000) {
12687 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12689 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
12690 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12691 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
12693 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
12694 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
12695 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12696 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12698 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12699 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12701 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
12702 NDR_PULL_ALLOC(ndr, r->out.ctr);
12703 ZERO_STRUCTP(r->out.ctr);
12704 if (r->in.addresses) {
12705 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
12708 if (flags & NDR_OUT) {
12709 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12710 NDR_PULL_ALLOC(ndr, r->out.ctr);
12712 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
12713 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
12714 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
12716 NDR_PULL_ALLOC(ndr, *r->out.ctr);
12718 *r->out.ctr = NULL;
12721 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
12722 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
12723 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
12726 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
12727 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12729 return NDR_ERR_SUCCESS;
12732 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
12734 uint32_t cntr_addresses_1;
12735 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
12737 if (flags & NDR_SET_VALUES) {
12738 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12740 if (flags & NDR_IN) {
12741 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
12743 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12745 if (r->in.server_name) {
12746 ndr_print_string(ndr, "server_name", r->in.server_name);
12749 ndr_print_uint32(ndr, "count", r->in.count);
12750 ndr_print_ptr(ndr, "addresses", r->in.addresses);
12752 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
12754 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
12756 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
12757 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
12765 if (flags & NDR_OUT) {
12766 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
12768 ndr_print_ptr(ndr, "ctr", r->out.ctr);
12770 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
12773 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
12777 ndr_print_WERROR(ndr, "result", r->out.result);
12783 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
12785 if (flags & NDR_IN) {
12786 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12787 if (r->in.server_unc) {
12788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12789 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12790 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12791 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));
12793 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
12794 if (r->in.client_account) {
12795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12797 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12798 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));
12800 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
12801 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12802 if (r->in.domain_name) {
12803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12804 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12805 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12806 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));
12808 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12809 if (r->in.domain_guid) {
12810 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12812 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
12813 if (r->in.site_name) {
12814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12817 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));
12819 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12821 if (flags & NDR_OUT) {
12822 if (r->out.info == NULL) {
12823 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12825 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12826 if (*r->out.info) {
12827 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12829 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12831 return NDR_ERR_SUCCESS;
12834 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
12836 uint32_t _ptr_server_unc;
12837 uint32_t _ptr_client_account;
12838 uint32_t _ptr_domain_name;
12839 uint32_t _ptr_domain_guid;
12840 uint32_t _ptr_site_name;
12841 uint32_t _ptr_info;
12842 TALLOC_CTX *_mem_save_server_unc_0;
12843 TALLOC_CTX *_mem_save_client_account_0;
12844 TALLOC_CTX *_mem_save_domain_name_0;
12845 TALLOC_CTX *_mem_save_domain_guid_0;
12846 TALLOC_CTX *_mem_save_site_name_0;
12847 TALLOC_CTX *_mem_save_info_0;
12848 TALLOC_CTX *_mem_save_info_1;
12849 if (flags & NDR_IN) {
12850 ZERO_STRUCT(r->out);
12852 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12853 if (_ptr_server_unc) {
12854 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12856 r->in.server_unc = NULL;
12858 if (r->in.server_unc) {
12859 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12860 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12861 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12862 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12863 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12864 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_unc), ndr_get_array_length(ndr, &r->in.server_unc));
12866 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12867 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
12868 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12870 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
12871 if (_ptr_client_account) {
12872 NDR_PULL_ALLOC(ndr, r->in.client_account);
12874 r->in.client_account = NULL;
12876 if (r->in.client_account) {
12877 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
12878 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
12879 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
12880 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
12881 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
12882 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.client_account), ndr_get_array_length(ndr, &r->in.client_account));
12884 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
12885 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.client_account, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t), CH_UTF16));
12886 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
12888 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
12889 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12890 if (_ptr_domain_name) {
12891 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12893 r->in.domain_name = NULL;
12895 if (r->in.domain_name) {
12896 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12897 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12898 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12899 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12900 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12901 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
12903 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12904 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain_name, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t), CH_UTF16));
12905 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12907 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12908 if (_ptr_domain_guid) {
12909 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12911 r->in.domain_guid = NULL;
12913 if (r->in.domain_guid) {
12914 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12915 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12916 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12919 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
12920 if (_ptr_site_name) {
12921 NDR_PULL_ALLOC(ndr, r->in.site_name);
12923 r->in.site_name = NULL;
12925 if (r->in.site_name) {
12926 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12927 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
12928 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
12929 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
12930 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
12931 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.site_name), ndr_get_array_length(ndr, &r->in.site_name));
12933 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
12934 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.site_name, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t), CH_UTF16));
12935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
12937 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12938 NDR_PULL_ALLOC(ndr, r->out.info);
12939 ZERO_STRUCTP(r->out.info);
12941 if (flags & NDR_OUT) {
12942 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12943 NDR_PULL_ALLOC(ndr, r->out.info);
12945 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12946 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12947 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12949 NDR_PULL_ALLOC(ndr, *r->out.info);
12951 *r->out.info = NULL;
12953 if (*r->out.info) {
12954 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12955 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12956 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12960 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12962 return NDR_ERR_SUCCESS;
12965 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
12967 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
12969 if (flags & NDR_SET_VALUES) {
12970 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12972 if (flags & NDR_IN) {
12973 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
12975 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12977 if (r->in.server_unc) {
12978 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12981 ndr_print_ptr(ndr, "client_account", r->in.client_account);
12983 if (r->in.client_account) {
12984 ndr_print_string(ndr, "client_account", r->in.client_account);
12987 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
12988 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12990 if (r->in.domain_name) {
12991 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12994 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12996 if (r->in.domain_guid) {
12997 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13000 ndr_print_ptr(ndr, "site_name", r->in.site_name);
13002 if (r->in.site_name) {
13003 ndr_print_string(ndr, "site_name", r->in.site_name);
13006 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13009 if (flags & NDR_OUT) {
13010 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
13012 ndr_print_ptr(ndr, "info", r->out.info);
13014 ndr_print_ptr(ndr, "info", *r->out.info);
13016 if (*r->out.info) {
13017 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13021 ndr_print_WERROR(ndr, "result", r->out.result);
13027 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13029 if (flags & NDR_IN) {
13031 if (flags & NDR_OUT) {
13032 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13034 return NDR_ERR_SUCCESS;
13037 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13039 if (flags & NDR_IN) {
13041 if (flags & NDR_OUT) {
13042 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13044 return NDR_ERR_SUCCESS;
13047 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13049 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13051 if (flags & NDR_SET_VALUES) {
13052 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13054 if (flags & NDR_IN) {
13055 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13059 if (flags & NDR_OUT) {
13060 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13062 ndr_print_WERROR(ndr, "result", r->out.result);
13068 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13070 if (flags & NDR_IN) {
13071 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13072 if (r->in.server_name) {
13073 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13074 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13076 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));
13079 if (flags & NDR_OUT) {
13080 if (r->out.dom_trust_list == NULL) {
13081 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13083 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13084 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13086 return NDR_ERR_SUCCESS;
13089 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
13091 uint32_t _ptr_server_name;
13092 TALLOC_CTX *_mem_save_server_name_0;
13093 TALLOC_CTX *_mem_save_dom_trust_list_0;
13094 if (flags & NDR_IN) {
13095 ZERO_STRUCT(r->out);
13097 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13098 if (_ptr_server_name) {
13099 NDR_PULL_ALLOC(ndr, r->in.server_name);
13101 r->in.server_name = NULL;
13103 if (r->in.server_name) {
13104 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13105 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13106 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13107 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13108 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13109 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13111 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13112 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13113 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13115 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13116 ZERO_STRUCTP(r->out.dom_trust_list);
13118 if (flags & NDR_OUT) {
13119 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13120 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13122 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
13123 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
13124 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13125 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
13126 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13128 return NDR_ERR_SUCCESS;
13131 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13133 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
13135 if (flags & NDR_SET_VALUES) {
13136 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13138 if (flags & NDR_IN) {
13139 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
13141 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13143 if (r->in.server_name) {
13144 ndr_print_string(ndr, "server_name", r->in.server_name);
13149 if (flags & NDR_OUT) {
13150 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
13152 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
13154 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
13156 ndr_print_WERROR(ndr, "result", r->out.result);
13162 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13164 uint32_t cntr_addresses_1;
13165 if (flags & NDR_IN) {
13166 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13167 if (r->in.server_name) {
13168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13170 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13171 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));
13173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13174 if (r->in.addresses == NULL) {
13175 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13178 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13179 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13181 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13182 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13185 if (flags & NDR_OUT) {
13186 if (r->out.ctr == NULL) {
13187 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13189 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
13191 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
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_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
13200 uint32_t _ptr_server_name;
13201 uint32_t cntr_addresses_1;
13203 TALLOC_CTX *_mem_save_server_name_0;
13204 TALLOC_CTX *_mem_save_addresses_1;
13205 TALLOC_CTX *_mem_save_ctr_0;
13206 TALLOC_CTX *_mem_save_ctr_1;
13207 if (flags & NDR_IN) {
13208 ZERO_STRUCT(r->out);
13210 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13211 if (_ptr_server_name) {
13212 NDR_PULL_ALLOC(ndr, r->in.server_name);
13214 r->in.server_name = NULL;
13216 if (r->in.server_name) {
13217 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13218 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13219 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13220 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13221 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13222 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13224 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13225 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13226 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13228 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
13229 if (r->in.count < 0 || r->in.count > 32000) {
13230 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13232 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
13233 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13234 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
13236 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
13237 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
13238 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13239 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13241 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13242 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13244 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
13245 NDR_PULL_ALLOC(ndr, r->out.ctr);
13246 ZERO_STRUCTP(r->out.ctr);
13247 if (r->in.addresses) {
13248 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
13251 if (flags & NDR_OUT) {
13252 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13253 NDR_PULL_ALLOC(ndr, r->out.ctr);
13255 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13256 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13257 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
13259 NDR_PULL_ALLOC(ndr, *r->out.ctr);
13261 *r->out.ctr = NULL;
13264 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
13265 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
13266 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
13269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13270 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13272 return NDR_ERR_SUCCESS;
13275 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13277 uint32_t cntr_addresses_1;
13278 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
13280 if (flags & NDR_SET_VALUES) {
13281 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13283 if (flags & NDR_IN) {
13284 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
13286 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13288 if (r->in.server_name) {
13289 ndr_print_string(ndr, "server_name", r->in.server_name);
13292 ndr_print_uint32(ndr, "count", r->in.count);
13293 ndr_print_ptr(ndr, "addresses", r->in.addresses);
13295 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
13297 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
13299 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
13300 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
13308 if (flags & NDR_OUT) {
13309 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
13311 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13313 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
13316 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
13320 ndr_print_WERROR(ndr, "result", r->out.result);
13326 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13328 if (flags & NDR_IN) {
13329 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13330 if (r->in.server_name) {
13331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13334 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));
13337 if (flags & NDR_OUT) {
13338 if (r->out.ctr == NULL) {
13339 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13341 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13342 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13344 return NDR_ERR_SUCCESS;
13347 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
13349 uint32_t _ptr_server_name;
13350 TALLOC_CTX *_mem_save_server_name_0;
13351 TALLOC_CTX *_mem_save_ctr_0;
13352 if (flags & NDR_IN) {
13353 ZERO_STRUCT(r->out);
13355 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13356 if (_ptr_server_name) {
13357 NDR_PULL_ALLOC(ndr, r->in.server_name);
13359 r->in.server_name = NULL;
13361 if (r->in.server_name) {
13362 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13363 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13364 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13365 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13366 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13367 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13369 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13370 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13371 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13373 NDR_PULL_ALLOC(ndr, r->out.ctr);
13374 ZERO_STRUCTP(r->out.ctr);
13376 if (flags & NDR_OUT) {
13377 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13378 NDR_PULL_ALLOC(ndr, r->out.ctr);
13380 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13381 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13382 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13384 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13386 return NDR_ERR_SUCCESS;
13389 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13391 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
13393 if (flags & NDR_SET_VALUES) {
13394 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13396 if (flags & NDR_IN) {
13397 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
13399 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13401 if (r->in.server_name) {
13402 ndr_print_string(ndr, "server_name", r->in.server_name);
13407 if (flags & NDR_OUT) {
13408 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
13410 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13412 ndr_print_DcSitesCtr(ndr, "ctr", r->out.ctr);
13414 ndr_print_WERROR(ndr, "result", r->out.result);
13420 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
13422 if (flags & NDR_IN) {
13423 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13424 if (r->in.server_name) {
13425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13428 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));
13430 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13431 if (r->in.computer_name) {
13432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13435 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));
13437 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
13438 if (r->in.logon == NULL) {
13439 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13441 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13442 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13443 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
13444 if (r->in.flags == NULL) {
13445 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13447 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
13449 if (flags & NDR_OUT) {
13450 if (r->out.validation == NULL) {
13451 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13453 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13454 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13455 if (r->out.authoritative == NULL) {
13456 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13458 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
13459 if (r->out.flags == NULL) {
13460 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
13463 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13465 return NDR_ERR_SUCCESS;
13468 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
13470 uint32_t _ptr_server_name;
13471 uint32_t _ptr_computer_name;
13472 TALLOC_CTX *_mem_save_server_name_0;
13473 TALLOC_CTX *_mem_save_computer_name_0;
13474 TALLOC_CTX *_mem_save_logon_0;
13475 TALLOC_CTX *_mem_save_validation_0;
13476 TALLOC_CTX *_mem_save_authoritative_0;
13477 TALLOC_CTX *_mem_save_flags_0;
13478 if (flags & NDR_IN) {
13479 ZERO_STRUCT(r->out);
13481 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13482 if (_ptr_server_name) {
13483 NDR_PULL_ALLOC(ndr, r->in.server_name);
13485 r->in.server_name = NULL;
13487 if (r->in.server_name) {
13488 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13489 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13490 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13491 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13492 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13493 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13495 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13496 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13497 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13500 if (_ptr_computer_name) {
13501 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13503 r->in.computer_name = NULL;
13505 if (r->in.computer_name) {
13506 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13507 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13508 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13509 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13510 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13511 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
13513 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13514 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
13515 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13517 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
13518 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13519 NDR_PULL_ALLOC(ndr, r->in.logon);
13521 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
13522 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
13523 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13524 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13525 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
13526 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
13527 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13528 NDR_PULL_ALLOC(ndr, r->in.flags);
13530 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13531 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
13532 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
13533 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13534 NDR_PULL_ALLOC(ndr, r->out.validation);
13535 ZERO_STRUCTP(r->out.validation);
13536 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13537 ZERO_STRUCTP(r->out.authoritative);
13538 NDR_PULL_ALLOC(ndr, r->out.flags);
13539 *r->out.flags = *r->in.flags;
13541 if (flags & NDR_OUT) {
13542 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13543 NDR_PULL_ALLOC(ndr, r->out.validation);
13545 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
13546 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
13547 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13548 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13549 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
13550 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13551 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13553 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
13554 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
13555 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
13556 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
13557 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13558 NDR_PULL_ALLOC(ndr, r->out.flags);
13560 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13561 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
13562 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
13563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13564 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13566 return NDR_ERR_SUCCESS;
13569 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
13571 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
13573 if (flags & NDR_SET_VALUES) {
13574 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13576 if (flags & NDR_IN) {
13577 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
13579 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13581 if (r->in.server_name) {
13582 ndr_print_string(ndr, "server_name", r->in.server_name);
13585 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13587 if (r->in.computer_name) {
13588 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13591 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
13592 ndr_print_ptr(ndr, "logon", r->in.logon);
13594 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
13595 ndr_print_netr_LogonInfo(ndr, "logon", r->in.logon);
13597 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
13598 ndr_print_ptr(ndr, "flags", r->in.flags);
13600 ndr_print_uint32(ndr, "flags", *r->in.flags);
13604 if (flags & NDR_OUT) {
13605 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
13607 ndr_print_ptr(ndr, "validation", r->out.validation);
13609 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
13610 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
13612 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
13614 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
13616 ndr_print_ptr(ndr, "flags", r->out.flags);
13618 ndr_print_uint32(ndr, "flags", *r->out.flags);
13620 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13626 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13628 if (flags & NDR_IN) {
13629 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13630 if (r->in.server_name) {
13631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13632 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13634 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));
13636 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
13638 if (flags & NDR_OUT) {
13639 if (r->out.trusts == NULL) {
13640 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13642 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13643 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13645 return NDR_ERR_SUCCESS;
13648 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
13650 uint32_t _ptr_server_name;
13651 TALLOC_CTX *_mem_save_server_name_0;
13652 TALLOC_CTX *_mem_save_trusts_0;
13653 if (flags & NDR_IN) {
13654 ZERO_STRUCT(r->out);
13656 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13657 if (_ptr_server_name) {
13658 NDR_PULL_ALLOC(ndr, r->in.server_name);
13660 r->in.server_name = NULL;
13662 if (r->in.server_name) {
13663 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13664 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13665 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13666 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13667 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13668 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13670 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13671 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13672 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13674 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
13675 NDR_PULL_ALLOC(ndr, r->out.trusts);
13676 ZERO_STRUCTP(r->out.trusts);
13678 if (flags & NDR_OUT) {
13679 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13680 NDR_PULL_ALLOC(ndr, r->out.trusts);
13682 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
13683 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
13684 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
13686 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13688 return NDR_ERR_SUCCESS;
13691 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13693 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
13695 if (flags & NDR_SET_VALUES) {
13696 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13698 if (flags & NDR_IN) {
13699 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
13701 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13703 if (r->in.server_name) {
13704 ndr_print_string(ndr, "server_name", r->in.server_name);
13707 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
13710 if (flags & NDR_OUT) {
13711 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
13713 ndr_print_ptr(ndr, "trusts", r->out.trusts);
13715 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
13717 ndr_print_WERROR(ndr, "result", r->out.result);
13723 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13725 if (flags & NDR_IN) {
13726 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13727 if (r->in.server_name) {
13728 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13729 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13731 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13733 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
13734 if (r->in.domain) {
13735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13738 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13740 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13741 if (r->in.domain_guid) {
13742 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13744 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
13745 if (r->in.dsa_guid) {
13746 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
13748 if (r->in.dns_host == NULL) {
13749 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13751 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13752 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13754 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));
13756 if (flags & NDR_OUT) {
13757 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13759 return NDR_ERR_SUCCESS;
13762 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
13764 uint32_t _ptr_server_name;
13765 uint32_t _ptr_domain;
13766 uint32_t _ptr_domain_guid;
13767 uint32_t _ptr_dsa_guid;
13768 TALLOC_CTX *_mem_save_server_name_0;
13769 TALLOC_CTX *_mem_save_domain_0;
13770 TALLOC_CTX *_mem_save_domain_guid_0;
13771 TALLOC_CTX *_mem_save_dsa_guid_0;
13772 if (flags & NDR_IN) {
13773 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13774 if (_ptr_server_name) {
13775 NDR_PULL_ALLOC(ndr, r->in.server_name);
13777 r->in.server_name = NULL;
13779 if (r->in.server_name) {
13780 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13781 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13782 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13783 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13784 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13785 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13787 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13788 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13789 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13791 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
13793 NDR_PULL_ALLOC(ndr, r->in.domain);
13795 r->in.domain = NULL;
13797 if (r->in.domain) {
13798 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
13799 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
13800 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
13801 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
13802 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
13803 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain), ndr_get_array_length(ndr, &r->in.domain));
13805 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
13806 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
13807 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
13809 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13810 if (_ptr_domain_guid) {
13811 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13813 r->in.domain_guid = NULL;
13815 if (r->in.domain_guid) {
13816 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13817 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13818 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13819 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13821 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
13822 if (_ptr_dsa_guid) {
13823 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
13825 r->in.dsa_guid = NULL;
13827 if (r->in.dsa_guid) {
13828 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13829 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
13830 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
13831 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
13833 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
13834 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
13835 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
13836 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dns_host), ndr_get_array_length(ndr, &r->in.dns_host));
13838 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
13839 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_host, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t), CH_UTF16));
13841 if (flags & NDR_OUT) {
13842 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13844 return NDR_ERR_SUCCESS;
13847 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13849 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
13851 if (flags & NDR_SET_VALUES) {
13852 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13854 if (flags & NDR_IN) {
13855 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
13857 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13859 if (r->in.server_name) {
13860 ndr_print_string(ndr, "server_name", r->in.server_name);
13863 ndr_print_ptr(ndr, "domain", r->in.domain);
13865 if (r->in.domain) {
13866 ndr_print_string(ndr, "domain", r->in.domain);
13869 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13871 if (r->in.domain_guid) {
13872 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13875 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
13877 if (r->in.dsa_guid) {
13878 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
13881 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
13883 ndr_print_string(ndr, "dns_host", r->in.dns_host);
13887 if (flags & NDR_OUT) {
13888 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
13890 ndr_print_WERROR(ndr, "result", r->out.result);
13896 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
13898 if (flags & NDR_IN) {
13899 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13900 if (r->in.server_name) {
13901 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13902 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13904 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));
13906 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13909 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));
13910 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13911 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13914 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));
13915 if (r->in.credential == NULL) {
13916 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13918 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13920 if (flags & NDR_OUT) {
13921 if (r->out.return_authenticator == NULL) {
13922 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13924 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13925 if (r->out.password == NULL) {
13926 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13928 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
13929 if (r->out.password2 == NULL) {
13930 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13932 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2));
13933 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13935 return NDR_ERR_SUCCESS;
13938 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
13940 uint32_t _ptr_server_name;
13941 TALLOC_CTX *_mem_save_server_name_0;
13942 TALLOC_CTX *_mem_save_credential_0;
13943 TALLOC_CTX *_mem_save_return_authenticator_0;
13944 TALLOC_CTX *_mem_save_password_0;
13945 TALLOC_CTX *_mem_save_password2_0;
13946 if (flags & NDR_IN) {
13947 ZERO_STRUCT(r->out);
13949 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13950 if (_ptr_server_name) {
13951 NDR_PULL_ALLOC(ndr, r->in.server_name);
13953 r->in.server_name = NULL;
13955 if (r->in.server_name) {
13956 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13957 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13958 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13959 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13960 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13961 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13963 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13964 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
13965 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13967 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13968 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13969 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13970 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.account_name), ndr_get_array_length(ndr, &r->in.account_name));
13972 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13973 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_name, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t), CH_UTF16));
13974 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13975 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13976 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13977 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13978 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
13980 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13981 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
13982 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13983 NDR_PULL_ALLOC(ndr, r->in.credential);
13985 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13986 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13987 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13988 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13989 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13990 ZERO_STRUCTP(r->out.return_authenticator);
13991 NDR_PULL_ALLOC(ndr, r->out.password);
13992 ZERO_STRUCTP(r->out.password);
13993 NDR_PULL_ALLOC(ndr, r->out.password2);
13994 ZERO_STRUCTP(r->out.password2);
13996 if (flags & NDR_OUT) {
13997 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13998 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14000 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14001 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14002 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14003 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14004 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14005 NDR_PULL_ALLOC(ndr, r->out.password);
14007 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14008 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14009 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
14010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14011 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14012 NDR_PULL_ALLOC(ndr, r->out.password2);
14014 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
14015 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
14016 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2));
14017 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
14018 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14020 return NDR_ERR_SUCCESS;
14023 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
14025 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
14027 if (flags & NDR_SET_VALUES) {
14028 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14030 if (flags & NDR_IN) {
14031 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
14033 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14035 if (r->in.server_name) {
14036 ndr_print_string(ndr, "server_name", r->in.server_name);
14039 ndr_print_string(ndr, "account_name", r->in.account_name);
14040 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14041 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14042 ndr_print_ptr(ndr, "credential", r->in.credential);
14044 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14048 if (flags & NDR_OUT) {
14049 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
14051 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14053 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14055 ndr_print_ptr(ndr, "password", r->out.password);
14057 ndr_print_samr_Password(ndr, "password", r->out.password);
14059 ndr_print_ptr(ndr, "password2", r->out.password2);
14061 ndr_print_samr_Password(ndr, "password2", r->out.password2);
14063 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14069 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
14071 if (flags & NDR_IN) {
14072 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14073 if (r->in.server_name) {
14074 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14075 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14077 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));
14079 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
14080 if (r->in.trusted_domain_name) {
14081 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14084 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));
14086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14088 if (flags & NDR_OUT) {
14089 if (r->out.forest_trust_info == NULL) {
14090 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14092 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14093 if (*r->out.forest_trust_info) {
14094 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14096 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14098 return NDR_ERR_SUCCESS;
14101 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
14103 uint32_t _ptr_server_name;
14104 uint32_t _ptr_trusted_domain_name;
14105 uint32_t _ptr_forest_trust_info;
14106 TALLOC_CTX *_mem_save_server_name_0;
14107 TALLOC_CTX *_mem_save_trusted_domain_name_0;
14108 TALLOC_CTX *_mem_save_forest_trust_info_0;
14109 TALLOC_CTX *_mem_save_forest_trust_info_1;
14110 if (flags & NDR_IN) {
14111 ZERO_STRUCT(r->out);
14113 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14114 if (_ptr_server_name) {
14115 NDR_PULL_ALLOC(ndr, r->in.server_name);
14117 r->in.server_name = NULL;
14119 if (r->in.server_name) {
14120 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14121 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14122 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14123 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14124 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14125 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
14127 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14128 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
14129 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14131 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
14132 if (_ptr_trusted_domain_name) {
14133 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
14135 r->in.trusted_domain_name = NULL;
14137 if (r->in.trusted_domain_name) {
14138 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14139 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
14140 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14141 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14142 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14143 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.trusted_domain_name), ndr_get_array_length(ndr, &r->in.trusted_domain_name));
14145 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14146 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t), CH_UTF16));
14147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
14149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14150 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14151 ZERO_STRUCTP(r->out.forest_trust_info);
14153 if (flags & NDR_OUT) {
14154 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14155 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14157 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14158 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14159 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14160 if (_ptr_forest_trust_info) {
14161 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14163 *r->out.forest_trust_info = NULL;
14165 if (*r->out.forest_trust_info) {
14166 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14167 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14168 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14172 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14174 return NDR_ERR_SUCCESS;
14177 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
14179 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
14181 if (flags & NDR_SET_VALUES) {
14182 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14184 if (flags & NDR_IN) {
14185 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
14187 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14189 if (r->in.server_name) {
14190 ndr_print_string(ndr, "server_name", r->in.server_name);
14193 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14195 if (r->in.trusted_domain_name) {
14196 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14199 ndr_print_uint32(ndr, "flags", r->in.flags);
14202 if (flags & NDR_OUT) {
14203 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
14205 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14207 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14209 if (*r->out.forest_trust_info) {
14210 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14214 ndr_print_WERROR(ndr, "result", r->out.result);
14220 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
14222 if (flags & NDR_IN) {
14223 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14224 if (r->in.server_name) {
14225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14226 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14227 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14228 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));
14230 if (r->in.trusted_domain_name == NULL) {
14231 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14236 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));
14237 if (r->in.credential == NULL) {
14238 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14240 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14243 if (flags & NDR_OUT) {
14244 if (r->out.return_authenticator == NULL) {
14245 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14247 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14248 if (r->out.forest_trust_info == NULL) {
14249 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14251 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14252 if (*r->out.forest_trust_info) {
14253 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14255 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14257 return NDR_ERR_SUCCESS;
14260 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
14262 uint32_t _ptr_server_name;
14263 uint32_t _ptr_forest_trust_info;
14264 TALLOC_CTX *_mem_save_server_name_0;
14265 TALLOC_CTX *_mem_save_credential_0;
14266 TALLOC_CTX *_mem_save_return_authenticator_0;
14267 TALLOC_CTX *_mem_save_forest_trust_info_0;
14268 TALLOC_CTX *_mem_save_forest_trust_info_1;
14269 if (flags & NDR_IN) {
14270 ZERO_STRUCT(r->out);
14272 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14273 if (_ptr_server_name) {
14274 NDR_PULL_ALLOC(ndr, r->in.server_name);
14276 r->in.server_name = NULL;
14278 if (r->in.server_name) {
14279 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14280 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14281 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14282 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14283 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14284 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
14286 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14287 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
14288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14290 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14291 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14292 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14293 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.trusted_domain_name), ndr_get_array_length(ndr, &r->in.trusted_domain_name));
14295 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14296 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.trusted_domain_name, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t), CH_UTF16));
14297 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14298 NDR_PULL_ALLOC(ndr, r->in.credential);
14300 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14301 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14302 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14304 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14305 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14306 ZERO_STRUCTP(r->out.return_authenticator);
14307 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14308 ZERO_STRUCTP(r->out.forest_trust_info);
14310 if (flags & NDR_OUT) {
14311 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14312 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14314 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14315 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14316 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14318 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14319 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14321 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14322 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14323 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14324 if (_ptr_forest_trust_info) {
14325 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14327 *r->out.forest_trust_info = NULL;
14329 if (*r->out.forest_trust_info) {
14330 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14331 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14332 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14336 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14338 return NDR_ERR_SUCCESS;
14341 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
14343 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
14345 if (flags & NDR_SET_VALUES) {
14346 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14348 if (flags & NDR_IN) {
14349 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
14351 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14353 if (r->in.server_name) {
14354 ndr_print_string(ndr, "server_name", r->in.server_name);
14357 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14359 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14361 ndr_print_ptr(ndr, "credential", r->in.credential);
14363 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14365 ndr_print_uint32(ndr, "flags", r->in.flags);
14368 if (flags & NDR_OUT) {
14369 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
14371 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14373 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14375 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14377 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14379 if (*r->out.forest_trust_info) {
14380 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14384 ndr_print_WERROR(ndr, "result", r->out.result);
14390 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
14392 if (flags & NDR_IN) {
14393 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14394 if (r->in.server_name) {
14395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14398 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));
14400 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
14401 if (r->in.computer_name) {
14402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14405 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));
14407 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
14408 if (r->in.credential) {
14409 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14411 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
14412 if (r->in.return_authenticator) {
14413 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14415 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS, r->in.logon_level));
14416 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14417 NDR_CHECK(ndr_push_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14418 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
14419 if (r->in.flags == NULL) {
14420 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
14424 if (flags & NDR_OUT) {
14425 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
14426 if (r->out.return_authenticator) {
14427 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14429 if (r->out.validation == NULL) {
14430 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14432 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14433 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14434 if (r->out.authoritative == NULL) {
14435 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14437 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
14438 if (r->out.flags == NULL) {
14439 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14441 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
14442 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14444 return NDR_ERR_SUCCESS;
14447 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
14449 uint32_t _ptr_server_name;
14450 uint32_t _ptr_computer_name;
14451 uint32_t _ptr_credential;
14452 uint32_t _ptr_return_authenticator;
14453 TALLOC_CTX *_mem_save_server_name_0;
14454 TALLOC_CTX *_mem_save_computer_name_0;
14455 TALLOC_CTX *_mem_save_credential_0;
14456 TALLOC_CTX *_mem_save_return_authenticator_0;
14457 TALLOC_CTX *_mem_save_validation_0;
14458 TALLOC_CTX *_mem_save_authoritative_0;
14459 TALLOC_CTX *_mem_save_flags_0;
14460 if (flags & NDR_IN) {
14461 ZERO_STRUCT(r->out);
14463 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14464 if (_ptr_server_name) {
14465 NDR_PULL_ALLOC(ndr, r->in.server_name);
14467 r->in.server_name = NULL;
14469 if (r->in.server_name) {
14470 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14471 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14472 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14473 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14474 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14475 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
14477 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14478 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16));
14479 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14481 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
14482 if (_ptr_computer_name) {
14483 NDR_PULL_ALLOC(ndr, r->in.computer_name);
14485 r->in.computer_name = NULL;
14487 if (r->in.computer_name) {
14488 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14489 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
14490 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14491 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14492 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14493 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
14495 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14496 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
14497 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
14499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
14500 if (_ptr_credential) {
14501 NDR_PULL_ALLOC(ndr, r->in.credential);
14503 r->in.credential = NULL;
14505 if (r->in.credential) {
14506 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14507 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
14508 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14509 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
14511 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14512 if (_ptr_return_authenticator) {
14513 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
14515 r->in.return_authenticator = NULL;
14517 if (r->in.return_authenticator) {
14518 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14519 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
14520 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14523 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS, &r->in.logon_level));
14524 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14525 NDR_CHECK(ndr_pull_netr_LogonInfo(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14526 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
14527 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14528 NDR_PULL_ALLOC(ndr, r->in.flags);
14530 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14531 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
14532 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
14533 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14534 NDR_PULL_ALLOC(ndr, r->out.validation);
14535 ZERO_STRUCTP(r->out.validation);
14536 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14537 ZERO_STRUCTP(r->out.authoritative);
14538 NDR_PULL_ALLOC(ndr, r->out.flags);
14539 *r->out.flags = *r->in.flags;
14541 if (flags & NDR_OUT) {
14542 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14543 if (_ptr_return_authenticator) {
14544 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14546 r->out.return_authenticator = NULL;
14548 if (r->out.return_authenticator) {
14549 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14550 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
14551 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14552 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14554 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14555 NDR_PULL_ALLOC(ndr, r->out.validation);
14557 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
14558 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
14559 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14560 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
14562 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14563 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14565 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
14566 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
14567 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
14568 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
14569 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14570 NDR_PULL_ALLOC(ndr, r->out.flags);
14572 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14573 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
14574 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
14575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14576 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14578 return NDR_ERR_SUCCESS;
14581 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
14583 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
14585 if (flags & NDR_SET_VALUES) {
14586 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14588 if (flags & NDR_IN) {
14589 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
14591 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14593 if (r->in.server_name) {
14594 ndr_print_string(ndr, "server_name", r->in.server_name);
14597 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14599 if (r->in.computer_name) {
14600 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14603 ndr_print_ptr(ndr, "credential", r->in.credential);
14605 if (r->in.credential) {
14606 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14609 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
14611 if (r->in.return_authenticator) {
14612 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
14615 ndr_print_netr_LogonLevel(ndr, "logon_level", r->in.logon_level);
14616 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
14617 ndr_print_netr_LogonInfo(ndr, "logon", &r->in.logon);
14618 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
14619 ndr_print_ptr(ndr, "flags", r->in.flags);
14621 ndr_print_uint32(ndr, "flags", *r->in.flags);
14625 if (flags & NDR_OUT) {
14626 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
14628 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14630 if (r->out.return_authenticator) {
14631 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14634 ndr_print_ptr(ndr, "validation", r->out.validation);
14636 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
14637 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
14639 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
14641 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
14643 ndr_print_ptr(ndr, "flags", r->out.flags);
14645 ndr_print_uint32(ndr, "flags", *r->out.flags);
14647 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14653 static enum ndr_err_code ndr_push_netr_NETRSERVERGETTRUSTINFO(struct ndr_push *ndr, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14655 if (flags & NDR_IN) {
14657 if (flags & NDR_OUT) {
14658 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14660 return NDR_ERR_SUCCESS;
14663 static enum ndr_err_code ndr_pull_netr_NETRSERVERGETTRUSTINFO(struct ndr_pull *ndr, int flags, struct netr_NETRSERVERGETTRUSTINFO *r)
14665 if (flags & NDR_IN) {
14667 if (flags & NDR_OUT) {
14668 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14670 return NDR_ERR_SUCCESS;
14673 _PUBLIC_ void ndr_print_netr_NETRSERVERGETTRUSTINFO(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14675 ndr_print_struct(ndr, name, "netr_NETRSERVERGETTRUSTINFO");
14677 if (flags & NDR_SET_VALUES) {
14678 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14680 if (flags & NDR_IN) {
14681 ndr_print_struct(ndr, "in", "netr_NETRSERVERGETTRUSTINFO");
14685 if (flags & NDR_OUT) {
14686 ndr_print_struct(ndr, "out", "netr_NETRSERVERGETTRUSTINFO");
14688 ndr_print_WERROR(ndr, "result", r->out.result);
14694 static const struct ndr_interface_call netlogon_calls[] = {
14696 "netr_LogonUasLogon",
14697 sizeof(struct netr_LogonUasLogon),
14698 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
14699 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
14700 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
14704 "netr_LogonUasLogoff",
14705 sizeof(struct netr_LogonUasLogoff),
14706 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
14707 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
14708 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
14712 "netr_LogonSamLogon",
14713 sizeof(struct netr_LogonSamLogon),
14714 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
14715 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
14716 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
14720 "netr_LogonSamLogoff",
14721 sizeof(struct netr_LogonSamLogoff),
14722 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
14723 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
14724 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
14728 "netr_ServerReqChallenge",
14729 sizeof(struct netr_ServerReqChallenge),
14730 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
14731 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
14732 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
14736 "netr_ServerAuthenticate",
14737 sizeof(struct netr_ServerAuthenticate),
14738 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
14739 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
14740 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
14744 "netr_ServerPasswordSet",
14745 sizeof(struct netr_ServerPasswordSet),
14746 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
14747 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
14748 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
14752 "netr_DatabaseDeltas",
14753 sizeof(struct netr_DatabaseDeltas),
14754 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
14755 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
14756 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
14760 "netr_DatabaseSync",
14761 sizeof(struct netr_DatabaseSync),
14762 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
14763 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
14764 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
14768 "netr_AccountDeltas",
14769 sizeof(struct netr_AccountDeltas),
14770 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
14771 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
14772 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
14776 "netr_AccountSync",
14777 sizeof(struct netr_AccountSync),
14778 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
14779 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
14780 (ndr_print_function_t) ndr_print_netr_AccountSync,
14785 sizeof(struct netr_GetDcName),
14786 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
14787 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
14788 (ndr_print_function_t) ndr_print_netr_GetDcName,
14792 "netr_LogonControl",
14793 sizeof(struct netr_LogonControl),
14794 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
14795 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
14796 (ndr_print_function_t) ndr_print_netr_LogonControl,
14800 "netr_GetAnyDCName",
14801 sizeof(struct netr_GetAnyDCName),
14802 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
14803 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
14804 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
14808 "netr_LogonControl2",
14809 sizeof(struct netr_LogonControl2),
14810 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
14811 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
14812 (ndr_print_function_t) ndr_print_netr_LogonControl2,
14816 "netr_ServerAuthenticate2",
14817 sizeof(struct netr_ServerAuthenticate2),
14818 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
14819 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
14820 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
14824 "netr_DatabaseSync2",
14825 sizeof(struct netr_DatabaseSync2),
14826 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
14827 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
14828 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
14832 "netr_DatabaseRedo",
14833 sizeof(struct netr_DatabaseRedo),
14834 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
14835 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
14836 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
14840 "netr_LogonControl2Ex",
14841 sizeof(struct netr_LogonControl2Ex),
14842 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
14843 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
14844 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
14848 "netr_NetrEnumerateTrustedDomains",
14849 sizeof(struct netr_NetrEnumerateTrustedDomains),
14850 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
14851 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
14852 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
14856 "netr_DsRGetDCName",
14857 sizeof(struct netr_DsRGetDCName),
14858 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
14859 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
14860 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
14864 "netr_NETRLOGONDUMMYROUTINE1",
14865 sizeof(struct netr_NETRLOGONDUMMYROUTINE1),
14866 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONDUMMYROUTINE1,
14867 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONDUMMYROUTINE1,
14868 (ndr_print_function_t) ndr_print_netr_NETRLOGONDUMMYROUTINE1,
14872 "netr_NETRLOGONSETSERVICEBITS",
14873 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
14874 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
14875 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
14876 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
14880 "netr_LogonGetTrustRid",
14881 sizeof(struct netr_LogonGetTrustRid),
14882 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
14883 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
14884 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
14888 "netr_NETRLOGONCOMPUTESERVERDIGEST",
14889 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
14890 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
14891 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
14892 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
14896 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
14897 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
14898 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14899 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14900 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14904 "netr_ServerAuthenticate3",
14905 sizeof(struct netr_ServerAuthenticate3),
14906 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
14907 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
14908 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
14912 "netr_DsRGetDCNameEx",
14913 sizeof(struct netr_DsRGetDCNameEx),
14914 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
14915 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
14916 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
14920 "netr_DsRGetSiteName",
14921 sizeof(struct netr_DsRGetSiteName),
14922 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
14923 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
14924 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
14928 "netr_LogonGetDomainInfo",
14929 sizeof(struct netr_LogonGetDomainInfo),
14930 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
14931 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
14932 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
14936 "netr_ServerPasswordSet2",
14937 sizeof(struct netr_ServerPasswordSet2),
14938 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
14939 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
14940 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
14944 "netr_ServerPasswordGet",
14945 sizeof(struct netr_ServerPasswordGet),
14946 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
14947 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
14948 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
14952 "netr_NETRLOGONSENDTOSAM",
14953 sizeof(struct netr_NETRLOGONSENDTOSAM),
14954 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
14955 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
14956 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
14960 "netr_DsRAddressToSitenamesW",
14961 sizeof(struct netr_DsRAddressToSitenamesW),
14962 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
14963 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
14964 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
14968 "netr_DsRGetDCNameEx2",
14969 sizeof(struct netr_DsRGetDCNameEx2),
14970 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
14971 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
14972 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
14976 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
14977 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
14978 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14979 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14980 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14984 "netr_NetrEnumerateTrustedDomainsEx",
14985 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
14986 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
14987 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
14988 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
14992 "netr_DsRAddressToSitenamesExW",
14993 sizeof(struct netr_DsRAddressToSitenamesExW),
14994 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
14995 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
14996 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
15000 "netr_DsrGetDcSiteCoverageW",
15001 sizeof(struct netr_DsrGetDcSiteCoverageW),
15002 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
15003 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
15004 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
15008 "netr_LogonSamLogonEx",
15009 sizeof(struct netr_LogonSamLogonEx),
15010 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
15011 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
15012 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
15016 "netr_DsrEnumerateDomainTrusts",
15017 sizeof(struct netr_DsrEnumerateDomainTrusts),
15018 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
15019 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
15020 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
15024 "netr_DsrDeregisterDNSHostRecords",
15025 sizeof(struct netr_DsrDeregisterDNSHostRecords),
15026 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
15027 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
15028 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
15032 "netr_ServerTrustPasswordsGet",
15033 sizeof(struct netr_ServerTrustPasswordsGet),
15034 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
15035 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
15036 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
15040 "netr_DsRGetForestTrustInformation",
15041 sizeof(struct netr_DsRGetForestTrustInformation),
15042 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
15043 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
15044 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
15048 "netr_GetForestTrustInformation",
15049 sizeof(struct netr_GetForestTrustInformation),
15050 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
15051 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
15052 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
15056 "netr_LogonSamLogonWithFlags",
15057 sizeof(struct netr_LogonSamLogonWithFlags),
15058 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
15059 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
15060 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
15064 "netr_NETRSERVERGETTRUSTINFO",
15065 sizeof(struct netr_NETRSERVERGETTRUSTINFO),
15066 (ndr_push_flags_fn_t) ndr_push_netr_NETRSERVERGETTRUSTINFO,
15067 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRSERVERGETTRUSTINFO,
15068 (ndr_print_function_t) ndr_print_netr_NETRSERVERGETTRUSTINFO,
15071 { NULL, 0, NULL, NULL, NULL, false }
15074 static const char * const netlogon_endpoint_strings[] = {
15075 "ncacn_np:[\\pipe\\netlogon]",
15080 static const struct ndr_interface_string_array netlogon_endpoints = {
15082 .names = netlogon_endpoint_strings
15085 static const char * const netlogon_authservice_strings[] = {
15089 static const struct ndr_interface_string_array netlogon_authservices = {
15091 .names = netlogon_authservice_strings
15095 const struct ndr_interface_table ndr_table_netlogon = {
15096 .name = "netlogon",
15098 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
15099 NDR_NETLOGON_VERSION
15101 .helpstring = NDR_NETLOGON_HELPSTRING,
15103 .calls = netlogon_calls,
15104 .endpoints = &netlogon_endpoints,
15105 .authservices = &netlogon_authservices