1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_netlogon.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_lsa.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/gen_ndr/ndr_security.h"
10 #include "librpc/gen_ndr/ndr_nbt.h"
11 static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
13 if (ndr_flags & NDR_SCALARS) {
14 NDR_CHECK(ndr_push_align(ndr, 4));
15 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
16 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
17 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
18 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
19 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
20 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
21 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
22 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
23 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
24 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
25 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
26 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
27 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
28 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
29 NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
30 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
32 if (ndr_flags & NDR_BUFFERS) {
33 if (r->account_name) {
34 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
35 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
36 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
37 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
40 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
41 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
42 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
43 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
46 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
47 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
48 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
49 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
52 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
53 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
54 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
55 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
58 return NDR_ERR_SUCCESS;
61 static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
63 uint32_t _ptr_account_name;
64 TALLOC_CTX *_mem_save_account_name_0;
65 uint32_t _ptr_computer;
66 TALLOC_CTX *_mem_save_computer_0;
68 TALLOC_CTX *_mem_save_domain_0;
69 uint32_t _ptr_script_path;
70 TALLOC_CTX *_mem_save_script_path_0;
71 if (ndr_flags & NDR_SCALARS) {
72 NDR_CHECK(ndr_pull_align(ndr, 4));
73 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
74 if (_ptr_account_name) {
75 NDR_PULL_ALLOC(ndr, r->account_name);
77 r->account_name = NULL;
79 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
81 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
82 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
83 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
84 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
85 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
86 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
87 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
88 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
89 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
90 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
92 NDR_PULL_ALLOC(ndr, r->computer);
96 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
98 NDR_PULL_ALLOC(ndr, r->domain);
102 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
103 if (_ptr_script_path) {
104 NDR_PULL_ALLOC(ndr, r->script_path);
106 r->script_path = NULL;
108 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
110 if (ndr_flags & NDR_BUFFERS) {
111 if (r->account_name) {
112 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
113 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
114 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
115 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
116 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
117 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name));
119 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
120 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
121 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
124 _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
125 NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
126 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
127 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
128 if (ndr_get_array_length(ndr, &r->computer) > ndr_get_array_size(ndr, &r->computer)) {
129 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->computer), ndr_get_array_length(ndr, &r->computer));
131 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t)));
132 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t), CH_UTF16));
133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
136 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
137 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
138 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
139 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
140 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
141 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain), ndr_get_array_length(ndr, &r->domain));
143 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
144 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
145 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
147 if (r->script_path) {
148 _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
149 NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
150 NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
151 NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
152 if (ndr_get_array_length(ndr, &r->script_path) > ndr_get_array_size(ndr, &r->script_path)) {
153 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->script_path), ndr_get_array_length(ndr, &r->script_path));
155 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t)));
156 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t), CH_UTF16));
157 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
160 return NDR_ERR_SUCCESS;
163 _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
165 ndr_print_struct(ndr, name, "netr_UasInfo");
167 ndr_print_ptr(ndr, "account_name", r->account_name);
169 if (r->account_name) {
170 ndr_print_string(ndr, "account_name", r->account_name);
173 ndr_print_uint32(ndr, "priv", r->priv);
174 ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
175 ndr_print_uint32(ndr, "logon_count", r->logon_count);
176 ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
177 ndr_print_time_t(ndr, "last_logon", r->last_logon);
178 ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
179 ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
180 ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
181 ndr_print_uint32(ndr, "password_age", r->password_age);
182 ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
183 ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
184 ndr_print_ptr(ndr, "computer", r->computer);
187 ndr_print_string(ndr, "computer", r->computer);
190 ndr_print_ptr(ndr, "domain", r->domain);
193 ndr_print_string(ndr, "domain", r->domain);
196 ndr_print_ptr(ndr, "script_path", r->script_path);
198 if (r->script_path) {
199 ndr_print_string(ndr, "script_path", r->script_path);
202 ndr_print_uint32(ndr, "unknown", r->unknown);
206 static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
208 if (ndr_flags & NDR_SCALARS) {
209 NDR_CHECK(ndr_push_align(ndr, 4));
210 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
211 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
213 if (ndr_flags & NDR_BUFFERS) {
215 return NDR_ERR_SUCCESS;
218 static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
220 if (ndr_flags & NDR_SCALARS) {
221 NDR_CHECK(ndr_pull_align(ndr, 4));
222 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
223 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
225 if (ndr_flags & NDR_BUFFERS) {
227 return NDR_ERR_SUCCESS;
230 _PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
232 ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
234 ndr_print_uint32(ndr, "duration", r->duration);
235 ndr_print_uint16(ndr, "logon_count", r->logon_count);
239 _PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
241 if (ndr_flags & NDR_SCALARS) {
242 NDR_CHECK(ndr_push_align(ndr, 4));
243 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration));
244 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count));
245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout));
246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy));
248 if (ndr_flags & NDR_BUFFERS) {
250 return NDR_ERR_SUCCESS;
253 _PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
255 if (ndr_flags & NDR_SCALARS) {
256 NDR_CHECK(ndr_pull_align(ndr, 4));
257 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration));
258 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count));
259 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout));
260 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
262 if (ndr_flags & NDR_BUFFERS) {
264 return NDR_ERR_SUCCESS;
267 _PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
269 ndr_print_struct(ndr, name, "netr_AcctLockStr");
271 ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration);
272 ndr_print_udlong(ndr, "reset_count", r->reset_count);
273 ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout);
274 ndr_print_uint32(ndr, "dummy", r->dummy);
278 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
281 return NDR_ERR_SUCCESS;
284 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
287 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
289 return NDR_ERR_SUCCESS;
292 _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
294 ndr_print_uint32(ndr, name, r);
296 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
297 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
298 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
299 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DONT_TRY_GUEST_ACCOUNT", MSV1_0_DONT_TRY_GUEST_ACCOUNT, r);
300 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
301 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PASSWORD_EXPIRY", MSV1_0_RETURN_PASSWORD_EXPIRY, r);
302 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_CLIENT_CHALLENGE", MSV1_0_USE_CLIENT_CHALLENGE, r);
303 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_GUEST_ACCOUNT_ONLY", MSV1_0_TRY_GUEST_ACCOUNT_ONLY, r);
304 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
305 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY", MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY, r);
306 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
307 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DISABLE_PERSONAL_FALLBACK", MSV1_0_DISABLE_PERSONAL_FALLBACK, r);
308 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_FORCE_GUEST", MSV1_0_ALLOW_FORCE_GUEST, r);
309 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED", MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED, r);
310 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY", MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY, r);
311 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_MSVCHAPV2", MSV1_0_ALLOW_MSVCHAPV2, r);
312 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_S4U2SELF", MSV1_0_S4U2SELF, r);
313 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CHECK_LOGONHOURS_FOR_S4U", MSV1_0_CHECK_LOGONHOURS_FOR_S4U, r);
314 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_SUBAUTHENTICATION_DLL_EX", MSV1_0_SUBAUTHENTICATION_DLL_EX, r);
318 static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
320 if (ndr_flags & NDR_SCALARS) {
321 NDR_CHECK(ndr_push_align(ndr, 4));
322 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
323 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
324 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low));
325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high));
326 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
327 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
329 if (ndr_flags & NDR_BUFFERS) {
330 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
331 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
332 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
334 return NDR_ERR_SUCCESS;
337 static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
339 if (ndr_flags & NDR_SCALARS) {
340 NDR_CHECK(ndr_pull_align(ndr, 4));
341 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
342 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
343 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low));
344 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high));
345 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
346 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
348 if (ndr_flags & NDR_BUFFERS) {
349 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
350 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
351 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
353 return NDR_ERR_SUCCESS;
356 _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
358 ndr_print_struct(ndr, name, "netr_IdentityInfo");
360 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
361 ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
362 ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low);
363 ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high);
364 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
365 ndr_print_lsa_String(ndr, "workstation", &r->workstation);
369 static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
371 if (ndr_flags & NDR_SCALARS) {
372 NDR_CHECK(ndr_push_align(ndr, 4));
373 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
374 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
375 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
377 if (ndr_flags & NDR_BUFFERS) {
378 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
380 return NDR_ERR_SUCCESS;
383 static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
385 if (ndr_flags & NDR_SCALARS) {
386 NDR_CHECK(ndr_pull_align(ndr, 4));
387 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
388 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
389 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
391 if (ndr_flags & NDR_BUFFERS) {
392 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
394 return NDR_ERR_SUCCESS;
397 _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
399 ndr_print_struct(ndr, name, "netr_PasswordInfo");
401 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
402 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
403 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
407 static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
410 uint32_t _flags_save_STRUCT = ndr->flags;
411 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
412 if (ndr_flags & NDR_SCALARS) {
413 NDR_CHECK(ndr_push_align(ndr, 4));
414 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
415 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
416 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
418 if (ndr_flags & NDR_BUFFERS) {
420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
423 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
426 ndr->flags = _flags_save_STRUCT;
428 return NDR_ERR_SUCCESS;
431 static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
434 TALLOC_CTX *_mem_save_data_0;
436 uint32_t _flags_save_STRUCT = ndr->flags;
437 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
438 if (ndr_flags & NDR_SCALARS) {
439 NDR_CHECK(ndr_pull_align(ndr, 4));
440 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
441 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
442 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
444 NDR_PULL_ALLOC(ndr, r->data);
449 if (ndr_flags & NDR_BUFFERS) {
451 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
452 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
453 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
454 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
455 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
456 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));
458 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
459 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
460 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
463 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
466 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
469 ndr->flags = _flags_save_STRUCT;
471 return NDR_ERR_SUCCESS;
474 _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
476 ndr_print_struct(ndr, name, "netr_ChallengeResponse");
478 uint32_t _flags_save_STRUCT = ndr->flags;
479 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
481 ndr_print_uint16(ndr, "length", r->length);
482 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
483 ndr_print_ptr(ndr, "data", r->data);
486 ndr_print_array_uint8(ndr, "data", r->data, r->length);
490 ndr->flags = _flags_save_STRUCT;
494 static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
497 uint32_t _flags_save_STRUCT = ndr->flags;
498 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
499 if (ndr_flags & NDR_SCALARS) {
500 NDR_CHECK(ndr_push_align(ndr, 4));
501 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
502 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
503 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
504 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
506 if (ndr_flags & NDR_BUFFERS) {
507 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
508 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
509 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
511 ndr->flags = _flags_save_STRUCT;
513 return NDR_ERR_SUCCESS;
516 static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
519 uint32_t _flags_save_STRUCT = ndr->flags;
520 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
521 if (ndr_flags & NDR_SCALARS) {
522 NDR_CHECK(ndr_pull_align(ndr, 4));
523 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
524 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
525 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
526 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
528 if (ndr_flags & NDR_BUFFERS) {
529 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
530 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
531 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
533 ndr->flags = _flags_save_STRUCT;
535 return NDR_ERR_SUCCESS;
538 _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
540 ndr_print_struct(ndr, name, "netr_NetworkInfo");
542 uint32_t _flags_save_STRUCT = ndr->flags;
543 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
545 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
546 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
547 ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
548 ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
550 ndr->flags = _flags_save_STRUCT;
554 static enum ndr_err_code ndr_push_netr_GenericInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo *r)
557 uint32_t _flags_save_STRUCT = ndr->flags;
558 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
559 if (ndr_flags & NDR_SCALARS) {
560 NDR_CHECK(ndr_push_align(ndr, 4));
561 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
562 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
564 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
566 if (ndr_flags & NDR_BUFFERS) {
567 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
568 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
570 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
571 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
574 ndr->flags = _flags_save_STRUCT;
576 return NDR_ERR_SUCCESS;
579 static enum ndr_err_code ndr_pull_netr_GenericInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo *r)
582 TALLOC_CTX *_mem_save_data_0;
584 uint32_t _flags_save_STRUCT = ndr->flags;
585 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
586 if (ndr_flags & NDR_SCALARS) {
587 NDR_CHECK(ndr_pull_align(ndr, 4));
588 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
589 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
590 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
591 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
593 NDR_PULL_ALLOC(ndr, r->data);
598 if (ndr_flags & NDR_BUFFERS) {
599 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
600 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
602 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
603 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
604 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
605 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
606 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
607 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
610 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
613 ndr->flags = _flags_save_STRUCT;
615 return NDR_ERR_SUCCESS;
618 _PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r)
620 ndr_print_struct(ndr, name, "netr_GenericInfo");
622 uint32_t _flags_save_STRUCT = ndr->flags;
623 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
625 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
626 ndr_print_lsa_String(ndr, "package_name", &r->package_name);
627 ndr_print_uint32(ndr, "length", r->length);
628 ndr_print_ptr(ndr, "data", r->data);
631 ndr_print_array_uint8(ndr, "data", r->data, r->length);
635 ndr->flags = _flags_save_STRUCT;
639 static enum ndr_err_code ndr_push_netr_LogonInfoClass(struct ndr_push *ndr, int ndr_flags, enum netr_LogonInfoClass r)
641 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
642 return NDR_ERR_SUCCESS;
645 static enum ndr_err_code ndr_pull_netr_LogonInfoClass(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonInfoClass *r)
648 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
650 return NDR_ERR_SUCCESS;
653 _PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r)
655 const char *val = NULL;
658 case NetlogonInteractiveInformation: val = "NetlogonInteractiveInformation"; break;
659 case NetlogonNetworkInformation: val = "NetlogonNetworkInformation"; break;
660 case NetlogonServiceInformation: val = "NetlogonServiceInformation"; break;
661 case NetlogonGenericInformation: val = "NetlogonGenericInformation"; break;
662 case NetlogonInteractiveTransitiveInformation: val = "NetlogonInteractiveTransitiveInformation"; break;
663 case NetlogonNetworkTransitiveInformation: val = "NetlogonNetworkTransitiveInformation"; break;
664 case NetlogonServiceTransitiveInformation: val = "NetlogonServiceTransitiveInformation"; break;
666 ndr_print_enum(ndr, name, "ENUM", val, r);
669 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r)
671 if (ndr_flags & NDR_SCALARS) {
672 int level = ndr_push_get_switch_value(ndr, r);
673 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, level));
675 case NetlogonInteractiveInformation: {
676 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
679 case NetlogonNetworkInformation: {
680 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
683 case NetlogonServiceInformation: {
684 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
687 case NetlogonGenericInformation: {
688 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
691 case NetlogonInteractiveTransitiveInformation: {
692 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
695 case NetlogonNetworkTransitiveInformation: {
696 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
699 case NetlogonServiceTransitiveInformation: {
700 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
704 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
707 if (ndr_flags & NDR_BUFFERS) {
708 int level = ndr_push_get_switch_value(ndr, r);
710 case NetlogonInteractiveInformation:
712 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
716 case NetlogonNetworkInformation:
718 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
722 case NetlogonServiceInformation:
724 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
728 case NetlogonGenericInformation:
730 NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
734 case NetlogonInteractiveTransitiveInformation:
736 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
740 case NetlogonNetworkTransitiveInformation:
742 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
746 case NetlogonServiceTransitiveInformation:
748 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
753 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
756 return NDR_ERR_SUCCESS;
759 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
763 TALLOC_CTX *_mem_save_password_0;
764 TALLOC_CTX *_mem_save_network_0;
765 TALLOC_CTX *_mem_save_generic_0;
766 level = ndr_pull_get_switch_value(ndr, r);
767 if (ndr_flags & NDR_SCALARS) {
768 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
769 if (_level != level) {
770 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
773 case NetlogonInteractiveInformation: {
774 uint32_t _ptr_password;
775 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
777 NDR_PULL_ALLOC(ndr, r->password);
783 case NetlogonNetworkInformation: {
784 uint32_t _ptr_network;
785 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
787 NDR_PULL_ALLOC(ndr, r->network);
793 case NetlogonServiceInformation: {
794 uint32_t _ptr_password;
795 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
797 NDR_PULL_ALLOC(ndr, r->password);
803 case NetlogonGenericInformation: {
804 uint32_t _ptr_generic;
805 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
807 NDR_PULL_ALLOC(ndr, r->generic);
813 case NetlogonInteractiveTransitiveInformation: {
814 uint32_t _ptr_password;
815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
817 NDR_PULL_ALLOC(ndr, r->password);
823 case NetlogonNetworkTransitiveInformation: {
824 uint32_t _ptr_network;
825 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
827 NDR_PULL_ALLOC(ndr, r->network);
833 case NetlogonServiceTransitiveInformation: {
834 uint32_t _ptr_password;
835 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
837 NDR_PULL_ALLOC(ndr, r->password);
844 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
847 if (ndr_flags & NDR_BUFFERS) {
849 case NetlogonInteractiveInformation:
851 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
852 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
853 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
854 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
858 case NetlogonNetworkInformation:
860 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
861 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
862 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
863 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
867 case NetlogonServiceInformation:
869 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
870 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
871 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
876 case NetlogonGenericInformation:
878 _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
879 NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
880 NDR_CHECK(ndr_pull_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
885 case NetlogonInteractiveTransitiveInformation:
887 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
888 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
889 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
894 case NetlogonNetworkTransitiveInformation:
896 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
897 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
898 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
903 case NetlogonServiceTransitiveInformation:
905 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
906 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
907 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
913 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
916 return NDR_ERR_SUCCESS;
919 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
922 level = ndr_print_get_switch_value(ndr, r);
923 ndr_print_union(ndr, name, level, "netr_LogonLevel");
925 case NetlogonInteractiveInformation:
926 ndr_print_ptr(ndr, "password", r->password);
929 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
934 case NetlogonNetworkInformation:
935 ndr_print_ptr(ndr, "network", r->network);
938 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
943 case NetlogonServiceInformation:
944 ndr_print_ptr(ndr, "password", r->password);
947 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
952 case NetlogonGenericInformation:
953 ndr_print_ptr(ndr, "generic", r->generic);
956 ndr_print_netr_GenericInfo(ndr, "generic", r->generic);
961 case NetlogonInteractiveTransitiveInformation:
962 ndr_print_ptr(ndr, "password", r->password);
965 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
970 case NetlogonNetworkTransitiveInformation:
971 ndr_print_ptr(ndr, "network", r->network);
974 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
979 case NetlogonServiceTransitiveInformation:
980 ndr_print_ptr(ndr, "password", r->password);
983 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
989 ndr_print_bad_level(ndr, name, level);
993 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
996 uint32_t _flags_save_STRUCT = ndr->flags;
997 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
998 if (ndr_flags & NDR_SCALARS) {
999 NDR_CHECK(ndr_push_align(ndr, 1));
1000 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1002 if (ndr_flags & NDR_BUFFERS) {
1004 ndr->flags = _flags_save_STRUCT;
1006 return NDR_ERR_SUCCESS;
1009 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
1012 uint32_t _flags_save_STRUCT = ndr->flags;
1013 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1014 if (ndr_flags & NDR_SCALARS) {
1015 NDR_CHECK(ndr_pull_align(ndr, 1));
1016 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1018 if (ndr_flags & NDR_BUFFERS) {
1020 ndr->flags = _flags_save_STRUCT;
1022 return NDR_ERR_SUCCESS;
1025 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
1027 ndr_print_struct(ndr, name, "netr_UserSessionKey");
1029 uint32_t _flags_save_STRUCT = ndr->flags;
1030 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1032 ndr_print_array_uint8(ndr, "key", r->key, 16);
1034 ndr->flags = _flags_save_STRUCT;
1038 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
1041 uint32_t _flags_save_STRUCT = ndr->flags;
1042 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1043 if (ndr_flags & NDR_SCALARS) {
1044 NDR_CHECK(ndr_push_align(ndr, 1));
1045 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1047 if (ndr_flags & NDR_BUFFERS) {
1049 ndr->flags = _flags_save_STRUCT;
1051 return NDR_ERR_SUCCESS;
1054 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
1057 uint32_t _flags_save_STRUCT = ndr->flags;
1058 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1059 if (ndr_flags & NDR_SCALARS) {
1060 NDR_CHECK(ndr_pull_align(ndr, 1));
1061 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1063 if (ndr_flags & NDR_BUFFERS) {
1065 ndr->flags = _flags_save_STRUCT;
1067 return NDR_ERR_SUCCESS;
1070 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
1072 ndr_print_struct(ndr, name, "netr_LMSessionKey");
1074 uint32_t _flags_save_STRUCT = ndr->flags;
1075 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1077 ndr_print_array_uint8(ndr, "key", r->key, 8);
1079 ndr->flags = _flags_save_STRUCT;
1083 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1086 return NDR_ERR_SUCCESS;
1089 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1092 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1094 return NDR_ERR_SUCCESS;
1097 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
1099 ndr_print_uint32(ndr, name, r);
1101 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
1102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
1103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
1104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
1105 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
1106 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
1107 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
1108 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
1109 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
1110 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
1111 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
1115 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
1117 uint32_t cntr_unknown_0;
1118 if (ndr_flags & NDR_SCALARS) {
1119 NDR_CHECK(ndr_push_align(ndr, 4));
1120 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
1121 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
1122 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
1123 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
1124 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
1125 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
1126 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1127 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1128 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1129 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1130 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1131 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1132 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
1133 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
1134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
1135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1136 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1137 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
1138 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1139 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1140 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1141 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
1142 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1143 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
1144 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
1148 if (ndr_flags & NDR_BUFFERS) {
1149 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1150 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1151 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1152 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1153 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1154 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1155 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1156 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1157 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1158 if (r->domain_sid) {
1159 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1162 return NDR_ERR_SUCCESS;
1165 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
1167 uint32_t _ptr_domain_sid;
1168 TALLOC_CTX *_mem_save_domain_sid_0;
1169 uint32_t cntr_unknown_0;
1170 if (ndr_flags & NDR_SCALARS) {
1171 NDR_CHECK(ndr_pull_align(ndr, 4));
1172 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
1173 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
1174 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
1175 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
1176 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
1177 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
1178 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1179 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1180 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1181 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1182 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1183 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1184 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
1185 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
1186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1188 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1189 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
1190 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1191 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1192 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1193 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1194 if (_ptr_domain_sid) {
1195 NDR_PULL_ALLOC(ndr, r->domain_sid);
1197 r->domain_sid = NULL;
1199 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1200 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
1201 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1202 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1205 if (ndr_flags & NDR_BUFFERS) {
1206 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1207 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1208 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1209 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1210 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1211 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1212 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1213 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1214 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1215 if (r->domain_sid) {
1216 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1217 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1218 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1222 return NDR_ERR_SUCCESS;
1225 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1227 uint32_t cntr_unknown_0;
1228 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1230 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1231 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1232 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1233 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1234 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1235 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1236 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1237 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1238 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1239 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1240 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1241 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1242 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1243 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1244 ndr_print_uint32(ndr, "rid", r->rid);
1245 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1246 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1247 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1248 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1249 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1250 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1251 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1253 if (r->domain_sid) {
1254 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1257 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1258 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1259 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)7);
1261 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1263 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1264 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1272 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1274 if (ndr_flags & NDR_SCALARS) {
1275 NDR_CHECK(ndr_push_align(ndr, 4));
1276 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1278 if (ndr_flags & NDR_BUFFERS) {
1279 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1281 return NDR_ERR_SUCCESS;
1284 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1286 if (ndr_flags & NDR_SCALARS) {
1287 NDR_CHECK(ndr_pull_align(ndr, 4));
1288 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1290 if (ndr_flags & NDR_BUFFERS) {
1291 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1293 return NDR_ERR_SUCCESS;
1296 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1298 ndr_print_struct(ndr, name, "netr_SamInfo2");
1300 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1304 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1306 if (ndr_flags & NDR_SCALARS) {
1307 NDR_CHECK(ndr_push_align(ndr, 4));
1308 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1309 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1311 if (ndr_flags & NDR_BUFFERS) {
1313 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1316 return NDR_ERR_SUCCESS;
1319 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1322 TALLOC_CTX *_mem_save_sid_0;
1323 if (ndr_flags & NDR_SCALARS) {
1324 NDR_CHECK(ndr_pull_align(ndr, 4));
1325 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1327 NDR_PULL_ALLOC(ndr, r->sid);
1331 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1333 if (ndr_flags & NDR_BUFFERS) {
1335 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1336 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1337 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1341 return NDR_ERR_SUCCESS;
1344 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1346 ndr_print_struct(ndr, name, "netr_SidAttr");
1348 ndr_print_ptr(ndr, "sid", r->sid);
1351 ndr_print_dom_sid2(ndr, "sid", r->sid);
1354 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1358 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1360 uint32_t cntr_sids_1;
1361 if (ndr_flags & NDR_SCALARS) {
1362 NDR_CHECK(ndr_push_align(ndr, 4));
1363 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1365 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1367 if (ndr_flags & NDR_BUFFERS) {
1368 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1371 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1372 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1374 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1375 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1379 return NDR_ERR_SUCCESS;
1382 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1385 uint32_t cntr_sids_1;
1386 TALLOC_CTX *_mem_save_sids_0;
1387 TALLOC_CTX *_mem_save_sids_1;
1388 if (ndr_flags & NDR_SCALARS) {
1389 NDR_CHECK(ndr_pull_align(ndr, 4));
1390 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1391 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1392 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1394 NDR_PULL_ALLOC(ndr, r->sids);
1399 if (ndr_flags & NDR_BUFFERS) {
1400 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1402 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1403 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1404 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1405 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1406 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1407 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1408 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1409 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1411 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1412 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1414 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1418 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1421 return NDR_ERR_SUCCESS;
1424 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1426 uint32_t cntr_sids_1;
1427 ndr_print_struct(ndr, name, "netr_SamInfo3");
1429 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1430 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1431 ndr_print_ptr(ndr, "sids", r->sids);
1434 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1436 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1438 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1439 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1449 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1451 uint32_t cntr_sids_1;
1452 uint32_t cntr_unknown4_0;
1453 if (ndr_flags & NDR_SCALARS) {
1454 NDR_CHECK(ndr_push_align(ndr, 4));
1455 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1456 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1457 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1458 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1459 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1460 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1461 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1464 if (ndr_flags & NDR_BUFFERS) {
1465 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1468 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1469 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1471 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1472 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1475 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1476 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1478 return NDR_ERR_SUCCESS;
1481 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1484 uint32_t cntr_sids_1;
1485 TALLOC_CTX *_mem_save_sids_0;
1486 TALLOC_CTX *_mem_save_sids_1;
1487 uint32_t cntr_unknown4_0;
1488 if (ndr_flags & NDR_SCALARS) {
1489 NDR_CHECK(ndr_pull_align(ndr, 4));
1490 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1491 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1492 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1494 NDR_PULL_ALLOC(ndr, r->sids);
1498 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1499 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1500 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1501 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1504 if (ndr_flags & NDR_BUFFERS) {
1505 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1507 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1508 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1509 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1510 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1511 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1512 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1513 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1514 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1516 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1517 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1519 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1522 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1523 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1525 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1528 return NDR_ERR_SUCCESS;
1531 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1533 uint32_t cntr_sids_1;
1534 uint32_t cntr_unknown4_0;
1535 ndr_print_struct(ndr, name, "netr_SamInfo6");
1537 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1538 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1539 ndr_print_ptr(ndr, "sids", r->sids);
1542 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1544 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1546 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1547 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1554 ndr_print_lsa_String(ndr, "forest", &r->forest);
1555 ndr_print_lsa_String(ndr, "principle", &r->principle);
1556 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
1558 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1560 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1561 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1569 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1571 uint32_t cntr_expansionroom_0;
1572 if (ndr_flags & NDR_SCALARS) {
1573 NDR_CHECK(ndr_push_align(ndr, 4));
1574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1575 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1576 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1577 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1578 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1580 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1581 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1582 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1583 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1585 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1586 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1587 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1588 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1590 if (ndr_flags & NDR_BUFFERS) {
1592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1593 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1595 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1596 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1597 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1600 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1602 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1603 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1604 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1605 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1607 return NDR_ERR_SUCCESS;
1610 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1613 TALLOC_CTX *_mem_save_pac_0;
1615 TALLOC_CTX *_mem_save_auth_0;
1616 uint32_t cntr_expansionroom_0;
1617 if (ndr_flags & NDR_SCALARS) {
1618 NDR_CHECK(ndr_pull_align(ndr, 4));
1619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1622 NDR_PULL_ALLOC(ndr, r->pac);
1626 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1627 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1628 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1629 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1630 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1632 NDR_PULL_ALLOC(ndr, r->auth);
1636 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1637 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1638 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1640 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1641 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1642 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1643 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1645 if (ndr_flags & NDR_BUFFERS) {
1647 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1648 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1649 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1650 NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1651 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1654 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1655 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1656 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1658 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1659 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1660 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1661 NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1662 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1663 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1665 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1666 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1667 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1668 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1670 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1673 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1676 return NDR_ERR_SUCCESS;
1679 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1681 uint32_t cntr_expansionroom_0;
1682 ndr_print_struct(ndr, name, "netr_PacInfo");
1684 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1685 ndr_print_ptr(ndr, "pac", r->pac);
1688 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1691 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1692 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1693 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1694 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1695 ndr_print_ptr(ndr, "auth", r->auth);
1698 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1701 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1702 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1704 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1706 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1707 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1712 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1713 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1714 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1715 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1719 static enum ndr_err_code ndr_push_netr_GenericInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo2 *r)
1722 uint32_t _flags_save_STRUCT = ndr->flags;
1723 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1724 if (ndr_flags & NDR_SCALARS) {
1725 NDR_CHECK(ndr_push_align(ndr, 4));
1726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
1729 if (ndr_flags & NDR_BUFFERS) {
1731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1732 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
1735 ndr->flags = _flags_save_STRUCT;
1737 return NDR_ERR_SUCCESS;
1740 static enum ndr_err_code ndr_pull_netr_GenericInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo2 *r)
1743 TALLOC_CTX *_mem_save_data_0;
1745 uint32_t _flags_save_STRUCT = ndr->flags;
1746 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1747 if (ndr_flags & NDR_SCALARS) {
1748 NDR_CHECK(ndr_pull_align(ndr, 4));
1749 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1750 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
1752 NDR_PULL_ALLOC(ndr, r->data);
1757 if (ndr_flags & NDR_BUFFERS) {
1759 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1760 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
1761 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
1762 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
1763 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
1764 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
1767 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
1770 ndr->flags = _flags_save_STRUCT;
1772 return NDR_ERR_SUCCESS;
1775 _PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r)
1777 ndr_print_struct(ndr, name, "netr_GenericInfo2");
1779 uint32_t _flags_save_STRUCT = ndr->flags;
1780 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1782 ndr_print_uint32(ndr, "length", r->length);
1783 ndr_print_ptr(ndr, "data", r->data);
1786 ndr_print_array_uint8(ndr, "data", r->data, r->length);
1790 ndr->flags = _flags_save_STRUCT;
1794 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1796 if (ndr_flags & NDR_SCALARS) {
1797 int level = ndr_push_get_switch_value(ndr, r);
1798 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1800 case NetlogonValidationSamInfo: {
1801 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1804 case NetlogonValidationSamInfo2: {
1805 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1809 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1812 case NetlogonValidationGenericInfo2: {
1813 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
1816 case NetlogonValidationSamInfo4: {
1817 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1821 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1824 if (ndr_flags & NDR_BUFFERS) {
1825 int level = ndr_push_get_switch_value(ndr, r);
1827 case NetlogonValidationSamInfo:
1829 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1833 case NetlogonValidationSamInfo2:
1835 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1841 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1845 case NetlogonValidationGenericInfo2:
1847 NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1851 case NetlogonValidationSamInfo4:
1853 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1858 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1861 return NDR_ERR_SUCCESS;
1864 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1868 TALLOC_CTX *_mem_save_sam2_0;
1869 TALLOC_CTX *_mem_save_sam3_0;
1870 TALLOC_CTX *_mem_save_pac_0;
1871 TALLOC_CTX *_mem_save_generic_0;
1872 TALLOC_CTX *_mem_save_sam6_0;
1873 level = ndr_pull_get_switch_value(ndr, r);
1874 if (ndr_flags & NDR_SCALARS) {
1875 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1876 if (_level != level) {
1877 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1880 case NetlogonValidationSamInfo: {
1882 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1884 NDR_PULL_ALLOC(ndr, r->sam2);
1890 case NetlogonValidationSamInfo2: {
1892 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1894 NDR_PULL_ALLOC(ndr, r->sam3);
1902 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1904 NDR_PULL_ALLOC(ndr, r->pac);
1910 case NetlogonValidationGenericInfo2: {
1911 uint32_t _ptr_generic;
1912 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
1914 NDR_PULL_ALLOC(ndr, r->generic);
1920 case NetlogonValidationSamInfo4: {
1922 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1924 NDR_PULL_ALLOC(ndr, r->sam6);
1931 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1934 if (ndr_flags & NDR_BUFFERS) {
1936 case NetlogonValidationSamInfo:
1938 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1939 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1940 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1945 case NetlogonValidationSamInfo2:
1947 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1948 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1949 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1950 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1956 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1957 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1958 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1963 case NetlogonValidationGenericInfo2:
1965 _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
1966 NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
1967 NDR_CHECK(ndr_pull_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
1972 case NetlogonValidationSamInfo4:
1974 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
1975 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
1976 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1977 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
1982 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1985 return NDR_ERR_SUCCESS;
1988 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
1991 level = ndr_print_get_switch_value(ndr, r);
1992 ndr_print_union(ndr, name, level, "netr_Validation");
1994 case NetlogonValidationSamInfo:
1995 ndr_print_ptr(ndr, "sam2", r->sam2);
1998 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
2003 case NetlogonValidationSamInfo2:
2004 ndr_print_ptr(ndr, "sam3", r->sam3);
2007 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
2013 ndr_print_ptr(ndr, "pac", r->pac);
2016 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
2021 case NetlogonValidationGenericInfo2:
2022 ndr_print_ptr(ndr, "generic", r->generic);
2025 ndr_print_netr_GenericInfo2(ndr, "generic", r->generic);
2030 case NetlogonValidationSamInfo4:
2031 ndr_print_ptr(ndr, "sam6", r->sam6);
2034 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
2040 ndr_print_bad_level(ndr, name, level);
2044 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
2047 uint32_t _flags_save_STRUCT = ndr->flags;
2048 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2049 if (ndr_flags & NDR_SCALARS) {
2050 NDR_CHECK(ndr_push_align(ndr, 1));
2051 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2053 if (ndr_flags & NDR_BUFFERS) {
2055 ndr->flags = _flags_save_STRUCT;
2057 return NDR_ERR_SUCCESS;
2060 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
2063 uint32_t _flags_save_STRUCT = ndr->flags;
2064 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2065 if (ndr_flags & NDR_SCALARS) {
2066 NDR_CHECK(ndr_pull_align(ndr, 1));
2067 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2069 if (ndr_flags & NDR_BUFFERS) {
2071 ndr->flags = _flags_save_STRUCT;
2073 return NDR_ERR_SUCCESS;
2076 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
2078 ndr_print_struct(ndr, name, "netr_Credential");
2080 uint32_t _flags_save_STRUCT = ndr->flags;
2081 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2083 ndr_print_array_uint8(ndr, "data", r->data, 8);
2085 ndr->flags = _flags_save_STRUCT;
2089 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
2091 if (ndr_flags & NDR_SCALARS) {
2092 NDR_CHECK(ndr_push_align(ndr, 4));
2093 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2094 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
2096 if (ndr_flags & NDR_BUFFERS) {
2098 return NDR_ERR_SUCCESS;
2101 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
2103 if (ndr_flags & NDR_SCALARS) {
2104 NDR_CHECK(ndr_pull_align(ndr, 4));
2105 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2106 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
2108 if (ndr_flags & NDR_BUFFERS) {
2110 return NDR_ERR_SUCCESS;
2113 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
2115 ndr_print_struct(ndr, name, "netr_Authenticator");
2117 ndr_print_netr_Credential(ndr, "cred", &r->cred);
2118 ndr_print_time_t(ndr, "timestamp", r->timestamp);
2122 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)
2124 if (ndr_flags & NDR_SCALARS) {
2125 NDR_CHECK(ndr_push_align(ndr, 4));
2126 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
2127 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2128 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2129 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2130 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2136 if (ndr_flags & NDR_BUFFERS) {
2137 if (r->account_name) {
2138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2141 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
2143 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2144 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2145 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2146 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2148 return NDR_ERR_SUCCESS;
2151 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
2153 uint32_t _ptr_account_name;
2154 TALLOC_CTX *_mem_save_account_name_0;
2155 if (ndr_flags & NDR_SCALARS) {
2156 NDR_CHECK(ndr_pull_align(ndr, 4));
2157 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
2158 if (_ptr_account_name) {
2159 NDR_PULL_ALLOC(ndr, r->account_name);
2161 r->account_name = NULL;
2163 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2164 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2165 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2166 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2167 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2169 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2170 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2172 if (ndr_flags & NDR_BUFFERS) {
2173 if (r->account_name) {
2174 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2175 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
2176 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
2177 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
2178 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
2179 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));
2181 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
2182 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
2183 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
2185 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2186 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2187 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2188 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2190 return NDR_ERR_SUCCESS;
2193 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
2195 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
2197 ndr_print_ptr(ndr, "account_name", r->account_name);
2199 if (r->account_name) {
2200 ndr_print_string(ndr, "account_name", r->account_name);
2203 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2204 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2205 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2206 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2207 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2208 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2209 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2210 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2214 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
2216 if (ndr_flags & NDR_SCALARS) {
2217 NDR_CHECK(ndr_push_align(ndr, 4));
2218 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2219 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
2221 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2223 if (ndr_flags & NDR_BUFFERS) {
2225 return NDR_ERR_SUCCESS;
2228 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
2230 if (ndr_flags & NDR_SCALARS) {
2231 NDR_CHECK(ndr_pull_align(ndr, 4));
2232 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
2233 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
2234 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
2235 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2237 if (ndr_flags & NDR_BUFFERS) {
2239 return NDR_ERR_SUCCESS;
2242 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
2244 ndr_print_struct(ndr, name, "netr_USER_KEY16");
2246 ndr_print_uint16(ndr, "length", r->length);
2247 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
2248 ndr_print_uint32(ndr, "flags", r->flags);
2249 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
2253 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
2255 if (ndr_flags & NDR_SCALARS) {
2256 NDR_CHECK(ndr_push_align(ndr, 4));
2257 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2258 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2260 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2261 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2263 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2264 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2266 if (ndr_flags & NDR_BUFFERS) {
2268 return NDR_ERR_SUCCESS;
2271 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2273 if (ndr_flags & NDR_SCALARS) {
2274 NDR_CHECK(ndr_pull_align(ndr, 4));
2275 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2276 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2278 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2279 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2280 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2281 NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2282 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2283 NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2284 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2286 if (ndr_flags & NDR_BUFFERS) {
2288 return NDR_ERR_SUCCESS;
2291 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2293 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2295 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2296 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2297 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2298 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2299 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2300 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2301 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2302 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2306 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2308 if (ndr_flags & NDR_SCALARS) {
2309 NDR_CHECK(ndr_push_align(ndr, 4));
2310 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2311 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2312 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2314 if (ndr_flags & NDR_BUFFERS) {
2316 return NDR_ERR_SUCCESS;
2319 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2321 if (ndr_flags & NDR_SCALARS) {
2322 NDR_CHECK(ndr_pull_align(ndr, 4));
2323 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2324 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2325 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2327 if (ndr_flags & NDR_BUFFERS) {
2329 return NDR_ERR_SUCCESS;
2332 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2334 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2336 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2337 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2338 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2342 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)
2344 if (ndr_flags & NDR_SCALARS) {
2345 NDR_CHECK(ndr_push_align(ndr, 4));
2346 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2348 if (ndr_flags & NDR_BUFFERS) {
2350 return NDR_ERR_SUCCESS;
2353 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2355 if (ndr_flags & NDR_SCALARS) {
2356 NDR_CHECK(ndr_pull_align(ndr, 4));
2357 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2359 if (ndr_flags & NDR_BUFFERS) {
2361 return NDR_ERR_SUCCESS;
2364 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2366 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2368 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2372 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2374 if (ndr_flags & NDR_SCALARS) {
2375 NDR_CHECK(ndr_push_align(ndr, 4));
2376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2377 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2379 if (ndr_flags & NDR_BUFFERS) {
2381 return NDR_ERR_SUCCESS;
2384 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2386 if (ndr_flags & NDR_SCALARS) {
2387 NDR_CHECK(ndr_pull_align(ndr, 4));
2388 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2389 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2391 if (ndr_flags & NDR_BUFFERS) {
2393 return NDR_ERR_SUCCESS;
2396 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2398 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2400 ndr_print_uint32(ndr, "version", r->version);
2401 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2405 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)
2407 if (ndr_flags & NDR_SCALARS) {
2408 NDR_CHECK(ndr_push_align(ndr, 4));
2409 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2412 uint32_t _flags_save_uint8 = ndr->flags;
2413 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2414 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2415 ndr->flags = _flags_save_uint8;
2418 if (ndr_flags & NDR_BUFFERS) {
2420 uint32_t _flags_save_uint8 = ndr->flags;
2421 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2422 if (r->SensitiveData) {
2423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2424 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2426 ndr->flags = _flags_save_uint8;
2429 return NDR_ERR_SUCCESS;
2432 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2434 uint32_t _ptr_SensitiveData;
2435 TALLOC_CTX *_mem_save_SensitiveData_0;
2436 if (ndr_flags & NDR_SCALARS) {
2437 NDR_CHECK(ndr_pull_align(ndr, 4));
2438 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2439 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2441 uint32_t _flags_save_uint8 = ndr->flags;
2442 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2443 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2444 if (_ptr_SensitiveData) {
2445 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2447 r->SensitiveData = NULL;
2449 ndr->flags = _flags_save_uint8;
2452 if (ndr_flags & NDR_BUFFERS) {
2454 uint32_t _flags_save_uint8 = ndr->flags;
2455 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2456 if (r->SensitiveData) {
2457 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2458 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2459 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2460 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2461 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2464 ndr->flags = _flags_save_uint8;
2466 if (r->SensitiveData) {
2467 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2470 return NDR_ERR_SUCCESS;
2473 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2475 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2477 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2478 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2479 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2481 if (r->SensitiveData) {
2482 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2488 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2490 if (ndr_flags & NDR_SCALARS) {
2491 NDR_CHECK(ndr_push_align(ndr, 4));
2492 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2493 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2495 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2496 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2497 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2498 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2499 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2500 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2501 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2502 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2503 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2504 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2505 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2506 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2507 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2508 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2509 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2510 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2511 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2512 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2513 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2514 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2515 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2516 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2517 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2518 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2520 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2521 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2522 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2523 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2524 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2526 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2530 if (ndr_flags & NDR_BUFFERS) {
2531 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2532 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2533 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2534 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2535 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2536 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2537 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2538 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2539 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2540 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2541 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2542 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2543 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2544 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2545 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2546 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2548 return NDR_ERR_SUCCESS;
2551 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2553 if (ndr_flags & NDR_SCALARS) {
2554 NDR_CHECK(ndr_pull_align(ndr, 4));
2555 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2556 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2557 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2558 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2559 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2560 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2561 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2562 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2563 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2564 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2565 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2566 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2567 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2568 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2569 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2570 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2571 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2572 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2573 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2574 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2575 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2576 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2577 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2578 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2579 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2580 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2581 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2582 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2583 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2584 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2585 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2586 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2587 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2588 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2589 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2590 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2591 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2593 if (ndr_flags & NDR_BUFFERS) {
2594 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2595 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2596 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2597 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2598 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2599 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2600 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2601 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2602 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2603 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2604 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2605 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2606 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2607 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2608 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2609 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2611 return NDR_ERR_SUCCESS;
2614 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2616 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2618 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2619 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2620 ndr_print_uint32(ndr, "rid", r->rid);
2621 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2622 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2623 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2624 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2625 ndr_print_lsa_String(ndr, "description", &r->description);
2626 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2627 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2628 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2629 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2630 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2631 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2632 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2633 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2634 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2635 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2636 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2637 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2638 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2639 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2640 ndr_print_lsa_String(ndr, "comment", &r->comment);
2641 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2642 ndr_print_uint16(ndr, "country_code", r->country_code);
2643 ndr_print_uint16(ndr, "code_page", r->code_page);
2644 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2645 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2646 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2647 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2648 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2649 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2650 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2651 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2652 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2653 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2654 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2658 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2660 if (ndr_flags & NDR_SCALARS) {
2661 NDR_CHECK(ndr_push_align(ndr, 4));
2662 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2663 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2664 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2665 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2666 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2667 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2668 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2669 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2670 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2672 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2673 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2674 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2675 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2676 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2677 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2678 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2682 if (ndr_flags & NDR_BUFFERS) {
2683 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2684 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2685 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2686 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2687 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2688 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2689 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2691 return NDR_ERR_SUCCESS;
2694 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2696 if (ndr_flags & NDR_SCALARS) {
2697 NDR_CHECK(ndr_pull_align(ndr, 4));
2698 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2699 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2700 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2701 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2702 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2703 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2704 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2705 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2706 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2708 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2709 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2710 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2711 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2712 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2713 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2714 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2716 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2718 if (ndr_flags & NDR_BUFFERS) {
2719 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2720 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2721 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2722 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2723 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2724 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2725 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2727 return NDR_ERR_SUCCESS;
2730 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2732 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2734 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2735 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
2736 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2737 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2738 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2739 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2740 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2741 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2742 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2743 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2744 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2745 ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
2746 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2747 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2748 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2749 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2750 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2751 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2752 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2756 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2758 if (ndr_flags & NDR_SCALARS) {
2759 NDR_CHECK(ndr_push_align(ndr, 4));
2760 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2762 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2763 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2765 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2766 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2767 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2768 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2769 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2775 if (ndr_flags & NDR_BUFFERS) {
2776 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2777 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2778 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2779 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2780 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2781 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2782 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2784 return NDR_ERR_SUCCESS;
2787 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2789 if (ndr_flags & NDR_SCALARS) {
2790 NDR_CHECK(ndr_pull_align(ndr, 4));
2791 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2792 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2793 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2794 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2795 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2796 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2797 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2798 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2799 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2800 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2801 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2803 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2804 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2806 if (ndr_flags & NDR_BUFFERS) {
2807 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2808 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2809 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2810 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2811 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2812 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2813 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2815 return NDR_ERR_SUCCESS;
2818 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2820 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2822 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2823 ndr_print_uint32(ndr, "rid", r->rid);
2824 ndr_print_uint32(ndr, "attributes", r->attributes);
2825 ndr_print_lsa_String(ndr, "description", &r->description);
2826 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2827 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2828 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2829 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2830 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2831 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2832 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2833 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2834 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2835 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2839 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2841 if (ndr_flags & NDR_SCALARS) {
2842 NDR_CHECK(ndr_push_align(ndr, 4));
2843 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2844 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2845 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2846 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2847 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2848 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2849 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2854 if (ndr_flags & NDR_BUFFERS) {
2855 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2856 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2857 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2858 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2859 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2860 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2862 return NDR_ERR_SUCCESS;
2865 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2867 if (ndr_flags & NDR_SCALARS) {
2868 NDR_CHECK(ndr_pull_align(ndr, 4));
2869 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2870 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2871 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2872 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2873 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2874 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2875 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2876 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2877 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2878 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2880 if (ndr_flags & NDR_BUFFERS) {
2881 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2882 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2883 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2884 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2885 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2886 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2888 return NDR_ERR_SUCCESS;
2891 _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2893 ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2895 ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2896 ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2897 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2898 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2899 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2900 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2901 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2902 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2903 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2904 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2908 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)
2910 uint32_t cntr_rids_1;
2911 uint32_t cntr_attribs_1;
2912 if (ndr_flags & NDR_SCALARS) {
2913 NDR_CHECK(ndr_push_align(ndr, 4));
2914 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2915 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2916 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2922 if (ndr_flags & NDR_BUFFERS) {
2924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2925 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2926 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2931 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2932 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
2936 return NDR_ERR_SUCCESS;
2939 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
2942 uint32_t cntr_rids_1;
2943 TALLOC_CTX *_mem_save_rids_0;
2944 TALLOC_CTX *_mem_save_rids_1;
2945 uint32_t _ptr_attribs;
2946 uint32_t cntr_attribs_1;
2947 TALLOC_CTX *_mem_save_attribs_0;
2948 TALLOC_CTX *_mem_save_attribs_1;
2949 if (ndr_flags & NDR_SCALARS) {
2950 NDR_CHECK(ndr_pull_align(ndr, 4));
2951 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
2953 NDR_PULL_ALLOC(ndr, r->rids);
2957 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2959 NDR_PULL_ALLOC(ndr, r->attribs);
2963 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
2964 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2965 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2966 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2967 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2969 if (ndr_flags & NDR_BUFFERS) {
2971 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2972 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2973 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
2974 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
2975 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2976 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2977 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2978 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
2980 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
2981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
2984 _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
2985 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2986 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
2987 NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
2988 _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
2989 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2990 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2991 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
2993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
2994 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
2997 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
3000 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
3003 return NDR_ERR_SUCCESS;
3006 _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
3008 uint32_t cntr_rids_1;
3009 uint32_t cntr_attribs_1;
3010 ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
3012 ndr_print_ptr(ndr, "rids", r->rids);
3015 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
3017 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
3019 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
3020 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
3027 ndr_print_ptr(ndr, "attribs", r->attribs);
3030 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
3032 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
3034 if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
3035 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
3042 ndr_print_uint32(ndr, "num_rids", r->num_rids);
3043 ndr_print_uint32(ndr, "unknown1", r->unknown1);
3044 ndr_print_uint32(ndr, "unknown2", r->unknown2);
3045 ndr_print_uint32(ndr, "unknown3", r->unknown3);
3046 ndr_print_uint32(ndr, "unknown4", r->unknown4);
3050 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
3052 if (ndr_flags & NDR_SCALARS) {
3053 NDR_CHECK(ndr_push_align(ndr, 4));
3054 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3055 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3057 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3058 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3059 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3060 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3061 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3065 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3067 if (ndr_flags & NDR_BUFFERS) {
3068 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3069 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3070 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3071 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3072 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3073 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3075 return NDR_ERR_SUCCESS;
3078 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
3080 if (ndr_flags & NDR_SCALARS) {
3081 NDR_CHECK(ndr_pull_align(ndr, 4));
3082 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3083 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3085 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3086 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3087 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3088 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3089 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3090 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3091 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3092 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3095 if (ndr_flags & NDR_BUFFERS) {
3096 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3097 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3098 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3099 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3100 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3101 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3103 return NDR_ERR_SUCCESS;
3106 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
3108 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
3110 ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
3111 ndr_print_uint32(ndr, "rid", r->rid);
3112 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3113 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3114 ndr_print_lsa_String(ndr, "description", &r->description);
3115 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3116 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3117 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3118 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3119 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3120 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3121 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3125 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)
3127 if (ndr_flags & NDR_SCALARS) {
3128 NDR_CHECK(ndr_push_align(ndr, 4));
3129 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3130 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
3131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
3132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
3133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
3135 if (ndr_flags & NDR_BUFFERS) {
3136 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3138 return NDR_ERR_SUCCESS;
3141 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
3143 if (ndr_flags & NDR_SCALARS) {
3144 NDR_CHECK(ndr_pull_align(ndr, 4));
3145 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3146 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
3147 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
3148 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
3149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
3151 if (ndr_flags & NDR_BUFFERS) {
3152 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3154 return NDR_ERR_SUCCESS;
3157 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
3159 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
3161 ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
3162 ndr_print_uint32(ndr, "unknown1", r->unknown1);
3163 ndr_print_uint32(ndr, "unknown2", r->unknown2);
3164 ndr_print_uint32(ndr, "unknown3", r->unknown3);
3165 ndr_print_uint32(ndr, "unknown4", r->unknown4);
3169 static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
3171 if (ndr_flags & NDR_SCALARS) {
3172 NDR_CHECK(ndr_push_align(ndr, 4));
3173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
3174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
3175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
3176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
3177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
3178 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
3180 if (ndr_flags & NDR_BUFFERS) {
3182 return NDR_ERR_SUCCESS;
3185 static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
3187 if (ndr_flags & NDR_SCALARS) {
3188 NDR_CHECK(ndr_pull_align(ndr, 4));
3189 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
3190 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
3191 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
3192 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
3193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
3194 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
3196 if (ndr_flags & NDR_BUFFERS) {
3198 return NDR_ERR_SUCCESS;
3201 _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
3203 ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
3205 ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
3206 ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
3207 ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
3208 ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
3209 ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
3210 ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
3214 static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
3216 uint32_t cntr_eventauditoptions_1;
3217 if (ndr_flags & NDR_SCALARS) {
3218 NDR_CHECK(ndr_push_align(ndr, 4));
3219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
3220 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
3221 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
3222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
3223 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
3224 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3225 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3226 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3227 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
3228 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
3229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3230 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3231 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3232 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3233 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3234 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3240 if (ndr_flags & NDR_BUFFERS) {
3241 if (r->eventauditoptions) {
3242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
3243 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
3247 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3249 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3251 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3252 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3253 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3254 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3255 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3257 return NDR_ERR_SUCCESS;
3260 static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3262 uint32_t _ptr_eventauditoptions;
3263 uint32_t cntr_eventauditoptions_1;
3264 TALLOC_CTX *_mem_save_eventauditoptions_0;
3265 TALLOC_CTX *_mem_save_eventauditoptions_1;
3267 TALLOC_CTX *_mem_save_sid_0;
3268 if (ndr_flags & NDR_SCALARS) {
3269 NDR_CHECK(ndr_pull_align(ndr, 4));
3270 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3271 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3272 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3273 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3274 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3275 if (_ptr_eventauditoptions) {
3276 NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3278 r->eventauditoptions = NULL;
3280 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3281 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3283 NDR_PULL_ALLOC(ndr, r->sid);
3287 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3288 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3289 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3290 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3291 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3292 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3293 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3294 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3295 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3296 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3297 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3298 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3299 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3301 if (ndr_flags & NDR_BUFFERS) {
3302 if (r->eventauditoptions) {
3303 _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3304 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3305 NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3306 NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
3307 _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3308 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3309 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3310 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3313 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3315 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3317 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3318 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3319 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3320 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3322 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3323 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3324 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3325 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3326 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3327 if (r->eventauditoptions) {
3328 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3331 return NDR_ERR_SUCCESS;
3334 _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3336 uint32_t cntr_eventauditoptions_1;
3337 ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3339 ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3340 ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3341 ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3342 ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3343 ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3345 if (r->eventauditoptions) {
3346 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
3348 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3350 if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3351 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3358 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3359 ndr_print_ptr(ndr, "sid", r->sid);
3362 ndr_print_dom_sid2(ndr, "sid", r->sid);
3365 ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3366 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3367 ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3368 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3369 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3370 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3371 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3372 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3373 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3374 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3375 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3376 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3377 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3381 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)
3383 uint32_t cntr_controller_names_1;
3384 if (ndr_flags & NDR_SCALARS) {
3385 NDR_CHECK(ndr_push_align(ndr, 4));
3386 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3388 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3390 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3391 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3392 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3393 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3394 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3398 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3400 if (ndr_flags & NDR_BUFFERS) {
3401 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3402 if (r->controller_names) {
3403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3404 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3405 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3407 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3408 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3411 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3412 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3413 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3414 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3415 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3417 return NDR_ERR_SUCCESS;
3420 static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3422 uint32_t _ptr_controller_names;
3423 uint32_t cntr_controller_names_1;
3424 TALLOC_CTX *_mem_save_controller_names_0;
3425 TALLOC_CTX *_mem_save_controller_names_1;
3426 if (ndr_flags & NDR_SCALARS) {
3427 NDR_CHECK(ndr_pull_align(ndr, 4));
3428 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3429 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3430 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3431 if (_ptr_controller_names) {
3432 NDR_PULL_ALLOC(ndr, r->controller_names);
3434 r->controller_names = NULL;
3436 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3437 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3438 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3439 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3440 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3441 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3442 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3443 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3444 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3445 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3447 if (ndr_flags & NDR_BUFFERS) {
3448 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3449 if (r->controller_names) {
3450 _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3451 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3452 NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3453 NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
3454 _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3455 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3456 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3457 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3459 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3460 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3465 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3466 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3467 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3468 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3469 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3470 if (r->controller_names) {
3471 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3474 return NDR_ERR_SUCCESS;
3477 _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3479 uint32_t cntr_controller_names_1;
3480 ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3482 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3483 ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3484 ndr_print_ptr(ndr, "controller_names", r->controller_names);
3486 if (r->controller_names) {
3487 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
3489 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3491 if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) {
3492 ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3499 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3500 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3501 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3502 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3503 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3504 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3505 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3506 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3507 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3508 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3512 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)
3514 if (ndr_flags & NDR_SCALARS) {
3515 NDR_CHECK(ndr_push_align(ndr, 2));
3516 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3518 if (ndr_flags & NDR_BUFFERS) {
3520 return NDR_ERR_SUCCESS;
3523 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3525 if (ndr_flags & NDR_SCALARS) {
3526 NDR_CHECK(ndr_pull_align(ndr, 2));
3527 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3529 if (ndr_flags & NDR_BUFFERS) {
3531 return NDR_ERR_SUCCESS;
3534 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3536 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3538 ndr_print_uint16(ndr, "unknown", r->unknown);
3542 static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3544 uint32_t cntr_privilege_attrib_1;
3545 uint32_t cntr_privilege_name_1;
3546 if (ndr_flags & NDR_SCALARS) {
3547 NDR_CHECK(ndr_push_align(ndr, 4));
3548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3550 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3551 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3552 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3553 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3554 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3555 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3556 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3557 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3558 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3559 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3561 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3562 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3565 if (ndr_flags & NDR_BUFFERS) {
3566 if (r->privilege_attrib) {
3567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3568 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3569 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3572 if (r->privilege_name) {
3573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3574 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3575 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3577 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3578 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3581 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3582 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3583 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3584 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3585 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3587 return NDR_ERR_SUCCESS;
3590 static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3592 uint32_t _ptr_privilege_attrib;
3593 uint32_t cntr_privilege_attrib_1;
3594 TALLOC_CTX *_mem_save_privilege_attrib_0;
3595 TALLOC_CTX *_mem_save_privilege_attrib_1;
3596 uint32_t _ptr_privilege_name;
3597 uint32_t cntr_privilege_name_1;
3598 TALLOC_CTX *_mem_save_privilege_name_0;
3599 TALLOC_CTX *_mem_save_privilege_name_1;
3600 if (ndr_flags & NDR_SCALARS) {
3601 NDR_CHECK(ndr_pull_align(ndr, 4));
3602 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3603 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3604 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3605 if (_ptr_privilege_attrib) {
3606 NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3608 r->privilege_attrib = NULL;
3610 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3611 if (_ptr_privilege_name) {
3612 NDR_PULL_ALLOC(ndr, r->privilege_name);
3614 r->privilege_name = NULL;
3616 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3617 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3618 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3619 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3620 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3621 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3622 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3623 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3624 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3625 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3626 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3627 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3629 if (ndr_flags & NDR_BUFFERS) {
3630 if (r->privilege_attrib) {
3631 _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3632 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3633 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3634 NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
3635 _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3636 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3637 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3638 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3641 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3643 if (r->privilege_name) {
3644 _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3645 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3646 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3647 NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
3648 _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3649 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3650 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3651 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3653 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3654 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3656 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3659 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3660 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3661 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3662 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3663 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3664 if (r->privilege_attrib) {
3665 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3667 if (r->privilege_name) {
3668 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3671 return NDR_ERR_SUCCESS;
3674 _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3676 uint32_t cntr_privilege_attrib_1;
3677 uint32_t cntr_privilege_name_1;
3678 ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3680 ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3681 ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3682 ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3684 if (r->privilege_attrib) {
3685 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
3687 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3689 if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) {
3690 ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3697 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3699 if (r->privilege_name) {
3700 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
3702 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3704 if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) {
3705 ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3712 ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3713 ndr_print_uint32(ndr, "system_flags", r->system_flags);
3714 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3715 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3716 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3717 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3718 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3719 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3720 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3721 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3722 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3723 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3727 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)
3729 if (ndr_flags & NDR_SCALARS) {
3730 NDR_CHECK(ndr_push_align(ndr, 2));
3731 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3733 if (ndr_flags & NDR_BUFFERS) {
3735 return NDR_ERR_SUCCESS;
3738 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3740 if (ndr_flags & NDR_SCALARS) {
3741 NDR_CHECK(ndr_pull_align(ndr, 2));
3742 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3744 if (ndr_flags & NDR_BUFFERS) {
3746 return NDR_ERR_SUCCESS;
3749 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3751 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3753 ndr_print_uint16(ndr, "unknown", r->unknown);
3757 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)
3759 if (ndr_flags & NDR_SCALARS) {
3760 NDR_CHECK(ndr_push_align(ndr, 2));
3761 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3763 if (ndr_flags & NDR_BUFFERS) {
3765 return NDR_ERR_SUCCESS;
3768 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3770 if (ndr_flags & NDR_SCALARS) {
3771 NDR_CHECK(ndr_pull_align(ndr, 2));
3772 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3774 if (ndr_flags & NDR_BUFFERS) {
3776 return NDR_ERR_SUCCESS;
3779 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3781 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3783 ndr_print_uint16(ndr, "unknown", r->unknown);
3787 static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3789 if (ndr_flags & NDR_SCALARS) {
3790 NDR_CHECK(ndr_push_align(ndr, 4));
3791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3793 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3795 if (ndr_flags & NDR_BUFFERS) {
3796 if (r->cipher_data) {
3797 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3800 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3803 return NDR_ERR_SUCCESS;
3806 static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3808 uint32_t _ptr_cipher_data;
3809 TALLOC_CTX *_mem_save_cipher_data_0;
3810 if (ndr_flags & NDR_SCALARS) {
3811 NDR_CHECK(ndr_pull_align(ndr, 4));
3812 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3813 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3814 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3815 if (_ptr_cipher_data) {
3816 NDR_PULL_ALLOC(ndr, r->cipher_data);
3818 r->cipher_data = NULL;
3821 if (ndr_flags & NDR_BUFFERS) {
3822 if (r->cipher_data) {
3823 _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3824 NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3825 NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3826 NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3827 if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
3828 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));
3830 NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
3831 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
3832 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3834 if (r->cipher_data) {
3835 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3837 if (r->cipher_data) {
3838 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3841 return NDR_ERR_SUCCESS;
3844 _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3846 ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3848 ndr_print_uint32(ndr, "len", r->len);
3849 ndr_print_uint32(ndr, "maxlen", r->maxlen);
3850 ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3852 if (r->cipher_data) {
3853 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3859 static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3861 if (ndr_flags & NDR_SCALARS) {
3862 NDR_CHECK(ndr_push_align(ndr, 4));
3863 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3864 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3865 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3866 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3868 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3869 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3870 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3871 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3872 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3878 if (ndr_flags & NDR_BUFFERS) {
3879 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3880 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3881 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3882 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3883 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3884 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3885 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3887 return NDR_ERR_SUCCESS;
3890 static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3892 if (ndr_flags & NDR_SCALARS) {
3893 NDR_CHECK(ndr_pull_align(ndr, 4));
3894 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3895 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3896 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3897 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3898 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3899 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3900 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3901 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3902 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3903 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3904 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3905 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3906 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3907 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3909 if (ndr_flags & NDR_BUFFERS) {
3910 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3911 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3912 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3913 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3914 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3915 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3916 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3918 return NDR_ERR_SUCCESS;
3921 _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
3923 ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
3925 ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
3926 ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
3927 ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
3928 ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
3929 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3930 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3931 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3932 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3933 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3934 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3935 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3936 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3937 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3938 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3942 static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
3944 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3945 return NDR_ERR_SUCCESS;
3948 static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
3951 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3953 return NDR_ERR_SUCCESS;
3956 _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
3958 const char *val = NULL;
3961 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
3962 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
3963 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
3964 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
3965 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
3966 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
3967 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
3968 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
3969 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
3970 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
3971 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
3972 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
3973 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
3974 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
3975 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
3976 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
3977 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
3978 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
3979 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
3980 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
3981 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
3982 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
3984 ndr_print_enum(ndr, name, "ENUM", val, r);
3987 static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
3989 if (ndr_flags & NDR_SCALARS) {
3990 int level = ndr_push_get_switch_value(ndr, r);
3991 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
3993 case NETR_DELTA_DOMAIN: {
3994 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
3997 case NETR_DELTA_GROUP: {
3998 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
4001 case NETR_DELTA_DELETE_GROUP: {
4004 case NETR_DELTA_RENAME_GROUP: {
4005 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
4008 case NETR_DELTA_USER: {
4009 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
4012 case NETR_DELTA_DELETE_USER: {
4015 case NETR_DELTA_RENAME_USER: {
4016 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
4019 case NETR_DELTA_GROUP_MEMBER: {
4020 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
4023 case NETR_DELTA_ALIAS: {
4024 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
4027 case NETR_DELTA_DELETE_ALIAS: {
4030 case NETR_DELTA_RENAME_ALIAS: {
4031 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
4034 case NETR_DELTA_ALIAS_MEMBER: {
4035 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
4038 case NETR_DELTA_POLICY: {
4039 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
4042 case NETR_DELTA_TRUSTED_DOMAIN: {
4043 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
4046 case NETR_DELTA_DELETE_TRUST: {
4047 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4050 case NETR_DELTA_ACCOUNT: {
4051 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
4054 case NETR_DELTA_DELETE_ACCOUNT: {
4055 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4058 case NETR_DELTA_SECRET: {
4059 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
4062 case NETR_DELTA_DELETE_SECRET: {
4063 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4066 case NETR_DELTA_DELETE_GROUP2: {
4067 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
4070 case NETR_DELTA_DELETE_USER2: {
4071 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
4074 case NETR_DELTA_MODIFY_COUNT: {
4075 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
4079 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4082 if (ndr_flags & NDR_BUFFERS) {
4083 int level = ndr_push_get_switch_value(ndr, r);
4085 case NETR_DELTA_DOMAIN:
4087 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4091 case NETR_DELTA_GROUP:
4093 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4097 case NETR_DELTA_DELETE_GROUP:
4100 case NETR_DELTA_RENAME_GROUP:
4101 if (r->rename_group) {
4102 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4106 case NETR_DELTA_USER:
4108 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4112 case NETR_DELTA_DELETE_USER:
4115 case NETR_DELTA_RENAME_USER:
4116 if (r->rename_user) {
4117 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4121 case NETR_DELTA_GROUP_MEMBER:
4122 if (r->group_member) {
4123 NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4127 case NETR_DELTA_ALIAS:
4129 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4133 case NETR_DELTA_DELETE_ALIAS:
4136 case NETR_DELTA_RENAME_ALIAS:
4137 if (r->rename_alias) {
4138 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4142 case NETR_DELTA_ALIAS_MEMBER:
4143 if (r->alias_member) {
4144 NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4148 case NETR_DELTA_POLICY:
4150 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4154 case NETR_DELTA_TRUSTED_DOMAIN:
4155 if (r->trusted_domain) {
4156 NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4160 case NETR_DELTA_DELETE_TRUST:
4163 case NETR_DELTA_ACCOUNT:
4165 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4169 case NETR_DELTA_DELETE_ACCOUNT:
4172 case NETR_DELTA_SECRET:
4174 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4178 case NETR_DELTA_DELETE_SECRET:
4181 case NETR_DELTA_DELETE_GROUP2:
4182 if (r->delete_group) {
4183 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4187 case NETR_DELTA_DELETE_USER2:
4188 if (r->delete_user) {
4189 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4193 case NETR_DELTA_MODIFY_COUNT:
4194 if (r->modified_count) {
4195 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
4200 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4203 return NDR_ERR_SUCCESS;
4206 static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
4210 TALLOC_CTX *_mem_save_domain_0;
4211 TALLOC_CTX *_mem_save_group_0;
4212 TALLOC_CTX *_mem_save_rename_group_0;
4213 TALLOC_CTX *_mem_save_user_0;
4214 TALLOC_CTX *_mem_save_rename_user_0;
4215 TALLOC_CTX *_mem_save_group_member_0;
4216 TALLOC_CTX *_mem_save_alias_0;
4217 TALLOC_CTX *_mem_save_rename_alias_0;
4218 TALLOC_CTX *_mem_save_alias_member_0;
4219 TALLOC_CTX *_mem_save_policy_0;
4220 TALLOC_CTX *_mem_save_trusted_domain_0;
4221 TALLOC_CTX *_mem_save_account_0;
4222 TALLOC_CTX *_mem_save_secret_0;
4223 TALLOC_CTX *_mem_save_delete_group_0;
4224 TALLOC_CTX *_mem_save_delete_user_0;
4225 TALLOC_CTX *_mem_save_modified_count_0;
4226 level = ndr_pull_get_switch_value(ndr, r);
4227 if (ndr_flags & NDR_SCALARS) {
4228 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4229 if (_level != level) {
4230 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4233 case NETR_DELTA_DOMAIN: {
4234 uint32_t _ptr_domain;
4235 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4237 NDR_PULL_ALLOC(ndr, r->domain);
4243 case NETR_DELTA_GROUP: {
4244 uint32_t _ptr_group;
4245 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
4247 NDR_PULL_ALLOC(ndr, r->group);
4253 case NETR_DELTA_DELETE_GROUP: {
4256 case NETR_DELTA_RENAME_GROUP: {
4257 uint32_t _ptr_rename_group;
4258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4259 if (_ptr_rename_group) {
4260 NDR_PULL_ALLOC(ndr, r->rename_group);
4262 r->rename_group = NULL;
4266 case NETR_DELTA_USER: {
4268 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4270 NDR_PULL_ALLOC(ndr, r->user);
4276 case NETR_DELTA_DELETE_USER: {
4279 case NETR_DELTA_RENAME_USER: {
4280 uint32_t _ptr_rename_user;
4281 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4282 if (_ptr_rename_user) {
4283 NDR_PULL_ALLOC(ndr, r->rename_user);
4285 r->rename_user = NULL;
4289 case NETR_DELTA_GROUP_MEMBER: {
4290 uint32_t _ptr_group_member;
4291 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4292 if (_ptr_group_member) {
4293 NDR_PULL_ALLOC(ndr, r->group_member);
4295 r->group_member = NULL;
4299 case NETR_DELTA_ALIAS: {
4300 uint32_t _ptr_alias;
4301 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4303 NDR_PULL_ALLOC(ndr, r->alias);
4309 case NETR_DELTA_DELETE_ALIAS: {
4312 case NETR_DELTA_RENAME_ALIAS: {
4313 uint32_t _ptr_rename_alias;
4314 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4315 if (_ptr_rename_alias) {
4316 NDR_PULL_ALLOC(ndr, r->rename_alias);
4318 r->rename_alias = NULL;
4322 case NETR_DELTA_ALIAS_MEMBER: {
4323 uint32_t _ptr_alias_member;
4324 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4325 if (_ptr_alias_member) {
4326 NDR_PULL_ALLOC(ndr, r->alias_member);
4328 r->alias_member = NULL;
4332 case NETR_DELTA_POLICY: {
4333 uint32_t _ptr_policy;
4334 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4336 NDR_PULL_ALLOC(ndr, r->policy);
4342 case NETR_DELTA_TRUSTED_DOMAIN: {
4343 uint32_t _ptr_trusted_domain;
4344 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4345 if (_ptr_trusted_domain) {
4346 NDR_PULL_ALLOC(ndr, r->trusted_domain);
4348 r->trusted_domain = NULL;
4352 case NETR_DELTA_DELETE_TRUST: {
4353 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4356 case NETR_DELTA_ACCOUNT: {
4357 uint32_t _ptr_account;
4358 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4360 NDR_PULL_ALLOC(ndr, r->account);
4366 case NETR_DELTA_DELETE_ACCOUNT: {
4367 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4370 case NETR_DELTA_SECRET: {
4371 uint32_t _ptr_secret;
4372 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4374 NDR_PULL_ALLOC(ndr, r->secret);
4380 case NETR_DELTA_DELETE_SECRET: {
4381 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4384 case NETR_DELTA_DELETE_GROUP2: {
4385 uint32_t _ptr_delete_group;
4386 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4387 if (_ptr_delete_group) {
4388 NDR_PULL_ALLOC(ndr, r->delete_group);
4390 r->delete_group = NULL;
4394 case NETR_DELTA_DELETE_USER2: {
4395 uint32_t _ptr_delete_user;
4396 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4397 if (_ptr_delete_user) {
4398 NDR_PULL_ALLOC(ndr, r->delete_user);
4400 r->delete_user = NULL;
4404 case NETR_DELTA_MODIFY_COUNT: {
4405 uint32_t _ptr_modified_count;
4406 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4407 if (_ptr_modified_count) {
4408 NDR_PULL_ALLOC(ndr, r->modified_count);
4410 r->modified_count = NULL;
4415 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4418 if (ndr_flags & NDR_BUFFERS) {
4420 case NETR_DELTA_DOMAIN:
4422 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4423 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4424 NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4429 case NETR_DELTA_GROUP:
4431 _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4432 NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4433 NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4434 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4438 case NETR_DELTA_DELETE_GROUP:
4441 case NETR_DELTA_RENAME_GROUP:
4442 if (r->rename_group) {
4443 _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4444 NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4445 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4450 case NETR_DELTA_USER:
4452 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4453 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4454 NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4459 case NETR_DELTA_DELETE_USER:
4462 case NETR_DELTA_RENAME_USER:
4463 if (r->rename_user) {
4464 _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4465 NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4466 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4467 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4471 case NETR_DELTA_GROUP_MEMBER:
4472 if (r->group_member) {
4473 _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4474 NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4475 NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4480 case NETR_DELTA_ALIAS:
4482 _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4483 NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4484 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4489 case NETR_DELTA_DELETE_ALIAS:
4492 case NETR_DELTA_RENAME_ALIAS:
4493 if (r->rename_alias) {
4494 _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4495 NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4496 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4497 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4501 case NETR_DELTA_ALIAS_MEMBER:
4502 if (r->alias_member) {
4503 _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4504 NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4505 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4510 case NETR_DELTA_POLICY:
4512 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4513 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4514 NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4515 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4519 case NETR_DELTA_TRUSTED_DOMAIN:
4520 if (r->trusted_domain) {
4521 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4522 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4523 NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4528 case NETR_DELTA_DELETE_TRUST:
4531 case NETR_DELTA_ACCOUNT:
4533 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4534 NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4535 NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4536 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4540 case NETR_DELTA_DELETE_ACCOUNT:
4543 case NETR_DELTA_SECRET:
4545 _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4546 NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4547 NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4548 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4552 case NETR_DELTA_DELETE_SECRET:
4555 case NETR_DELTA_DELETE_GROUP2:
4556 if (r->delete_group) {
4557 _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4558 NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4559 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4560 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4564 case NETR_DELTA_DELETE_USER2:
4565 if (r->delete_user) {
4566 _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4567 NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4568 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4569 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4573 case NETR_DELTA_MODIFY_COUNT:
4574 if (r->modified_count) {
4575 _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4576 NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4577 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4578 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4583 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4586 return NDR_ERR_SUCCESS;
4589 _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4592 level = ndr_print_get_switch_value(ndr, r);
4593 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4595 case NETR_DELTA_DOMAIN:
4596 ndr_print_ptr(ndr, "domain", r->domain);
4599 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4604 case NETR_DELTA_GROUP:
4605 ndr_print_ptr(ndr, "group", r->group);
4608 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4613 case NETR_DELTA_DELETE_GROUP:
4616 case NETR_DELTA_RENAME_GROUP:
4617 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4619 if (r->rename_group) {
4620 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4625 case NETR_DELTA_USER:
4626 ndr_print_ptr(ndr, "user", r->user);
4629 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4634 case NETR_DELTA_DELETE_USER:
4637 case NETR_DELTA_RENAME_USER:
4638 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4640 if (r->rename_user) {
4641 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4646 case NETR_DELTA_GROUP_MEMBER:
4647 ndr_print_ptr(ndr, "group_member", r->group_member);
4649 if (r->group_member) {
4650 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4655 case NETR_DELTA_ALIAS:
4656 ndr_print_ptr(ndr, "alias", r->alias);
4659 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4664 case NETR_DELTA_DELETE_ALIAS:
4667 case NETR_DELTA_RENAME_ALIAS:
4668 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4670 if (r->rename_alias) {
4671 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4676 case NETR_DELTA_ALIAS_MEMBER:
4677 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4679 if (r->alias_member) {
4680 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4685 case NETR_DELTA_POLICY:
4686 ndr_print_ptr(ndr, "policy", r->policy);
4689 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4694 case NETR_DELTA_TRUSTED_DOMAIN:
4695 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4697 if (r->trusted_domain) {
4698 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4703 case NETR_DELTA_DELETE_TRUST:
4704 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4707 case NETR_DELTA_ACCOUNT:
4708 ndr_print_ptr(ndr, "account", r->account);
4711 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4716 case NETR_DELTA_DELETE_ACCOUNT:
4717 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4720 case NETR_DELTA_SECRET:
4721 ndr_print_ptr(ndr, "secret", r->secret);
4724 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4729 case NETR_DELTA_DELETE_SECRET:
4730 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4733 case NETR_DELTA_DELETE_GROUP2:
4734 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4736 if (r->delete_group) {
4737 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4742 case NETR_DELTA_DELETE_USER2:
4743 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4745 if (r->delete_user) {
4746 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4751 case NETR_DELTA_MODIFY_COUNT:
4752 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4754 if (r->modified_count) {
4755 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4761 ndr_print_bad_level(ndr, name, level);
4765 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)
4767 if (ndr_flags & NDR_SCALARS) {
4768 int level = ndr_push_get_switch_value(ndr, r);
4769 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4771 case NETR_DELTA_DOMAIN: {
4772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4775 case NETR_DELTA_GROUP: {
4776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4779 case NETR_DELTA_DELETE_GROUP: {
4780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4783 case NETR_DELTA_RENAME_GROUP: {
4784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4787 case NETR_DELTA_USER: {
4788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4791 case NETR_DELTA_DELETE_USER: {
4792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4795 case NETR_DELTA_RENAME_USER: {
4796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4799 case NETR_DELTA_GROUP_MEMBER: {
4800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4803 case NETR_DELTA_ALIAS: {
4804 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4807 case NETR_DELTA_DELETE_ALIAS: {
4808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4811 case NETR_DELTA_RENAME_ALIAS: {
4812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4815 case NETR_DELTA_ALIAS_MEMBER: {
4816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4819 case NETR_DELTA_POLICY: {
4820 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4823 case NETR_DELTA_TRUSTED_DOMAIN: {
4824 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4827 case NETR_DELTA_DELETE_TRUST: {
4828 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4831 case NETR_DELTA_ACCOUNT: {
4832 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4835 case NETR_DELTA_DELETE_ACCOUNT: {
4836 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4839 case NETR_DELTA_SECRET: {
4840 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4843 case NETR_DELTA_DELETE_SECRET: {
4844 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4847 case NETR_DELTA_DELETE_GROUP2: {
4848 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4851 case NETR_DELTA_DELETE_USER2: {
4852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4855 case NETR_DELTA_MODIFY_COUNT: {
4859 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4862 if (ndr_flags & NDR_BUFFERS) {
4863 int level = ndr_push_get_switch_value(ndr, r);
4865 case NETR_DELTA_DOMAIN:
4868 case NETR_DELTA_GROUP:
4871 case NETR_DELTA_DELETE_GROUP:
4874 case NETR_DELTA_RENAME_GROUP:
4877 case NETR_DELTA_USER:
4880 case NETR_DELTA_DELETE_USER:
4883 case NETR_DELTA_RENAME_USER:
4886 case NETR_DELTA_GROUP_MEMBER:
4889 case NETR_DELTA_ALIAS:
4892 case NETR_DELTA_DELETE_ALIAS:
4895 case NETR_DELTA_RENAME_ALIAS:
4898 case NETR_DELTA_ALIAS_MEMBER:
4901 case NETR_DELTA_POLICY:
4903 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4907 case NETR_DELTA_TRUSTED_DOMAIN:
4909 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4913 case NETR_DELTA_DELETE_TRUST:
4915 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4919 case NETR_DELTA_ACCOUNT:
4921 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4925 case NETR_DELTA_DELETE_ACCOUNT:
4927 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4931 case NETR_DELTA_SECRET:
4933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4934 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4935 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4936 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4940 case NETR_DELTA_DELETE_SECRET:
4942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4945 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4949 case NETR_DELTA_DELETE_GROUP2:
4952 case NETR_DELTA_DELETE_USER2:
4955 case NETR_DELTA_MODIFY_COUNT:
4959 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4962 return NDR_ERR_SUCCESS;
4965 static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
4969 TALLOC_CTX *_mem_save_sid_0;
4970 TALLOC_CTX *_mem_save_name_0;
4971 level = ndr_pull_get_switch_value(ndr, r);
4972 if (ndr_flags & NDR_SCALARS) {
4973 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4974 if (_level != level) {
4975 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4978 case NETR_DELTA_DOMAIN: {
4979 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4982 case NETR_DELTA_GROUP: {
4983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4986 case NETR_DELTA_DELETE_GROUP: {
4987 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4990 case NETR_DELTA_RENAME_GROUP: {
4991 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4994 case NETR_DELTA_USER: {
4995 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4998 case NETR_DELTA_DELETE_USER: {
4999 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5002 case NETR_DELTA_RENAME_USER: {
5003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5006 case NETR_DELTA_GROUP_MEMBER: {
5007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5010 case NETR_DELTA_ALIAS: {
5011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5014 case NETR_DELTA_DELETE_ALIAS: {
5015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5018 case NETR_DELTA_RENAME_ALIAS: {
5019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5022 case NETR_DELTA_ALIAS_MEMBER: {
5023 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5026 case NETR_DELTA_POLICY: {
5028 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5030 NDR_PULL_ALLOC(ndr, r->sid);
5036 case NETR_DELTA_TRUSTED_DOMAIN: {
5038 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5040 NDR_PULL_ALLOC(ndr, r->sid);
5046 case NETR_DELTA_DELETE_TRUST: {
5048 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5050 NDR_PULL_ALLOC(ndr, r->sid);
5056 case NETR_DELTA_ACCOUNT: {
5058 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5060 NDR_PULL_ALLOC(ndr, r->sid);
5066 case NETR_DELTA_DELETE_ACCOUNT: {
5068 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5070 NDR_PULL_ALLOC(ndr, r->sid);
5076 case NETR_DELTA_SECRET: {
5078 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5080 NDR_PULL_ALLOC(ndr, r->name);
5086 case NETR_DELTA_DELETE_SECRET: {
5088 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5090 NDR_PULL_ALLOC(ndr, r->name);
5096 case NETR_DELTA_DELETE_GROUP2: {
5097 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5100 case NETR_DELTA_DELETE_USER2: {
5101 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5104 case NETR_DELTA_MODIFY_COUNT: {
5108 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5111 if (ndr_flags & NDR_BUFFERS) {
5113 case NETR_DELTA_DOMAIN:
5116 case NETR_DELTA_GROUP:
5119 case NETR_DELTA_DELETE_GROUP:
5122 case NETR_DELTA_RENAME_GROUP:
5125 case NETR_DELTA_USER:
5128 case NETR_DELTA_DELETE_USER:
5131 case NETR_DELTA_RENAME_USER:
5134 case NETR_DELTA_GROUP_MEMBER:
5137 case NETR_DELTA_ALIAS:
5140 case NETR_DELTA_DELETE_ALIAS:
5143 case NETR_DELTA_RENAME_ALIAS:
5146 case NETR_DELTA_ALIAS_MEMBER:
5149 case NETR_DELTA_POLICY:
5151 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5152 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5153 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5154 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5158 case NETR_DELTA_TRUSTED_DOMAIN:
5160 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5161 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5162 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5163 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5167 case NETR_DELTA_DELETE_TRUST:
5169 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5170 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5171 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5176 case NETR_DELTA_ACCOUNT:
5178 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5179 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5180 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5181 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5185 case NETR_DELTA_DELETE_ACCOUNT:
5187 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5188 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5189 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5190 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5194 case NETR_DELTA_SECRET:
5196 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5197 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5198 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5199 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5200 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5201 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));
5203 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5204 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5209 case NETR_DELTA_DELETE_SECRET:
5211 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5212 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5213 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5214 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5215 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5216 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));
5218 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5219 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5220 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5224 case NETR_DELTA_DELETE_GROUP2:
5227 case NETR_DELTA_DELETE_USER2:
5230 case NETR_DELTA_MODIFY_COUNT:
5234 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5237 return NDR_ERR_SUCCESS;
5240 _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
5243 level = ndr_print_get_switch_value(ndr, r);
5244 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
5246 case NETR_DELTA_DOMAIN:
5247 ndr_print_uint32(ndr, "rid", r->rid);
5250 case NETR_DELTA_GROUP:
5251 ndr_print_uint32(ndr, "rid", r->rid);
5254 case NETR_DELTA_DELETE_GROUP:
5255 ndr_print_uint32(ndr, "rid", r->rid);
5258 case NETR_DELTA_RENAME_GROUP:
5259 ndr_print_uint32(ndr, "rid", r->rid);
5262 case NETR_DELTA_USER:
5263 ndr_print_uint32(ndr, "rid", r->rid);
5266 case NETR_DELTA_DELETE_USER:
5267 ndr_print_uint32(ndr, "rid", r->rid);
5270 case NETR_DELTA_RENAME_USER:
5271 ndr_print_uint32(ndr, "rid", r->rid);
5274 case NETR_DELTA_GROUP_MEMBER:
5275 ndr_print_uint32(ndr, "rid", r->rid);
5278 case NETR_DELTA_ALIAS:
5279 ndr_print_uint32(ndr, "rid", r->rid);
5282 case NETR_DELTA_DELETE_ALIAS:
5283 ndr_print_uint32(ndr, "rid", r->rid);
5286 case NETR_DELTA_RENAME_ALIAS:
5287 ndr_print_uint32(ndr, "rid", r->rid);
5290 case NETR_DELTA_ALIAS_MEMBER:
5291 ndr_print_uint32(ndr, "rid", r->rid);
5294 case NETR_DELTA_POLICY:
5295 ndr_print_ptr(ndr, "sid", r->sid);
5298 ndr_print_dom_sid2(ndr, "sid", r->sid);
5303 case NETR_DELTA_TRUSTED_DOMAIN:
5304 ndr_print_ptr(ndr, "sid", r->sid);
5307 ndr_print_dom_sid2(ndr, "sid", r->sid);
5312 case NETR_DELTA_DELETE_TRUST:
5313 ndr_print_ptr(ndr, "sid", r->sid);
5316 ndr_print_dom_sid2(ndr, "sid", r->sid);
5321 case NETR_DELTA_ACCOUNT:
5322 ndr_print_ptr(ndr, "sid", r->sid);
5325 ndr_print_dom_sid2(ndr, "sid", r->sid);
5330 case NETR_DELTA_DELETE_ACCOUNT:
5331 ndr_print_ptr(ndr, "sid", r->sid);
5334 ndr_print_dom_sid2(ndr, "sid", r->sid);
5339 case NETR_DELTA_SECRET:
5340 ndr_print_ptr(ndr, "name", r->name);
5343 ndr_print_string(ndr, "name", r->name);
5348 case NETR_DELTA_DELETE_SECRET:
5349 ndr_print_ptr(ndr, "name", r->name);
5352 ndr_print_string(ndr, "name", r->name);
5357 case NETR_DELTA_DELETE_GROUP2:
5358 ndr_print_uint32(ndr, "rid", r->rid);
5361 case NETR_DELTA_DELETE_USER2:
5362 ndr_print_uint32(ndr, "rid", r->rid);
5365 case NETR_DELTA_MODIFY_COUNT:
5369 ndr_print_bad_level(ndr, name, level);
5373 static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5375 if (ndr_flags & NDR_SCALARS) {
5376 NDR_CHECK(ndr_push_align(ndr, 4));
5377 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5378 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5379 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5380 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5381 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5383 if (ndr_flags & NDR_BUFFERS) {
5384 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5385 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5387 return NDR_ERR_SUCCESS;
5390 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5392 if (ndr_flags & NDR_SCALARS) {
5393 NDR_CHECK(ndr_pull_align(ndr, 4));
5394 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5395 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5396 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5397 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5398 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5400 if (ndr_flags & NDR_BUFFERS) {
5401 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5402 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5404 return NDR_ERR_SUCCESS;
5407 _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5409 ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5411 ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5412 ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5413 ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5414 ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5415 ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5419 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)
5421 uint32_t cntr_delta_enum_1;
5422 if (ndr_flags & NDR_SCALARS) {
5423 NDR_CHECK(ndr_push_align(ndr, 4));
5424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5425 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5427 if (ndr_flags & NDR_BUFFERS) {
5428 if (r->delta_enum) {
5429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5430 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5431 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5433 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5434 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5438 return NDR_ERR_SUCCESS;
5441 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5443 uint32_t _ptr_delta_enum;
5444 uint32_t cntr_delta_enum_1;
5445 TALLOC_CTX *_mem_save_delta_enum_0;
5446 TALLOC_CTX *_mem_save_delta_enum_1;
5447 if (ndr_flags & NDR_SCALARS) {
5448 NDR_CHECK(ndr_pull_align(ndr, 4));
5449 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5450 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5451 if (_ptr_delta_enum) {
5452 NDR_PULL_ALLOC(ndr, r->delta_enum);
5454 r->delta_enum = NULL;
5457 if (ndr_flags & NDR_BUFFERS) {
5458 if (r->delta_enum) {
5459 _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5460 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5461 NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5462 NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
5463 _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5464 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5465 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5466 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5468 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5469 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5472 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5474 if (r->delta_enum) {
5475 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5478 return NDR_ERR_SUCCESS;
5481 _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5483 uint32_t cntr_delta_enum_1;
5484 ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5486 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5487 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5489 if (r->delta_enum) {
5490 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
5492 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5494 if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) {
5495 ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5505 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)
5508 uint32_t _flags_save_STRUCT = ndr->flags;
5509 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5510 if (ndr_flags & NDR_SCALARS) {
5511 NDR_CHECK(ndr_push_align(ndr, 4));
5512 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5513 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5516 if (ndr_flags & NDR_BUFFERS) {
5518 ndr->flags = _flags_save_STRUCT;
5520 return NDR_ERR_SUCCESS;
5523 static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5526 uint32_t _flags_save_STRUCT = ndr->flags;
5527 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5528 if (ndr_flags & NDR_SCALARS) {
5529 NDR_CHECK(ndr_pull_align(ndr, 4));
5530 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5531 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5532 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5534 if (ndr_flags & NDR_BUFFERS) {
5536 ndr->flags = _flags_save_STRUCT;
5538 return NDR_ERR_SUCCESS;
5541 _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5543 ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5545 uint32_t _flags_save_STRUCT = ndr->flags;
5546 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5548 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5549 ndr_print_uint32(ndr, "timecreated", r->timecreated);
5550 ndr_print_uint32(ndr, "serial_number", r->serial_number);
5552 ndr->flags = _flags_save_STRUCT;
5556 static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5558 if (ndr_flags & NDR_SCALARS) {
5559 NDR_CHECK(ndr_push_align(ndr, 4));
5561 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5562 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5563 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5564 ndr->flags = _flags_save_DATA_BLOB;
5567 if (ndr_flags & NDR_BUFFERS) {
5569 return NDR_ERR_SUCCESS;
5572 static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5574 if (ndr_flags & NDR_SCALARS) {
5575 NDR_CHECK(ndr_pull_align(ndr, 4));
5577 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5578 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5579 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5580 ndr->flags = _flags_save_DATA_BLOB;
5583 if (ndr_flags & NDR_BUFFERS) {
5585 return NDR_ERR_SUCCESS;
5588 _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5590 ndr_print_struct(ndr, name, "netr_AccountBuffer");
5592 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5596 static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5599 return NDR_ERR_SUCCESS;
5602 static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5605 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5607 return NDR_ERR_SUCCESS;
5610 _PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5612 ndr_print_uint32(ndr, name, r);
5614 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_NEEDED", NETLOGON_CTRL_REPL_NEEDED, r);
5615 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_IN_PROGRESS", NETLOGON_CTRL_REPL_IN_PROGRESS, r);
5616 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CTRL_REPL_FULL_SYNC", NETLOGON_CTRL_REPL_FULL_SYNC, r);
5620 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)
5622 if (ndr_flags & NDR_SCALARS) {
5623 NDR_CHECK(ndr_push_align(ndr, 4));
5624 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5627 if (ndr_flags & NDR_BUFFERS) {
5629 return NDR_ERR_SUCCESS;
5632 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5634 if (ndr_flags & NDR_SCALARS) {
5635 NDR_CHECK(ndr_pull_align(ndr, 4));
5636 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5637 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5639 if (ndr_flags & NDR_BUFFERS) {
5641 return NDR_ERR_SUCCESS;
5644 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5646 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5648 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5649 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5653 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)
5655 if (ndr_flags & NDR_SCALARS) {
5656 NDR_CHECK(ndr_push_align(ndr, 4));
5657 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5658 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5659 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tc_connection_status));
5662 if (ndr_flags & NDR_BUFFERS) {
5663 if (r->trusted_dc_name) {
5664 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5666 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5667 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));
5670 return NDR_ERR_SUCCESS;
5673 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5675 uint32_t _ptr_trusted_dc_name;
5676 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5677 if (ndr_flags & NDR_SCALARS) {
5678 NDR_CHECK(ndr_pull_align(ndr, 4));
5679 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5680 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5681 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5682 if (_ptr_trusted_dc_name) {
5683 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5685 r->trusted_dc_name = NULL;
5687 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tc_connection_status));
5689 if (ndr_flags & NDR_BUFFERS) {
5690 if (r->trusted_dc_name) {
5691 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5692 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5693 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5694 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5695 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5696 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));
5698 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5699 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));
5700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5703 return NDR_ERR_SUCCESS;
5706 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5708 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5710 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5711 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5712 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5714 if (r->trusted_dc_name) {
5715 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5718 ndr_print_uint32(ndr, "tc_connection_status", r->tc_connection_status);
5722 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)
5724 if (ndr_flags & NDR_SCALARS) {
5725 NDR_CHECK(ndr_push_align(ndr, 4));
5726 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5728 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5729 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5734 if (ndr_flags & NDR_BUFFERS) {
5736 return NDR_ERR_SUCCESS;
5739 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5741 if (ndr_flags & NDR_SCALARS) {
5742 NDR_CHECK(ndr_pull_align(ndr, 4));
5743 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5744 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5745 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5746 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5747 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5748 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5749 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5751 if (ndr_flags & NDR_BUFFERS) {
5753 return NDR_ERR_SUCCESS;
5756 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5758 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5760 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5761 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5762 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5763 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5764 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5765 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5766 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5770 static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_4(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_4 *r)
5772 if (ndr_flags & NDR_SCALARS) {
5773 NDR_CHECK(ndr_push_align(ndr, 4));
5774 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5775 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain_name));
5777 if (ndr_flags & NDR_BUFFERS) {
5778 if (r->trusted_dc_name) {
5779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5782 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));
5784 if (r->trusted_domain_name) {
5785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5787 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5788 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_domain_name, ndr_charset_length(r->trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5791 return NDR_ERR_SUCCESS;
5794 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_4(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_4 *r)
5796 uint32_t _ptr_trusted_dc_name;
5797 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5798 uint32_t _ptr_trusted_domain_name;
5799 TALLOC_CTX *_mem_save_trusted_domain_name_0;
5800 if (ndr_flags & NDR_SCALARS) {
5801 NDR_CHECK(ndr_pull_align(ndr, 4));
5802 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5803 if (_ptr_trusted_dc_name) {
5804 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5806 r->trusted_dc_name = NULL;
5808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
5809 if (_ptr_trusted_domain_name) {
5810 NDR_PULL_ALLOC(ndr, r->trusted_domain_name);
5812 r->trusted_domain_name = NULL;
5815 if (ndr_flags & NDR_BUFFERS) {
5816 if (r->trusted_dc_name) {
5817 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5818 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5819 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5820 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5821 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5822 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));
5824 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5825 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));
5826 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5828 if (r->trusted_domain_name) {
5829 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5830 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain_name, 0);
5831 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domain_name));
5832 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_domain_name));
5833 if (ndr_get_array_length(ndr, &r->trusted_domain_name) > ndr_get_array_size(ndr, &r->trusted_domain_name)) {
5834 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->trusted_domain_name), ndr_get_array_length(ndr, &r->trusted_domain_name));
5836 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_domain_name), sizeof(uint16_t)));
5837 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_domain_name, ndr_get_array_length(ndr, &r->trusted_domain_name), sizeof(uint16_t), CH_UTF16));
5838 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
5841 return NDR_ERR_SUCCESS;
5844 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_4(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_4 *r)
5846 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_4");
5848 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5850 if (r->trusted_dc_name) {
5851 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5854 ndr_print_ptr(ndr, "trusted_domain_name", r->trusted_domain_name);
5856 if (r->trusted_domain_name) {
5857 ndr_print_string(ndr, "trusted_domain_name", r->trusted_domain_name);
5863 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)
5865 if (ndr_flags & NDR_SCALARS) {
5866 int level = ndr_push_get_switch_value(ndr, r);
5867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5870 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5874 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5878 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5882 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
5886 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5889 if (ndr_flags & NDR_BUFFERS) {
5890 int level = ndr_push_get_switch_value(ndr, r);
5894 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5900 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5906 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5912 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
5917 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5920 return NDR_ERR_SUCCESS;
5923 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5927 TALLOC_CTX *_mem_save_info1_0;
5928 TALLOC_CTX *_mem_save_info2_0;
5929 TALLOC_CTX *_mem_save_info3_0;
5930 TALLOC_CTX *_mem_save_info4_0;
5931 level = ndr_pull_get_switch_value(ndr, r);
5932 if (ndr_flags & NDR_SCALARS) {
5933 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5934 if (_level != level) {
5935 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5939 uint32_t _ptr_info1;
5940 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5942 NDR_PULL_ALLOC(ndr, r->info1);
5949 uint32_t _ptr_info2;
5950 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5952 NDR_PULL_ALLOC(ndr, r->info2);
5959 uint32_t _ptr_info3;
5960 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5962 NDR_PULL_ALLOC(ndr, r->info3);
5969 uint32_t _ptr_info4;
5970 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
5972 NDR_PULL_ALLOC(ndr, r->info4);
5979 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5982 if (ndr_flags & NDR_BUFFERS) {
5986 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5987 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
5988 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
5995 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5996 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
5997 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5998 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
6004 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6005 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
6006 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
6007 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
6013 _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6014 NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
6015 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6016 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
6021 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6024 return NDR_ERR_SUCCESS;
6027 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
6030 level = ndr_print_get_switch_value(ndr, r);
6031 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
6034 ndr_print_ptr(ndr, "info1", r->info1);
6037 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
6043 ndr_print_ptr(ndr, "info2", r->info2);
6046 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
6052 ndr_print_ptr(ndr, "info3", r->info3);
6055 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
6061 ndr_print_ptr(ndr, "info4", r->info4);
6064 ndr_print_netr_NETLOGON_INFO_4(ndr, "info4", r->info4);
6070 ndr_print_bad_level(ndr, name, level);
6074 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
6076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6077 return NDR_ERR_SUCCESS;
6080 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
6083 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6085 return NDR_ERR_SUCCESS;
6088 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
6090 const char *val = NULL;
6093 case NETLOGON_CONTROL_QUERY: val = "NETLOGON_CONTROL_QUERY"; break;
6094 case NETLOGON_CONTROL_REPLICATE: val = "NETLOGON_CONTROL_REPLICATE"; break;
6095 case NETLOGON_CONTROL_SYNCHRONIZE: val = "NETLOGON_CONTROL_SYNCHRONIZE"; break;
6096 case NETLOGON_CONTROL_PDC_REPLICATE: val = "NETLOGON_CONTROL_PDC_REPLICATE"; break;
6097 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
6098 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
6099 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
6100 case NETLOGON_CONTROL_FIND_USER: val = "NETLOGON_CONTROL_FIND_USER"; break;
6101 case NETLOGON_CONTROL_CHANGE_PASSWORD: val = "NETLOGON_CONTROL_CHANGE_PASSWORD"; break;
6102 case NETLOGON_CONTROL_TC_VERIFY: val = "NETLOGON_CONTROL_TC_VERIFY"; break;
6103 case NETLOGON_CONTROL_FORCE_DNS_REG: val = "NETLOGON_CONTROL_FORCE_DNS_REG"; break;
6104 case NETLOGON_CONTROL_QUERY_DNS_REG: val = "NETLOGON_CONTROL_QUERY_DNS_REG"; break;
6105 case NETLOGON_CONTROL_BACKUP_CHANGE_LOG: val = "NETLOGON_CONTROL_BACKUP_CHANGE_LOG"; break;
6106 case NETLOGON_CONTROL_TRUNCATE_LOG: val = "NETLOGON_CONTROL_TRUNCATE_LOG"; break;
6107 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
6108 case NETLOGON_CONTROL_BREAKPOINT: val = "NETLOGON_CONTROL_BREAKPOINT"; break;
6110 ndr_print_enum(ndr, name, "ENUM", val, r);
6113 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)
6115 if (ndr_flags & NDR_SCALARS) {
6116 int level = ndr_push_get_switch_value(ndr, r);
6117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6119 case NETLOGON_CONTROL_REDISCOVER: {
6120 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6123 case NETLOGON_CONTROL_TC_QUERY: {
6124 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6127 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6128 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6131 case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6132 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6135 case NETLOGON_CONTROL_TC_VERIFY: {
6136 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6139 case NETLOGON_CONTROL_FIND_USER: {
6140 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
6143 case NETLOGON_CONTROL_SET_DBFLAG: {
6144 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
6148 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6151 if (ndr_flags & NDR_BUFFERS) {
6152 int level = ndr_push_get_switch_value(ndr, r);
6154 case NETLOGON_CONTROL_REDISCOVER:
6156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, 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->domain, CH_UTF16)));
6159 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6163 case NETLOGON_CONTROL_TC_QUERY:
6165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6168 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6172 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, 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->domain, CH_UTF16)));
6177 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6181 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6186 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6190 case NETLOGON_CONTROL_TC_VERIFY:
6192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6195 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6199 case NETLOGON_CONTROL_FIND_USER:
6201 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6202 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6204 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6208 case NETLOGON_CONTROL_SET_DBFLAG:
6212 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6215 return NDR_ERR_SUCCESS;
6218 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
6222 TALLOC_CTX *_mem_save_domain_0;
6223 TALLOC_CTX *_mem_save_user_0;
6224 level = ndr_pull_get_switch_value(ndr, r);
6225 if (ndr_flags & NDR_SCALARS) {
6226 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6227 if (_level != level) {
6228 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6231 case NETLOGON_CONTROL_REDISCOVER: {
6232 uint32_t _ptr_domain;
6233 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6235 NDR_PULL_ALLOC(ndr, r->domain);
6241 case NETLOGON_CONTROL_TC_QUERY: {
6242 uint32_t _ptr_domain;
6243 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6245 NDR_PULL_ALLOC(ndr, r->domain);
6251 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6252 uint32_t _ptr_domain;
6253 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6255 NDR_PULL_ALLOC(ndr, r->domain);
6261 case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6262 uint32_t _ptr_domain;
6263 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6265 NDR_PULL_ALLOC(ndr, r->domain);
6271 case NETLOGON_CONTROL_TC_VERIFY: {
6272 uint32_t _ptr_domain;
6273 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6275 NDR_PULL_ALLOC(ndr, r->domain);
6281 case NETLOGON_CONTROL_FIND_USER: {
6283 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
6285 NDR_PULL_ALLOC(ndr, r->user);
6291 case NETLOGON_CONTROL_SET_DBFLAG: {
6292 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
6296 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6299 if (ndr_flags & NDR_BUFFERS) {
6301 case NETLOGON_CONTROL_REDISCOVER:
6303 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6304 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6305 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6306 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6307 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6308 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));
6310 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6311 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6316 case NETLOGON_CONTROL_TC_QUERY:
6318 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6319 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6320 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6321 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6322 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6323 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));
6325 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6326 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6331 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6333 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6334 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6335 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6336 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6337 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6338 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));
6340 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6341 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6342 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6346 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6348 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6349 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6350 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6351 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6352 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6353 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));
6355 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6356 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6357 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6361 case NETLOGON_CONTROL_TC_VERIFY:
6363 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6364 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6365 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6366 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6367 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6368 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));
6370 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6371 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6372 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6376 case NETLOGON_CONTROL_FIND_USER:
6378 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
6379 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
6380 NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
6381 NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
6382 if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
6383 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
6385 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
6386 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
6387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
6391 case NETLOGON_CONTROL_SET_DBFLAG:
6395 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
6398 return NDR_ERR_SUCCESS;
6401 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
6404 level = ndr_print_get_switch_value(ndr, r);
6405 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
6407 case NETLOGON_CONTROL_REDISCOVER:
6408 ndr_print_ptr(ndr, "domain", r->domain);
6411 ndr_print_string(ndr, "domain", r->domain);
6416 case NETLOGON_CONTROL_TC_QUERY:
6417 ndr_print_ptr(ndr, "domain", r->domain);
6420 ndr_print_string(ndr, "domain", r->domain);
6425 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6426 ndr_print_ptr(ndr, "domain", r->domain);
6429 ndr_print_string(ndr, "domain", r->domain);
6434 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6435 ndr_print_ptr(ndr, "domain", r->domain);
6438 ndr_print_string(ndr, "domain", r->domain);
6443 case NETLOGON_CONTROL_TC_VERIFY:
6444 ndr_print_ptr(ndr, "domain", r->domain);
6447 ndr_print_string(ndr, "domain", r->domain);
6452 case NETLOGON_CONTROL_FIND_USER:
6453 ndr_print_ptr(ndr, "user", r->user);
6456 ndr_print_string(ndr, "user", r->user);
6461 case NETLOGON_CONTROL_SET_DBFLAG:
6462 ndr_print_uint32(ndr, "debug_level", r->debug_level);
6466 ndr_print_bad_level(ndr, name, level);
6470 _PUBLIC_ enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6473 return NDR_ERR_SUCCESS;
6476 _PUBLIC_ enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6479 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6481 return NDR_ERR_SUCCESS;
6484 _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6486 ndr_print_uint32(ndr, name, r);
6488 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
6489 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
6490 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
6491 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
6492 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
6493 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
6494 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
6495 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
6496 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
6497 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
6498 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
6499 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
6500 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
6501 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
6502 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_STRONG_KEYS", NETLOGON_NEG_STRONG_KEYS, r);
6503 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
6504 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
6505 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
6506 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
6507 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
6508 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
6509 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
6510 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES_SHA2", NETLOGON_NEG_SUPPORTS_AES_SHA2, r);
6511 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES", NETLOGON_NEG_SUPPORTS_AES, r);
6512 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
6513 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC", NETLOGON_NEG_AUTHENTICATED_RPC, r);
6517 static enum ndr_err_code ndr_push_SyncStateEnum(struct ndr_push *ndr, int ndr_flags, enum SyncStateEnum r)
6519 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6520 return NDR_ERR_SUCCESS;
6523 static enum ndr_err_code ndr_pull_SyncStateEnum(struct ndr_pull *ndr, int ndr_flags, enum SyncStateEnum *r)
6526 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6528 return NDR_ERR_SUCCESS;
6531 _PUBLIC_ void ndr_print_SyncStateEnum(struct ndr_print *ndr, const char *name, enum SyncStateEnum r)
6533 const char *val = NULL;
6536 case SYNCSTATE_NORMAL_STATE: val = "SYNCSTATE_NORMAL_STATE"; break;
6537 case SYNCSTATE_DOMAIN_STATE: val = "SYNCSTATE_DOMAIN_STATE"; break;
6538 case SYNCSTATE_GROUP_STATE: val = "SYNCSTATE_GROUP_STATE"; break;
6539 case SYNCSTATE_UAS_BUILT_IN_GROUP_STATE: val = "SYNCSTATE_UAS_BUILT_IN_GROUP_STATE"; break;
6540 case SYNCSTATE_USER_STATE: val = "SYNCSTATE_USER_STATE"; break;
6541 case SYNCSTATE_GROUP_MEMBER_STATE: val = "SYNCSTATE_GROUP_MEMBER_STATE"; break;
6542 case SYNCSTATE_ALIAS_STATE: val = "SYNCSTATE_ALIAS_STATE"; break;
6543 case SYNCSTATE_ALIAS_MEMBER_STATE: val = "SYNCSTATE_ALIAS_MEMBER_STATE"; break;
6544 case SYNCSTATE_SAM_DONE_STATE: val = "SYNCSTATE_SAM_DONE_STATE"; break;
6546 ndr_print_enum(ndr, name, "ENUM", val, r);
6549 static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
6551 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6552 return NDR_ERR_SUCCESS;
6555 static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
6558 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6560 return NDR_ERR_SUCCESS;
6563 _PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r)
6565 ndr_print_uint16(ndr, name, r);
6567 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r);
6568 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r);
6569 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r);
6570 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r);
6571 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r);
6575 static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r)
6577 if (ndr_flags & NDR_SCALARS) {
6578 int level = ndr_push_get_switch_value(ndr, r);
6580 case NETR_CHANGELOG_SID_INCLUDED: {
6581 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6584 case NETR_CHANGELOG_NAME_INCLUDED: {
6586 uint32_t _flags_save_string = ndr->flags;
6587 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6588 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name));
6589 ndr->flags = _flags_save_string;
6598 if (ndr_flags & NDR_BUFFERS) {
6599 int level = ndr_push_get_switch_value(ndr, r);
6601 case NETR_CHANGELOG_SID_INCLUDED:
6604 case NETR_CHANGELOG_NAME_INCLUDED:
6612 return NDR_ERR_SUCCESS;
6615 static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r)
6618 level = ndr_pull_get_switch_value(ndr, r);
6619 if (ndr_flags & NDR_SCALARS) {
6621 case NETR_CHANGELOG_SID_INCLUDED: {
6622 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6625 case NETR_CHANGELOG_NAME_INCLUDED: {
6627 uint32_t _flags_save_string = ndr->flags;
6628 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6629 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name));
6630 ndr->flags = _flags_save_string;
6639 if (ndr_flags & NDR_BUFFERS) {
6641 case NETR_CHANGELOG_SID_INCLUDED:
6644 case NETR_CHANGELOG_NAME_INCLUDED:
6652 return NDR_ERR_SUCCESS;
6655 _PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r)
6658 level = ndr_print_get_switch_value(ndr, r);
6659 ndr_print_union(ndr, name, level, "netr_ChangeLogObject");
6661 case NETR_CHANGELOG_SID_INCLUDED:
6662 ndr_print_dom_sid(ndr, "object_sid", &r->object_sid);
6665 case NETR_CHANGELOG_NAME_INCLUDED:
6666 ndr_print_string(ndr, "object_name", r->object_name);
6675 _PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r)
6677 if (ndr_flags & NDR_SCALARS) {
6678 NDR_CHECK(ndr_push_align(ndr, 4));
6679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1));
6680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2));
6681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid));
6682 NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
6683 NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index));
6684 NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type));
6685 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6686 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6688 if (ndr_flags & NDR_BUFFERS) {
6689 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6691 return NDR_ERR_SUCCESS;
6694 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r)
6696 if (ndr_flags & NDR_SCALARS) {
6697 NDR_CHECK(ndr_pull_align(ndr, 4));
6698 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1));
6699 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2));
6700 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid));
6701 NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
6702 NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index));
6703 NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type));
6704 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6705 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6707 if (ndr_flags & NDR_BUFFERS) {
6708 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6710 return NDR_ERR_SUCCESS;
6713 _PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r)
6715 ndr_print_struct(ndr, name, "netr_ChangeLogEntry");
6717 ndr_print_uint32(ndr, "serial_number1", r->serial_number1);
6718 ndr_print_uint32(ndr, "serial_number2", r->serial_number2);
6719 ndr_print_uint32(ndr, "object_rid", r->object_rid);
6720 ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags);
6721 ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index);
6722 ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type);
6723 ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED));
6724 ndr_print_netr_ChangeLogObject(ndr, "object", &r->object);
6728 _PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, struct smb_iconv_convenience *ic, int flags)
6730 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry, ic);
6733 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
6735 if (ndr_flags & NDR_SCALARS) {
6736 NDR_CHECK(ndr_push_align(ndr, 4));
6737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6738 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6740 if (ndr_flags & NDR_BUFFERS) {
6742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6743 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
6746 return NDR_ERR_SUCCESS;
6749 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
6752 TALLOC_CTX *_mem_save_data_0;
6753 if (ndr_flags & NDR_SCALARS) {
6754 NDR_CHECK(ndr_pull_align(ndr, 4));
6755 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
6756 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6758 NDR_PULL_ALLOC(ndr, r->data);
6763 if (ndr_flags & NDR_BUFFERS) {
6765 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6766 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6767 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6768 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6769 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
6770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6773 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6776 return NDR_ERR_SUCCESS;
6779 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6781 ndr_print_struct(ndr, name, "netr_Blob");
6783 ndr_print_uint32(ndr, "length", r->length);
6784 ndr_print_ptr(ndr, "data", r->data);
6787 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6793 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6796 return NDR_ERR_SUCCESS;
6799 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6804 return NDR_ERR_SUCCESS;
6807 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6809 ndr_print_uint32(ndr, name, r);
6811 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6812 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6813 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6814 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6815 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6816 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6817 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6818 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6819 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6820 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6821 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6822 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6823 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6824 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6825 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6826 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6827 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6828 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6829 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6833 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6836 return NDR_ERR_SUCCESS;
6839 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6842 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6844 return NDR_ERR_SUCCESS;
6847 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6849 const char *val = NULL;
6852 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6853 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6855 ndr_print_enum(ndr, name, "ENUM", val, r);
6858 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6861 return NDR_ERR_SUCCESS;
6864 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6867 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6869 return NDR_ERR_SUCCESS;
6872 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6874 ndr_print_uint32(ndr, name, r);
6876 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6877 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6878 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6879 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6880 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6881 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6882 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6883 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6884 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6885 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6886 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6887 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6888 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6889 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6890 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6894 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6896 if (ndr_flags & NDR_SCALARS) {
6897 NDR_CHECK(ndr_push_align(ndr, 4));
6898 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6899 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6900 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6901 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6902 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6903 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6904 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6905 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6906 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6908 if (ndr_flags & NDR_BUFFERS) {
6910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6911 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6913 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6915 if (r->dc_address) {
6916 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6919 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6921 if (r->domain_name) {
6922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6923 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6925 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6927 if (r->forest_name) {
6928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6931 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6933 if (r->dc_site_name) {
6934 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6935 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6937 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));
6939 if (r->client_site_name) {
6940 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6941 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6943 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));
6946 return NDR_ERR_SUCCESS;
6949 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6951 uint32_t _ptr_dc_unc;
6952 TALLOC_CTX *_mem_save_dc_unc_0;
6953 uint32_t _ptr_dc_address;
6954 TALLOC_CTX *_mem_save_dc_address_0;
6955 uint32_t _ptr_domain_name;
6956 TALLOC_CTX *_mem_save_domain_name_0;
6957 uint32_t _ptr_forest_name;
6958 TALLOC_CTX *_mem_save_forest_name_0;
6959 uint32_t _ptr_dc_site_name;
6960 TALLOC_CTX *_mem_save_dc_site_name_0;
6961 uint32_t _ptr_client_site_name;
6962 TALLOC_CTX *_mem_save_client_site_name_0;
6963 if (ndr_flags & NDR_SCALARS) {
6964 NDR_CHECK(ndr_pull_align(ndr, 4));
6965 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6967 NDR_PULL_ALLOC(ndr, r->dc_unc);
6971 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6972 if (_ptr_dc_address) {
6973 NDR_PULL_ALLOC(ndr, r->dc_address);
6975 r->dc_address = NULL;
6977 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6978 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6979 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6980 if (_ptr_domain_name) {
6981 NDR_PULL_ALLOC(ndr, r->domain_name);
6983 r->domain_name = NULL;
6985 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
6986 if (_ptr_forest_name) {
6987 NDR_PULL_ALLOC(ndr, r->forest_name);
6989 r->forest_name = NULL;
6991 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
6992 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
6993 if (_ptr_dc_site_name) {
6994 NDR_PULL_ALLOC(ndr, r->dc_site_name);
6996 r->dc_site_name = NULL;
6998 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
6999 if (_ptr_client_site_name) {
7000 NDR_PULL_ALLOC(ndr, r->client_site_name);
7002 r->client_site_name = NULL;
7005 if (ndr_flags & NDR_BUFFERS) {
7007 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
7008 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
7009 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
7010 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
7011 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
7012 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));
7014 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
7015 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
7016 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
7018 if (r->dc_address) {
7019 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
7020 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
7021 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
7022 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
7023 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
7024 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));
7026 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
7027 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
7028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
7030 if (r->domain_name) {
7031 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7032 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
7033 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
7034 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
7035 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
7036 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));
7038 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
7039 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
7040 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
7042 if (r->forest_name) {
7043 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7044 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
7045 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
7046 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
7047 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
7048 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));
7050 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
7051 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
7052 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
7054 if (r->dc_site_name) {
7055 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7056 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
7057 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
7058 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
7059 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
7060 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));
7062 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
7063 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));
7064 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
7066 if (r->client_site_name) {
7067 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7068 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
7069 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
7070 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
7071 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
7072 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));
7074 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
7075 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));
7076 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
7079 return NDR_ERR_SUCCESS;
7082 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
7084 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
7086 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
7089 ndr_print_string(ndr, "dc_unc", r->dc_unc);
7092 ndr_print_ptr(ndr, "dc_address", r->dc_address);
7094 if (r->dc_address) {
7095 ndr_print_string(ndr, "dc_address", r->dc_address);
7098 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
7099 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
7100 ndr_print_ptr(ndr, "domain_name", r->domain_name);
7102 if (r->domain_name) {
7103 ndr_print_string(ndr, "domain_name", r->domain_name);
7106 ndr_print_ptr(ndr, "forest_name", r->forest_name);
7108 if (r->forest_name) {
7109 ndr_print_string(ndr, "forest_name", r->forest_name);
7112 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
7113 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
7115 if (r->dc_site_name) {
7116 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
7119 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
7121 if (r->client_site_name) {
7122 ndr_print_string(ndr, "client_site_name", r->client_site_name);
7128 static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r)
7130 if (ndr_flags & NDR_SCALARS) {
7131 int level = ndr_push_get_switch_value(ndr, r);
7132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7135 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities));
7139 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7142 if (ndr_flags & NDR_BUFFERS) {
7143 int level = ndr_push_get_switch_value(ndr, r);
7149 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7152 return NDR_ERR_SUCCESS;
7155 static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r)
7159 level = ndr_pull_get_switch_value(ndr, r);
7160 if (ndr_flags & NDR_SCALARS) {
7161 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7162 if (_level != level) {
7163 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7167 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities));
7171 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7174 if (ndr_flags & NDR_BUFFERS) {
7180 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7183 return NDR_ERR_SUCCESS;
7186 _PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r)
7189 level = ndr_print_get_switch_value(ndr, r);
7190 ndr_print_union(ndr, name, level, "netr_Capabilities");
7193 ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities);
7197 ndr_print_bad_level(ndr, name, level);
7201 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7204 return NDR_ERR_SUCCESS;
7207 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7210 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7212 return NDR_ERR_SUCCESS;
7215 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7217 ndr_print_uint32(ndr, name, r);
7219 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7220 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7221 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7222 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7223 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7224 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7225 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_MIT_KRB5", NETR_TRUST_FLAG_MIT_KRB5, r);
7226 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_AES", NETR_TRUST_FLAG_AES, r);
7230 static enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7233 return NDR_ERR_SUCCESS;
7236 static enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7239 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7241 return NDR_ERR_SUCCESS;
7244 _PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7246 ndr_print_uint32(ndr, name, r);
7248 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
7249 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
7253 static enum ndr_err_code ndr_push_netr_SuiteMask(struct ndr_push *ndr, int ndr_flags, uint16_t r)
7255 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
7256 return NDR_ERR_SUCCESS;
7259 static enum ndr_err_code ndr_pull_netr_SuiteMask(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
7262 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
7264 return NDR_ERR_SUCCESS;
7267 _PUBLIC_ void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r)
7269 ndr_print_uint16(ndr, name, r);
7271 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BACKOFFICE", NETR_VER_SUITE_BACKOFFICE, r);
7272 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BLADE", NETR_VER_SUITE_BLADE, r);
7273 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_COMPUTE_SERVER", NETR_VER_SUITE_COMPUTE_SERVER, r);
7274 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_DATACENTER", NETR_VER_SUITE_DATACENTER, r);
7275 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_ENTERPRISE", NETR_VER_SUITE_ENTERPRISE, r);
7276 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_EMBEDDEDNT", NETR_VER_SUITE_EMBEDDEDNT, r);
7277 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_PERSONAL", NETR_VER_SUITE_PERSONAL, r);
7278 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SINGLEUSERTS", NETR_VER_SUITE_SINGLEUSERTS, r);
7279 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS", NETR_VER_SUITE_SMALLBUSINESS, r);
7280 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED", NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED, r);
7281 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_STORAGE_SERVER", NETR_VER_SUITE_STORAGE_SERVER, r);
7282 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_TERMINAL", NETR_VER_SUITE_TERMINAL, r);
7283 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_WH_SERVER", NETR_VER_SUITE_WH_SERVER, r);
7287 static enum ndr_err_code ndr_push_netr_ProductType(struct ndr_push *ndr, int ndr_flags, uint8_t r)
7289 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
7290 return NDR_ERR_SUCCESS;
7293 static enum ndr_err_code ndr_pull_netr_ProductType(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
7296 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
7298 return NDR_ERR_SUCCESS;
7301 _PUBLIC_ void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r)
7303 ndr_print_uint8(ndr, name, r);
7305 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_DOMAIN_CONTROLLER", NETR_VER_NT_DOMAIN_CONTROLLER, r);
7306 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_SERVER", NETR_VER_NT_SERVER, r);
7307 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_WORKSTATION", NETR_VER_NT_WORKSTATION, r);
7311 static enum ndr_err_code ndr_push_netr_LsaPolicyInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInformation *r)
7313 if (ndr_flags & NDR_SCALARS) {
7314 NDR_CHECK(ndr_push_align(ndr, 4));
7315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7316 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
7318 if (ndr_flags & NDR_BUFFERS) {
7320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7321 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
7324 return NDR_ERR_SUCCESS;
7327 static enum ndr_err_code ndr_pull_netr_LsaPolicyInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInformation *r)
7329 uint32_t _ptr_policy;
7330 TALLOC_CTX *_mem_save_policy_0;
7331 if (ndr_flags & NDR_SCALARS) {
7332 NDR_CHECK(ndr_pull_align(ndr, 4));
7333 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
7334 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
7336 NDR_PULL_ALLOC(ndr, r->policy);
7341 if (ndr_flags & NDR_BUFFERS) {
7343 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
7344 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
7345 NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
7346 NDR_PULL_ALLOC_N(ndr, r->policy, ndr_get_array_size(ndr, &r->policy));
7347 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, ndr_get_array_size(ndr, &r->policy)));
7348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
7351 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->policy, r->policy_size));
7354 return NDR_ERR_SUCCESS;
7357 _PUBLIC_ void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r)
7359 ndr_print_struct(ndr, name, "netr_LsaPolicyInformation");
7361 ndr_print_uint32(ndr, "policy_size", r->policy_size);
7362 ndr_print_ptr(ndr, "policy", r->policy);
7365 ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
7371 static enum ndr_err_code ndr_push_netr_OsVersionInfoEx(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionInfoEx *r)
7373 if (ndr_flags & NDR_SCALARS) {
7374 NDR_CHECK(ndr_push_align(ndr, 4));
7375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 284));
7376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MajorVersion));
7377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MinorVersion));
7378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BuildNumber));
7379 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PlatformId));
7380 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->CSDVersion, 128, sizeof(uint16_t), CH_UTF16));
7381 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMajor));
7382 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMinor));
7383 NDR_CHECK(ndr_push_netr_SuiteMask(ndr, NDR_SCALARS, r->SuiteMask));
7384 NDR_CHECK(ndr_push_netr_ProductType(ndr, NDR_SCALARS, r->ProductType));
7385 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Reserved));
7387 if (ndr_flags & NDR_BUFFERS) {
7389 return NDR_ERR_SUCCESS;
7392 static enum ndr_err_code ndr_pull_netr_OsVersionInfoEx(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionInfoEx *r)
7394 if (ndr_flags & NDR_SCALARS) {
7395 NDR_CHECK(ndr_pull_align(ndr, 4));
7396 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OSVersionInfoSize));
7397 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MajorVersion));
7398 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion));
7399 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BuildNumber));
7400 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PlatformId));
7401 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->CSDVersion, 128, sizeof(uint16_t), CH_UTF16));
7402 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMajor));
7403 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMinor));
7404 NDR_CHECK(ndr_pull_netr_SuiteMask(ndr, NDR_SCALARS, &r->SuiteMask));
7405 NDR_CHECK(ndr_pull_netr_ProductType(ndr, NDR_SCALARS, &r->ProductType));
7406 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Reserved));
7408 if (ndr_flags & NDR_BUFFERS) {
7410 return NDR_ERR_SUCCESS;
7413 _PUBLIC_ void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r)
7415 ndr_print_struct(ndr, name, "netr_OsVersionInfoEx");
7417 ndr_print_uint32(ndr, "OSVersionInfoSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?284:r->OSVersionInfoSize);
7418 ndr_print_uint32(ndr, "MajorVersion", r->MajorVersion);
7419 ndr_print_uint32(ndr, "MinorVersion", r->MinorVersion);
7420 ndr_print_uint32(ndr, "BuildNumber", r->BuildNumber);
7421 ndr_print_uint32(ndr, "PlatformId", r->PlatformId);
7422 ndr_print_string(ndr, "CSDVersion", r->CSDVersion);
7423 ndr_print_uint16(ndr, "ServicePackMajor", r->ServicePackMajor);
7424 ndr_print_uint16(ndr, "ServicePackMinor", r->ServicePackMinor);
7425 ndr_print_netr_SuiteMask(ndr, "SuiteMask", r->SuiteMask);
7426 ndr_print_netr_ProductType(ndr, "ProductType", r->ProductType);
7427 ndr_print_uint8(ndr, "Reserved", r->Reserved);
7431 static enum ndr_err_code ndr_push_netr_OsVersion(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersion *r)
7433 if (ndr_flags & NDR_SCALARS) {
7434 NDR_CHECK(ndr_push_align(ndr, 4));
7435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
7436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
7438 NDR_CHECK(ndr_push_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
7440 if (ndr_flags & NDR_BUFFERS) {
7442 return NDR_ERR_SUCCESS;
7445 static enum ndr_err_code ndr_pull_netr_OsVersion(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersion *r)
7447 if (ndr_flags & NDR_SCALARS) {
7448 NDR_CHECK(ndr_pull_align(ndr, 4));
7449 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7450 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7451 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7452 NDR_CHECK(ndr_pull_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
7454 if (ndr_flags & NDR_BUFFERS) {
7456 return NDR_ERR_SUCCESS;
7459 _PUBLIC_ void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r)
7461 ndr_print_struct(ndr, name, "netr_OsVersion");
7463 ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->length);
7464 ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7465 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->size);
7466 ndr_print_netr_OsVersionInfoEx(ndr, "os", &r->os);
7470 static enum ndr_err_code ndr_push_netr_OsVersionContainer(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionContainer *r)
7472 if (ndr_flags & NDR_SCALARS) {
7473 NDR_CHECK(ndr_push_align(ndr, 4));
7474 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
7475 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
7476 NDR_CHECK(ndr_push_unique_ptr(ndr, r->os));
7478 if (ndr_flags & NDR_BUFFERS) {
7480 NDR_CHECK(ndr_push_netr_OsVersion(ndr, NDR_SCALARS, r->os));
7483 return NDR_ERR_SUCCESS;
7486 static enum ndr_err_code ndr_pull_netr_OsVersionContainer(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionContainer *r)
7489 TALLOC_CTX *_mem_save_os_0;
7490 if (ndr_flags & NDR_SCALARS) {
7491 NDR_CHECK(ndr_pull_align(ndr, 4));
7492 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
7493 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
7494 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_os));
7496 NDR_PULL_ALLOC(ndr, r->os);
7501 if (ndr_flags & NDR_BUFFERS) {
7503 _mem_save_os_0 = NDR_PULL_GET_MEM_CTX(ndr);
7504 NDR_PULL_SET_MEM_CTX(ndr, r->os, 0);
7505 NDR_CHECK(ndr_pull_netr_OsVersion(ndr, NDR_SCALARS, r->os));
7506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_os_0, 0);
7509 return NDR_ERR_SUCCESS;
7512 _PUBLIC_ void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r)
7514 ndr_print_struct(ndr, name, "netr_OsVersionContainer");
7516 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->length);
7517 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->size);
7518 ndr_print_ptr(ndr, "os", r->os);
7521 ndr_print_netr_OsVersion(ndr, "os", r->os);
7527 static enum ndr_err_code ndr_push_netr_WorkstationInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_WorkstationInformation *r)
7529 if (ndr_flags & NDR_SCALARS) {
7530 NDR_CHECK(ndr_push_align(ndr, 4));
7531 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
7532 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_hostname));
7533 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7534 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy1));
7535 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy2));
7536 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy3));
7537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy4));
7538 NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
7539 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->os_name));
7540 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
7541 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
7542 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
7543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
7544 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
7545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
7547 if (ndr_flags & NDR_BUFFERS) {
7548 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
7549 if (r->dns_hostname) {
7550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
7551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
7553 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_hostname, ndr_charset_length(r->dns_hostname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
7557 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7558 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
7559 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sitename, ndr_charset_length(r->sitename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7562 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
7563 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
7565 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy1, ndr_charset_length(r->dummy1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
7569 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7570 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
7571 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy2, ndr_charset_length(r->dummy2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
7575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
7577 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy3, ndr_charset_length(r->dummy3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
7581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7582 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
7583 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy4, ndr_charset_length(r->dummy4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7585 NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
7586 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
7587 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
7588 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
7590 return NDR_ERR_SUCCESS;
7593 static enum ndr_err_code ndr_pull_netr_WorkstationInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_WorkstationInformation *r)
7595 uint32_t _ptr_dns_hostname;
7596 TALLOC_CTX *_mem_save_dns_hostname_0;
7597 uint32_t _ptr_sitename;
7598 TALLOC_CTX *_mem_save_sitename_0;
7599 uint32_t _ptr_dummy1;
7600 TALLOC_CTX *_mem_save_dummy1_0;
7601 uint32_t _ptr_dummy2;
7602 TALLOC_CTX *_mem_save_dummy2_0;
7603 uint32_t _ptr_dummy3;
7604 TALLOC_CTX *_mem_save_dummy3_0;
7605 uint32_t _ptr_dummy4;
7606 TALLOC_CTX *_mem_save_dummy4_0;
7607 if (ndr_flags & NDR_SCALARS) {
7608 NDR_CHECK(ndr_pull_align(ndr, 4));
7609 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
7610 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_hostname));
7611 if (_ptr_dns_hostname) {
7612 NDR_PULL_ALLOC(ndr, r->dns_hostname);
7614 r->dns_hostname = NULL;
7616 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7617 if (_ptr_sitename) {
7618 NDR_PULL_ALLOC(ndr, r->sitename);
7622 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy1));
7624 NDR_PULL_ALLOC(ndr, r->dummy1);
7628 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy2));
7630 NDR_PULL_ALLOC(ndr, r->dummy2);
7634 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy3));
7636 NDR_PULL_ALLOC(ndr, r->dummy3);
7640 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy4));
7642 NDR_PULL_ALLOC(ndr, r->dummy4);
7646 NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
7647 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->os_name));
7648 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
7649 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
7650 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
7651 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
7652 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
7653 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
7655 if (ndr_flags & NDR_BUFFERS) {
7656 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
7657 if (r->dns_hostname) {
7658 _mem_save_dns_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7659 NDR_PULL_SET_MEM_CTX(ndr, r->dns_hostname, 0);
7660 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_hostname));
7661 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_hostname));
7662 if (ndr_get_array_length(ndr, &r->dns_hostname) > ndr_get_array_size(ndr, &r->dns_hostname)) {
7663 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_hostname), ndr_get_array_length(ndr, &r->dns_hostname));
7665 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t)));
7666 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_hostname, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t), CH_UTF16));
7667 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_hostname_0, 0);
7670 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7671 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7672 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7673 NDR_CHECK(ndr_pull_array_length(ndr, &r->sitename));
7674 if (ndr_get_array_length(ndr, &r->sitename) > ndr_get_array_size(ndr, &r->sitename)) {
7675 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->sitename), ndr_get_array_length(ndr, &r->sitename));
7677 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t)));
7678 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sitename, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t), CH_UTF16));
7679 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7682 _mem_save_dummy1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7683 NDR_PULL_SET_MEM_CTX(ndr, r->dummy1, 0);
7684 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy1));
7685 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy1));
7686 if (ndr_get_array_length(ndr, &r->dummy1) > ndr_get_array_size(ndr, &r->dummy1)) {
7687 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy1), ndr_get_array_length(ndr, &r->dummy1));
7689 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t)));
7690 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy1, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t), CH_UTF16));
7691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy1_0, 0);
7694 _mem_save_dummy2_0 = NDR_PULL_GET_MEM_CTX(ndr);
7695 NDR_PULL_SET_MEM_CTX(ndr, r->dummy2, 0);
7696 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy2));
7697 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy2));
7698 if (ndr_get_array_length(ndr, &r->dummy2) > ndr_get_array_size(ndr, &r->dummy2)) {
7699 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy2), ndr_get_array_length(ndr, &r->dummy2));
7701 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t)));
7702 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy2, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t), CH_UTF16));
7703 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy2_0, 0);
7706 _mem_save_dummy3_0 = NDR_PULL_GET_MEM_CTX(ndr);
7707 NDR_PULL_SET_MEM_CTX(ndr, r->dummy3, 0);
7708 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy3));
7709 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy3));
7710 if (ndr_get_array_length(ndr, &r->dummy3) > ndr_get_array_size(ndr, &r->dummy3)) {
7711 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy3), ndr_get_array_length(ndr, &r->dummy3));
7713 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t)));
7714 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy3, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t), CH_UTF16));
7715 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy3_0, 0);
7718 _mem_save_dummy4_0 = NDR_PULL_GET_MEM_CTX(ndr);
7719 NDR_PULL_SET_MEM_CTX(ndr, r->dummy4, 0);
7720 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy4));
7721 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy4));
7722 if (ndr_get_array_length(ndr, &r->dummy4) > ndr_get_array_size(ndr, &r->dummy4)) {
7723 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy4), ndr_get_array_length(ndr, &r->dummy4));
7725 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t)));
7726 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy4, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t), CH_UTF16));
7727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy4_0, 0);
7729 NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
7730 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
7731 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
7732 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
7734 return NDR_ERR_SUCCESS;
7737 _PUBLIC_ void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r)
7739 ndr_print_struct(ndr, name, "netr_WorkstationInformation");
7741 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
7742 ndr_print_ptr(ndr, "dns_hostname", r->dns_hostname);
7744 if (r->dns_hostname) {
7745 ndr_print_string(ndr, "dns_hostname", r->dns_hostname);
7748 ndr_print_ptr(ndr, "sitename", r->sitename);
7751 ndr_print_string(ndr, "sitename", r->sitename);
7754 ndr_print_ptr(ndr, "dummy1", r->dummy1);
7757 ndr_print_string(ndr, "dummy1", r->dummy1);
7760 ndr_print_ptr(ndr, "dummy2", r->dummy2);
7763 ndr_print_string(ndr, "dummy2", r->dummy2);
7766 ndr_print_ptr(ndr, "dummy3", r->dummy3);
7769 ndr_print_string(ndr, "dummy3", r->dummy3);
7772 ndr_print_ptr(ndr, "dummy4", r->dummy4);
7775 ndr_print_string(ndr, "dummy4", r->dummy4);
7778 ndr_print_netr_OsVersionContainer(ndr, "os_version", &r->os_version);
7779 ndr_print_lsa_String(ndr, "os_name", &r->os_name);
7780 ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
7781 ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
7782 ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
7783 ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
7784 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
7785 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
7789 static enum ndr_err_code ndr_push_netr_WorkstationInfo(struct ndr_push *ndr, int ndr_flags, const union netr_WorkstationInfo *r)
7791 if (ndr_flags & NDR_SCALARS) {
7792 int level = ndr_push_get_switch_value(ndr, r);
7793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7796 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_info));
7800 NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
7804 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7807 if (ndr_flags & NDR_BUFFERS) {
7808 int level = ndr_push_get_switch_value(ndr, r);
7811 if (r->workstation_info) {
7812 NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
7817 if (r->lsa_policy_info) {
7818 NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
7823 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7826 return NDR_ERR_SUCCESS;
7829 static enum ndr_err_code ndr_pull_netr_WorkstationInfo(struct ndr_pull *ndr, int ndr_flags, union netr_WorkstationInfo *r)
7833 TALLOC_CTX *_mem_save_workstation_info_0;
7834 TALLOC_CTX *_mem_save_lsa_policy_info_0;
7835 level = ndr_pull_get_switch_value(ndr, r);
7836 if (ndr_flags & NDR_SCALARS) {
7837 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7838 if (_level != level) {
7839 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7843 uint32_t _ptr_workstation_info;
7844 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_info));
7845 if (_ptr_workstation_info) {
7846 NDR_PULL_ALLOC(ndr, r->workstation_info);
7848 r->workstation_info = NULL;
7853 uint32_t _ptr_lsa_policy_info;
7854 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
7855 if (_ptr_lsa_policy_info) {
7856 NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
7858 r->lsa_policy_info = NULL;
7863 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7866 if (ndr_flags & NDR_BUFFERS) {
7869 if (r->workstation_info) {
7870 _mem_save_workstation_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7871 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_info, 0);
7872 NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
7873 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_info_0, 0);
7878 if (r->lsa_policy_info) {
7879 _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7880 NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
7881 NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
7882 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
7887 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7890 return NDR_ERR_SUCCESS;
7893 _PUBLIC_ void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r)
7896 level = ndr_print_get_switch_value(ndr, r);
7897 ndr_print_union(ndr, name, level, "netr_WorkstationInfo");
7900 ndr_print_ptr(ndr, "workstation_info", r->workstation_info);
7902 if (r->workstation_info) {
7903 ndr_print_netr_WorkstationInformation(ndr, "workstation_info", r->workstation_info);
7909 ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
7911 if (r->lsa_policy_info) {
7912 ndr_print_netr_WorkstationInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
7918 ndr_print_bad_level(ndr, name, level);
7922 static enum ndr_err_code ndr_push_netr_trust_extension(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension *r)
7924 if (ndr_flags & NDR_SCALARS) {
7925 NDR_CHECK(ndr_push_align(ndr, 4));
7926 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7929 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->flags));
7930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7931 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_type));
7932 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_attributes));
7934 if (ndr_flags & NDR_BUFFERS) {
7936 return NDR_ERR_SUCCESS;
7939 static enum ndr_err_code ndr_pull_netr_trust_extension(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension *r)
7941 if (ndr_flags & NDR_SCALARS) {
7942 NDR_CHECK(ndr_pull_align(ndr, 4));
7943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7944 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7945 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7946 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->flags));
7947 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7948 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_type));
7949 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_attributes));
7951 if (ndr_flags & NDR_BUFFERS) {
7953 return NDR_ERR_SUCCESS;
7956 _PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r)
7958 ndr_print_struct(ndr, name, "netr_trust_extension");
7960 ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->length);
7961 ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7962 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->size);
7963 ndr_print_netr_TrustFlags(ndr, "flags", r->flags);
7964 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7965 ndr_print_uint32(ndr, "trust_type", r->trust_type);
7966 ndr_print_uint32(ndr, "trust_attributes", r->trust_attributes);
7970 static enum ndr_err_code ndr_push_netr_trust_extension_container(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension_container *r)
7972 if (ndr_flags & NDR_SCALARS) {
7973 NDR_CHECK(ndr_push_align(ndr, 4));
7974 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
7975 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
7976 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
7978 if (ndr_flags & NDR_BUFFERS) {
7980 NDR_CHECK(ndr_push_netr_trust_extension(ndr, NDR_SCALARS, r->info));
7983 return NDR_ERR_SUCCESS;
7986 static enum ndr_err_code ndr_pull_netr_trust_extension_container(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_container *r)
7989 TALLOC_CTX *_mem_save_info_0;
7990 if (ndr_flags & NDR_SCALARS) {
7991 NDR_CHECK(ndr_pull_align(ndr, 4));
7992 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
7993 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
7994 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
7996 NDR_PULL_ALLOC(ndr, r->info);
8001 if (ndr_flags & NDR_BUFFERS) {
8003 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8004 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8005 NDR_CHECK(ndr_pull_netr_trust_extension(ndr, NDR_SCALARS, r->info));
8006 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8009 return NDR_ERR_SUCCESS;
8012 _PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r)
8014 ndr_print_struct(ndr, name, "netr_trust_extension_container");
8016 ndr_print_uint16(ndr, "length", r->length);
8017 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
8018 ndr_print_ptr(ndr, "info", r->info);
8021 ndr_print_netr_trust_extension(ndr, "info", r->info);
8027 static enum ndr_err_code ndr_push_netr_OneDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_OneDomainInfo *r)
8029 if (ndr_flags & NDR_SCALARS) {
8030 NDR_CHECK(ndr_push_align(ndr, 4));
8031 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
8032 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
8033 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_forestname));
8034 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8035 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
8036 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8037 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8038 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8039 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8040 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long1));
8041 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
8042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8045 if (ndr_flags & NDR_BUFFERS) {
8046 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
8047 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
8048 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_forestname));
8049 if (r->domain_sid) {
8050 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8052 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8053 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8054 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8055 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8057 return NDR_ERR_SUCCESS;
8060 static enum ndr_err_code ndr_pull_netr_OneDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_OneDomainInfo *r)
8062 uint32_t _ptr_domain_sid;
8063 TALLOC_CTX *_mem_save_domain_sid_0;
8064 if (ndr_flags & NDR_SCALARS) {
8065 NDR_CHECK(ndr_pull_align(ndr, 4));
8066 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
8067 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
8068 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_forestname));
8069 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8070 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
8071 if (_ptr_domain_sid) {
8072 NDR_PULL_ALLOC(ndr, r->domain_sid);
8074 r->domain_sid = NULL;
8076 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8077 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8078 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8079 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8080 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long1));
8081 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
8082 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8083 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8085 if (ndr_flags & NDR_BUFFERS) {
8086 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
8087 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
8088 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_forestname));
8089 if (r->domain_sid) {
8090 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8091 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
8092 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
8095 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8096 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8097 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8098 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8100 return NDR_ERR_SUCCESS;
8103 _PUBLIC_ void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r)
8105 ndr_print_struct(ndr, name, "netr_OneDomainInfo");
8107 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
8108 ndr_print_lsa_String(ndr, "dns_domainname", &r->dns_domainname);
8109 ndr_print_lsa_String(ndr, "dns_forestname", &r->dns_forestname);
8110 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
8111 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
8113 if (r->domain_sid) {
8114 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
8117 ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
8118 ndr_print_lsa_String(ndr, "dummy_string2", &r->dummy_string2);
8119 ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
8120 ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
8121 ndr_print_uint32(ndr, "dummy_long1", r->dummy_long1);
8122 ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
8123 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8124 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8128 static enum ndr_err_code ndr_push_netr_DomainInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInformation *r)
8130 uint32_t cntr_trusted_domains_1;
8131 if (ndr_flags & NDR_SCALARS) {
8132 NDR_CHECK(ndr_push_align(ndr, 4));
8133 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
8135 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domains));
8136 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8137 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
8138 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8139 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8140 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8141 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
8142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->supported_enc_types));
8143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8144 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8146 if (ndr_flags & NDR_BUFFERS) {
8147 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8148 if (r->trusted_domains) {
8149 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
8150 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8151 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8153 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8154 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8157 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8158 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
8159 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8160 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8161 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8163 return NDR_ERR_SUCCESS;
8166 static enum ndr_err_code ndr_pull_netr_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInformation *r)
8168 uint32_t _ptr_trusted_domains;
8169 uint32_t cntr_trusted_domains_1;
8170 TALLOC_CTX *_mem_save_trusted_domains_0;
8171 TALLOC_CTX *_mem_save_trusted_domains_1;
8172 if (ndr_flags & NDR_SCALARS) {
8173 NDR_CHECK(ndr_pull_align(ndr, 4));
8174 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8175 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trusted_domain_count));
8176 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domains));
8177 if (_ptr_trusted_domains) {
8178 NDR_PULL_ALLOC(ndr, r->trusted_domains);
8180 r->trusted_domains = NULL;
8182 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8183 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
8184 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8185 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8186 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8187 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
8188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->supported_enc_types));
8189 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8190 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8192 if (ndr_flags & NDR_BUFFERS) {
8193 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8194 if (r->trusted_domains) {
8195 _mem_save_trusted_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
8196 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8197 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domains));
8198 NDR_PULL_ALLOC_N(ndr, r->trusted_domains, ndr_get_array_size(ndr, &r->trusted_domains));
8199 _mem_save_trusted_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
8200 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8201 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8202 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8204 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8205 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_1, 0);
8208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_0, 0);
8210 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8211 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
8212 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8213 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8214 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8215 if (r->trusted_domains) {
8216 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusted_domains, r->trusted_domain_count));
8219 return NDR_ERR_SUCCESS;
8222 _PUBLIC_ void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r)
8224 uint32_t cntr_trusted_domains_1;
8225 ndr_print_struct(ndr, name, "netr_DomainInformation");
8227 ndr_print_netr_OneDomainInfo(ndr, "primary_domain", &r->primary_domain);
8228 ndr_print_uint32(ndr, "trusted_domain_count", r->trusted_domain_count);
8229 ndr_print_ptr(ndr, "trusted_domains", r->trusted_domains);
8231 if (r->trusted_domains) {
8232 ndr->print(ndr, "%s: ARRAY(%d)", "trusted_domains", (int)r->trusted_domain_count);
8234 for (cntr_trusted_domains_1=0;cntr_trusted_domains_1<r->trusted_domain_count;cntr_trusted_domains_1++) {
8236 if (asprintf(&idx_1, "[%d]", cntr_trusted_domains_1) != -1) {
8237 ndr_print_netr_OneDomainInfo(ndr, "trusted_domains", &r->trusted_domains[cntr_trusted_domains_1]);
8244 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
8245 ndr_print_lsa_String(ndr, "dns_hostname", &r->dns_hostname);
8246 ndr_print_lsa_String(ndr, "dummy_string2", &r->dummy_string2);
8247 ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
8248 ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
8249 ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
8250 ndr_print_uint32(ndr, "supported_enc_types", r->supported_enc_types);
8251 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8252 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8256 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
8258 if (ndr_flags & NDR_SCALARS) {
8259 int level = ndr_push_get_switch_value(ndr, r);
8260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8263 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_info));
8267 NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
8271 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8274 if (ndr_flags & NDR_BUFFERS) {
8275 int level = ndr_push_get_switch_value(ndr, r);
8278 if (r->domain_info) {
8279 NDR_CHECK(ndr_push_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8284 if (r->lsa_policy_info) {
8285 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8290 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8293 return NDR_ERR_SUCCESS;
8296 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
8300 TALLOC_CTX *_mem_save_domain_info_0;
8301 TALLOC_CTX *_mem_save_lsa_policy_info_0;
8302 level = ndr_pull_get_switch_value(ndr, r);
8303 if (ndr_flags & NDR_SCALARS) {
8304 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8305 if (_level != level) {
8306 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8310 uint32_t _ptr_domain_info;
8311 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_info));
8312 if (_ptr_domain_info) {
8313 NDR_PULL_ALLOC(ndr, r->domain_info);
8315 r->domain_info = NULL;
8320 uint32_t _ptr_lsa_policy_info;
8321 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
8322 if (_ptr_lsa_policy_info) {
8323 NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
8325 r->lsa_policy_info = NULL;
8330 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8333 if (ndr_flags & NDR_BUFFERS) {
8336 if (r->domain_info) {
8337 _mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8338 NDR_PULL_SET_MEM_CTX(ndr, r->domain_info, 0);
8339 NDR_CHECK(ndr_pull_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8340 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, 0);
8345 if (r->lsa_policy_info) {
8346 _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8347 NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
8348 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
8354 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8357 return NDR_ERR_SUCCESS;
8360 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
8363 level = ndr_print_get_switch_value(ndr, r);
8364 ndr_print_union(ndr, name, level, "netr_DomainInfo");
8367 ndr_print_ptr(ndr, "domain_info", r->domain_info);
8369 if (r->domain_info) {
8370 ndr_print_netr_DomainInformation(ndr, "domain_info", r->domain_info);
8376 ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
8378 if (r->lsa_policy_info) {
8379 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
8385 ndr_print_bad_level(ndr, name, level);
8389 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
8392 uint32_t _flags_save_STRUCT = ndr->flags;
8393 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8394 if (ndr_flags & NDR_SCALARS) {
8395 NDR_CHECK(ndr_push_align(ndr, 4));
8396 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
8399 if (ndr_flags & NDR_BUFFERS) {
8401 ndr->flags = _flags_save_STRUCT;
8403 return NDR_ERR_SUCCESS;
8406 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
8409 uint32_t _flags_save_STRUCT = ndr->flags;
8410 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8411 if (ndr_flags & NDR_SCALARS) {
8412 NDR_CHECK(ndr_pull_align(ndr, 4));
8413 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8414 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
8416 if (ndr_flags & NDR_BUFFERS) {
8418 ndr->flags = _flags_save_STRUCT;
8420 return NDR_ERR_SUCCESS;
8423 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
8425 ndr_print_struct(ndr, name, "netr_CryptPassword");
8427 uint32_t _flags_save_STRUCT = ndr->flags;
8428 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8430 ndr_print_array_uint8(ndr, "data", r->data, 512);
8431 ndr_print_uint32(ndr, "length", r->length);
8433 ndr->flags = _flags_save_STRUCT;
8437 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
8439 uint32_t cntr_sitename_1;
8440 if (ndr_flags & NDR_SCALARS) {
8441 NDR_CHECK(ndr_push_align(ndr, 4));
8442 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8443 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8445 if (ndr_flags & NDR_BUFFERS) {
8447 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8448 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8449 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8451 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8452 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8456 return NDR_ERR_SUCCESS;
8459 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
8461 uint32_t _ptr_sitename;
8462 uint32_t cntr_sitename_1;
8463 TALLOC_CTX *_mem_save_sitename_0;
8464 TALLOC_CTX *_mem_save_sitename_1;
8465 if (ndr_flags & NDR_SCALARS) {
8466 NDR_CHECK(ndr_pull_align(ndr, 4));
8467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8468 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8469 if (_ptr_sitename) {
8470 NDR_PULL_ALLOC(ndr, r->sitename);
8475 if (ndr_flags & NDR_BUFFERS) {
8477 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8478 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8479 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8480 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8481 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8482 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8483 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8484 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8486 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8487 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8490 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8493 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8496 return NDR_ERR_SUCCESS;
8499 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
8501 uint32_t cntr_sitename_1;
8502 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
8504 ndr_print_uint32(ndr, "count", r->count);
8505 ndr_print_ptr(ndr, "sitename", r->sitename);
8508 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8510 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8512 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8513 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8523 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
8525 if (ndr_flags & NDR_SCALARS) {
8526 NDR_CHECK(ndr_push_align(ndr, 4));
8527 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
8528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8530 if (ndr_flags & NDR_BUFFERS) {
8532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8533 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
8536 return NDR_ERR_SUCCESS;
8539 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
8541 uint32_t _ptr_buffer;
8542 TALLOC_CTX *_mem_save_buffer_0;
8543 if (ndr_flags & NDR_SCALARS) {
8544 NDR_CHECK(ndr_pull_align(ndr, 4));
8545 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
8547 NDR_PULL_ALLOC(ndr, r->buffer);
8551 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8553 if (ndr_flags & NDR_BUFFERS) {
8555 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
8556 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
8557 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
8558 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
8559 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
8560 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
8563 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
8566 return NDR_ERR_SUCCESS;
8569 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
8571 ndr_print_struct(ndr, name, "netr_DsRAddress");
8573 ndr_print_ptr(ndr, "buffer", r->buffer);
8576 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
8579 ndr_print_uint32(ndr, "size", r->size);
8583 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
8585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8586 return NDR_ERR_SUCCESS;
8589 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
8592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8594 return NDR_ERR_SUCCESS;
8597 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
8599 const char *val = NULL;
8602 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
8603 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
8604 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
8605 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
8607 ndr_print_enum(ndr, name, "ENUM", val, r);
8610 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8613 return NDR_ERR_SUCCESS;
8616 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8621 return NDR_ERR_SUCCESS;
8624 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
8626 ndr_print_uint32(ndr, name, r);
8628 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
8629 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
8630 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
8631 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
8632 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
8633 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
8634 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
8638 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
8640 if (ndr_flags & NDR_SCALARS) {
8641 NDR_CHECK(ndr_push_align(ndr, 4));
8642 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
8643 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
8644 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
8645 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
8646 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
8647 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
8648 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
8649 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8651 if (ndr_flags & NDR_BUFFERS) {
8652 if (r->netbios_name) {
8653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8656 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8659 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8660 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8661 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8662 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8665 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8668 return NDR_ERR_SUCCESS;
8671 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
8673 uint32_t _ptr_netbios_name;
8674 TALLOC_CTX *_mem_save_netbios_name_0;
8675 uint32_t _ptr_dns_name;
8676 TALLOC_CTX *_mem_save_dns_name_0;
8678 TALLOC_CTX *_mem_save_sid_0;
8679 if (ndr_flags & NDR_SCALARS) {
8680 NDR_CHECK(ndr_pull_align(ndr, 4));
8681 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
8682 if (_ptr_netbios_name) {
8683 NDR_PULL_ALLOC(ndr, r->netbios_name);
8685 r->netbios_name = NULL;
8687 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
8688 if (_ptr_dns_name) {
8689 NDR_PULL_ALLOC(ndr, r->dns_name);
8693 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
8694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
8695 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
8696 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
8697 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
8699 NDR_PULL_ALLOC(ndr, r->sid);
8703 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8705 if (ndr_flags & NDR_BUFFERS) {
8706 if (r->netbios_name) {
8707 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8708 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
8709 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
8710 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
8711 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
8712 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));
8714 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
8715 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
8716 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
8719 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8720 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
8721 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
8722 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
8723 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
8724 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));
8726 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
8727 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
8728 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
8731 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8732 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
8733 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8734 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
8737 return NDR_ERR_SUCCESS;
8740 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
8742 ndr_print_struct(ndr, name, "netr_DomainTrust");
8744 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
8746 if (r->netbios_name) {
8747 ndr_print_string(ndr, "netbios_name", r->netbios_name);
8750 ndr_print_ptr(ndr, "dns_name", r->dns_name);
8753 ndr_print_string(ndr, "dns_name", r->dns_name);
8756 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
8757 ndr_print_uint32(ndr, "parent_index", r->parent_index);
8758 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
8759 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
8760 ndr_print_ptr(ndr, "sid", r->sid);
8763 ndr_print_dom_sid2(ndr, "sid", r->sid);
8766 ndr_print_GUID(ndr, "guid", &r->guid);
8770 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
8772 uint32_t cntr_array_1;
8773 if (ndr_flags & NDR_SCALARS) {
8774 NDR_CHECK(ndr_push_align(ndr, 4));
8775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8776 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8778 if (ndr_flags & NDR_BUFFERS) {
8780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8781 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8782 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8784 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8785 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8789 return NDR_ERR_SUCCESS;
8792 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
8794 uint32_t _ptr_array;
8795 uint32_t cntr_array_1;
8796 TALLOC_CTX *_mem_save_array_0;
8797 TALLOC_CTX *_mem_save_array_1;
8798 if (ndr_flags & NDR_SCALARS) {
8799 NDR_CHECK(ndr_pull_align(ndr, 4));
8800 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8801 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8803 NDR_PULL_ALLOC(ndr, r->array);
8808 if (ndr_flags & NDR_BUFFERS) {
8810 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8811 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8812 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8813 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8814 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8815 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8816 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8817 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8819 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8820 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8822 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8823 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8826 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8829 return NDR_ERR_SUCCESS;
8832 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
8834 uint32_t cntr_array_1;
8835 ndr_print_struct(ndr, name, "netr_DomainTrustList");
8837 ndr_print_uint32(ndr, "count", r->count);
8838 ndr_print_ptr(ndr, "array", r->array);
8841 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8843 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8845 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8846 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
8856 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
8858 uint32_t cntr_sitename_1;
8859 uint32_t cntr_subnetname_1;
8860 if (ndr_flags & NDR_SCALARS) {
8861 NDR_CHECK(ndr_push_align(ndr, 4));
8862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8863 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8864 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
8866 if (ndr_flags & NDR_BUFFERS) {
8868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8869 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8870 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8872 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8873 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8876 if (r->subnetname) {
8877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8878 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8879 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8881 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8882 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8886 return NDR_ERR_SUCCESS;
8889 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
8891 uint32_t _ptr_sitename;
8892 uint32_t cntr_sitename_1;
8893 TALLOC_CTX *_mem_save_sitename_0;
8894 TALLOC_CTX *_mem_save_sitename_1;
8895 uint32_t _ptr_subnetname;
8896 uint32_t cntr_subnetname_1;
8897 TALLOC_CTX *_mem_save_subnetname_0;
8898 TALLOC_CTX *_mem_save_subnetname_1;
8899 if (ndr_flags & NDR_SCALARS) {
8900 NDR_CHECK(ndr_pull_align(ndr, 4));
8901 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8902 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8903 if (_ptr_sitename) {
8904 NDR_PULL_ALLOC(ndr, r->sitename);
8908 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
8909 if (_ptr_subnetname) {
8910 NDR_PULL_ALLOC(ndr, r->subnetname);
8912 r->subnetname = NULL;
8915 if (ndr_flags & NDR_BUFFERS) {
8917 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8918 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8919 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8920 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8921 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8922 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8923 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8924 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8926 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8927 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8929 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8930 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8932 if (r->subnetname) {
8933 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
8934 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8935 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
8936 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
8937 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
8938 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8939 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8940 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8942 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8943 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8945 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
8946 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
8949 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8951 if (r->subnetname) {
8952 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
8955 return NDR_ERR_SUCCESS;
8958 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
8960 uint32_t cntr_sitename_1;
8961 uint32_t cntr_subnetname_1;
8962 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
8964 ndr_print_uint32(ndr, "count", r->count);
8965 ndr_print_ptr(ndr, "sitename", r->sitename);
8968 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8970 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8972 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8973 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8980 ndr_print_ptr(ndr, "subnetname", r->subnetname);
8982 if (r->subnetname) {
8983 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
8985 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
8987 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
8988 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
8998 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
9000 uint32_t cntr_sites_1;
9001 if (ndr_flags & NDR_SCALARS) {
9002 NDR_CHECK(ndr_push_align(ndr, 4));
9003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
9004 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
9006 if (ndr_flags & NDR_BUFFERS) {
9008 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
9009 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9010 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9012 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9013 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9017 return NDR_ERR_SUCCESS;
9020 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
9022 uint32_t _ptr_sites;
9023 uint32_t cntr_sites_1;
9024 TALLOC_CTX *_mem_save_sites_0;
9025 TALLOC_CTX *_mem_save_sites_1;
9026 if (ndr_flags & NDR_SCALARS) {
9027 NDR_CHECK(ndr_pull_align(ndr, 4));
9028 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
9029 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
9031 NDR_PULL_ALLOC(ndr, r->sites);
9036 if (ndr_flags & NDR_BUFFERS) {
9038 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
9039 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9040 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
9041 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
9042 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
9043 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9044 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9045 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9047 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9048 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9050 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
9051 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
9054 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
9057 return NDR_ERR_SUCCESS;
9060 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
9062 uint32_t cntr_sites_1;
9063 ndr_print_struct(ndr, name, "DcSitesCtr");
9065 ndr_print_uint32(ndr, "num_sites", r->num_sites);
9066 ndr_print_ptr(ndr, "sites", r->sites);
9069 ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
9071 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
9073 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
9074 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
9084 static enum ndr_err_code ndr_push_netr_TrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_TrustInfo *r)
9086 uint32_t cntr_data_1;
9087 uint32_t cntr_entries_1;
9088 if (ndr_flags & NDR_SCALARS) {
9089 NDR_CHECK(ndr_push_align(ndr, 4));
9090 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9091 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
9092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entry_count));
9093 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
9095 if (ndr_flags & NDR_BUFFERS) {
9097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9098 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data[cntr_data_1]));
9103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9104 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9105 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9107 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9108 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9112 return NDR_ERR_SUCCESS;
9115 static enum ndr_err_code ndr_pull_netr_TrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_TrustInfo *r)
9118 uint32_t cntr_data_1;
9119 TALLOC_CTX *_mem_save_data_0;
9120 TALLOC_CTX *_mem_save_data_1;
9121 uint32_t _ptr_entries;
9122 uint32_t cntr_entries_1;
9123 TALLOC_CTX *_mem_save_entries_0;
9124 TALLOC_CTX *_mem_save_entries_1;
9125 if (ndr_flags & NDR_SCALARS) {
9126 NDR_CHECK(ndr_pull_align(ndr, 4));
9127 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9128 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
9130 NDR_PULL_ALLOC(ndr, r->data);
9134 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entry_count));
9135 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
9137 NDR_PULL_ALLOC(ndr, r->entries);
9142 if (ndr_flags & NDR_BUFFERS) {
9144 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
9145 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9146 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
9147 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
9148 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
9149 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9150 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
9153 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
9154 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
9157 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9158 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9159 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
9160 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
9161 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
9162 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9163 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9164 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9166 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9167 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
9170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
9173 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->count));
9176 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
9179 return NDR_ERR_SUCCESS;
9182 _PUBLIC_ void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r)
9184 uint32_t cntr_data_1;
9185 uint32_t cntr_entries_1;
9186 ndr_print_struct(ndr, name, "netr_TrustInfo");
9188 ndr_print_uint32(ndr, "count", r->count);
9189 ndr_print_ptr(ndr, "data", r->data);
9192 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->count);
9194 for (cntr_data_1=0;cntr_data_1<r->count;cntr_data_1++) {
9196 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
9197 ndr_print_uint32(ndr, "data", r->data[cntr_data_1]);
9204 ndr_print_uint32(ndr, "entry_count", r->entry_count);
9205 ndr_print_ptr(ndr, "entries", r->entries);
9208 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
9210 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
9212 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
9213 ndr_print_lsa_String(ndr, "entries", &r->entries[cntr_entries_1]);
9223 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
9225 if (flags & NDR_IN) {
9226 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9227 if (r->in.server_name) {
9228 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9231 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));
9233 if (r->in.account_name == NULL) {
9234 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9239 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));
9240 if (r->in.workstation == NULL) {
9241 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9246 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9248 if (flags & NDR_OUT) {
9249 if (r->out.info == NULL) {
9250 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9252 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9254 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9256 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9258 return NDR_ERR_SUCCESS;
9261 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
9263 uint32_t _ptr_server_name;
9265 TALLOC_CTX *_mem_save_server_name_0;
9266 TALLOC_CTX *_mem_save_info_0;
9267 TALLOC_CTX *_mem_save_info_1;
9268 if (flags & NDR_IN) {
9269 ZERO_STRUCT(r->out);
9271 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9272 if (_ptr_server_name) {
9273 NDR_PULL_ALLOC(ndr, r->in.server_name);
9275 r->in.server_name = NULL;
9277 if (r->in.server_name) {
9278 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9279 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9280 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9281 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9282 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9283 return 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));
9285 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9286 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));
9287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9289 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9290 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9291 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9292 return 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));
9294 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9295 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));
9296 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9297 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9298 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
9299 return 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));
9301 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
9302 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
9303 NDR_PULL_ALLOC(ndr, r->out.info);
9304 ZERO_STRUCTP(r->out.info);
9306 if (flags & NDR_OUT) {
9307 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9308 NDR_PULL_ALLOC(ndr, r->out.info);
9310 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9311 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9312 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9314 NDR_PULL_ALLOC(ndr, *r->out.info);
9316 *r->out.info = NULL;
9319 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9320 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9321 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9322 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9324 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9325 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9327 return NDR_ERR_SUCCESS;
9330 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
9332 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
9334 if (flags & NDR_SET_VALUES) {
9335 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9337 if (flags & NDR_IN) {
9338 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
9340 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9342 if (r->in.server_name) {
9343 ndr_print_string(ndr, "server_name", r->in.server_name);
9346 ndr_print_ptr(ndr, "account_name", r->in.account_name);
9348 ndr_print_string(ndr, "account_name", r->in.account_name);
9350 ndr_print_ptr(ndr, "workstation", r->in.workstation);
9352 ndr_print_string(ndr, "workstation", r->in.workstation);
9356 if (flags & NDR_OUT) {
9357 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
9359 ndr_print_ptr(ndr, "info", r->out.info);
9361 ndr_print_ptr(ndr, "info", *r->out.info);
9364 ndr_print_netr_UasInfo(ndr, "info", *r->out.info);
9368 ndr_print_WERROR(ndr, "result", r->out.result);
9374 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
9376 if (flags & NDR_IN) {
9377 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9378 if (r->in.server_name) {
9379 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9382 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));
9384 if (r->in.account_name == NULL) {
9385 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9390 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));
9391 if (r->in.workstation == NULL) {
9392 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9397 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9399 if (flags & NDR_OUT) {
9400 if (r->out.info == NULL) {
9401 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9403 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9404 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9406 return NDR_ERR_SUCCESS;
9409 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
9411 uint32_t _ptr_server_name;
9412 TALLOC_CTX *_mem_save_server_name_0;
9413 TALLOC_CTX *_mem_save_info_0;
9414 if (flags & NDR_IN) {
9415 ZERO_STRUCT(r->out);
9417 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9418 if (_ptr_server_name) {
9419 NDR_PULL_ALLOC(ndr, r->in.server_name);
9421 r->in.server_name = NULL;
9423 if (r->in.server_name) {
9424 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9425 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9426 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9427 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9428 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9429 return 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));
9431 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9432 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));
9433 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9435 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9436 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9437 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9438 return 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));
9440 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9441 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));
9442 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9443 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9444 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
9445 return 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));
9447 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
9448 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
9449 NDR_PULL_ALLOC(ndr, r->out.info);
9450 ZERO_STRUCTP(r->out.info);
9452 if (flags & NDR_OUT) {
9453 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9454 NDR_PULL_ALLOC(ndr, r->out.info);
9456 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9457 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9458 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9459 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9460 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9462 return NDR_ERR_SUCCESS;
9465 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
9467 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
9469 if (flags & NDR_SET_VALUES) {
9470 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9472 if (flags & NDR_IN) {
9473 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
9475 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9477 if (r->in.server_name) {
9478 ndr_print_string(ndr, "server_name", r->in.server_name);
9481 ndr_print_ptr(ndr, "account_name", r->in.account_name);
9483 ndr_print_string(ndr, "account_name", r->in.account_name);
9485 ndr_print_ptr(ndr, "workstation", r->in.workstation);
9487 ndr_print_string(ndr, "workstation", r->in.workstation);
9491 if (flags & NDR_OUT) {
9492 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
9494 ndr_print_ptr(ndr, "info", r->out.info);
9496 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
9498 ndr_print_WERROR(ndr, "result", r->out.result);
9504 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
9506 if (flags & NDR_IN) {
9507 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9508 if (r->in.server_name) {
9509 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9510 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9512 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));
9514 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9515 if (r->in.computer_name) {
9516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9519 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));
9521 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9522 if (r->in.credential) {
9523 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9525 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9526 if (r->in.return_authenticator) {
9527 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9529 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9530 if (r->in.logon == NULL) {
9531 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9533 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9534 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9535 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
9537 if (flags & NDR_OUT) {
9538 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9539 if (r->out.return_authenticator) {
9540 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9542 if (r->out.validation == NULL) {
9543 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9545 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9546 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9547 if (r->out.authoritative == NULL) {
9548 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9550 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
9551 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9553 return NDR_ERR_SUCCESS;
9556 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
9558 uint32_t _ptr_server_name;
9559 uint32_t _ptr_computer_name;
9560 uint32_t _ptr_credential;
9561 uint32_t _ptr_return_authenticator;
9562 TALLOC_CTX *_mem_save_server_name_0;
9563 TALLOC_CTX *_mem_save_computer_name_0;
9564 TALLOC_CTX *_mem_save_credential_0;
9565 TALLOC_CTX *_mem_save_return_authenticator_0;
9566 TALLOC_CTX *_mem_save_logon_0;
9567 TALLOC_CTX *_mem_save_validation_0;
9568 TALLOC_CTX *_mem_save_authoritative_0;
9569 if (flags & NDR_IN) {
9570 ZERO_STRUCT(r->out);
9572 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9573 if (_ptr_server_name) {
9574 NDR_PULL_ALLOC(ndr, r->in.server_name);
9576 r->in.server_name = NULL;
9578 if (r->in.server_name) {
9579 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9580 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9581 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9582 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9583 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9584 return 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));
9586 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9587 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));
9588 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9590 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9591 if (_ptr_computer_name) {
9592 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9594 r->in.computer_name = NULL;
9596 if (r->in.computer_name) {
9597 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9598 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9599 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9600 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9601 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9602 return 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));
9604 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9605 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));
9606 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9608 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9609 if (_ptr_credential) {
9610 NDR_PULL_ALLOC(ndr, r->in.credential);
9612 r->in.credential = NULL;
9614 if (r->in.credential) {
9615 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9616 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9617 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9618 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9621 if (_ptr_return_authenticator) {
9622 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9624 r->in.return_authenticator = NULL;
9626 if (r->in.return_authenticator) {
9627 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9628 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9629 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9630 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9632 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9633 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9634 NDR_PULL_ALLOC(ndr, r->in.logon);
9636 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
9637 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
9638 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9639 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
9641 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
9642 NDR_PULL_ALLOC(ndr, r->out.validation);
9643 ZERO_STRUCTP(r->out.validation);
9644 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9645 ZERO_STRUCTP(r->out.authoritative);
9647 if (flags & NDR_OUT) {
9648 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9649 if (_ptr_return_authenticator) {
9650 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9652 r->out.return_authenticator = NULL;
9654 if (r->out.return_authenticator) {
9655 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9656 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9657 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9658 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9660 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9661 NDR_PULL_ALLOC(ndr, r->out.validation);
9663 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
9664 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
9665 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9666 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9667 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
9668 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9669 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9671 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
9672 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
9673 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
9674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
9675 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9677 return NDR_ERR_SUCCESS;
9680 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
9682 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
9684 if (flags & NDR_SET_VALUES) {
9685 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9687 if (flags & NDR_IN) {
9688 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
9690 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9692 if (r->in.server_name) {
9693 ndr_print_string(ndr, "server_name", r->in.server_name);
9696 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9698 if (r->in.computer_name) {
9699 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9702 ndr_print_ptr(ndr, "credential", r->in.credential);
9704 if (r->in.credential) {
9705 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9708 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9710 if (r->in.return_authenticator) {
9711 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9714 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9715 ndr_print_ptr(ndr, "logon", r->in.logon);
9717 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
9718 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
9720 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
9723 if (flags & NDR_OUT) {
9724 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
9726 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9728 if (r->out.return_authenticator) {
9729 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9732 ndr_print_ptr(ndr, "validation", r->out.validation);
9734 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
9735 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
9737 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
9739 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
9741 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9747 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
9749 if (flags & NDR_IN) {
9750 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9751 if (r->in.server_name) {
9752 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9755 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));
9757 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9758 if (r->in.computer_name) {
9759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9760 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9762 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));
9764 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9765 if (r->in.credential) {
9766 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9768 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9769 if (r->in.return_authenticator) {
9770 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9772 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9773 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9774 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9776 if (flags & NDR_OUT) {
9777 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9778 if (r->out.return_authenticator) {
9779 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9781 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9783 return NDR_ERR_SUCCESS;
9786 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
9788 uint32_t _ptr_server_name;
9789 uint32_t _ptr_computer_name;
9790 uint32_t _ptr_credential;
9791 uint32_t _ptr_return_authenticator;
9792 TALLOC_CTX *_mem_save_server_name_0;
9793 TALLOC_CTX *_mem_save_computer_name_0;
9794 TALLOC_CTX *_mem_save_credential_0;
9795 TALLOC_CTX *_mem_save_return_authenticator_0;
9796 if (flags & NDR_IN) {
9797 ZERO_STRUCT(r->out);
9799 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9800 if (_ptr_server_name) {
9801 NDR_PULL_ALLOC(ndr, r->in.server_name);
9803 r->in.server_name = NULL;
9805 if (r->in.server_name) {
9806 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9807 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9808 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9809 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9810 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9811 return 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));
9813 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9814 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));
9815 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9817 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9818 if (_ptr_computer_name) {
9819 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9821 r->in.computer_name = NULL;
9823 if (r->in.computer_name) {
9824 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9825 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9826 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9827 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9828 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9829 return 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));
9831 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9832 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));
9833 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9835 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9836 if (_ptr_credential) {
9837 NDR_PULL_ALLOC(ndr, r->in.credential);
9839 r->in.credential = NULL;
9841 if (r->in.credential) {
9842 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9843 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9844 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9845 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9847 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9848 if (_ptr_return_authenticator) {
9849 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9851 r->in.return_authenticator = NULL;
9853 if (r->in.return_authenticator) {
9854 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9855 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9856 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9857 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9859 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9860 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9861 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9863 if (flags & NDR_OUT) {
9864 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9865 if (_ptr_return_authenticator) {
9866 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9868 r->out.return_authenticator = NULL;
9870 if (r->out.return_authenticator) {
9871 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9872 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9873 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9874 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9876 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9878 return NDR_ERR_SUCCESS;
9881 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
9883 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
9885 if (flags & NDR_SET_VALUES) {
9886 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9888 if (flags & NDR_IN) {
9889 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
9891 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9893 if (r->in.server_name) {
9894 ndr_print_string(ndr, "server_name", r->in.server_name);
9897 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9899 if (r->in.computer_name) {
9900 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9903 ndr_print_ptr(ndr, "credential", r->in.credential);
9905 if (r->in.credential) {
9906 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9909 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9911 if (r->in.return_authenticator) {
9912 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9915 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9916 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
9917 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
9920 if (flags & NDR_OUT) {
9921 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
9923 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9925 if (r->out.return_authenticator) {
9926 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9929 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9935 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
9937 if (flags & NDR_IN) {
9938 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9939 if (r->in.server_name) {
9940 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9941 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9943 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));
9945 if (r->in.computer_name == NULL) {
9946 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9949 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9950 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9951 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));
9952 if (r->in.credentials == NULL) {
9953 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9955 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9957 if (flags & NDR_OUT) {
9958 if (r->out.return_credentials == NULL) {
9959 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9961 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
9962 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9964 return NDR_ERR_SUCCESS;
9967 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
9969 uint32_t _ptr_server_name;
9970 TALLOC_CTX *_mem_save_server_name_0;
9971 TALLOC_CTX *_mem_save_credentials_0;
9972 TALLOC_CTX *_mem_save_return_credentials_0;
9973 if (flags & NDR_IN) {
9974 ZERO_STRUCT(r->out);
9976 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9977 if (_ptr_server_name) {
9978 NDR_PULL_ALLOC(ndr, r->in.server_name);
9980 r->in.server_name = NULL;
9982 if (r->in.server_name) {
9983 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9984 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9985 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9986 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9987 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9988 return 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));
9990 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9991 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));
9992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9994 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9995 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9996 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9997 return 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));
9999 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10000 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));
10001 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10002 NDR_PULL_ALLOC(ndr, r->in.credentials);
10004 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10005 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10006 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10007 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10008 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10009 ZERO_STRUCTP(r->out.return_credentials);
10011 if (flags & NDR_OUT) {
10012 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10013 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10015 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10016 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10017 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10019 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10021 return NDR_ERR_SUCCESS;
10024 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
10026 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
10028 if (flags & NDR_SET_VALUES) {
10029 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10031 if (flags & NDR_IN) {
10032 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
10034 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10036 if (r->in.server_name) {
10037 ndr_print_string(ndr, "server_name", r->in.server_name);
10040 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10042 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10044 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10046 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10050 if (flags & NDR_OUT) {
10051 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
10053 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10055 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10057 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10063 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
10065 if (flags & NDR_IN) {
10066 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10067 if (r->in.server_name) {
10068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10069 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10070 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10071 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));
10073 if (r->in.account_name == NULL) {
10074 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10078 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10079 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));
10080 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10081 if (r->in.computer_name == NULL) {
10082 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10087 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));
10088 if (r->in.credentials == NULL) {
10089 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10091 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10093 if (flags & NDR_OUT) {
10094 if (r->out.return_credentials == NULL) {
10095 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10097 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10098 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10100 return NDR_ERR_SUCCESS;
10103 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
10105 uint32_t _ptr_server_name;
10106 TALLOC_CTX *_mem_save_server_name_0;
10107 TALLOC_CTX *_mem_save_credentials_0;
10108 TALLOC_CTX *_mem_save_return_credentials_0;
10109 if (flags & NDR_IN) {
10110 ZERO_STRUCT(r->out);
10112 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10113 if (_ptr_server_name) {
10114 NDR_PULL_ALLOC(ndr, r->in.server_name);
10116 r->in.server_name = NULL;
10118 if (r->in.server_name) {
10119 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10120 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10121 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10122 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10123 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10124 return 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));
10126 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10127 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));
10128 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10130 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10131 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10132 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10133 return 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));
10135 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10136 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));
10137 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10138 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10139 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10140 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10141 return 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));
10143 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10144 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));
10145 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10146 NDR_PULL_ALLOC(ndr, r->in.credentials);
10148 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10149 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10150 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10151 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10152 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10153 ZERO_STRUCTP(r->out.return_credentials);
10155 if (flags & NDR_OUT) {
10156 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10157 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10159 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10160 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10161 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10163 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10165 return NDR_ERR_SUCCESS;
10168 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
10170 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
10172 if (flags & NDR_SET_VALUES) {
10173 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10175 if (flags & NDR_IN) {
10176 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
10178 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10180 if (r->in.server_name) {
10181 ndr_print_string(ndr, "server_name", r->in.server_name);
10184 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10186 ndr_print_string(ndr, "account_name", r->in.account_name);
10188 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10189 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10191 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10193 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10195 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10199 if (flags & NDR_OUT) {
10200 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
10202 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10204 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10206 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10212 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
10214 if (flags & NDR_IN) {
10215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10216 if (r->in.server_name) {
10217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10220 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));
10222 if (r->in.account_name == NULL) {
10223 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10226 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10227 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10228 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));
10229 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10230 if (r->in.computer_name == NULL) {
10231 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10236 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));
10237 if (r->in.credential == NULL) {
10238 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10240 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10241 if (r->in.new_password == NULL) {
10242 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10244 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10246 if (flags & NDR_OUT) {
10247 if (r->out.return_authenticator == NULL) {
10248 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10250 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10251 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10253 return NDR_ERR_SUCCESS;
10256 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
10258 uint32_t _ptr_server_name;
10259 TALLOC_CTX *_mem_save_server_name_0;
10260 TALLOC_CTX *_mem_save_credential_0;
10261 TALLOC_CTX *_mem_save_return_authenticator_0;
10262 TALLOC_CTX *_mem_save_new_password_0;
10263 if (flags & NDR_IN) {
10264 ZERO_STRUCT(r->out);
10266 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10267 if (_ptr_server_name) {
10268 NDR_PULL_ALLOC(ndr, r->in.server_name);
10270 r->in.server_name = NULL;
10272 if (r->in.server_name) {
10273 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10274 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10275 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10276 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10277 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10278 return 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));
10280 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10281 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));
10282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10284 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10285 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10286 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10287 return 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));
10289 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10290 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));
10291 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10292 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10293 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10294 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10295 return 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));
10297 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10298 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));
10299 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10300 NDR_PULL_ALLOC(ndr, r->in.credential);
10302 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10303 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10304 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10306 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10307 NDR_PULL_ALLOC(ndr, r->in.new_password);
10309 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10310 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
10311 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
10313 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10314 ZERO_STRUCTP(r->out.return_authenticator);
10316 if (flags & NDR_OUT) {
10317 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10318 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10320 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10321 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10322 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10323 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10324 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10326 return NDR_ERR_SUCCESS;
10329 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
10331 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
10333 if (flags & NDR_SET_VALUES) {
10334 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10336 if (flags & NDR_IN) {
10337 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
10339 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10341 if (r->in.server_name) {
10342 ndr_print_string(ndr, "server_name", r->in.server_name);
10345 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10347 ndr_print_string(ndr, "account_name", r->in.account_name);
10349 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10350 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10352 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10354 ndr_print_ptr(ndr, "credential", r->in.credential);
10356 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10358 ndr_print_ptr(ndr, "new_password", r->in.new_password);
10360 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
10364 if (flags & NDR_OUT) {
10365 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
10367 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10369 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10371 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10377 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
10379 if (flags & NDR_IN) {
10380 if (r->in.logon_server == NULL) {
10381 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10384 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10386 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));
10387 if (r->in.computername == NULL) {
10388 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10393 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10394 if (r->in.credential == NULL) {
10395 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10397 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10398 if (r->in.return_authenticator == NULL) {
10399 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10401 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10402 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10403 if (r->in.sequence_num == NULL) {
10404 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10406 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
10407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10409 if (flags & NDR_OUT) {
10410 if (r->out.return_authenticator == NULL) {
10411 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10413 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10414 if (r->out.sequence_num == NULL) {
10415 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10417 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
10418 if (r->out.delta_enum_array == NULL) {
10419 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10421 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10422 if (*r->out.delta_enum_array) {
10423 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10425 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10427 return NDR_ERR_SUCCESS;
10430 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
10432 uint32_t _ptr_delta_enum_array;
10433 TALLOC_CTX *_mem_save_credential_0;
10434 TALLOC_CTX *_mem_save_return_authenticator_0;
10435 TALLOC_CTX *_mem_save_sequence_num_0;
10436 TALLOC_CTX *_mem_save_delta_enum_array_0;
10437 TALLOC_CTX *_mem_save_delta_enum_array_1;
10438 if (flags & NDR_IN) {
10439 ZERO_STRUCT(r->out);
10441 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10442 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10443 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10444 return 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));
10446 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10447 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));
10448 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10449 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10450 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
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.computername), ndr_get_array_length(ndr, &r->in.computername));
10453 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10454 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10455 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10456 NDR_PULL_ALLOC(ndr, r->in.credential);
10458 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10459 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10460 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10462 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10463 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10465 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10466 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10467 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10468 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10469 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10470 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10471 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
10473 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10474 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10475 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
10476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10477 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10478 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10479 *r->out.return_authenticator = *r->in.return_authenticator;
10480 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10481 *r->out.sequence_num = *r->in.sequence_num;
10482 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10483 ZERO_STRUCTP(r->out.delta_enum_array);
10485 if (flags & NDR_OUT) {
10486 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10487 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10489 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10490 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10491 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10492 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10493 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10494 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10496 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10497 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10498 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
10499 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10500 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10501 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10503 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10504 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10505 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10506 if (_ptr_delta_enum_array) {
10507 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10509 *r->out.delta_enum_array = NULL;
10511 if (*r->out.delta_enum_array) {
10512 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10513 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10514 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10515 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10517 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10518 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10520 return NDR_ERR_SUCCESS;
10523 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
10525 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
10527 if (flags & NDR_SET_VALUES) {
10528 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10530 if (flags & NDR_IN) {
10531 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
10533 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10535 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10537 ndr_print_ptr(ndr, "computername", r->in.computername);
10539 ndr_print_string(ndr, "computername", r->in.computername);
10541 ndr_print_ptr(ndr, "credential", r->in.credential);
10543 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10545 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10547 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10549 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10550 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
10552 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
10554 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10557 if (flags & NDR_OUT) {
10558 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
10560 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10562 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10564 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
10566 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
10568 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10570 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10572 if (*r->out.delta_enum_array) {
10573 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10577 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10583 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
10585 if (flags & NDR_IN) {
10586 if (r->in.logon_server == NULL) {
10587 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10592 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));
10593 if (r->in.computername == NULL) {
10594 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10597 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10599 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10600 if (r->in.credential == NULL) {
10601 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10603 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10604 if (r->in.return_authenticator == NULL) {
10605 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10607 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10608 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10609 if (r->in.sync_context == NULL) {
10610 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10613 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10615 if (flags & NDR_OUT) {
10616 if (r->out.return_authenticator == NULL) {
10617 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10619 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10620 if (r->out.sync_context == NULL) {
10621 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10624 if (r->out.delta_enum_array == NULL) {
10625 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10627 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10628 if (*r->out.delta_enum_array) {
10629 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10631 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10633 return NDR_ERR_SUCCESS;
10636 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
10638 uint32_t _ptr_delta_enum_array;
10639 TALLOC_CTX *_mem_save_credential_0;
10640 TALLOC_CTX *_mem_save_return_authenticator_0;
10641 TALLOC_CTX *_mem_save_sync_context_0;
10642 TALLOC_CTX *_mem_save_delta_enum_array_0;
10643 TALLOC_CTX *_mem_save_delta_enum_array_1;
10644 if (flags & NDR_IN) {
10645 ZERO_STRUCT(r->out);
10647 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10648 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10649 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10650 return 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));
10652 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10653 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));
10654 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10655 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10656 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10657 return 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));
10659 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10660 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10661 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10662 NDR_PULL_ALLOC(ndr, r->in.credential);
10664 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10665 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10666 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10667 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10668 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10669 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10671 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10672 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10673 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10675 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10676 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10677 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10679 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10680 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10681 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10683 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10684 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10685 *r->out.return_authenticator = *r->in.return_authenticator;
10686 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10687 *r->out.sync_context = *r->in.sync_context;
10688 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10689 ZERO_STRUCTP(r->out.delta_enum_array);
10691 if (flags & NDR_OUT) {
10692 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10693 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10695 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10696 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10697 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10698 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10699 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10700 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10702 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10703 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10704 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10706 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10707 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10709 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10710 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10711 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10712 if (_ptr_delta_enum_array) {
10713 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10715 *r->out.delta_enum_array = NULL;
10717 if (*r->out.delta_enum_array) {
10718 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10719 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10720 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10724 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10726 return NDR_ERR_SUCCESS;
10729 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
10731 ndr_print_struct(ndr, name, "netr_DatabaseSync");
10733 if (flags & NDR_SET_VALUES) {
10734 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10736 if (flags & NDR_IN) {
10737 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
10739 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10741 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10743 ndr_print_ptr(ndr, "computername", r->in.computername);
10745 ndr_print_string(ndr, "computername", r->in.computername);
10747 ndr_print_ptr(ndr, "credential", r->in.credential);
10749 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10751 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10753 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10755 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10756 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10758 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10760 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10763 if (flags & NDR_OUT) {
10764 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
10766 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10768 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10770 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10772 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10774 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10776 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10778 if (*r->out.delta_enum_array) {
10779 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10783 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10789 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
10791 if (flags & NDR_IN) {
10792 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10793 if (r->in.logon_server) {
10794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10797 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));
10799 if (r->in.computername == NULL) {
10800 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10804 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10805 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10806 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10807 if (r->in.return_authenticator == NULL) {
10808 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10810 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10811 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
10813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
10816 if (flags & NDR_OUT) {
10817 if (r->out.return_authenticator == NULL) {
10818 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10820 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10821 if (r->out.buffer == NULL) {
10822 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10825 struct ndr_push *_ndr_buffer;
10826 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10827 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10828 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
10830 if (r->out.count_returned == NULL) {
10831 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10833 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
10834 if (r->out.total_entries == NULL) {
10835 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10837 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
10838 if (r->out.recordid == NULL) {
10839 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10841 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10842 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10844 return NDR_ERR_SUCCESS;
10847 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
10849 uint32_t _ptr_logon_server;
10850 TALLOC_CTX *_mem_save_logon_server_0;
10851 TALLOC_CTX *_mem_save_return_authenticator_0;
10852 TALLOC_CTX *_mem_save_buffer_0;
10853 TALLOC_CTX *_mem_save_count_returned_0;
10854 TALLOC_CTX *_mem_save_total_entries_0;
10855 TALLOC_CTX *_mem_save_recordid_0;
10856 if (flags & NDR_IN) {
10857 ZERO_STRUCT(r->out);
10859 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10860 if (_ptr_logon_server) {
10861 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10863 r->in.logon_server = NULL;
10865 if (r->in.logon_server) {
10866 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10867 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10868 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10869 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10870 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10871 return 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));
10873 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10874 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));
10875 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10877 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10878 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10879 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10880 return 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));
10882 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10883 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10884 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10885 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10886 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10888 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10889 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10890 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10891 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10892 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
10894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10895 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
10896 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10897 *r->out.return_authenticator = *r->in.return_authenticator;
10898 NDR_PULL_ALLOC(ndr, r->out.buffer);
10899 ZERO_STRUCTP(r->out.buffer);
10900 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10901 ZERO_STRUCTP(r->out.count_returned);
10902 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10903 ZERO_STRUCTP(r->out.total_entries);
10904 NDR_PULL_ALLOC(ndr, r->out.recordid);
10905 ZERO_STRUCTP(r->out.recordid);
10907 if (flags & NDR_OUT) {
10908 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10909 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10911 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10912 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10913 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10915 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10916 NDR_PULL_ALLOC(ndr, r->out.buffer);
10918 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
10919 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
10921 struct ndr_pull *_ndr_buffer;
10922 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10923 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10924 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
10926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
10927 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10928 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10930 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
10931 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
10932 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
10933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
10934 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10935 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10937 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
10938 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
10939 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
10940 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
10941 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10942 NDR_PULL_ALLOC(ndr, r->out.recordid);
10944 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10945 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
10946 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10947 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
10948 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10950 return NDR_ERR_SUCCESS;
10953 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
10955 ndr_print_struct(ndr, name, "netr_AccountDeltas");
10957 if (flags & NDR_SET_VALUES) {
10958 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10960 if (flags & NDR_IN) {
10961 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
10963 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10965 if (r->in.logon_server) {
10966 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10969 ndr_print_ptr(ndr, "computername", r->in.computername);
10971 ndr_print_string(ndr, "computername", r->in.computername);
10973 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10974 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10976 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10978 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
10979 ndr_print_uint32(ndr, "count", r->in.count);
10980 ndr_print_uint32(ndr, "level", r->in.level);
10981 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
10984 if (flags & NDR_OUT) {
10985 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
10987 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10989 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10991 ndr_print_ptr(ndr, "buffer", r->out.buffer);
10993 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
10995 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
10997 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
10999 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
11001 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
11003 ndr_print_ptr(ndr, "recordid", r->out.recordid);
11005 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
11007 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11013 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
11015 if (flags & NDR_IN) {
11016 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11017 if (r->in.logon_server) {
11018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11019 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11021 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));
11023 if (r->in.computername == NULL) {
11024 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11027 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11029 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11030 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11031 if (r->in.return_authenticator == NULL) {
11032 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11034 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
11036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
11038 if (r->in.recordid == NULL) {
11039 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11041 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11043 if (flags & NDR_OUT) {
11044 if (r->out.return_authenticator == NULL) {
11045 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11047 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11048 if (r->out.buffer == NULL) {
11049 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11052 struct ndr_push *_ndr_buffer;
11053 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11054 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11055 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
11057 if (r->out.count_returned == NULL) {
11058 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
11061 if (r->out.total_entries == NULL) {
11062 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
11065 if (r->out.next_reference == NULL) {
11066 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
11069 if (r->out.recordid == NULL) {
11070 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11072 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11073 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11075 return NDR_ERR_SUCCESS;
11078 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
11080 uint32_t _ptr_logon_server;
11081 TALLOC_CTX *_mem_save_logon_server_0;
11082 TALLOC_CTX *_mem_save_return_authenticator_0;
11083 TALLOC_CTX *_mem_save_buffer_0;
11084 TALLOC_CTX *_mem_save_count_returned_0;
11085 TALLOC_CTX *_mem_save_total_entries_0;
11086 TALLOC_CTX *_mem_save_next_reference_0;
11087 TALLOC_CTX *_mem_save_recordid_0;
11088 if (flags & NDR_IN) {
11089 ZERO_STRUCT(r->out);
11091 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11092 if (_ptr_logon_server) {
11093 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11095 r->in.logon_server = NULL;
11097 if (r->in.logon_server) {
11098 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11099 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11100 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11101 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11102 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11103 return 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));
11105 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11106 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));
11107 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11109 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11110 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11111 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
11112 return 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));
11114 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
11115 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
11116 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11117 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11118 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11120 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11121 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11122 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11123 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
11125 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
11127 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11128 NDR_PULL_ALLOC(ndr, r->in.recordid);
11130 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11131 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
11132 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11134 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11135 *r->out.return_authenticator = *r->in.return_authenticator;
11136 NDR_PULL_ALLOC(ndr, r->out.buffer);
11137 ZERO_STRUCTP(r->out.buffer);
11138 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11139 ZERO_STRUCTP(r->out.count_returned);
11140 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11141 ZERO_STRUCTP(r->out.total_entries);
11142 NDR_PULL_ALLOC(ndr, r->out.next_reference);
11143 ZERO_STRUCTP(r->out.next_reference);
11144 NDR_PULL_ALLOC(ndr, r->out.recordid);
11145 *r->out.recordid = *r->in.recordid;
11147 if (flags & NDR_OUT) {
11148 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11149 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11151 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11152 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11153 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11154 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11155 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11156 NDR_PULL_ALLOC(ndr, r->out.buffer);
11158 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
11159 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
11161 struct ndr_pull *_ndr_buffer;
11162 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11163 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11164 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
11166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
11167 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11168 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11170 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
11171 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
11172 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
11173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
11174 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11175 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11177 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
11178 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
11179 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
11180 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
11181 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11182 NDR_PULL_ALLOC(ndr, r->out.next_reference);
11184 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
11185 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
11186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
11187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
11188 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11189 NDR_PULL_ALLOC(ndr, r->out.recordid);
11191 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11192 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
11193 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11195 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11197 return NDR_ERR_SUCCESS;
11200 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
11202 ndr_print_struct(ndr, name, "netr_AccountSync");
11204 if (flags & NDR_SET_VALUES) {
11205 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11207 if (flags & NDR_IN) {
11208 ndr_print_struct(ndr, "in", "netr_AccountSync");
11210 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11212 if (r->in.logon_server) {
11213 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11216 ndr_print_ptr(ndr, "computername", r->in.computername);
11218 ndr_print_string(ndr, "computername", r->in.computername);
11220 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
11221 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11223 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11225 ndr_print_uint32(ndr, "reference", r->in.reference);
11226 ndr_print_uint32(ndr, "level", r->in.level);
11227 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
11228 ndr_print_ptr(ndr, "recordid", r->in.recordid);
11230 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
11234 if (flags & NDR_OUT) {
11235 ndr_print_struct(ndr, "out", "netr_AccountSync");
11237 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11239 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11241 ndr_print_ptr(ndr, "buffer", r->out.buffer);
11243 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
11245 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
11247 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
11249 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
11251 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
11253 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
11255 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
11257 ndr_print_ptr(ndr, "recordid", r->out.recordid);
11259 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
11261 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11267 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
11269 if (flags & NDR_IN) {
11270 if (r->in.logon_server == NULL) {
11271 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11273 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11274 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11275 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11276 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));
11277 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11278 if (r->in.domainname) {
11279 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11281 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11282 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11285 if (flags & NDR_OUT) {
11286 if (r->out.dcname == NULL) {
11287 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11289 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11290 if (*r->out.dcname) {
11291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11293 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11294 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11296 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11298 return NDR_ERR_SUCCESS;
11301 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
11303 uint32_t _ptr_domainname;
11304 uint32_t _ptr_dcname;
11305 TALLOC_CTX *_mem_save_domainname_0;
11306 TALLOC_CTX *_mem_save_dcname_0;
11307 TALLOC_CTX *_mem_save_dcname_1;
11308 if (flags & NDR_IN) {
11309 ZERO_STRUCT(r->out);
11311 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11312 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11313 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11314 return 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));
11316 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11317 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));
11318 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11319 if (_ptr_domainname) {
11320 NDR_PULL_ALLOC(ndr, r->in.domainname);
11322 r->in.domainname = NULL;
11324 if (r->in.domainname) {
11325 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11326 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11327 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11328 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11329 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11330 return 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));
11332 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11333 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11336 NDR_PULL_ALLOC(ndr, r->out.dcname);
11337 ZERO_STRUCTP(r->out.dcname);
11339 if (flags & NDR_OUT) {
11340 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11341 NDR_PULL_ALLOC(ndr, r->out.dcname);
11343 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11344 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11345 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11347 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11349 *r->out.dcname = NULL;
11351 if (*r->out.dcname) {
11352 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11353 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11354 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11355 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11356 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11357 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));
11359 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11360 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11361 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11363 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11364 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11366 return NDR_ERR_SUCCESS;
11369 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
11371 ndr_print_struct(ndr, name, "netr_GetDcName");
11373 if (flags & NDR_SET_VALUES) {
11374 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11376 if (flags & NDR_IN) {
11377 ndr_print_struct(ndr, "in", "netr_GetDcName");
11379 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11381 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11383 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11385 if (r->in.domainname) {
11386 ndr_print_string(ndr, "domainname", r->in.domainname);
11391 if (flags & NDR_OUT) {
11392 ndr_print_struct(ndr, "out", "netr_GetDcName");
11394 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11396 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11398 if (*r->out.dcname) {
11399 ndr_print_string(ndr, "dcname", *r->out.dcname);
11403 ndr_print_WERROR(ndr, "result", r->out.result);
11409 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
11411 if (flags & NDR_IN) {
11412 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11413 if (r->in.logon_server) {
11414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11415 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11417 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));
11419 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11422 if (flags & NDR_OUT) {
11423 if (r->out.query == NULL) {
11424 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11426 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11427 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11428 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11430 return NDR_ERR_SUCCESS;
11433 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
11435 uint32_t _ptr_logon_server;
11436 TALLOC_CTX *_mem_save_logon_server_0;
11437 TALLOC_CTX *_mem_save_query_0;
11438 if (flags & NDR_IN) {
11439 ZERO_STRUCT(r->out);
11441 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11442 if (_ptr_logon_server) {
11443 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11445 r->in.logon_server = NULL;
11447 if (r->in.logon_server) {
11448 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11449 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11450 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11451 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11452 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11453 return 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));
11455 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11456 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));
11457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11459 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11460 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11461 NDR_PULL_ALLOC(ndr, r->out.query);
11462 ZERO_STRUCTP(r->out.query);
11464 if (flags & NDR_OUT) {
11465 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11466 NDR_PULL_ALLOC(ndr, r->out.query);
11468 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11469 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11470 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11471 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11472 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11473 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11475 return NDR_ERR_SUCCESS;
11478 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
11480 ndr_print_struct(ndr, name, "netr_LogonControl");
11482 if (flags & NDR_SET_VALUES) {
11483 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11485 if (flags & NDR_IN) {
11486 ndr_print_struct(ndr, "in", "netr_LogonControl");
11488 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11490 if (r->in.logon_server) {
11491 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11494 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11495 ndr_print_uint32(ndr, "level", r->in.level);
11498 if (flags & NDR_OUT) {
11499 ndr_print_struct(ndr, "out", "netr_LogonControl");
11501 ndr_print_ptr(ndr, "query", r->out.query);
11503 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11504 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11506 ndr_print_WERROR(ndr, "result", r->out.result);
11512 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
11514 if (flags & NDR_IN) {
11515 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11516 if (r->in.logon_server) {
11517 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11518 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11519 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11520 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));
11522 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11523 if (r->in.domainname) {
11524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11526 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11527 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11530 if (flags & NDR_OUT) {
11531 if (r->out.dcname == NULL) {
11532 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11534 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11535 if (*r->out.dcname) {
11536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11537 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11538 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11539 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11541 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11543 return NDR_ERR_SUCCESS;
11546 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
11548 uint32_t _ptr_logon_server;
11549 uint32_t _ptr_domainname;
11550 uint32_t _ptr_dcname;
11551 TALLOC_CTX *_mem_save_logon_server_0;
11552 TALLOC_CTX *_mem_save_domainname_0;
11553 TALLOC_CTX *_mem_save_dcname_0;
11554 TALLOC_CTX *_mem_save_dcname_1;
11555 if (flags & NDR_IN) {
11556 ZERO_STRUCT(r->out);
11558 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11559 if (_ptr_logon_server) {
11560 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11562 r->in.logon_server = NULL;
11564 if (r->in.logon_server) {
11565 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11566 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11567 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11568 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11569 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11570 return 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));
11572 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11573 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));
11574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11576 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11577 if (_ptr_domainname) {
11578 NDR_PULL_ALLOC(ndr, r->in.domainname);
11580 r->in.domainname = NULL;
11582 if (r->in.domainname) {
11583 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11584 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11585 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11586 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11587 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11588 return 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));
11590 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11591 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11592 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11594 NDR_PULL_ALLOC(ndr, r->out.dcname);
11595 ZERO_STRUCTP(r->out.dcname);
11597 if (flags & NDR_OUT) {
11598 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11599 NDR_PULL_ALLOC(ndr, r->out.dcname);
11601 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11602 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11603 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11605 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11607 *r->out.dcname = NULL;
11609 if (*r->out.dcname) {
11610 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11611 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11612 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11613 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11614 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11615 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));
11617 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11618 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11621 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11622 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11624 return NDR_ERR_SUCCESS;
11627 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
11629 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
11631 if (flags & NDR_SET_VALUES) {
11632 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11634 if (flags & NDR_IN) {
11635 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
11637 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11639 if (r->in.logon_server) {
11640 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11643 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11645 if (r->in.domainname) {
11646 ndr_print_string(ndr, "domainname", r->in.domainname);
11651 if (flags & NDR_OUT) {
11652 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
11654 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11656 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11658 if (*r->out.dcname) {
11659 ndr_print_string(ndr, "dcname", *r->out.dcname);
11663 ndr_print_WERROR(ndr, "result", r->out.result);
11669 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
11671 if (flags & NDR_IN) {
11672 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11673 if (r->in.logon_server) {
11674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11677 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));
11679 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11681 if (r->in.data == NULL) {
11682 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11684 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
11685 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11687 if (flags & NDR_OUT) {
11688 if (r->out.query == NULL) {
11689 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11691 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11692 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11693 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11695 return NDR_ERR_SUCCESS;
11698 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
11700 uint32_t _ptr_logon_server;
11701 TALLOC_CTX *_mem_save_logon_server_0;
11702 TALLOC_CTX *_mem_save_data_0;
11703 TALLOC_CTX *_mem_save_query_0;
11704 if (flags & NDR_IN) {
11705 ZERO_STRUCT(r->out);
11707 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11708 if (_ptr_logon_server) {
11709 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11711 r->in.logon_server = NULL;
11713 if (r->in.logon_server) {
11714 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11715 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11716 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11717 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11718 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11719 return 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));
11721 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11722 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));
11723 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11725 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11726 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11727 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11728 NDR_PULL_ALLOC(ndr, r->in.data);
11730 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
11731 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
11732 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
11733 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11734 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
11735 NDR_PULL_ALLOC(ndr, r->out.query);
11736 ZERO_STRUCTP(r->out.query);
11738 if (flags & NDR_OUT) {
11739 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11740 NDR_PULL_ALLOC(ndr, r->out.query);
11742 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11743 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11744 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11745 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11747 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11749 return NDR_ERR_SUCCESS;
11752 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
11754 ndr_print_struct(ndr, name, "netr_LogonControl2");
11756 if (flags & NDR_SET_VALUES) {
11757 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11759 if (flags & NDR_IN) {
11760 ndr_print_struct(ndr, "in", "netr_LogonControl2");
11762 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11764 if (r->in.logon_server) {
11765 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11768 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11769 ndr_print_uint32(ndr, "level", r->in.level);
11770 ndr_print_ptr(ndr, "data", r->in.data);
11772 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
11773 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
11777 if (flags & NDR_OUT) {
11778 ndr_print_struct(ndr, "out", "netr_LogonControl2");
11780 ndr_print_ptr(ndr, "query", r->out.query);
11782 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11783 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11785 ndr_print_WERROR(ndr, "result", r->out.result);
11791 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
11793 if (flags & NDR_IN) {
11794 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11795 if (r->in.server_name) {
11796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11797 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11799 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));
11801 if (r->in.account_name == NULL) {
11802 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11804 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11805 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11807 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));
11808 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11809 if (r->in.computer_name == NULL) {
11810 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11815 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));
11816 if (r->in.credentials == NULL) {
11817 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11819 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11820 if (r->in.negotiate_flags == NULL) {
11821 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11823 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11825 if (flags & NDR_OUT) {
11826 if (r->out.return_credentials == NULL) {
11827 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11829 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11830 if (r->out.negotiate_flags == NULL) {
11831 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11833 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11834 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11836 return NDR_ERR_SUCCESS;
11839 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
11841 uint32_t _ptr_server_name;
11842 TALLOC_CTX *_mem_save_server_name_0;
11843 TALLOC_CTX *_mem_save_credentials_0;
11844 TALLOC_CTX *_mem_save_return_credentials_0;
11845 TALLOC_CTX *_mem_save_negotiate_flags_0;
11846 if (flags & NDR_IN) {
11847 ZERO_STRUCT(r->out);
11849 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11850 if (_ptr_server_name) {
11851 NDR_PULL_ALLOC(ndr, r->in.server_name);
11853 r->in.server_name = NULL;
11855 if (r->in.server_name) {
11856 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11857 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11858 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11859 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11860 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11861 return 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));
11863 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11864 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));
11865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11867 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11868 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11869 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11870 return 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));
11872 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11873 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));
11874 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11875 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11876 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11877 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11878 return 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));
11880 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11881 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));
11882 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11883 NDR_PULL_ALLOC(ndr, r->in.credentials);
11885 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11886 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11887 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11888 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11889 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11890 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11892 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11893 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11894 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
11895 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11896 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11897 ZERO_STRUCTP(r->out.return_credentials);
11898 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11899 *r->out.negotiate_flags = *r->in.negotiate_flags;
11901 if (flags & NDR_OUT) {
11902 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11903 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11905 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11906 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
11907 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11909 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11910 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11912 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11913 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11914 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
11915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11916 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11918 return NDR_ERR_SUCCESS;
11921 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
11923 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
11925 if (flags & NDR_SET_VALUES) {
11926 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11928 if (flags & NDR_IN) {
11929 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
11931 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11933 if (r->in.server_name) {
11934 ndr_print_string(ndr, "server_name", r->in.server_name);
11937 ndr_print_ptr(ndr, "account_name", r->in.account_name);
11939 ndr_print_string(ndr, "account_name", r->in.account_name);
11941 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11942 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
11944 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11946 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11948 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11950 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11952 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
11956 if (flags & NDR_OUT) {
11957 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
11959 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
11961 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
11963 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
11965 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
11967 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11973 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
11975 if (flags & NDR_IN) {
11976 if (r->in.logon_server == NULL) {
11977 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11982 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));
11983 if (r->in.computername == NULL) {
11984 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11989 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11990 if (r->in.credential == NULL) {
11991 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11993 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
11994 if (r->in.return_authenticator == NULL) {
11995 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11997 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11998 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
11999 NDR_CHECK(ndr_push_SyncStateEnum(ndr, NDR_SCALARS, r->in.restart_state));
12000 if (r->in.sync_context == NULL) {
12001 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
12004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
12006 if (flags & NDR_OUT) {
12007 if (r->out.return_authenticator == NULL) {
12008 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12010 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12011 if (r->out.sync_context == NULL) {
12012 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12014 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
12015 if (r->out.delta_enum_array == NULL) {
12016 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12018 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12019 if (*r->out.delta_enum_array) {
12020 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12022 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12024 return NDR_ERR_SUCCESS;
12027 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
12029 uint32_t _ptr_delta_enum_array;
12030 TALLOC_CTX *_mem_save_credential_0;
12031 TALLOC_CTX *_mem_save_return_authenticator_0;
12032 TALLOC_CTX *_mem_save_sync_context_0;
12033 TALLOC_CTX *_mem_save_delta_enum_array_0;
12034 TALLOC_CTX *_mem_save_delta_enum_array_1;
12035 if (flags & NDR_IN) {
12036 ZERO_STRUCT(r->out);
12038 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12039 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12040 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12041 return 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));
12043 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12044 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));
12045 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12046 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12047 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
12048 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computername), ndr_get_array_length(ndr, &r->in.computername));
12050 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
12051 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
12052 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12053 NDR_PULL_ALLOC(ndr, r->in.credential);
12055 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12056 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12057 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12058 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12059 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12060 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12062 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12063 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12064 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12066 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
12067 NDR_CHECK(ndr_pull_SyncStateEnum(ndr, NDR_SCALARS, &r->in.restart_state));
12068 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12069 NDR_PULL_ALLOC(ndr, r->in.sync_context);
12071 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12072 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
12073 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
12074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12075 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
12076 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12077 *r->out.return_authenticator = *r->in.return_authenticator;
12078 NDR_PULL_ALLOC(ndr, r->out.sync_context);
12079 *r->out.sync_context = *r->in.sync_context;
12080 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12081 ZERO_STRUCTP(r->out.delta_enum_array);
12083 if (flags & NDR_OUT) {
12084 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12085 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12087 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12088 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12089 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12090 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12092 NDR_PULL_ALLOC(ndr, r->out.sync_context);
12094 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12095 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
12096 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
12097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12098 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12099 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12101 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12102 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12103 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12104 if (_ptr_delta_enum_array) {
12105 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12107 *r->out.delta_enum_array = NULL;
12109 if (*r->out.delta_enum_array) {
12110 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12111 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12112 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12113 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12115 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12116 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12118 return NDR_ERR_SUCCESS;
12121 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
12123 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
12125 if (flags & NDR_SET_VALUES) {
12126 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12128 if (flags & NDR_IN) {
12129 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
12131 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12133 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12135 ndr_print_ptr(ndr, "computername", r->in.computername);
12137 ndr_print_string(ndr, "computername", r->in.computername);
12139 ndr_print_ptr(ndr, "credential", r->in.credential);
12141 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12143 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12145 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12147 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
12148 ndr_print_SyncStateEnum(ndr, "restart_state", r->in.restart_state);
12149 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
12151 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
12153 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
12156 if (flags & NDR_OUT) {
12157 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
12159 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12161 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12163 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
12165 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
12167 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12169 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12171 if (*r->out.delta_enum_array) {
12172 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12176 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12182 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
12184 if (flags & NDR_IN) {
12185 if (r->in.logon_server == NULL) {
12186 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12191 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));
12192 if (r->in.computername == NULL) {
12193 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12197 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12198 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12199 if (r->in.credential == NULL) {
12200 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12202 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12203 if (r->in.return_authenticator == NULL) {
12204 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12206 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12208 struct ndr_push *_ndr_change_log_entry;
12209 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12210 NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12211 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12215 if (flags & NDR_OUT) {
12216 if (r->out.return_authenticator == NULL) {
12217 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12219 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12220 if (r->out.delta_enum_array == NULL) {
12221 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12223 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12224 if (*r->out.delta_enum_array) {
12225 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12227 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12229 return NDR_ERR_SUCCESS;
12232 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
12234 uint32_t _ptr_delta_enum_array;
12235 TALLOC_CTX *_mem_save_credential_0;
12236 TALLOC_CTX *_mem_save_return_authenticator_0;
12237 TALLOC_CTX *_mem_save_delta_enum_array_0;
12238 TALLOC_CTX *_mem_save_delta_enum_array_1;
12239 if (flags & NDR_IN) {
12240 ZERO_STRUCT(r->out);
12242 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12243 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12244 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12245 return 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));
12247 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12248 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));
12249 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12250 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12251 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
12252 return 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));
12254 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
12255 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
12256 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12257 NDR_PULL_ALLOC(ndr, r->in.credential);
12259 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12260 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12261 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12262 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12263 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12264 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12266 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12267 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12268 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12271 struct ndr_pull *_ndr_change_log_entry;
12272 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, r->in.change_log_entry_size));
12273 NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12274 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, r->in.change_log_entry_size));
12276 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
12277 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12278 *r->out.return_authenticator = *r->in.return_authenticator;
12279 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12280 ZERO_STRUCTP(r->out.delta_enum_array);
12282 if (flags & NDR_OUT) {
12283 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12284 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12286 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12287 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12288 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12289 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12290 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12291 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12293 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12294 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12295 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12296 if (_ptr_delta_enum_array) {
12297 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12299 *r->out.delta_enum_array = NULL;
12301 if (*r->out.delta_enum_array) {
12302 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12303 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12304 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12308 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12310 return NDR_ERR_SUCCESS;
12313 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
12315 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
12317 if (flags & NDR_SET_VALUES) {
12318 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12320 if (flags & NDR_IN) {
12321 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
12323 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12325 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12327 ndr_print_ptr(ndr, "computername", r->in.computername);
12329 ndr_print_string(ndr, "computername", r->in.computername);
12331 ndr_print_ptr(ndr, "credential", r->in.credential);
12333 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12335 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12337 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12339 ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry);
12340 ndr_print_uint32(ndr, "change_log_entry_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags):r->in.change_log_entry_size);
12343 if (flags & NDR_OUT) {
12344 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
12346 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12348 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12350 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12352 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12354 if (*r->out.delta_enum_array) {
12355 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12359 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12365 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
12367 if (flags & NDR_IN) {
12368 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
12369 if (r->in.logon_server) {
12370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12372 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12373 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));
12375 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
12376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12377 if (r->in.data == NULL) {
12378 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12380 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
12381 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12383 if (flags & NDR_OUT) {
12384 if (r->out.query == NULL) {
12385 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12387 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
12388 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12389 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12391 return NDR_ERR_SUCCESS;
12394 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
12396 uint32_t _ptr_logon_server;
12397 TALLOC_CTX *_mem_save_logon_server_0;
12398 TALLOC_CTX *_mem_save_data_0;
12399 TALLOC_CTX *_mem_save_query_0;
12400 if (flags & NDR_IN) {
12401 ZERO_STRUCT(r->out);
12403 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
12404 if (_ptr_logon_server) {
12405 NDR_PULL_ALLOC(ndr, r->in.logon_server);
12407 r->in.logon_server = NULL;
12409 if (r->in.logon_server) {
12410 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12411 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
12412 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12413 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12414 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12415 return 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));
12417 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12418 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));
12419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
12421 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
12422 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12423 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12424 NDR_PULL_ALLOC(ndr, r->in.data);
12426 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
12427 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
12428 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
12429 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12430 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
12431 NDR_PULL_ALLOC(ndr, r->out.query);
12432 ZERO_STRUCTP(r->out.query);
12434 if (flags & NDR_OUT) {
12435 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12436 NDR_PULL_ALLOC(ndr, r->out.query);
12438 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
12439 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
12440 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
12441 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12442 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
12443 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12445 return NDR_ERR_SUCCESS;
12448 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
12450 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
12452 if (flags & NDR_SET_VALUES) {
12453 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12455 if (flags & NDR_IN) {
12456 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
12458 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12460 if (r->in.logon_server) {
12461 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12464 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
12465 ndr_print_uint32(ndr, "level", r->in.level);
12466 ndr_print_ptr(ndr, "data", r->in.data);
12468 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
12469 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
12473 if (flags & NDR_OUT) {
12474 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
12476 ndr_print_ptr(ndr, "query", r->out.query);
12478 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
12479 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
12481 ndr_print_WERROR(ndr, "result", r->out.result);
12487 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12489 if (flags & NDR_IN) {
12490 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12491 if (r->in.server_name) {
12492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12495 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));
12498 if (flags & NDR_OUT) {
12499 if (r->out.trusted_domains_blob == NULL) {
12500 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12502 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12503 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12505 return NDR_ERR_SUCCESS;
12508 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
12510 uint32_t _ptr_server_name;
12511 TALLOC_CTX *_mem_save_server_name_0;
12512 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
12513 if (flags & NDR_IN) {
12514 ZERO_STRUCT(r->out);
12516 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12517 if (_ptr_server_name) {
12518 NDR_PULL_ALLOC(ndr, r->in.server_name);
12520 r->in.server_name = NULL;
12522 if (r->in.server_name) {
12523 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12524 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12525 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12526 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12527 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12528 return 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));
12530 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12531 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));
12532 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12534 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12535 ZERO_STRUCTP(r->out.trusted_domains_blob);
12537 if (flags & NDR_OUT) {
12538 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12539 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12541 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
12542 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
12543 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
12545 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12547 return NDR_ERR_SUCCESS;
12550 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12552 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
12554 if (flags & NDR_SET_VALUES) {
12555 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12557 if (flags & NDR_IN) {
12558 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
12560 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12562 if (r->in.server_name) {
12563 ndr_print_string(ndr, "server_name", r->in.server_name);
12568 if (flags & NDR_OUT) {
12569 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
12571 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12573 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12575 ndr_print_WERROR(ndr, "result", r->out.result);
12581 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
12583 if (flags & NDR_IN) {
12584 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12585 if (r->in.server_unc) {
12586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12589 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));
12591 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12592 if (r->in.domain_name) {
12593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12596 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));
12598 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12599 if (r->in.domain_guid) {
12600 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12602 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
12603 if (r->in.site_guid) {
12604 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12606 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12608 if (flags & NDR_OUT) {
12609 if (r->out.info == NULL) {
12610 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12612 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12613 if (*r->out.info) {
12614 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12616 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12618 return NDR_ERR_SUCCESS;
12621 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
12623 uint32_t _ptr_server_unc;
12624 uint32_t _ptr_domain_name;
12625 uint32_t _ptr_domain_guid;
12626 uint32_t _ptr_site_guid;
12627 uint32_t _ptr_info;
12628 TALLOC_CTX *_mem_save_server_unc_0;
12629 TALLOC_CTX *_mem_save_domain_name_0;
12630 TALLOC_CTX *_mem_save_domain_guid_0;
12631 TALLOC_CTX *_mem_save_site_guid_0;
12632 TALLOC_CTX *_mem_save_info_0;
12633 TALLOC_CTX *_mem_save_info_1;
12634 if (flags & NDR_IN) {
12635 ZERO_STRUCT(r->out);
12637 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12638 if (_ptr_server_unc) {
12639 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12641 r->in.server_unc = NULL;
12643 if (r->in.server_unc) {
12644 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12645 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12646 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12647 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12648 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12649 return 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));
12651 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12652 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));
12653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12656 if (_ptr_domain_name) {
12657 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12659 r->in.domain_name = NULL;
12661 if (r->in.domain_name) {
12662 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12663 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12664 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12665 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12666 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12667 return 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));
12669 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12670 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));
12671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12673 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12674 if (_ptr_domain_guid) {
12675 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12677 r->in.domain_guid = NULL;
12679 if (r->in.domain_guid) {
12680 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12681 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12682 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12685 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
12686 if (_ptr_site_guid) {
12687 NDR_PULL_ALLOC(ndr, r->in.site_guid);
12689 r->in.site_guid = NULL;
12691 if (r->in.site_guid) {
12692 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12693 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
12694 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
12697 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12698 NDR_PULL_ALLOC(ndr, r->out.info);
12699 ZERO_STRUCTP(r->out.info);
12701 if (flags & NDR_OUT) {
12702 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12703 NDR_PULL_ALLOC(ndr, r->out.info);
12705 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12706 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12707 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12709 NDR_PULL_ALLOC(ndr, *r->out.info);
12711 *r->out.info = NULL;
12713 if (*r->out.info) {
12714 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12715 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12716 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12717 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12719 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12720 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12722 return NDR_ERR_SUCCESS;
12725 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
12727 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
12729 if (flags & NDR_SET_VALUES) {
12730 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12732 if (flags & NDR_IN) {
12733 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
12735 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12737 if (r->in.server_unc) {
12738 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12741 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12743 if (r->in.domain_name) {
12744 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12747 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12749 if (r->in.domain_guid) {
12750 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12753 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
12755 if (r->in.site_guid) {
12756 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
12759 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12762 if (flags & NDR_OUT) {
12763 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
12765 ndr_print_ptr(ndr, "info", r->out.info);
12767 ndr_print_ptr(ndr, "info", *r->out.info);
12769 if (*r->out.info) {
12770 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12774 ndr_print_WERROR(ndr, "result", r->out.result);
12780 static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
12782 if (flags & NDR_IN) {
12783 if (r->in.server_name == NULL) {
12784 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12787 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12789 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));
12790 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12791 if (r->in.computer_name) {
12792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12793 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12795 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));
12797 if (r->in.credential == NULL) {
12798 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12800 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12801 if (r->in.return_authenticator == NULL) {
12802 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12804 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12805 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level));
12807 if (flags & NDR_OUT) {
12808 if (r->out.return_authenticator == NULL) {
12809 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12811 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12812 if (r->out.capabilities == NULL) {
12813 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12815 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
12816 NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
12817 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12819 return NDR_ERR_SUCCESS;
12822 static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
12824 uint32_t _ptr_computer_name;
12825 TALLOC_CTX *_mem_save_computer_name_0;
12826 TALLOC_CTX *_mem_save_credential_0;
12827 TALLOC_CTX *_mem_save_return_authenticator_0;
12828 TALLOC_CTX *_mem_save_capabilities_0;
12829 if (flags & NDR_IN) {
12830 ZERO_STRUCT(r->out);
12832 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12833 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12834 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12835 return 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));
12837 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12838 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));
12839 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12840 if (_ptr_computer_name) {
12841 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12843 r->in.computer_name = NULL;
12845 if (r->in.computer_name) {
12846 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12847 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12848 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12849 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12850 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12851 return 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));
12853 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12854 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));
12855 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12857 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12858 NDR_PULL_ALLOC(ndr, r->in.credential);
12860 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12861 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12862 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12863 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12864 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12865 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12867 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12868 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12869 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12871 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level));
12872 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12873 *r->out.return_authenticator = *r->in.return_authenticator;
12874 NDR_PULL_ALLOC(ndr, r->out.capabilities);
12875 ZERO_STRUCTP(r->out.capabilities);
12877 if (flags & NDR_OUT) {
12878 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12879 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12881 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12882 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12883 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12885 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12886 NDR_PULL_ALLOC(ndr, r->out.capabilities);
12888 _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr);
12889 NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC);
12890 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
12891 NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
12892 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC);
12893 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12895 return NDR_ERR_SUCCESS;
12898 _PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r)
12900 ndr_print_struct(ndr, name, "netr_LogonGetCapabilities");
12902 if (flags & NDR_SET_VALUES) {
12903 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12905 if (flags & NDR_IN) {
12906 ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
12908 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12910 ndr_print_string(ndr, "server_name", r->in.server_name);
12912 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12914 if (r->in.computer_name) {
12915 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12918 ndr_print_ptr(ndr, "credential", r->in.credential);
12920 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12922 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12924 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12926 ndr_print_uint32(ndr, "query_level", r->in.query_level);
12929 if (flags & NDR_OUT) {
12930 ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities");
12932 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12934 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12936 ndr_print_ptr(ndr, "capabilities", r->out.capabilities);
12938 ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level);
12939 ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities);
12941 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12947 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
12949 if (flags & NDR_IN) {
12951 if (flags & NDR_OUT) {
12952 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12954 return NDR_ERR_SUCCESS;
12957 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
12959 if (flags & NDR_IN) {
12961 if (flags & NDR_OUT) {
12962 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12964 return NDR_ERR_SUCCESS;
12967 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
12969 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
12971 if (flags & NDR_SET_VALUES) {
12972 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12974 if (flags & NDR_IN) {
12975 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
12979 if (flags & NDR_OUT) {
12980 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
12982 ndr_print_WERROR(ndr, "result", r->out.result);
12988 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
12990 if (flags & NDR_IN) {
12991 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12992 if (r->in.server_name) {
12993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12996 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));
12998 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12999 if (r->in.domain_name) {
13000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13001 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13002 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13003 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));
13006 if (flags & NDR_OUT) {
13007 if (r->out.rid == NULL) {
13008 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13010 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13011 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13013 return NDR_ERR_SUCCESS;
13016 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
13018 uint32_t _ptr_server_name;
13019 uint32_t _ptr_domain_name;
13020 TALLOC_CTX *_mem_save_server_name_0;
13021 TALLOC_CTX *_mem_save_domain_name_0;
13022 TALLOC_CTX *_mem_save_rid_0;
13023 if (flags & NDR_IN) {
13024 ZERO_STRUCT(r->out);
13026 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13027 if (_ptr_server_name) {
13028 NDR_PULL_ALLOC(ndr, r->in.server_name);
13030 r->in.server_name = NULL;
13032 if (r->in.server_name) {
13033 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13034 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13035 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13036 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13037 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13038 return 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));
13040 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13041 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));
13042 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13044 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13045 if (_ptr_domain_name) {
13046 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13048 r->in.domain_name = NULL;
13050 if (r->in.domain_name) {
13051 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13052 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13053 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13054 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13055 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13056 return 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));
13058 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13059 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));
13060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13062 NDR_PULL_ALLOC(ndr, r->out.rid);
13063 ZERO_STRUCTP(r->out.rid);
13065 if (flags & NDR_OUT) {
13066 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13067 NDR_PULL_ALLOC(ndr, r->out.rid);
13069 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13070 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13071 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13072 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13073 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13075 return NDR_ERR_SUCCESS;
13078 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
13080 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
13082 if (flags & NDR_SET_VALUES) {
13083 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13085 if (flags & NDR_IN) {
13086 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
13088 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13090 if (r->in.server_name) {
13091 ndr_print_string(ndr, "server_name", r->in.server_name);
13094 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13096 if (r->in.domain_name) {
13097 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13102 if (flags & NDR_OUT) {
13103 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
13105 ndr_print_ptr(ndr, "rid", r->out.rid);
13107 ndr_print_uint32(ndr, "rid", *r->out.rid);
13109 ndr_print_WERROR(ndr, "result", r->out.result);
13115 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13117 if (flags & NDR_IN) {
13119 if (flags & NDR_OUT) {
13120 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13122 return NDR_ERR_SUCCESS;
13125 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13127 if (flags & NDR_IN) {
13129 if (flags & NDR_OUT) {
13130 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13132 return NDR_ERR_SUCCESS;
13135 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13137 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
13139 if (flags & NDR_SET_VALUES) {
13140 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13142 if (flags & NDR_IN) {
13143 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13147 if (flags & NDR_OUT) {
13148 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13150 ndr_print_WERROR(ndr, "result", r->out.result);
13156 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13158 if (flags & NDR_IN) {
13160 if (flags & NDR_OUT) {
13161 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13163 return NDR_ERR_SUCCESS;
13166 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13168 if (flags & NDR_IN) {
13170 if (flags & NDR_OUT) {
13171 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13173 return NDR_ERR_SUCCESS;
13176 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13178 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13180 if (flags & NDR_SET_VALUES) {
13181 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13183 if (flags & NDR_IN) {
13184 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13188 if (flags & NDR_OUT) {
13189 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13191 ndr_print_WERROR(ndr, "result", r->out.result);
13197 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
13199 if (flags & NDR_IN) {
13200 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13201 if (r->in.server_name) {
13202 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13204 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13205 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));
13207 if (r->in.account_name == NULL) {
13208 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13210 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13213 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));
13214 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13215 if (r->in.computer_name == NULL) {
13216 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13221 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));
13222 if (r->in.credentials == NULL) {
13223 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13225 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13226 if (r->in.negotiate_flags == NULL) {
13227 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13229 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
13231 if (flags & NDR_OUT) {
13232 if (r->out.return_credentials == NULL) {
13233 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13235 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13236 if (r->out.negotiate_flags == NULL) {
13237 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13239 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
13240 if (r->out.rid == NULL) {
13241 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13244 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13246 return NDR_ERR_SUCCESS;
13249 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
13251 uint32_t _ptr_server_name;
13252 TALLOC_CTX *_mem_save_server_name_0;
13253 TALLOC_CTX *_mem_save_credentials_0;
13254 TALLOC_CTX *_mem_save_return_credentials_0;
13255 TALLOC_CTX *_mem_save_negotiate_flags_0;
13256 TALLOC_CTX *_mem_save_rid_0;
13257 if (flags & NDR_IN) {
13258 ZERO_STRUCT(r->out);
13260 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13261 if (_ptr_server_name) {
13262 NDR_PULL_ALLOC(ndr, r->in.server_name);
13264 r->in.server_name = NULL;
13266 if (r->in.server_name) {
13267 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13268 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13269 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13270 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13271 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13272 return 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));
13274 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13275 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));
13276 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13278 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13279 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13280 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13281 return 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));
13283 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13284 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));
13285 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13286 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13287 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13288 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13289 return 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));
13291 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13292 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));
13293 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13294 NDR_PULL_ALLOC(ndr, r->in.credentials);
13296 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13297 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
13298 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13299 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13300 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13301 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
13303 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13304 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13305 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
13306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13307 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13308 ZERO_STRUCTP(r->out.return_credentials);
13309 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13310 *r->out.negotiate_flags = *r->in.negotiate_flags;
13311 NDR_PULL_ALLOC(ndr, r->out.rid);
13312 ZERO_STRUCTP(r->out.rid);
13314 if (flags & NDR_OUT) {
13315 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13316 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13318 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13319 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
13320 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13322 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13323 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13325 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13326 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13327 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
13328 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13329 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13330 NDR_PULL_ALLOC(ndr, r->out.rid);
13332 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13333 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13336 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13338 return NDR_ERR_SUCCESS;
13341 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
13343 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
13345 if (flags & NDR_SET_VALUES) {
13346 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13348 if (flags & NDR_IN) {
13349 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
13351 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13353 if (r->in.server_name) {
13354 ndr_print_string(ndr, "server_name", r->in.server_name);
13357 ndr_print_ptr(ndr, "account_name", r->in.account_name);
13359 ndr_print_string(ndr, "account_name", r->in.account_name);
13361 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13362 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13364 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13366 ndr_print_ptr(ndr, "credentials", r->in.credentials);
13368 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
13370 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
13372 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
13376 if (flags & NDR_OUT) {
13377 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
13379 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
13381 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
13383 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
13385 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
13387 ndr_print_ptr(ndr, "rid", r->out.rid);
13389 ndr_print_uint32(ndr, "rid", *r->out.rid);
13391 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13397 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
13399 if (flags & NDR_IN) {
13400 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
13401 if (r->in.server_unc) {
13402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13405 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));
13407 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13408 if (r->in.domain_name) {
13409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13412 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));
13414 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13415 if (r->in.domain_guid) {
13416 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13418 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
13419 if (r->in.site_name) {
13420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13423 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));
13425 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
13427 if (flags & NDR_OUT) {
13428 if (r->out.info == NULL) {
13429 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13431 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
13432 if (*r->out.info) {
13433 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13435 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13437 return NDR_ERR_SUCCESS;
13440 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
13442 uint32_t _ptr_server_unc;
13443 uint32_t _ptr_domain_name;
13444 uint32_t _ptr_domain_guid;
13445 uint32_t _ptr_site_name;
13446 uint32_t _ptr_info;
13447 TALLOC_CTX *_mem_save_server_unc_0;
13448 TALLOC_CTX *_mem_save_domain_name_0;
13449 TALLOC_CTX *_mem_save_domain_guid_0;
13450 TALLOC_CTX *_mem_save_site_name_0;
13451 TALLOC_CTX *_mem_save_info_0;
13452 TALLOC_CTX *_mem_save_info_1;
13453 if (flags & NDR_IN) {
13454 ZERO_STRUCT(r->out);
13456 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
13457 if (_ptr_server_unc) {
13458 NDR_PULL_ALLOC(ndr, r->in.server_unc);
13460 r->in.server_unc = NULL;
13462 if (r->in.server_unc) {
13463 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
13464 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
13465 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
13466 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
13467 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
13468 return 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));
13470 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
13471 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));
13472 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
13474 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13475 if (_ptr_domain_name) {
13476 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13478 r->in.domain_name = NULL;
13480 if (r->in.domain_name) {
13481 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13482 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13483 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13484 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13485 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13486 return 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));
13488 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13489 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));
13490 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13492 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13493 if (_ptr_domain_guid) {
13494 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13496 r->in.domain_guid = NULL;
13498 if (r->in.domain_guid) {
13499 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13500 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13501 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13502 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13504 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
13505 if (_ptr_site_name) {
13506 NDR_PULL_ALLOC(ndr, r->in.site_name);
13508 r->in.site_name = NULL;
13510 if (r->in.site_name) {
13511 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13512 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
13513 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
13514 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
13515 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
13516 return 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));
13518 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
13519 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));
13520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
13522 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
13523 NDR_PULL_ALLOC(ndr, r->out.info);
13524 ZERO_STRUCTP(r->out.info);
13526 if (flags & NDR_OUT) {
13527 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13528 NDR_PULL_ALLOC(ndr, r->out.info);
13530 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13531 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13532 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13534 NDR_PULL_ALLOC(ndr, *r->out.info);
13536 *r->out.info = NULL;
13538 if (*r->out.info) {
13539 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13540 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
13541 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13542 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13545 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13547 return NDR_ERR_SUCCESS;
13550 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
13552 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
13554 if (flags & NDR_SET_VALUES) {
13555 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13557 if (flags & NDR_IN) {
13558 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
13560 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
13562 if (r->in.server_unc) {
13563 ndr_print_string(ndr, "server_unc", r->in.server_unc);
13566 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13568 if (r->in.domain_name) {
13569 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13572 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13574 if (r->in.domain_guid) {
13575 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13578 ndr_print_ptr(ndr, "site_name", r->in.site_name);
13580 if (r->in.site_name) {
13581 ndr_print_string(ndr, "site_name", r->in.site_name);
13584 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13587 if (flags & NDR_OUT) {
13588 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
13590 ndr_print_ptr(ndr, "info", r->out.info);
13592 ndr_print_ptr(ndr, "info", *r->out.info);
13594 if (*r->out.info) {
13595 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13599 ndr_print_WERROR(ndr, "result", r->out.result);
13605 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
13607 if (flags & NDR_IN) {
13608 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13609 if (r->in.computer_name) {
13610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13613 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));
13616 if (flags & NDR_OUT) {
13617 if (r->out.site == NULL) {
13618 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13620 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
13621 if (*r->out.site) {
13622 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13624 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13625 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13627 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13629 return NDR_ERR_SUCCESS;
13632 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
13634 uint32_t _ptr_computer_name;
13635 uint32_t _ptr_site;
13636 TALLOC_CTX *_mem_save_computer_name_0;
13637 TALLOC_CTX *_mem_save_site_0;
13638 TALLOC_CTX *_mem_save_site_1;
13639 if (flags & NDR_IN) {
13640 ZERO_STRUCT(r->out);
13642 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13643 if (_ptr_computer_name) {
13644 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13646 r->in.computer_name = NULL;
13648 if (r->in.computer_name) {
13649 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13650 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13651 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13652 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13653 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13654 return 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));
13656 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13657 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));
13658 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13660 NDR_PULL_ALLOC(ndr, r->out.site);
13661 ZERO_STRUCTP(r->out.site);
13663 if (flags & NDR_OUT) {
13664 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13665 NDR_PULL_ALLOC(ndr, r->out.site);
13667 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
13668 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
13669 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
13671 NDR_PULL_ALLOC(ndr, *r->out.site);
13673 *r->out.site = NULL;
13675 if (*r->out.site) {
13676 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
13677 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
13678 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
13679 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
13680 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
13681 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));
13683 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
13684 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
13685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
13687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
13688 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13690 return NDR_ERR_SUCCESS;
13693 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
13695 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
13697 if (flags & NDR_SET_VALUES) {
13698 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13700 if (flags & NDR_IN) {
13701 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
13703 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13705 if (r->in.computer_name) {
13706 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13711 if (flags & NDR_OUT) {
13712 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
13714 ndr_print_ptr(ndr, "site", r->out.site);
13716 ndr_print_ptr(ndr, "site", *r->out.site);
13718 if (*r->out.site) {
13719 ndr_print_string(ndr, "site", *r->out.site);
13723 ndr_print_WERROR(ndr, "result", r->out.result);
13729 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
13731 if (flags & NDR_IN) {
13732 if (r->in.server_name == NULL) {
13733 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, 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.server_name, CH_UTF16)));
13738 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));
13739 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13740 if (r->in.computer_name) {
13741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13744 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));
13746 if (r->in.credential == NULL) {
13747 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13749 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13750 if (r->in.return_authenticator == NULL) {
13751 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13753 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13755 if (r->in.query == NULL) {
13756 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13758 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.query, r->in.level));
13759 NDR_CHECK(ndr_push_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
13761 if (flags & NDR_OUT) {
13762 if (r->out.return_authenticator == NULL) {
13763 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13765 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13766 if (r->out.info == NULL) {
13767 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13769 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
13770 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13771 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13773 return NDR_ERR_SUCCESS;
13776 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
13778 uint32_t _ptr_computer_name;
13779 TALLOC_CTX *_mem_save_computer_name_0;
13780 TALLOC_CTX *_mem_save_credential_0;
13781 TALLOC_CTX *_mem_save_return_authenticator_0;
13782 TALLOC_CTX *_mem_save_query_0;
13783 TALLOC_CTX *_mem_save_info_0;
13784 if (flags & NDR_IN) {
13785 ZERO_STRUCT(r->out);
13787 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13788 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13789 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13790 return 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));
13792 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13793 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));
13794 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13795 if (_ptr_computer_name) {
13796 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13798 r->in.computer_name = NULL;
13800 if (r->in.computer_name) {
13801 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13802 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13803 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13804 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13805 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13806 return 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));
13808 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13809 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));
13810 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13812 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13813 NDR_PULL_ALLOC(ndr, r->in.credential);
13815 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13816 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13817 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13818 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13819 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13820 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13822 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13823 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13824 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13826 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13827 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13828 NDR_PULL_ALLOC(ndr, r->in.query);
13830 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
13831 NDR_PULL_SET_MEM_CTX(ndr, r->in.query, LIBNDR_FLAG_REF_ALLOC);
13832 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.query, r->in.level));
13833 NDR_CHECK(ndr_pull_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
13834 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
13835 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13836 *r->out.return_authenticator = *r->in.return_authenticator;
13837 NDR_PULL_ALLOC(ndr, r->out.info);
13838 ZERO_STRUCTP(r->out.info);
13840 if (flags & NDR_OUT) {
13841 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13842 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13844 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13845 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13846 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13848 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13849 NDR_PULL_ALLOC(ndr, r->out.info);
13851 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13852 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13853 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
13854 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13855 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13856 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13858 return NDR_ERR_SUCCESS;
13861 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
13863 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
13865 if (flags & NDR_SET_VALUES) {
13866 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13868 if (flags & NDR_IN) {
13869 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
13871 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13873 ndr_print_string(ndr, "server_name", r->in.server_name);
13875 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13877 if (r->in.computer_name) {
13878 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13881 ndr_print_ptr(ndr, "credential", r->in.credential);
13883 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13885 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
13887 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
13889 ndr_print_uint32(ndr, "level", r->in.level);
13890 ndr_print_ptr(ndr, "query", r->in.query);
13892 ndr_print_set_switch_value(ndr, r->in.query, r->in.level);
13893 ndr_print_netr_WorkstationInfo(ndr, "query", r->in.query);
13897 if (flags & NDR_OUT) {
13898 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
13900 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13902 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13904 ndr_print_ptr(ndr, "info", r->out.info);
13906 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
13907 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
13909 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13915 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
13917 if (flags & NDR_IN) {
13918 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13919 if (r->in.server_name) {
13920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13923 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));
13925 if (r->in.account_name == NULL) {
13926 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13931 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));
13932 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13933 if (r->in.computer_name == NULL) {
13934 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13937 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13938 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13939 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));
13940 if (r->in.credential == NULL) {
13941 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13943 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13944 if (r->in.new_password == NULL) {
13945 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13947 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
13949 if (flags & NDR_OUT) {
13950 if (r->out.return_authenticator == NULL) {
13951 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13953 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13954 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13956 return NDR_ERR_SUCCESS;
13959 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
13961 uint32_t _ptr_server_name;
13962 TALLOC_CTX *_mem_save_server_name_0;
13963 TALLOC_CTX *_mem_save_credential_0;
13964 TALLOC_CTX *_mem_save_return_authenticator_0;
13965 TALLOC_CTX *_mem_save_new_password_0;
13966 if (flags & NDR_IN) {
13967 ZERO_STRUCT(r->out);
13969 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13970 if (_ptr_server_name) {
13971 NDR_PULL_ALLOC(ndr, r->in.server_name);
13973 r->in.server_name = NULL;
13975 if (r->in.server_name) {
13976 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13977 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13978 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13979 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13980 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13981 return 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));
13983 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13984 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));
13985 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13987 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13988 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13989 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13990 return 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));
13992 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13993 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));
13994 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13995 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13996 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13997 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13998 return 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));
14000 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14001 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));
14002 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14003 NDR_PULL_ALLOC(ndr, r->in.credential);
14005 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14006 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14007 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14008 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14009 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14010 NDR_PULL_ALLOC(ndr, r->in.new_password);
14012 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14013 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
14014 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
14015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
14016 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14017 ZERO_STRUCTP(r->out.return_authenticator);
14019 if (flags & NDR_OUT) {
14020 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14021 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14023 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14024 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14025 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14027 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14029 return NDR_ERR_SUCCESS;
14032 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
14034 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
14036 if (flags & NDR_SET_VALUES) {
14037 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14039 if (flags & NDR_IN) {
14040 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
14042 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14044 if (r->in.server_name) {
14045 ndr_print_string(ndr, "server_name", r->in.server_name);
14048 ndr_print_ptr(ndr, "account_name", r->in.account_name);
14050 ndr_print_string(ndr, "account_name", r->in.account_name);
14052 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14053 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14055 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14057 ndr_print_ptr(ndr, "credential", r->in.credential);
14059 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14061 ndr_print_ptr(ndr, "new_password", r->in.new_password);
14063 ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
14067 if (flags & NDR_OUT) {
14068 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
14070 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14072 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14074 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14080 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
14082 if (flags & NDR_IN) {
14083 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14084 if (r->in.server_name) {
14085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14088 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));
14090 if (r->in.account_name == NULL) {
14091 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14093 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14094 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14095 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14096 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));
14097 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14098 if (r->in.computer_name == NULL) {
14099 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14101 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14102 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14104 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));
14105 if (r->in.credential == NULL) {
14106 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14108 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14110 if (flags & NDR_OUT) {
14111 if (r->out.return_authenticator == NULL) {
14112 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14114 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14115 if (r->out.password == NULL) {
14116 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14118 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
14119 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14121 return NDR_ERR_SUCCESS;
14124 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
14126 uint32_t _ptr_server_name;
14127 TALLOC_CTX *_mem_save_server_name_0;
14128 TALLOC_CTX *_mem_save_credential_0;
14129 TALLOC_CTX *_mem_save_return_authenticator_0;
14130 TALLOC_CTX *_mem_save_password_0;
14131 if (flags & NDR_IN) {
14132 ZERO_STRUCT(r->out);
14134 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14135 if (_ptr_server_name) {
14136 NDR_PULL_ALLOC(ndr, r->in.server_name);
14138 r->in.server_name = NULL;
14140 if (r->in.server_name) {
14141 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14142 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14143 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14144 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14145 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14146 return 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));
14148 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14149 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));
14150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14152 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14153 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14154 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
14155 return 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));
14157 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
14158 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));
14159 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14160 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14161 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14162 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14163 return 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));
14165 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14166 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));
14167 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14168 NDR_PULL_ALLOC(ndr, r->in.credential);
14170 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14171 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14172 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14174 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14175 ZERO_STRUCTP(r->out.return_authenticator);
14176 NDR_PULL_ALLOC(ndr, r->out.password);
14177 ZERO_STRUCTP(r->out.password);
14179 if (flags & NDR_OUT) {
14180 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14181 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14183 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14184 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14185 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14187 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14188 NDR_PULL_ALLOC(ndr, r->out.password);
14190 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14191 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14192 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
14193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14194 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14196 return NDR_ERR_SUCCESS;
14199 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
14201 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
14203 if (flags & NDR_SET_VALUES) {
14204 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14206 if (flags & NDR_IN) {
14207 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
14209 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14211 if (r->in.server_name) {
14212 ndr_print_string(ndr, "server_name", r->in.server_name);
14215 ndr_print_ptr(ndr, "account_name", r->in.account_name);
14217 ndr_print_string(ndr, "account_name", r->in.account_name);
14219 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14220 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14222 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14224 ndr_print_ptr(ndr, "credential", r->in.credential);
14226 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14230 if (flags & NDR_OUT) {
14231 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
14233 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14235 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14237 ndr_print_ptr(ndr, "password", r->out.password);
14239 ndr_print_samr_Password(ndr, "password", r->out.password);
14241 ndr_print_WERROR(ndr, "result", r->out.result);
14247 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14249 if (flags & NDR_IN) {
14251 if (flags & NDR_OUT) {
14252 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14254 return NDR_ERR_SUCCESS;
14257 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
14259 if (flags & NDR_IN) {
14261 if (flags & NDR_OUT) {
14262 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14264 return NDR_ERR_SUCCESS;
14267 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14269 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
14271 if (flags & NDR_SET_VALUES) {
14272 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14274 if (flags & NDR_IN) {
14275 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
14279 if (flags & NDR_OUT) {
14280 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
14282 ndr_print_WERROR(ndr, "result", r->out.result);
14288 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
14290 uint32_t cntr_addresses_1;
14291 if (flags & NDR_IN) {
14292 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14293 if (r->in.server_name) {
14294 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14297 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));
14299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14300 if (r->in.addresses == NULL) {
14301 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14304 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14305 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14307 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14308 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14311 if (flags & NDR_OUT) {
14312 if (r->out.ctr == NULL) {
14313 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14315 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14317 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14319 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14321 return NDR_ERR_SUCCESS;
14324 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
14326 uint32_t _ptr_server_name;
14327 uint32_t cntr_addresses_1;
14329 TALLOC_CTX *_mem_save_server_name_0;
14330 TALLOC_CTX *_mem_save_addresses_1;
14331 TALLOC_CTX *_mem_save_ctr_0;
14332 TALLOC_CTX *_mem_save_ctr_1;
14333 if (flags & NDR_IN) {
14334 ZERO_STRUCT(r->out);
14336 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14337 if (_ptr_server_name) {
14338 NDR_PULL_ALLOC(ndr, r->in.server_name);
14340 r->in.server_name = NULL;
14342 if (r->in.server_name) {
14343 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14344 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14345 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14346 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14347 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14348 return 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));
14350 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14351 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));
14352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14354 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14355 if (r->in.count > 32000) {
14356 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14358 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14359 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14360 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
14362 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14363 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14364 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14365 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14367 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14368 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14370 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14371 NDR_PULL_ALLOC(ndr, r->out.ctr);
14372 ZERO_STRUCTP(r->out.ctr);
14373 if (r->in.addresses) {
14374 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14377 if (flags & NDR_OUT) {
14378 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14379 NDR_PULL_ALLOC(ndr, r->out.ctr);
14381 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14382 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14383 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14385 NDR_PULL_ALLOC(ndr, *r->out.ctr);
14387 *r->out.ctr = NULL;
14390 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14391 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14392 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14393 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14395 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14396 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14398 return NDR_ERR_SUCCESS;
14401 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
14403 uint32_t cntr_addresses_1;
14404 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
14406 if (flags & NDR_SET_VALUES) {
14407 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14409 if (flags & NDR_IN) {
14410 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
14412 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14414 if (r->in.server_name) {
14415 ndr_print_string(ndr, "server_name", r->in.server_name);
14418 ndr_print_uint32(ndr, "count", r->in.count);
14419 ndr_print_ptr(ndr, "addresses", r->in.addresses);
14421 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
14423 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
14425 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
14426 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
14434 if (flags & NDR_OUT) {
14435 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
14437 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14439 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
14442 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
14446 ndr_print_WERROR(ndr, "result", r->out.result);
14452 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
14454 if (flags & NDR_IN) {
14455 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
14456 if (r->in.server_unc) {
14457 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14459 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14460 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));
14462 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
14463 if (r->in.client_account) {
14464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14466 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14467 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));
14469 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
14470 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
14471 if (r->in.domain_name) {
14472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14475 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));
14477 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
14478 if (r->in.domain_guid) {
14479 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14481 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
14482 if (r->in.site_name) {
14483 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14484 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14485 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14486 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));
14488 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
14490 if (flags & NDR_OUT) {
14491 if (r->out.info == NULL) {
14492 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14494 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
14495 if (*r->out.info) {
14496 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14498 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14500 return NDR_ERR_SUCCESS;
14503 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
14505 uint32_t _ptr_server_unc;
14506 uint32_t _ptr_client_account;
14507 uint32_t _ptr_domain_name;
14508 uint32_t _ptr_domain_guid;
14509 uint32_t _ptr_site_name;
14510 uint32_t _ptr_info;
14511 TALLOC_CTX *_mem_save_server_unc_0;
14512 TALLOC_CTX *_mem_save_client_account_0;
14513 TALLOC_CTX *_mem_save_domain_name_0;
14514 TALLOC_CTX *_mem_save_domain_guid_0;
14515 TALLOC_CTX *_mem_save_site_name_0;
14516 TALLOC_CTX *_mem_save_info_0;
14517 TALLOC_CTX *_mem_save_info_1;
14518 if (flags & NDR_IN) {
14519 ZERO_STRUCT(r->out);
14521 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
14522 if (_ptr_server_unc) {
14523 NDR_PULL_ALLOC(ndr, r->in.server_unc);
14525 r->in.server_unc = NULL;
14527 if (r->in.server_unc) {
14528 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
14529 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
14530 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
14531 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
14532 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
14533 return 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));
14535 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
14536 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));
14537 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
14539 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
14540 if (_ptr_client_account) {
14541 NDR_PULL_ALLOC(ndr, r->in.client_account);
14543 r->in.client_account = NULL;
14545 if (r->in.client_account) {
14546 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
14547 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
14548 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
14549 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
14550 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
14551 return 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));
14553 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
14554 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));
14555 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
14557 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
14558 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
14559 if (_ptr_domain_name) {
14560 NDR_PULL_ALLOC(ndr, r->in.domain_name);
14562 r->in.domain_name = NULL;
14564 if (r->in.domain_name) {
14565 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14566 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
14567 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
14568 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
14569 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
14570 return 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));
14572 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
14573 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));
14574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
14576 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
14577 if (_ptr_domain_guid) {
14578 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
14580 r->in.domain_guid = NULL;
14582 if (r->in.domain_guid) {
14583 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14584 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
14585 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
14588 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
14589 if (_ptr_site_name) {
14590 NDR_PULL_ALLOC(ndr, r->in.site_name);
14592 r->in.site_name = NULL;
14594 if (r->in.site_name) {
14595 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14596 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
14597 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
14598 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
14599 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
14600 return 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));
14602 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
14603 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));
14604 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
14606 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
14607 NDR_PULL_ALLOC(ndr, r->out.info);
14608 ZERO_STRUCTP(r->out.info);
14610 if (flags & NDR_OUT) {
14611 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14612 NDR_PULL_ALLOC(ndr, r->out.info);
14614 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14615 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14616 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14618 NDR_PULL_ALLOC(ndr, *r->out.info);
14620 *r->out.info = NULL;
14622 if (*r->out.info) {
14623 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14624 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
14625 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
14628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14629 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14631 return NDR_ERR_SUCCESS;
14634 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
14636 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
14638 if (flags & NDR_SET_VALUES) {
14639 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14641 if (flags & NDR_IN) {
14642 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
14644 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
14646 if (r->in.server_unc) {
14647 ndr_print_string(ndr, "server_unc", r->in.server_unc);
14650 ndr_print_ptr(ndr, "client_account", r->in.client_account);
14652 if (r->in.client_account) {
14653 ndr_print_string(ndr, "client_account", r->in.client_account);
14656 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
14657 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
14659 if (r->in.domain_name) {
14660 ndr_print_string(ndr, "domain_name", r->in.domain_name);
14663 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
14665 if (r->in.domain_guid) {
14666 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
14669 ndr_print_ptr(ndr, "site_name", r->in.site_name);
14671 if (r->in.site_name) {
14672 ndr_print_string(ndr, "site_name", r->in.site_name);
14675 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
14678 if (flags & NDR_OUT) {
14679 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
14681 ndr_print_ptr(ndr, "info", r->out.info);
14683 ndr_print_ptr(ndr, "info", *r->out.info);
14685 if (*r->out.info) {
14686 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
14690 ndr_print_WERROR(ndr, "result", r->out.result);
14696 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14698 if (flags & NDR_IN) {
14700 if (flags & NDR_OUT) {
14701 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14703 return NDR_ERR_SUCCESS;
14706 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14708 if (flags & NDR_IN) {
14710 if (flags & NDR_OUT) {
14711 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14713 return NDR_ERR_SUCCESS;
14716 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14718 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14720 if (flags & NDR_SET_VALUES) {
14721 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14723 if (flags & NDR_IN) {
14724 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14728 if (flags & NDR_OUT) {
14729 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14731 ndr_print_WERROR(ndr, "result", r->out.result);
14737 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14739 if (flags & NDR_IN) {
14740 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14741 if (r->in.server_name) {
14742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14745 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));
14748 if (flags & NDR_OUT) {
14749 if (r->out.dom_trust_list == NULL) {
14750 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14752 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14753 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14755 return NDR_ERR_SUCCESS;
14758 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
14760 uint32_t _ptr_server_name;
14761 TALLOC_CTX *_mem_save_server_name_0;
14762 TALLOC_CTX *_mem_save_dom_trust_list_0;
14763 if (flags & NDR_IN) {
14764 ZERO_STRUCT(r->out);
14766 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14767 if (_ptr_server_name) {
14768 NDR_PULL_ALLOC(ndr, r->in.server_name);
14770 r->in.server_name = NULL;
14772 if (r->in.server_name) {
14773 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14774 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14775 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14776 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14777 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14778 return 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));
14780 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14781 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));
14782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14784 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14785 ZERO_STRUCTP(r->out.dom_trust_list);
14787 if (flags & NDR_OUT) {
14788 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14789 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14791 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
14792 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
14793 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14794 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
14795 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14797 return NDR_ERR_SUCCESS;
14800 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14802 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
14804 if (flags & NDR_SET_VALUES) {
14805 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14807 if (flags & NDR_IN) {
14808 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
14810 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14812 if (r->in.server_name) {
14813 ndr_print_string(ndr, "server_name", r->in.server_name);
14818 if (flags & NDR_OUT) {
14819 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
14821 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
14823 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
14825 ndr_print_WERROR(ndr, "result", r->out.result);
14831 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
14833 uint32_t cntr_addresses_1;
14834 if (flags & NDR_IN) {
14835 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14836 if (r->in.server_name) {
14837 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14840 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));
14842 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14843 if (r->in.addresses == NULL) {
14844 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14846 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14847 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14848 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14850 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14851 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14854 if (flags & NDR_OUT) {
14855 if (r->out.ctr == NULL) {
14856 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14858 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14860 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14862 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14864 return NDR_ERR_SUCCESS;
14867 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
14869 uint32_t _ptr_server_name;
14870 uint32_t cntr_addresses_1;
14872 TALLOC_CTX *_mem_save_server_name_0;
14873 TALLOC_CTX *_mem_save_addresses_1;
14874 TALLOC_CTX *_mem_save_ctr_0;
14875 TALLOC_CTX *_mem_save_ctr_1;
14876 if (flags & NDR_IN) {
14877 ZERO_STRUCT(r->out);
14879 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14880 if (_ptr_server_name) {
14881 NDR_PULL_ALLOC(ndr, r->in.server_name);
14883 r->in.server_name = NULL;
14885 if (r->in.server_name) {
14886 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14887 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14888 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14889 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14890 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14891 return 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));
14893 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14894 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));
14895 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14897 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14898 if (r->in.count > 32000) {
14899 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14901 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14902 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14903 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
14905 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14906 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14907 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14908 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14910 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14911 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14913 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14914 NDR_PULL_ALLOC(ndr, r->out.ctr);
14915 ZERO_STRUCTP(r->out.ctr);
14916 if (r->in.addresses) {
14917 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14920 if (flags & NDR_OUT) {
14921 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14922 NDR_PULL_ALLOC(ndr, r->out.ctr);
14924 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14925 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14926 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14928 NDR_PULL_ALLOC(ndr, *r->out.ctr);
14930 *r->out.ctr = NULL;
14933 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14934 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14935 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14936 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14938 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14939 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14941 return NDR_ERR_SUCCESS;
14944 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
14946 uint32_t cntr_addresses_1;
14947 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
14949 if (flags & NDR_SET_VALUES) {
14950 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14952 if (flags & NDR_IN) {
14953 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
14955 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14957 if (r->in.server_name) {
14958 ndr_print_string(ndr, "server_name", r->in.server_name);
14961 ndr_print_uint32(ndr, "count", r->in.count);
14962 ndr_print_ptr(ndr, "addresses", r->in.addresses);
14964 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
14966 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
14968 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
14969 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
14977 if (flags & NDR_OUT) {
14978 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
14980 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14982 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
14985 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
14989 ndr_print_WERROR(ndr, "result", r->out.result);
14995 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
14997 if (flags & NDR_IN) {
14998 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14999 if (r->in.server_name) {
15000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15001 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15002 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15003 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));
15006 if (flags & NDR_OUT) {
15007 if (r->out.ctr == NULL) {
15008 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15010 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
15012 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15014 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15016 return NDR_ERR_SUCCESS;
15019 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
15021 uint32_t _ptr_server_name;
15023 TALLOC_CTX *_mem_save_server_name_0;
15024 TALLOC_CTX *_mem_save_ctr_0;
15025 TALLOC_CTX *_mem_save_ctr_1;
15026 if (flags & NDR_IN) {
15027 ZERO_STRUCT(r->out);
15029 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15030 if (_ptr_server_name) {
15031 NDR_PULL_ALLOC(ndr, r->in.server_name);
15033 r->in.server_name = NULL;
15035 if (r->in.server_name) {
15036 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15037 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15038 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15039 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15040 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15041 return 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));
15043 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15044 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));
15045 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15047 NDR_PULL_ALLOC(ndr, r->out.ctr);
15048 ZERO_STRUCTP(r->out.ctr);
15050 if (flags & NDR_OUT) {
15051 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15052 NDR_PULL_ALLOC(ndr, r->out.ctr);
15054 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15055 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15056 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
15058 NDR_PULL_ALLOC(ndr, *r->out.ctr);
15060 *r->out.ctr = NULL;
15063 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
15064 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
15065 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15066 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
15068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15069 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15071 return NDR_ERR_SUCCESS;
15074 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
15076 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
15078 if (flags & NDR_SET_VALUES) {
15079 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15081 if (flags & NDR_IN) {
15082 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
15084 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15086 if (r->in.server_name) {
15087 ndr_print_string(ndr, "server_name", r->in.server_name);
15092 if (flags & NDR_OUT) {
15093 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
15095 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15097 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
15100 ndr_print_DcSitesCtr(ndr, "ctr", *r->out.ctr);
15104 ndr_print_WERROR(ndr, "result", r->out.result);
15110 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
15112 if (flags & NDR_IN) {
15113 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15114 if (r->in.server_name) {
15115 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15116 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15118 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));
15120 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
15121 if (r->in.computer_name) {
15122 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15125 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));
15127 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
15128 if (r->in.logon == NULL) {
15129 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15131 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15132 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15133 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
15134 if (r->in.flags == NULL) {
15135 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
15139 if (flags & NDR_OUT) {
15140 if (r->out.validation == NULL) {
15141 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15143 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15144 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15145 if (r->out.authoritative == NULL) {
15146 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15148 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
15149 if (r->out.flags == NULL) {
15150 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15152 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
15153 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15155 return NDR_ERR_SUCCESS;
15158 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
15160 uint32_t _ptr_server_name;
15161 uint32_t _ptr_computer_name;
15162 TALLOC_CTX *_mem_save_server_name_0;
15163 TALLOC_CTX *_mem_save_computer_name_0;
15164 TALLOC_CTX *_mem_save_logon_0;
15165 TALLOC_CTX *_mem_save_validation_0;
15166 TALLOC_CTX *_mem_save_authoritative_0;
15167 TALLOC_CTX *_mem_save_flags_0;
15168 if (flags & NDR_IN) {
15169 ZERO_STRUCT(r->out);
15171 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15172 if (_ptr_server_name) {
15173 NDR_PULL_ALLOC(ndr, r->in.server_name);
15175 r->in.server_name = NULL;
15177 if (r->in.server_name) {
15178 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15179 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15180 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15181 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15182 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15183 return 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));
15185 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15186 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));
15187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15189 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
15190 if (_ptr_computer_name) {
15191 NDR_PULL_ALLOC(ndr, r->in.computer_name);
15193 r->in.computer_name = NULL;
15195 if (r->in.computer_name) {
15196 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15197 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
15198 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15199 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15200 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15201 return 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));
15203 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15204 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));
15205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
15207 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
15208 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15209 NDR_PULL_ALLOC(ndr, r->in.logon);
15211 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
15212 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
15213 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15214 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
15216 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
15217 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15218 NDR_PULL_ALLOC(ndr, r->in.flags);
15220 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15221 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
15222 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
15223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15224 NDR_PULL_ALLOC(ndr, r->out.validation);
15225 ZERO_STRUCTP(r->out.validation);
15226 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15227 ZERO_STRUCTP(r->out.authoritative);
15228 NDR_PULL_ALLOC(ndr, r->out.flags);
15229 *r->out.flags = *r->in.flags;
15231 if (flags & NDR_OUT) {
15232 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15233 NDR_PULL_ALLOC(ndr, r->out.validation);
15235 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
15236 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
15237 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15238 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15239 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
15240 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15241 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15243 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
15244 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
15245 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
15246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
15247 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15248 NDR_PULL_ALLOC(ndr, r->out.flags);
15250 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15251 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
15252 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
15253 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15254 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15256 return NDR_ERR_SUCCESS;
15259 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
15261 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
15263 if (flags & NDR_SET_VALUES) {
15264 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15266 if (flags & NDR_IN) {
15267 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
15269 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15271 if (r->in.server_name) {
15272 ndr_print_string(ndr, "server_name", r->in.server_name);
15275 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15277 if (r->in.computer_name) {
15278 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15281 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
15282 ndr_print_ptr(ndr, "logon", r->in.logon);
15284 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
15285 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
15287 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
15288 ndr_print_ptr(ndr, "flags", r->in.flags);
15290 ndr_print_uint32(ndr, "flags", *r->in.flags);
15294 if (flags & NDR_OUT) {
15295 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
15297 ndr_print_ptr(ndr, "validation", r->out.validation);
15299 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
15300 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
15302 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
15304 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
15306 ndr_print_ptr(ndr, "flags", r->out.flags);
15308 ndr_print_uint32(ndr, "flags", *r->out.flags);
15310 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15316 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15318 if (flags & NDR_IN) {
15319 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15320 if (r->in.server_name) {
15321 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15322 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15324 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));
15326 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
15328 if (flags & NDR_OUT) {
15329 if (r->out.trusts == NULL) {
15330 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15332 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15333 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15335 return NDR_ERR_SUCCESS;
15338 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
15340 uint32_t _ptr_server_name;
15341 TALLOC_CTX *_mem_save_server_name_0;
15342 TALLOC_CTX *_mem_save_trusts_0;
15343 if (flags & NDR_IN) {
15344 ZERO_STRUCT(r->out);
15346 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15347 if (_ptr_server_name) {
15348 NDR_PULL_ALLOC(ndr, r->in.server_name);
15350 r->in.server_name = NULL;
15352 if (r->in.server_name) {
15353 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15354 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15355 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15356 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15357 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15358 return 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));
15360 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15361 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));
15362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15364 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
15365 NDR_PULL_ALLOC(ndr, r->out.trusts);
15366 ZERO_STRUCTP(r->out.trusts);
15368 if (flags & NDR_OUT) {
15369 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15370 NDR_PULL_ALLOC(ndr, r->out.trusts);
15372 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
15373 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
15374 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15375 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
15376 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15378 return NDR_ERR_SUCCESS;
15381 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15383 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
15385 if (flags & NDR_SET_VALUES) {
15386 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15388 if (flags & NDR_IN) {
15389 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
15391 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15393 if (r->in.server_name) {
15394 ndr_print_string(ndr, "server_name", r->in.server_name);
15397 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
15400 if (flags & NDR_OUT) {
15401 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
15403 ndr_print_ptr(ndr, "trusts", r->out.trusts);
15405 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
15407 ndr_print_WERROR(ndr, "result", r->out.result);
15413 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15415 if (flags & NDR_IN) {
15416 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15417 if (r->in.server_name) {
15418 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15419 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15421 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));
15423 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
15424 if (r->in.domain) {
15425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15428 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15430 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
15431 if (r->in.domain_guid) {
15432 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15434 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
15435 if (r->in.dsa_guid) {
15436 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15438 if (r->in.dns_host == NULL) {
15439 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15441 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15442 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15444 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));
15446 if (flags & NDR_OUT) {
15447 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15449 return NDR_ERR_SUCCESS;
15452 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
15454 uint32_t _ptr_server_name;
15455 uint32_t _ptr_domain;
15456 uint32_t _ptr_domain_guid;
15457 uint32_t _ptr_dsa_guid;
15458 TALLOC_CTX *_mem_save_server_name_0;
15459 TALLOC_CTX *_mem_save_domain_0;
15460 TALLOC_CTX *_mem_save_domain_guid_0;
15461 TALLOC_CTX *_mem_save_dsa_guid_0;
15462 if (flags & NDR_IN) {
15463 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15464 if (_ptr_server_name) {
15465 NDR_PULL_ALLOC(ndr, r->in.server_name);
15467 r->in.server_name = NULL;
15469 if (r->in.server_name) {
15470 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15471 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15472 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15473 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15474 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15475 return 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));
15477 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15478 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));
15479 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15481 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
15483 NDR_PULL_ALLOC(ndr, r->in.domain);
15485 r->in.domain = NULL;
15487 if (r->in.domain) {
15488 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
15489 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
15490 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
15491 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
15492 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
15493 return 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));
15495 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
15496 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
15497 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
15499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
15500 if (_ptr_domain_guid) {
15501 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
15503 r->in.domain_guid = NULL;
15505 if (r->in.domain_guid) {
15506 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15507 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
15508 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15509 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
15511 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
15512 if (_ptr_dsa_guid) {
15513 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
15515 r->in.dsa_guid = NULL;
15517 if (r->in.dsa_guid) {
15518 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15519 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
15520 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
15523 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
15524 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
15525 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
15526 return 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));
15528 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
15529 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));
15531 if (flags & NDR_OUT) {
15532 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15534 return NDR_ERR_SUCCESS;
15537 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15539 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
15541 if (flags & NDR_SET_VALUES) {
15542 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15544 if (flags & NDR_IN) {
15545 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
15547 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15549 if (r->in.server_name) {
15550 ndr_print_string(ndr, "server_name", r->in.server_name);
15553 ndr_print_ptr(ndr, "domain", r->in.domain);
15555 if (r->in.domain) {
15556 ndr_print_string(ndr, "domain", r->in.domain);
15559 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
15561 if (r->in.domain_guid) {
15562 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
15565 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
15567 if (r->in.dsa_guid) {
15568 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
15571 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
15573 ndr_print_string(ndr, "dns_host", r->in.dns_host);
15577 if (flags & NDR_OUT) {
15578 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
15580 ndr_print_WERROR(ndr, "result", r->out.result);
15586 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
15588 if (flags & NDR_IN) {
15589 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15590 if (r->in.server_name) {
15591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15594 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));
15596 if (r->in.account_name == NULL) {
15597 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15602 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));
15603 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
15604 if (r->in.computer_name == NULL) {
15605 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15607 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15610 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));
15611 if (r->in.credential == NULL) {
15612 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15614 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15616 if (flags & NDR_OUT) {
15617 if (r->out.return_authenticator == NULL) {
15618 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15620 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15621 if (r->out.password == NULL) {
15622 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15624 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
15625 if (r->out.password2 == NULL) {
15626 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15628 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15629 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15631 return NDR_ERR_SUCCESS;
15634 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
15636 uint32_t _ptr_server_name;
15637 TALLOC_CTX *_mem_save_server_name_0;
15638 TALLOC_CTX *_mem_save_credential_0;
15639 TALLOC_CTX *_mem_save_return_authenticator_0;
15640 TALLOC_CTX *_mem_save_password_0;
15641 TALLOC_CTX *_mem_save_password2_0;
15642 if (flags & NDR_IN) {
15643 ZERO_STRUCT(r->out);
15645 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15646 if (_ptr_server_name) {
15647 NDR_PULL_ALLOC(ndr, r->in.server_name);
15649 r->in.server_name = NULL;
15651 if (r->in.server_name) {
15652 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15653 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15654 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15655 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15656 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15657 return 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));
15659 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15660 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));
15661 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15663 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
15664 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
15665 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
15666 return 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));
15668 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
15669 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));
15670 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
15671 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15672 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15673 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15674 return 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));
15676 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15677 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));
15678 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15679 NDR_PULL_ALLOC(ndr, r->in.credential);
15681 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15682 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15683 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15685 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15686 ZERO_STRUCTP(r->out.return_authenticator);
15687 NDR_PULL_ALLOC(ndr, r->out.password);
15688 ZERO_STRUCTP(r->out.password);
15689 NDR_PULL_ALLOC(ndr, r->out.password2);
15690 ZERO_STRUCTP(r->out.password2);
15692 if (flags & NDR_OUT) {
15693 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15694 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15696 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15697 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15698 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15699 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15700 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15701 NDR_PULL_ALLOC(ndr, r->out.password);
15703 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
15704 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
15705 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
15706 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
15707 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15708 NDR_PULL_ALLOC(ndr, r->out.password2);
15710 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
15711 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
15712 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
15714 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15716 return NDR_ERR_SUCCESS;
15719 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
15721 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
15723 if (flags & NDR_SET_VALUES) {
15724 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15726 if (flags & NDR_IN) {
15727 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
15729 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15731 if (r->in.server_name) {
15732 ndr_print_string(ndr, "server_name", r->in.server_name);
15735 ndr_print_ptr(ndr, "account_name", r->in.account_name);
15737 ndr_print_string(ndr, "account_name", r->in.account_name);
15739 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
15740 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15742 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15744 ndr_print_ptr(ndr, "credential", r->in.credential);
15746 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15750 if (flags & NDR_OUT) {
15751 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
15753 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15755 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15757 ndr_print_ptr(ndr, "password", r->out.password);
15759 ndr_print_samr_Password(ndr, "password", r->out.password);
15761 ndr_print_ptr(ndr, "password2", r->out.password2);
15763 ndr_print_samr_Password(ndr, "password2", r->out.password2);
15765 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15771 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
15773 if (flags & NDR_IN) {
15774 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15775 if (r->in.server_name) {
15776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15779 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));
15781 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
15782 if (r->in.trusted_domain_name) {
15783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15786 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));
15788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
15790 if (flags & NDR_OUT) {
15791 if (r->out.forest_trust_info == NULL) {
15792 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15794 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
15795 if (*r->out.forest_trust_info) {
15796 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15798 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15800 return NDR_ERR_SUCCESS;
15803 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
15805 uint32_t _ptr_server_name;
15806 uint32_t _ptr_trusted_domain_name;
15807 uint32_t _ptr_forest_trust_info;
15808 TALLOC_CTX *_mem_save_server_name_0;
15809 TALLOC_CTX *_mem_save_trusted_domain_name_0;
15810 TALLOC_CTX *_mem_save_forest_trust_info_0;
15811 TALLOC_CTX *_mem_save_forest_trust_info_1;
15812 if (flags & NDR_IN) {
15813 ZERO_STRUCT(r->out);
15815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15816 if (_ptr_server_name) {
15817 NDR_PULL_ALLOC(ndr, r->in.server_name);
15819 r->in.server_name = NULL;
15821 if (r->in.server_name) {
15822 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15823 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15824 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15825 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15826 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15827 return 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));
15829 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15830 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));
15831 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15833 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
15834 if (_ptr_trusted_domain_name) {
15835 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
15837 r->in.trusted_domain_name = NULL;
15839 if (r->in.trusted_domain_name) {
15840 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15841 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
15842 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
15843 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
15844 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
15845 return 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));
15847 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
15848 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));
15849 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
15851 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
15852 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15853 ZERO_STRUCTP(r->out.forest_trust_info);
15855 if (flags & NDR_OUT) {
15856 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15857 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15859 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15860 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
15861 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
15862 if (_ptr_forest_trust_info) {
15863 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
15865 *r->out.forest_trust_info = NULL;
15867 if (*r->out.forest_trust_info) {
15868 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
15869 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
15870 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
15873 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
15874 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15876 return NDR_ERR_SUCCESS;
15879 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
15881 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
15883 if (flags & NDR_SET_VALUES) {
15884 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15886 if (flags & NDR_IN) {
15887 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
15889 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15891 if (r->in.server_name) {
15892 ndr_print_string(ndr, "server_name", r->in.server_name);
15895 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15897 if (r->in.trusted_domain_name) {
15898 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15901 ndr_print_uint32(ndr, "flags", r->in.flags);
15904 if (flags & NDR_OUT) {
15905 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
15907 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
15909 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
15911 if (*r->out.forest_trust_info) {
15912 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
15916 ndr_print_WERROR(ndr, "result", r->out.result);
15922 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
15924 if (flags & NDR_IN) {
15925 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15926 if (r->in.server_name) {
15927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15930 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));
15932 if (r->in.trusted_domain_name == NULL) {
15933 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15935 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15937 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15938 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));
15939 if (r->in.credential == NULL) {
15940 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15942 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
15945 if (flags & NDR_OUT) {
15946 if (r->out.return_authenticator == NULL) {
15947 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15949 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15950 if (r->out.forest_trust_info == NULL) {
15951 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15953 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
15954 if (*r->out.forest_trust_info) {
15955 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15957 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15959 return NDR_ERR_SUCCESS;
15962 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
15964 uint32_t _ptr_server_name;
15965 uint32_t _ptr_forest_trust_info;
15966 TALLOC_CTX *_mem_save_server_name_0;
15967 TALLOC_CTX *_mem_save_credential_0;
15968 TALLOC_CTX *_mem_save_return_authenticator_0;
15969 TALLOC_CTX *_mem_save_forest_trust_info_0;
15970 TALLOC_CTX *_mem_save_forest_trust_info_1;
15971 if (flags & NDR_IN) {
15972 ZERO_STRUCT(r->out);
15974 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15975 if (_ptr_server_name) {
15976 NDR_PULL_ALLOC(ndr, r->in.server_name);
15978 r->in.server_name = NULL;
15980 if (r->in.server_name) {
15981 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15982 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15983 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15984 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15985 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15986 return 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));
15988 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15989 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));
15990 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15992 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
15993 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
15994 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
15995 return 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));
15997 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
15998 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));
15999 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16000 NDR_PULL_ALLOC(ndr, r->in.credential);
16002 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16003 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16004 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16006 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
16007 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16008 ZERO_STRUCTP(r->out.return_authenticator);
16009 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16010 ZERO_STRUCTP(r->out.forest_trust_info);
16012 if (flags & NDR_OUT) {
16013 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16014 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16016 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16017 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16018 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16020 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16021 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16023 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16024 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
16025 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
16026 if (_ptr_forest_trust_info) {
16027 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
16029 *r->out.forest_trust_info = NULL;
16031 if (*r->out.forest_trust_info) {
16032 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16033 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
16034 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16035 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
16037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16038 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16040 return NDR_ERR_SUCCESS;
16043 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
16045 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
16047 if (flags & NDR_SET_VALUES) {
16048 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16050 if (flags & NDR_IN) {
16051 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
16053 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16055 if (r->in.server_name) {
16056 ndr_print_string(ndr, "server_name", r->in.server_name);
16059 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16061 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16063 ndr_print_ptr(ndr, "credential", r->in.credential);
16065 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16067 ndr_print_uint32(ndr, "flags", r->in.flags);
16070 if (flags & NDR_OUT) {
16071 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
16073 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16075 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16077 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
16079 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
16081 if (*r->out.forest_trust_info) {
16082 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
16086 ndr_print_WERROR(ndr, "result", r->out.result);
16092 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
16094 if (flags & NDR_IN) {
16095 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16096 if (r->in.server_name) {
16097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16098 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16100 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));
16102 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
16103 if (r->in.computer_name) {
16104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16107 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));
16109 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
16110 if (r->in.credential) {
16111 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16113 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
16114 if (r->in.return_authenticator) {
16115 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16117 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
16118 if (r->in.logon == NULL) {
16119 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16121 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16122 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16123 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
16124 if (r->in.flags == NULL) {
16125 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
16129 if (flags & NDR_OUT) {
16130 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
16131 if (r->out.return_authenticator) {
16132 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16134 if (r->out.validation == NULL) {
16135 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16137 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16138 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16139 if (r->out.authoritative == NULL) {
16140 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16142 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
16143 if (r->out.flags == NULL) {
16144 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16146 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
16147 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16149 return NDR_ERR_SUCCESS;
16152 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
16154 uint32_t _ptr_server_name;
16155 uint32_t _ptr_computer_name;
16156 uint32_t _ptr_credential;
16157 uint32_t _ptr_return_authenticator;
16158 TALLOC_CTX *_mem_save_server_name_0;
16159 TALLOC_CTX *_mem_save_computer_name_0;
16160 TALLOC_CTX *_mem_save_credential_0;
16161 TALLOC_CTX *_mem_save_return_authenticator_0;
16162 TALLOC_CTX *_mem_save_logon_0;
16163 TALLOC_CTX *_mem_save_validation_0;
16164 TALLOC_CTX *_mem_save_authoritative_0;
16165 TALLOC_CTX *_mem_save_flags_0;
16166 if (flags & NDR_IN) {
16167 ZERO_STRUCT(r->out);
16169 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16170 if (_ptr_server_name) {
16171 NDR_PULL_ALLOC(ndr, r->in.server_name);
16173 r->in.server_name = NULL;
16175 if (r->in.server_name) {
16176 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16177 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16178 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16179 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16180 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16181 return 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));
16183 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16184 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));
16185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16187 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
16188 if (_ptr_computer_name) {
16189 NDR_PULL_ALLOC(ndr, r->in.computer_name);
16191 r->in.computer_name = NULL;
16193 if (r->in.computer_name) {
16194 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16195 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
16196 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16197 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16198 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
16199 return 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));
16201 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
16202 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));
16203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
16205 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
16206 if (_ptr_credential) {
16207 NDR_PULL_ALLOC(ndr, r->in.credential);
16209 r->in.credential = NULL;
16211 if (r->in.credential) {
16212 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16213 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
16214 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
16217 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16218 if (_ptr_return_authenticator) {
16219 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
16221 r->in.return_authenticator = NULL;
16223 if (r->in.return_authenticator) {
16224 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16225 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
16226 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16227 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16229 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
16230 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16231 NDR_PULL_ALLOC(ndr, r->in.logon);
16233 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
16234 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
16235 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16236 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16237 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
16238 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
16239 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16240 NDR_PULL_ALLOC(ndr, r->in.flags);
16242 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16243 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
16244 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
16245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16246 NDR_PULL_ALLOC(ndr, r->out.validation);
16247 ZERO_STRUCTP(r->out.validation);
16248 NDR_PULL_ALLOC(ndr, r->out.authoritative);
16249 ZERO_STRUCTP(r->out.authoritative);
16250 NDR_PULL_ALLOC(ndr, r->out.flags);
16251 *r->out.flags = *r->in.flags;
16253 if (flags & NDR_OUT) {
16254 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16255 if (_ptr_return_authenticator) {
16256 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16258 r->out.return_authenticator = NULL;
16260 if (r->out.return_authenticator) {
16261 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16262 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
16263 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16266 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16267 NDR_PULL_ALLOC(ndr, r->out.validation);
16269 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
16270 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
16271 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16272 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
16274 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16275 NDR_PULL_ALLOC(ndr, r->out.authoritative);
16277 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
16278 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
16279 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
16280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
16281 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16282 NDR_PULL_ALLOC(ndr, r->out.flags);
16284 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16285 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
16286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
16287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16288 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16290 return NDR_ERR_SUCCESS;
16293 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
16295 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
16297 if (flags & NDR_SET_VALUES) {
16298 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16300 if (flags & NDR_IN) {
16301 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
16303 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16305 if (r->in.server_name) {
16306 ndr_print_string(ndr, "server_name", r->in.server_name);
16309 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16311 if (r->in.computer_name) {
16312 ndr_print_string(ndr, "computer_name", r->in.computer_name);
16315 ndr_print_ptr(ndr, "credential", r->in.credential);
16317 if (r->in.credential) {
16318 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16321 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
16323 if (r->in.return_authenticator) {
16324 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
16327 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
16328 ndr_print_ptr(ndr, "logon", r->in.logon);
16330 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
16331 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
16333 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
16334 ndr_print_ptr(ndr, "flags", r->in.flags);
16336 ndr_print_uint32(ndr, "flags", *r->in.flags);
16340 if (flags & NDR_OUT) {
16341 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
16343 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16345 if (r->out.return_authenticator) {
16346 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16349 ndr_print_ptr(ndr, "validation", r->out.validation);
16351 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
16352 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
16354 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
16356 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
16358 ndr_print_ptr(ndr, "flags", r->out.flags);
16360 ndr_print_uint32(ndr, "flags", *r->out.flags);
16362 ndr_print_NTSTATUS(ndr, "result", r->out.result);
16368 static enum ndr_err_code ndr_push_netr_ServerGetTrustInfo(struct ndr_push *ndr, int flags, const struct netr_ServerGetTrustInfo *r)
16370 if (flags & NDR_IN) {
16371 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16372 if (r->in.server_name) {
16373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16376 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));
16378 if (r->in.account_name == NULL) {
16379 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16384 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));
16385 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
16386 if (r->in.computer_name == NULL) {
16387 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16392 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));
16393 if (r->in.credential == NULL) {
16394 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16396 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16398 if (flags & NDR_OUT) {
16399 if (r->out.return_authenticator == NULL) {
16400 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16402 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16403 if (r->out.new_owf_password == NULL) {
16404 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16406 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16407 if (r->out.old_owf_password == NULL) {
16408 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16410 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16411 if (r->out.trust_info == NULL) {
16412 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16414 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.trust_info));
16415 if (*r->out.trust_info) {
16416 NDR_CHECK(ndr_push_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16418 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16420 return NDR_ERR_SUCCESS;
16423 static enum ndr_err_code ndr_pull_netr_ServerGetTrustInfo(struct ndr_pull *ndr, int flags, struct netr_ServerGetTrustInfo *r)
16425 uint32_t _ptr_server_name;
16426 uint32_t _ptr_trust_info;
16427 TALLOC_CTX *_mem_save_server_name_0;
16428 TALLOC_CTX *_mem_save_credential_0;
16429 TALLOC_CTX *_mem_save_return_authenticator_0;
16430 TALLOC_CTX *_mem_save_new_owf_password_0;
16431 TALLOC_CTX *_mem_save_old_owf_password_0;
16432 TALLOC_CTX *_mem_save_trust_info_0;
16433 TALLOC_CTX *_mem_save_trust_info_1;
16434 if (flags & NDR_IN) {
16435 ZERO_STRUCT(r->out);
16437 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16438 if (_ptr_server_name) {
16439 NDR_PULL_ALLOC(ndr, r->in.server_name);
16441 r->in.server_name = NULL;
16443 if (r->in.server_name) {
16444 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16445 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16446 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16447 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16448 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16449 return 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));
16451 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16452 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));
16453 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16455 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
16456 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
16457 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
16458 return 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));
16460 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
16461 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));
16462 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
16463 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16464 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16465 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
16466 return 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));
16468 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
16469 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));
16470 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16471 NDR_PULL_ALLOC(ndr, r->in.credential);
16473 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16474 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16475 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16477 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16478 ZERO_STRUCTP(r->out.return_authenticator);
16479 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16480 ZERO_STRUCTP(r->out.new_owf_password);
16481 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16482 ZERO_STRUCTP(r->out.old_owf_password);
16483 NDR_PULL_ALLOC(ndr, r->out.trust_info);
16484 ZERO_STRUCTP(r->out.trust_info);
16486 if (flags & NDR_OUT) {
16487 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16488 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16490 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16491 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16492 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16493 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16494 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16495 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16497 _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16498 NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
16499 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16500 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16501 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16502 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16504 _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16505 NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
16506 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16507 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16508 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16509 NDR_PULL_ALLOC(ndr, r->out.trust_info);
16511 _mem_save_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16512 NDR_PULL_SET_MEM_CTX(ndr, r->out.trust_info, LIBNDR_FLAG_REF_ALLOC);
16513 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trust_info));
16514 if (_ptr_trust_info) {
16515 NDR_PULL_ALLOC(ndr, *r->out.trust_info);
16517 *r->out.trust_info = NULL;
16519 if (*r->out.trust_info) {
16520 _mem_save_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16521 NDR_PULL_SET_MEM_CTX(ndr, *r->out.trust_info, 0);
16522 NDR_CHECK(ndr_pull_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16523 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_1, 0);
16525 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16526 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16528 return NDR_ERR_SUCCESS;
16531 _PUBLIC_ void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r)
16533 ndr_print_struct(ndr, name, "netr_ServerGetTrustInfo");
16535 if (flags & NDR_SET_VALUES) {
16536 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16538 if (flags & NDR_IN) {
16539 ndr_print_struct(ndr, "in", "netr_ServerGetTrustInfo");
16541 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16543 if (r->in.server_name) {
16544 ndr_print_string(ndr, "server_name", r->in.server_name);
16547 ndr_print_ptr(ndr, "account_name", r->in.account_name);
16549 ndr_print_string(ndr, "account_name", r->in.account_name);
16551 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
16552 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16554 ndr_print_string(ndr, "computer_name", r->in.computer_name);
16556 ndr_print_ptr(ndr, "credential", r->in.credential);
16558 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16562 if (flags & NDR_OUT) {
16563 ndr_print_struct(ndr, "out", "netr_ServerGetTrustInfo");
16565 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16567 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16569 ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
16571 ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
16573 ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
16575 ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
16577 ndr_print_ptr(ndr, "trust_info", r->out.trust_info);
16579 ndr_print_ptr(ndr, "trust_info", *r->out.trust_info);
16581 if (*r->out.trust_info) {
16582 ndr_print_netr_TrustInfo(ndr, "trust_info", *r->out.trust_info);
16586 ndr_print_NTSTATUS(ndr, "result", r->out.result);
16592 static const struct ndr_interface_call netlogon_calls[] = {
16594 "netr_LogonUasLogon",
16595 sizeof(struct netr_LogonUasLogon),
16596 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
16597 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
16598 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
16602 "netr_LogonUasLogoff",
16603 sizeof(struct netr_LogonUasLogoff),
16604 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
16605 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
16606 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
16610 "netr_LogonSamLogon",
16611 sizeof(struct netr_LogonSamLogon),
16612 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
16613 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
16614 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
16618 "netr_LogonSamLogoff",
16619 sizeof(struct netr_LogonSamLogoff),
16620 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
16621 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
16622 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
16626 "netr_ServerReqChallenge",
16627 sizeof(struct netr_ServerReqChallenge),
16628 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
16629 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
16630 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
16634 "netr_ServerAuthenticate",
16635 sizeof(struct netr_ServerAuthenticate),
16636 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
16637 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
16638 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
16642 "netr_ServerPasswordSet",
16643 sizeof(struct netr_ServerPasswordSet),
16644 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
16645 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
16646 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
16650 "netr_DatabaseDeltas",
16651 sizeof(struct netr_DatabaseDeltas),
16652 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
16653 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
16654 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
16658 "netr_DatabaseSync",
16659 sizeof(struct netr_DatabaseSync),
16660 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
16661 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
16662 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
16666 "netr_AccountDeltas",
16667 sizeof(struct netr_AccountDeltas),
16668 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
16669 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
16670 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
16674 "netr_AccountSync",
16675 sizeof(struct netr_AccountSync),
16676 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
16677 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
16678 (ndr_print_function_t) ndr_print_netr_AccountSync,
16683 sizeof(struct netr_GetDcName),
16684 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
16685 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
16686 (ndr_print_function_t) ndr_print_netr_GetDcName,
16690 "netr_LogonControl",
16691 sizeof(struct netr_LogonControl),
16692 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
16693 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
16694 (ndr_print_function_t) ndr_print_netr_LogonControl,
16698 "netr_GetAnyDCName",
16699 sizeof(struct netr_GetAnyDCName),
16700 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
16701 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
16702 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
16706 "netr_LogonControl2",
16707 sizeof(struct netr_LogonControl2),
16708 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
16709 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
16710 (ndr_print_function_t) ndr_print_netr_LogonControl2,
16714 "netr_ServerAuthenticate2",
16715 sizeof(struct netr_ServerAuthenticate2),
16716 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
16717 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
16718 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
16722 "netr_DatabaseSync2",
16723 sizeof(struct netr_DatabaseSync2),
16724 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
16725 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
16726 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
16730 "netr_DatabaseRedo",
16731 sizeof(struct netr_DatabaseRedo),
16732 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
16733 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
16734 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
16738 "netr_LogonControl2Ex",
16739 sizeof(struct netr_LogonControl2Ex),
16740 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
16741 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
16742 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
16746 "netr_NetrEnumerateTrustedDomains",
16747 sizeof(struct netr_NetrEnumerateTrustedDomains),
16748 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
16749 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
16750 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
16754 "netr_DsRGetDCName",
16755 sizeof(struct netr_DsRGetDCName),
16756 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
16757 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
16758 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
16762 "netr_LogonGetCapabilities",
16763 sizeof(struct netr_LogonGetCapabilities),
16764 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities,
16765 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities,
16766 (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities,
16770 "netr_NETRLOGONSETSERVICEBITS",
16771 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
16772 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
16773 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
16774 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
16778 "netr_LogonGetTrustRid",
16779 sizeof(struct netr_LogonGetTrustRid),
16780 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
16781 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
16782 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
16786 "netr_NETRLOGONCOMPUTESERVERDIGEST",
16787 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
16788 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
16789 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
16790 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
16794 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
16795 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
16796 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16797 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16798 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16802 "netr_ServerAuthenticate3",
16803 sizeof(struct netr_ServerAuthenticate3),
16804 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
16805 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
16806 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
16810 "netr_DsRGetDCNameEx",
16811 sizeof(struct netr_DsRGetDCNameEx),
16812 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
16813 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
16814 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
16818 "netr_DsRGetSiteName",
16819 sizeof(struct netr_DsRGetSiteName),
16820 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
16821 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
16822 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
16826 "netr_LogonGetDomainInfo",
16827 sizeof(struct netr_LogonGetDomainInfo),
16828 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
16829 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
16830 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
16834 "netr_ServerPasswordSet2",
16835 sizeof(struct netr_ServerPasswordSet2),
16836 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
16837 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
16838 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
16842 "netr_ServerPasswordGet",
16843 sizeof(struct netr_ServerPasswordGet),
16844 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
16845 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
16846 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
16850 "netr_NETRLOGONSENDTOSAM",
16851 sizeof(struct netr_NETRLOGONSENDTOSAM),
16852 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
16853 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
16854 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
16858 "netr_DsRAddressToSitenamesW",
16859 sizeof(struct netr_DsRAddressToSitenamesW),
16860 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
16861 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
16862 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
16866 "netr_DsRGetDCNameEx2",
16867 sizeof(struct netr_DsRGetDCNameEx2),
16868 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
16869 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
16870 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
16874 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
16875 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
16876 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16877 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16878 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16882 "netr_NetrEnumerateTrustedDomainsEx",
16883 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
16884 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
16885 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
16886 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
16890 "netr_DsRAddressToSitenamesExW",
16891 sizeof(struct netr_DsRAddressToSitenamesExW),
16892 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
16893 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
16894 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
16898 "netr_DsrGetDcSiteCoverageW",
16899 sizeof(struct netr_DsrGetDcSiteCoverageW),
16900 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
16901 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
16902 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
16906 "netr_LogonSamLogonEx",
16907 sizeof(struct netr_LogonSamLogonEx),
16908 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
16909 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
16910 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
16914 "netr_DsrEnumerateDomainTrusts",
16915 sizeof(struct netr_DsrEnumerateDomainTrusts),
16916 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
16917 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
16918 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
16922 "netr_DsrDeregisterDNSHostRecords",
16923 sizeof(struct netr_DsrDeregisterDNSHostRecords),
16924 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
16925 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
16926 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
16930 "netr_ServerTrustPasswordsGet",
16931 sizeof(struct netr_ServerTrustPasswordsGet),
16932 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
16933 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
16934 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
16938 "netr_DsRGetForestTrustInformation",
16939 sizeof(struct netr_DsRGetForestTrustInformation),
16940 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
16941 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
16942 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
16946 "netr_GetForestTrustInformation",
16947 sizeof(struct netr_GetForestTrustInformation),
16948 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
16949 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
16950 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
16954 "netr_LogonSamLogonWithFlags",
16955 sizeof(struct netr_LogonSamLogonWithFlags),
16956 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
16957 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
16958 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
16962 "netr_ServerGetTrustInfo",
16963 sizeof(struct netr_ServerGetTrustInfo),
16964 (ndr_push_flags_fn_t) ndr_push_netr_ServerGetTrustInfo,
16965 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerGetTrustInfo,
16966 (ndr_print_function_t) ndr_print_netr_ServerGetTrustInfo,
16969 { NULL, 0, NULL, NULL, NULL, false }
16972 static const char * const netlogon_endpoint_strings[] = {
16973 "ncacn_np:[\\pipe\\netlogon]",
16978 static const struct ndr_interface_string_array netlogon_endpoints = {
16980 .names = netlogon_endpoint_strings
16983 static const char * const netlogon_authservice_strings[] = {
16987 static const struct ndr_interface_string_array netlogon_authservices = {
16989 .names = netlogon_authservice_strings
16993 const struct ndr_interface_table ndr_table_netlogon = {
16994 .name = "netlogon",
16996 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
16997 NDR_NETLOGON_VERSION
16999 .helpstring = NDR_NETLOGON_HELPSTRING,
17001 .calls = netlogon_calls,
17002 .endpoints = &netlogon_endpoints,
17003 .authservices = &netlogon_authservices