s4:provision Don't reference provision_backend when using LDB
[Samba/ekacnet.git] / librpc / gen_ndr / ndr_netlogon.c
blobdaba526e655452495563c9f59fa3789cea9cd579
1 /* parser auto-generated by pidl */
3 #include "includes.h"
4 #include "../librpc/gen_ndr/ndr_netlogon.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_lsa.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/gen_ndr/ndr_security.h"
10 #include "librpc/gen_ndr/ndr_nbt.h"
11 static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
13 if (ndr_flags & NDR_SCALARS) {
14 NDR_CHECK(ndr_push_align(ndr, 4));
15 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
16 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
17 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
18 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
19 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
20 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
21 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
22 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
23 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
24 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
25 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
26 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
27 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
28 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
29 NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
30 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
32 if (ndr_flags & NDR_BUFFERS) {
33 if (r->account_name) {
34 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
35 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
36 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
37 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
39 if (r->computer) {
40 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
41 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
42 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
43 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
45 if (r->domain) {
46 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
47 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
48 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
49 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
51 if (r->script_path) {
52 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
53 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
54 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
55 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
58 return NDR_ERR_SUCCESS;
61 static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
63 uint32_t _ptr_account_name;
64 TALLOC_CTX *_mem_save_account_name_0;
65 uint32_t _ptr_computer;
66 TALLOC_CTX *_mem_save_computer_0;
67 uint32_t _ptr_domain;
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);
76 } else {
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));
91 if (_ptr_computer) {
92 NDR_PULL_ALLOC(ndr, r->computer);
93 } else {
94 r->computer = NULL;
96 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
97 if (_ptr_domain) {
98 NDR_PULL_ALLOC(ndr, r->domain);
99 } else {
100 r->domain = NULL;
102 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
103 if (_ptr_script_path) {
104 NDR_PULL_ALLOC(ndr, r->script_path);
105 } else {
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);
123 if (r->computer) {
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);
135 if (r->domain) {
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");
166 ndr->depth++;
167 ndr_print_ptr(ndr, "account_name", r->account_name);
168 ndr->depth++;
169 if (r->account_name) {
170 ndr_print_string(ndr, "account_name", r->account_name);
172 ndr->depth--;
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);
185 ndr->depth++;
186 if (r->computer) {
187 ndr_print_string(ndr, "computer", r->computer);
189 ndr->depth--;
190 ndr_print_ptr(ndr, "domain", r->domain);
191 ndr->depth++;
192 if (r->domain) {
193 ndr_print_string(ndr, "domain", r->domain);
195 ndr->depth--;
196 ndr_print_ptr(ndr, "script_path", r->script_path);
197 ndr->depth++;
198 if (r->script_path) {
199 ndr_print_string(ndr, "script_path", r->script_path);
201 ndr->depth--;
202 ndr_print_uint32(ndr, "unknown", r->unknown);
203 ndr->depth--;
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");
233 ndr->depth++;
234 ndr_print_uint32(ndr, "duration", r->duration);
235 ndr_print_uint16(ndr, "logon_count", r->logon_count);
236 ndr->depth--;
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");
270 ndr->depth++;
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);
275 ndr->depth--;
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)
286 uint32_t v;
287 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
288 *r = 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);
295 ndr->depth++;
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);
315 ndr->depth--;
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");
359 ndr->depth++;
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);
366 ndr->depth--;
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");
400 ndr->depth++;
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);
404 ndr->depth--;
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) {
419 if (r->data) {
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)
433 uint32_t _ptr_data;
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));
443 if (_ptr_data) {
444 NDR_PULL_ALLOC(ndr, r->data);
445 } else {
446 r->data = NULL;
449 if (ndr_flags & NDR_BUFFERS) {
450 if (r->data) {
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);
462 if (r->data) {
463 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
465 if (r->data) {
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);
480 ndr->depth++;
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);
484 ndr->depth++;
485 if (r->data) {
486 ndr_print_array_uint8(ndr, "data", r->data, r->length);
488 ndr->depth--;
489 ndr->depth--;
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);
544 ndr->depth++;
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);
549 ndr->depth--;
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));
569 if (r->data) {
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)
581 uint32_t _ptr_data;
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));
592 if (_ptr_data) {
593 NDR_PULL_ALLOC(ndr, r->data);
594 } else {
595 r->data = NULL;
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));
601 if (r->data) {
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);
609 if (r->data) {
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);
624 ndr->depth++;
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);
629 ndr->depth++;
630 if (r->data) {
631 ndr_print_array_uint8(ndr, "data", r->data, r->length);
633 ndr->depth--;
634 ndr->depth--;
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)
647 uint16_t v;
648 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
649 *r = 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;
657 switch (r) {
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));
674 switch (level) {
675 case NetlogonInteractiveInformation: {
676 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
677 break; }
679 case NetlogonNetworkInformation: {
680 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
681 break; }
683 case NetlogonServiceInformation: {
684 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
685 break; }
687 case NetlogonGenericInformation: {
688 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
689 break; }
691 case NetlogonInteractiveTransitiveInformation: {
692 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
693 break; }
695 case NetlogonNetworkTransitiveInformation: {
696 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
697 break; }
699 case NetlogonServiceTransitiveInformation: {
700 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
701 break; }
703 default:
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);
709 switch (level) {
710 case NetlogonInteractiveInformation:
711 if (r->password) {
712 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
714 break;
716 case NetlogonNetworkInformation:
717 if (r->network) {
718 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
720 break;
722 case NetlogonServiceInformation:
723 if (r->password) {
724 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
726 break;
728 case NetlogonGenericInformation:
729 if (r->generic) {
730 NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
732 break;
734 case NetlogonInteractiveTransitiveInformation:
735 if (r->password) {
736 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
738 break;
740 case NetlogonNetworkTransitiveInformation:
741 if (r->network) {
742 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
744 break;
746 case NetlogonServiceTransitiveInformation:
747 if (r->password) {
748 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
750 break;
752 default:
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)
761 int level;
762 uint16_t _level;
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__);
772 switch (level) {
773 case NetlogonInteractiveInformation: {
774 uint32_t _ptr_password;
775 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
776 if (_ptr_password) {
777 NDR_PULL_ALLOC(ndr, r->password);
778 } else {
779 r->password = NULL;
781 break; }
783 case NetlogonNetworkInformation: {
784 uint32_t _ptr_network;
785 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
786 if (_ptr_network) {
787 NDR_PULL_ALLOC(ndr, r->network);
788 } else {
789 r->network = NULL;
791 break; }
793 case NetlogonServiceInformation: {
794 uint32_t _ptr_password;
795 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
796 if (_ptr_password) {
797 NDR_PULL_ALLOC(ndr, r->password);
798 } else {
799 r->password = NULL;
801 break; }
803 case NetlogonGenericInformation: {
804 uint32_t _ptr_generic;
805 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
806 if (_ptr_generic) {
807 NDR_PULL_ALLOC(ndr, r->generic);
808 } else {
809 r->generic = NULL;
811 break; }
813 case NetlogonInteractiveTransitiveInformation: {
814 uint32_t _ptr_password;
815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
816 if (_ptr_password) {
817 NDR_PULL_ALLOC(ndr, r->password);
818 } else {
819 r->password = NULL;
821 break; }
823 case NetlogonNetworkTransitiveInformation: {
824 uint32_t _ptr_network;
825 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
826 if (_ptr_network) {
827 NDR_PULL_ALLOC(ndr, r->network);
828 } else {
829 r->network = NULL;
831 break; }
833 case NetlogonServiceTransitiveInformation: {
834 uint32_t _ptr_password;
835 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
836 if (_ptr_password) {
837 NDR_PULL_ALLOC(ndr, r->password);
838 } else {
839 r->password = NULL;
841 break; }
843 default:
844 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
847 if (ndr_flags & NDR_BUFFERS) {
848 switch (level) {
849 case NetlogonInteractiveInformation:
850 if (r->password) {
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);
856 break;
858 case NetlogonNetworkInformation:
859 if (r->network) {
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);
865 break;
867 case NetlogonServiceInformation:
868 if (r->password) {
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);
874 break;
876 case NetlogonGenericInformation:
877 if (r->generic) {
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);
883 break;
885 case NetlogonInteractiveTransitiveInformation:
886 if (r->password) {
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);
892 break;
894 case NetlogonNetworkTransitiveInformation:
895 if (r->network) {
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);
901 break;
903 case NetlogonServiceTransitiveInformation:
904 if (r->password) {
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);
910 break;
912 default:
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)
921 int level;
922 level = ndr_print_get_switch_value(ndr, r);
923 ndr_print_union(ndr, name, level, "netr_LogonLevel");
924 switch (level) {
925 case NetlogonInteractiveInformation:
926 ndr_print_ptr(ndr, "password", r->password);
927 ndr->depth++;
928 if (r->password) {
929 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
931 ndr->depth--;
932 break;
934 case NetlogonNetworkInformation:
935 ndr_print_ptr(ndr, "network", r->network);
936 ndr->depth++;
937 if (r->network) {
938 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
940 ndr->depth--;
941 break;
943 case NetlogonServiceInformation:
944 ndr_print_ptr(ndr, "password", r->password);
945 ndr->depth++;
946 if (r->password) {
947 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
949 ndr->depth--;
950 break;
952 case NetlogonGenericInformation:
953 ndr_print_ptr(ndr, "generic", r->generic);
954 ndr->depth++;
955 if (r->generic) {
956 ndr_print_netr_GenericInfo(ndr, "generic", r->generic);
958 ndr->depth--;
959 break;
961 case NetlogonInteractiveTransitiveInformation:
962 ndr_print_ptr(ndr, "password", r->password);
963 ndr->depth++;
964 if (r->password) {
965 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
967 ndr->depth--;
968 break;
970 case NetlogonNetworkTransitiveInformation:
971 ndr_print_ptr(ndr, "network", r->network);
972 ndr->depth++;
973 if (r->network) {
974 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
976 ndr->depth--;
977 break;
979 case NetlogonServiceTransitiveInformation:
980 ndr_print_ptr(ndr, "password", r->password);
981 ndr->depth++;
982 if (r->password) {
983 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
985 ndr->depth--;
986 break;
988 default:
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);
1031 ndr->depth++;
1032 ndr_print_array_uint8(ndr, "key", r->key, 16);
1033 ndr->depth--;
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);
1076 ndr->depth++;
1077 ndr_print_array_uint8(ndr, "key", r->key, 8);
1078 ndr->depth--;
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)
1091 uint32_t v;
1092 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1093 *r = 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);
1100 ndr->depth++;
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);
1112 ndr->depth--;
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);
1196 } else {
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");
1229 ndr->depth++;
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);
1252 ndr->depth++;
1253 if (r->domain_sid) {
1254 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1256 ndr->depth--;
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);
1260 ndr->depth++;
1261 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1262 char *idx_0=NULL;
1263 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1264 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1265 free(idx_0);
1268 ndr->depth--;
1269 ndr->depth--;
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");
1299 ndr->depth++;
1300 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1301 ndr->depth--;
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) {
1312 if (r->sid) {
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)
1321 uint32_t _ptr_sid;
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));
1326 if (_ptr_sid) {
1327 NDR_PULL_ALLOC(ndr, r->sid);
1328 } else {
1329 r->sid = NULL;
1331 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1333 if (ndr_flags & NDR_BUFFERS) {
1334 if (r->sid) {
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");
1347 ndr->depth++;
1348 ndr_print_ptr(ndr, "sid", r->sid);
1349 ndr->depth++;
1350 if (r->sid) {
1351 ndr_print_dom_sid2(ndr, "sid", r->sid);
1353 ndr->depth--;
1354 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1355 ndr->depth--;
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));
1369 if (r->sids) {
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)
1384 uint32_t _ptr_sids;
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));
1393 if (_ptr_sids) {
1394 NDR_PULL_ALLOC(ndr, r->sids);
1395 } else {
1396 r->sids = NULL;
1399 if (ndr_flags & NDR_BUFFERS) {
1400 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1401 if (r->sids) {
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);
1417 if (r->sids) {
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");
1428 ndr->depth++;
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);
1432 ndr->depth++;
1433 if (r->sids) {
1434 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1435 ndr->depth++;
1436 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1437 char *idx_1=NULL;
1438 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1439 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1440 free(idx_1);
1443 ndr->depth--;
1445 ndr->depth--;
1446 ndr->depth--;
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));
1466 if (r->sids) {
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)
1483 uint32_t _ptr_sids;
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));
1493 if (_ptr_sids) {
1494 NDR_PULL_ALLOC(ndr, r->sids);
1495 } else {
1496 r->sids = NULL;
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));
1506 if (r->sids) {
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));
1524 if (r->sids) {
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");
1536 ndr->depth++;
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);
1540 ndr->depth++;
1541 if (r->sids) {
1542 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1543 ndr->depth++;
1544 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1545 char *idx_1=NULL;
1546 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1547 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1548 free(idx_1);
1551 ndr->depth--;
1553 ndr->depth--;
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);
1557 ndr->depth++;
1558 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1559 char *idx_0=NULL;
1560 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1561 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1562 free(idx_0);
1565 ndr->depth--;
1566 ndr->depth--;
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) {
1591 if (r->pac) {
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));
1598 if (r->auth) {
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)
1612 uint32_t _ptr_pac;
1613 TALLOC_CTX *_mem_save_pac_0;
1614 uint32_t _ptr_auth;
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));
1621 if (_ptr_pac) {
1622 NDR_PULL_ALLOC(ndr, r->pac);
1623 } else {
1624 r->pac = NULL;
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));
1631 if (_ptr_auth) {
1632 NDR_PULL_ALLOC(ndr, r->auth);
1633 } else {
1634 r->auth = NULL;
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) {
1646 if (r->pac) {
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));
1657 if (r->auth) {
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));
1669 if (r->pac) {
1670 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1672 if (r->auth) {
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");
1683 ndr->depth++;
1684 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1685 ndr_print_ptr(ndr, "pac", r->pac);
1686 ndr->depth++;
1687 if (r->pac) {
1688 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1690 ndr->depth--;
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);
1696 ndr->depth++;
1697 if (r->auth) {
1698 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1700 ndr->depth--;
1701 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1702 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1703 ndr->depth++;
1704 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1705 char *idx_0=NULL;
1706 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1707 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1708 free(idx_0);
1711 ndr->depth--;
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);
1716 ndr->depth--;
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) {
1730 if (r->data) {
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)
1742 uint32_t _ptr_data;
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));
1751 if (_ptr_data) {
1752 NDR_PULL_ALLOC(ndr, r->data);
1753 } else {
1754 r->data = NULL;
1757 if (ndr_flags & NDR_BUFFERS) {
1758 if (r->data) {
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);
1766 if (r->data) {
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);
1781 ndr->depth++;
1782 ndr_print_uint32(ndr, "length", r->length);
1783 ndr_print_ptr(ndr, "data", r->data);
1784 ndr->depth++;
1785 if (r->data) {
1786 ndr_print_array_uint8(ndr, "data", r->data, r->length);
1788 ndr->depth--;
1789 ndr->depth--;
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));
1799 switch (level) {
1800 case NetlogonValidationSamInfo: {
1801 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1802 break; }
1804 case NetlogonValidationSamInfo2: {
1805 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1806 break; }
1808 case 4: {
1809 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1810 break; }
1812 case NetlogonValidationGenericInfo2: {
1813 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
1814 break; }
1816 case NetlogonValidationSamInfo4: {
1817 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1818 break; }
1820 default:
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);
1826 switch (level) {
1827 case NetlogonValidationSamInfo:
1828 if (r->sam2) {
1829 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1831 break;
1833 case NetlogonValidationSamInfo2:
1834 if (r->sam3) {
1835 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1837 break;
1839 case 4:
1840 if (r->pac) {
1841 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1843 break;
1845 case NetlogonValidationGenericInfo2:
1846 if (r->generic) {
1847 NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1849 break;
1851 case NetlogonValidationSamInfo4:
1852 if (r->sam6) {
1853 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1855 break;
1857 default:
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)
1866 int level;
1867 uint16_t _level;
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__);
1879 switch (level) {
1880 case NetlogonValidationSamInfo: {
1881 uint32_t _ptr_sam2;
1882 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1883 if (_ptr_sam2) {
1884 NDR_PULL_ALLOC(ndr, r->sam2);
1885 } else {
1886 r->sam2 = NULL;
1888 break; }
1890 case NetlogonValidationSamInfo2: {
1891 uint32_t _ptr_sam3;
1892 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1893 if (_ptr_sam3) {
1894 NDR_PULL_ALLOC(ndr, r->sam3);
1895 } else {
1896 r->sam3 = NULL;
1898 break; }
1900 case 4: {
1901 uint32_t _ptr_pac;
1902 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1903 if (_ptr_pac) {
1904 NDR_PULL_ALLOC(ndr, r->pac);
1905 } else {
1906 r->pac = NULL;
1908 break; }
1910 case NetlogonValidationGenericInfo2: {
1911 uint32_t _ptr_generic;
1912 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
1913 if (_ptr_generic) {
1914 NDR_PULL_ALLOC(ndr, r->generic);
1915 } else {
1916 r->generic = NULL;
1918 break; }
1920 case NetlogonValidationSamInfo4: {
1921 uint32_t _ptr_sam6;
1922 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1923 if (_ptr_sam6) {
1924 NDR_PULL_ALLOC(ndr, r->sam6);
1925 } else {
1926 r->sam6 = NULL;
1928 break; }
1930 default:
1931 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1934 if (ndr_flags & NDR_BUFFERS) {
1935 switch (level) {
1936 case NetlogonValidationSamInfo:
1937 if (r->sam2) {
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);
1943 break;
1945 case NetlogonValidationSamInfo2:
1946 if (r->sam3) {
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);
1952 break;
1954 case 4:
1955 if (r->pac) {
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);
1961 break;
1963 case NetlogonValidationGenericInfo2:
1964 if (r->generic) {
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);
1970 break;
1972 case NetlogonValidationSamInfo4:
1973 if (r->sam6) {
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);
1979 break;
1981 default:
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)
1990 int level;
1991 level = ndr_print_get_switch_value(ndr, r);
1992 ndr_print_union(ndr, name, level, "netr_Validation");
1993 switch (level) {
1994 case NetlogonValidationSamInfo:
1995 ndr_print_ptr(ndr, "sam2", r->sam2);
1996 ndr->depth++;
1997 if (r->sam2) {
1998 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
2000 ndr->depth--;
2001 break;
2003 case NetlogonValidationSamInfo2:
2004 ndr_print_ptr(ndr, "sam3", r->sam3);
2005 ndr->depth++;
2006 if (r->sam3) {
2007 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
2009 ndr->depth--;
2010 break;
2012 case 4:
2013 ndr_print_ptr(ndr, "pac", r->pac);
2014 ndr->depth++;
2015 if (r->pac) {
2016 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
2018 ndr->depth--;
2019 break;
2021 case NetlogonValidationGenericInfo2:
2022 ndr_print_ptr(ndr, "generic", r->generic);
2023 ndr->depth++;
2024 if (r->generic) {
2025 ndr_print_netr_GenericInfo2(ndr, "generic", r->generic);
2027 ndr->depth--;
2028 break;
2030 case NetlogonValidationSamInfo4:
2031 ndr_print_ptr(ndr, "sam6", r->sam6);
2032 ndr->depth++;
2033 if (r->sam6) {
2034 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
2036 ndr->depth--;
2037 break;
2039 default:
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);
2082 ndr->depth++;
2083 ndr_print_array_uint8(ndr, "data", r->data, 8);
2084 ndr->depth--;
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");
2116 ndr->depth++;
2117 ndr_print_netr_Credential(ndr, "cred", &r->cred);
2118 ndr_print_time_t(ndr, "timestamp", r->timestamp);
2119 ndr->depth--;
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);
2160 } else {
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");
2196 ndr->depth++;
2197 ndr_print_ptr(ndr, "account_name", r->account_name);
2198 ndr->depth++;
2199 if (r->account_name) {
2200 ndr_print_string(ndr, "account_name", r->account_name);
2202 ndr->depth--;
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);
2211 ndr->depth--;
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");
2245 ndr->depth++;
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);
2250 ndr->depth--;
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");
2294 ndr->depth++;
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);
2303 ndr->depth--;
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");
2335 ndr->depth++;
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);
2339 ndr->depth--;
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");
2367 ndr->depth++;
2368 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2369 ndr->depth--;
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");
2399 ndr->depth++;
2400 ndr_print_uint32(ndr, "version", r->version);
2401 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2402 ndr->depth--;
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);
2446 } else {
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");
2476 ndr->depth++;
2477 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2478 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2479 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2480 ndr->depth++;
2481 if (r->SensitiveData) {
2482 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2484 ndr->depth--;
2485 ndr->depth--;
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");
2617 ndr->depth++;
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);
2655 ndr->depth--;
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");
2733 ndr->depth++;
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);
2753 ndr->depth--;
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");
2821 ndr->depth++;
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);
2836 ndr->depth--;
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");
2894 ndr->depth++;
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);
2905 ndr->depth--;
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) {
2923 if (r->rids) {
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]));
2929 if (r->attribs) {
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)
2941 uint32_t _ptr_rids;
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));
2952 if (_ptr_rids) {
2953 NDR_PULL_ALLOC(ndr, r->rids);
2954 } else {
2955 r->rids = NULL;
2957 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2958 if (_ptr_attribs) {
2959 NDR_PULL_ALLOC(ndr, r->attribs);
2960 } else {
2961 r->attribs = NULL;
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) {
2970 if (r->rids) {
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);
2983 if (r->attribs) {
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);
2996 if (r->rids) {
2997 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
2999 if (r->attribs) {
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");
3011 ndr->depth++;
3012 ndr_print_ptr(ndr, "rids", r->rids);
3013 ndr->depth++;
3014 if (r->rids) {
3015 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
3016 ndr->depth++;
3017 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
3018 char *idx_1=NULL;
3019 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
3020 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
3021 free(idx_1);
3024 ndr->depth--;
3026 ndr->depth--;
3027 ndr_print_ptr(ndr, "attribs", r->attribs);
3028 ndr->depth++;
3029 if (r->attribs) {
3030 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
3031 ndr->depth++;
3032 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
3033 char *idx_1=NULL;
3034 if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
3035 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
3036 free(idx_1);
3039 ndr->depth--;
3041 ndr->depth--;
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);
3047 ndr->depth--;
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");
3109 ndr->depth++;
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);
3122 ndr->depth--;
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");
3160 ndr->depth++;
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);
3166 ndr->depth--;
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");
3204 ndr->depth++;
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);
3211 ndr->depth--;
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));
3248 if (r->sid) {
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;
3266 uint32_t _ptr_sid;
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);
3277 } else {
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));
3282 if (_ptr_sid) {
3283 NDR_PULL_ALLOC(ndr, r->sid);
3284 } else {
3285 r->sid = NULL;
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));
3316 if (r->sid) {
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");
3338 ndr->depth++;
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);
3344 ndr->depth++;
3345 if (r->eventauditoptions) {
3346 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
3347 ndr->depth++;
3348 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3349 char *idx_1=NULL;
3350 if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3351 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3352 free(idx_1);
3355 ndr->depth--;
3357 ndr->depth--;
3358 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3359 ndr_print_ptr(ndr, "sid", r->sid);
3360 ndr->depth++;
3361 if (r->sid) {
3362 ndr_print_dom_sid2(ndr, "sid", r->sid);
3364 ndr->depth--;
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);
3378 ndr->depth--;
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);
3433 } else {
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");
3481 ndr->depth++;
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);
3485 ndr->depth++;
3486 if (r->controller_names) {
3487 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
3488 ndr->depth++;
3489 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3490 char *idx_1=NULL;
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]);
3493 free(idx_1);
3496 ndr->depth--;
3498 ndr->depth--;
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);
3509 ndr->depth--;
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");
3537 ndr->depth++;
3538 ndr_print_uint16(ndr, "unknown", r->unknown);
3539 ndr->depth--;
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);
3607 } else {
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);
3613 } else {
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");
3679 ndr->depth++;
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);
3683 ndr->depth++;
3684 if (r->privilege_attrib) {
3685 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
3686 ndr->depth++;
3687 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3688 char *idx_1=NULL;
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]);
3691 free(idx_1);
3694 ndr->depth--;
3696 ndr->depth--;
3697 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3698 ndr->depth++;
3699 if (r->privilege_name) {
3700 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
3701 ndr->depth++;
3702 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3703 char *idx_1=NULL;
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]);
3706 free(idx_1);
3709 ndr->depth--;
3711 ndr->depth--;
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);
3724 ndr->depth--;
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");
3752 ndr->depth++;
3753 ndr_print_uint16(ndr, "unknown", r->unknown);
3754 ndr->depth--;
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");
3782 ndr->depth++;
3783 ndr_print_uint16(ndr, "unknown", r->unknown);
3784 ndr->depth--;
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);
3817 } else {
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");
3847 ndr->depth++;
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);
3851 ndr->depth++;
3852 if (r->cipher_data) {
3853 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3855 ndr->depth--;
3856 ndr->depth--;
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");
3924 ndr->depth++;
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);
3939 ndr->depth--;
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)
3950 uint16_t v;
3951 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3952 *r = 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;
3960 switch (r) {
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));
3992 switch (level) {
3993 case NETR_DELTA_DOMAIN: {
3994 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
3995 break; }
3997 case NETR_DELTA_GROUP: {
3998 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
3999 break; }
4001 case NETR_DELTA_DELETE_GROUP: {
4002 break; }
4004 case NETR_DELTA_RENAME_GROUP: {
4005 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
4006 break; }
4008 case NETR_DELTA_USER: {
4009 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
4010 break; }
4012 case NETR_DELTA_DELETE_USER: {
4013 break; }
4015 case NETR_DELTA_RENAME_USER: {
4016 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
4017 break; }
4019 case NETR_DELTA_GROUP_MEMBER: {
4020 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
4021 break; }
4023 case NETR_DELTA_ALIAS: {
4024 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
4025 break; }
4027 case NETR_DELTA_DELETE_ALIAS: {
4028 break; }
4030 case NETR_DELTA_RENAME_ALIAS: {
4031 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
4032 break; }
4034 case NETR_DELTA_ALIAS_MEMBER: {
4035 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
4036 break; }
4038 case NETR_DELTA_POLICY: {
4039 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
4040 break; }
4042 case NETR_DELTA_TRUSTED_DOMAIN: {
4043 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
4044 break; }
4046 case NETR_DELTA_DELETE_TRUST: {
4047 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4048 break; }
4050 case NETR_DELTA_ACCOUNT: {
4051 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
4052 break; }
4054 case NETR_DELTA_DELETE_ACCOUNT: {
4055 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4056 break; }
4058 case NETR_DELTA_SECRET: {
4059 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
4060 break; }
4062 case NETR_DELTA_DELETE_SECRET: {
4063 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4064 break; }
4066 case NETR_DELTA_DELETE_GROUP2: {
4067 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
4068 break; }
4070 case NETR_DELTA_DELETE_USER2: {
4071 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
4072 break; }
4074 case NETR_DELTA_MODIFY_COUNT: {
4075 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
4076 break; }
4078 default:
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);
4084 switch (level) {
4085 case NETR_DELTA_DOMAIN:
4086 if (r->domain) {
4087 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4089 break;
4091 case NETR_DELTA_GROUP:
4092 if (r->group) {
4093 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4095 break;
4097 case NETR_DELTA_DELETE_GROUP:
4098 break;
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));
4104 break;
4106 case NETR_DELTA_USER:
4107 if (r->user) {
4108 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4110 break;
4112 case NETR_DELTA_DELETE_USER:
4113 break;
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));
4119 break;
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));
4125 break;
4127 case NETR_DELTA_ALIAS:
4128 if (r->alias) {
4129 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4131 break;
4133 case NETR_DELTA_DELETE_ALIAS:
4134 break;
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));
4140 break;
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));
4146 break;
4148 case NETR_DELTA_POLICY:
4149 if (r->policy) {
4150 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4152 break;
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));
4158 break;
4160 case NETR_DELTA_DELETE_TRUST:
4161 break;
4163 case NETR_DELTA_ACCOUNT:
4164 if (r->account) {
4165 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4167 break;
4169 case NETR_DELTA_DELETE_ACCOUNT:
4170 break;
4172 case NETR_DELTA_SECRET:
4173 if (r->secret) {
4174 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4176 break;
4178 case NETR_DELTA_DELETE_SECRET:
4179 break;
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));
4185 break;
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));
4191 break;
4193 case NETR_DELTA_MODIFY_COUNT:
4194 if (r->modified_count) {
4195 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
4197 break;
4199 default:
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)
4208 int level;
4209 uint16_t _level;
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__);
4232 switch (level) {
4233 case NETR_DELTA_DOMAIN: {
4234 uint32_t _ptr_domain;
4235 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4236 if (_ptr_domain) {
4237 NDR_PULL_ALLOC(ndr, r->domain);
4238 } else {
4239 r->domain = NULL;
4241 break; }
4243 case NETR_DELTA_GROUP: {
4244 uint32_t _ptr_group;
4245 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
4246 if (_ptr_group) {
4247 NDR_PULL_ALLOC(ndr, r->group);
4248 } else {
4249 r->group = NULL;
4251 break; }
4253 case NETR_DELTA_DELETE_GROUP: {
4254 break; }
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);
4261 } else {
4262 r->rename_group = NULL;
4264 break; }
4266 case NETR_DELTA_USER: {
4267 uint32_t _ptr_user;
4268 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4269 if (_ptr_user) {
4270 NDR_PULL_ALLOC(ndr, r->user);
4271 } else {
4272 r->user = NULL;
4274 break; }
4276 case NETR_DELTA_DELETE_USER: {
4277 break; }
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);
4284 } else {
4285 r->rename_user = NULL;
4287 break; }
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);
4294 } else {
4295 r->group_member = NULL;
4297 break; }
4299 case NETR_DELTA_ALIAS: {
4300 uint32_t _ptr_alias;
4301 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4302 if (_ptr_alias) {
4303 NDR_PULL_ALLOC(ndr, r->alias);
4304 } else {
4305 r->alias = NULL;
4307 break; }
4309 case NETR_DELTA_DELETE_ALIAS: {
4310 break; }
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);
4317 } else {
4318 r->rename_alias = NULL;
4320 break; }
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);
4327 } else {
4328 r->alias_member = NULL;
4330 break; }
4332 case NETR_DELTA_POLICY: {
4333 uint32_t _ptr_policy;
4334 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4335 if (_ptr_policy) {
4336 NDR_PULL_ALLOC(ndr, r->policy);
4337 } else {
4338 r->policy = NULL;
4340 break; }
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);
4347 } else {
4348 r->trusted_domain = NULL;
4350 break; }
4352 case NETR_DELTA_DELETE_TRUST: {
4353 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4354 break; }
4356 case NETR_DELTA_ACCOUNT: {
4357 uint32_t _ptr_account;
4358 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4359 if (_ptr_account) {
4360 NDR_PULL_ALLOC(ndr, r->account);
4361 } else {
4362 r->account = NULL;
4364 break; }
4366 case NETR_DELTA_DELETE_ACCOUNT: {
4367 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4368 break; }
4370 case NETR_DELTA_SECRET: {
4371 uint32_t _ptr_secret;
4372 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4373 if (_ptr_secret) {
4374 NDR_PULL_ALLOC(ndr, r->secret);
4375 } else {
4376 r->secret = NULL;
4378 break; }
4380 case NETR_DELTA_DELETE_SECRET: {
4381 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4382 break; }
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);
4389 } else {
4390 r->delete_group = NULL;
4392 break; }
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);
4399 } else {
4400 r->delete_user = NULL;
4402 break; }
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);
4409 } else {
4410 r->modified_count = NULL;
4412 break; }
4414 default:
4415 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4418 if (ndr_flags & NDR_BUFFERS) {
4419 switch (level) {
4420 case NETR_DELTA_DOMAIN:
4421 if (r->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);
4427 break;
4429 case NETR_DELTA_GROUP:
4430 if (r->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);
4436 break;
4438 case NETR_DELTA_DELETE_GROUP:
4439 break;
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);
4448 break;
4450 case NETR_DELTA_USER:
4451 if (r->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);
4457 break;
4459 case NETR_DELTA_DELETE_USER:
4460 break;
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);
4469 break;
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);
4478 break;
4480 case NETR_DELTA_ALIAS:
4481 if (r->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);
4487 break;
4489 case NETR_DELTA_DELETE_ALIAS:
4490 break;
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);
4499 break;
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);
4508 break;
4510 case NETR_DELTA_POLICY:
4511 if (r->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);
4517 break;
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);
4526 break;
4528 case NETR_DELTA_DELETE_TRUST:
4529 break;
4531 case NETR_DELTA_ACCOUNT:
4532 if (r->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);
4538 break;
4540 case NETR_DELTA_DELETE_ACCOUNT:
4541 break;
4543 case NETR_DELTA_SECRET:
4544 if (r->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);
4550 break;
4552 case NETR_DELTA_DELETE_SECRET:
4553 break;
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);
4562 break;
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);
4571 break;
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);
4580 break;
4582 default:
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)
4591 int level;
4592 level = ndr_print_get_switch_value(ndr, r);
4593 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4594 switch (level) {
4595 case NETR_DELTA_DOMAIN:
4596 ndr_print_ptr(ndr, "domain", r->domain);
4597 ndr->depth++;
4598 if (r->domain) {
4599 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4601 ndr->depth--;
4602 break;
4604 case NETR_DELTA_GROUP:
4605 ndr_print_ptr(ndr, "group", r->group);
4606 ndr->depth++;
4607 if (r->group) {
4608 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4610 ndr->depth--;
4611 break;
4613 case NETR_DELTA_DELETE_GROUP:
4614 break;
4616 case NETR_DELTA_RENAME_GROUP:
4617 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4618 ndr->depth++;
4619 if (r->rename_group) {
4620 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4622 ndr->depth--;
4623 break;
4625 case NETR_DELTA_USER:
4626 ndr_print_ptr(ndr, "user", r->user);
4627 ndr->depth++;
4628 if (r->user) {
4629 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4631 ndr->depth--;
4632 break;
4634 case NETR_DELTA_DELETE_USER:
4635 break;
4637 case NETR_DELTA_RENAME_USER:
4638 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4639 ndr->depth++;
4640 if (r->rename_user) {
4641 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4643 ndr->depth--;
4644 break;
4646 case NETR_DELTA_GROUP_MEMBER:
4647 ndr_print_ptr(ndr, "group_member", r->group_member);
4648 ndr->depth++;
4649 if (r->group_member) {
4650 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4652 ndr->depth--;
4653 break;
4655 case NETR_DELTA_ALIAS:
4656 ndr_print_ptr(ndr, "alias", r->alias);
4657 ndr->depth++;
4658 if (r->alias) {
4659 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4661 ndr->depth--;
4662 break;
4664 case NETR_DELTA_DELETE_ALIAS:
4665 break;
4667 case NETR_DELTA_RENAME_ALIAS:
4668 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4669 ndr->depth++;
4670 if (r->rename_alias) {
4671 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4673 ndr->depth--;
4674 break;
4676 case NETR_DELTA_ALIAS_MEMBER:
4677 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4678 ndr->depth++;
4679 if (r->alias_member) {
4680 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4682 ndr->depth--;
4683 break;
4685 case NETR_DELTA_POLICY:
4686 ndr_print_ptr(ndr, "policy", r->policy);
4687 ndr->depth++;
4688 if (r->policy) {
4689 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4691 ndr->depth--;
4692 break;
4694 case NETR_DELTA_TRUSTED_DOMAIN:
4695 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4696 ndr->depth++;
4697 if (r->trusted_domain) {
4698 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4700 ndr->depth--;
4701 break;
4703 case NETR_DELTA_DELETE_TRUST:
4704 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4705 break;
4707 case NETR_DELTA_ACCOUNT:
4708 ndr_print_ptr(ndr, "account", r->account);
4709 ndr->depth++;
4710 if (r->account) {
4711 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4713 ndr->depth--;
4714 break;
4716 case NETR_DELTA_DELETE_ACCOUNT:
4717 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4718 break;
4720 case NETR_DELTA_SECRET:
4721 ndr_print_ptr(ndr, "secret", r->secret);
4722 ndr->depth++;
4723 if (r->secret) {
4724 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4726 ndr->depth--;
4727 break;
4729 case NETR_DELTA_DELETE_SECRET:
4730 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4731 break;
4733 case NETR_DELTA_DELETE_GROUP2:
4734 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4735 ndr->depth++;
4736 if (r->delete_group) {
4737 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4739 ndr->depth--;
4740 break;
4742 case NETR_DELTA_DELETE_USER2:
4743 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4744 ndr->depth++;
4745 if (r->delete_user) {
4746 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4748 ndr->depth--;
4749 break;
4751 case NETR_DELTA_MODIFY_COUNT:
4752 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4753 ndr->depth++;
4754 if (r->modified_count) {
4755 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4757 ndr->depth--;
4758 break;
4760 default:
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));
4770 switch (level) {
4771 case NETR_DELTA_DOMAIN: {
4772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4773 break; }
4775 case NETR_DELTA_GROUP: {
4776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4777 break; }
4779 case NETR_DELTA_DELETE_GROUP: {
4780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4781 break; }
4783 case NETR_DELTA_RENAME_GROUP: {
4784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4785 break; }
4787 case NETR_DELTA_USER: {
4788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4789 break; }
4791 case NETR_DELTA_DELETE_USER: {
4792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4793 break; }
4795 case NETR_DELTA_RENAME_USER: {
4796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4797 break; }
4799 case NETR_DELTA_GROUP_MEMBER: {
4800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4801 break; }
4803 case NETR_DELTA_ALIAS: {
4804 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4805 break; }
4807 case NETR_DELTA_DELETE_ALIAS: {
4808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4809 break; }
4811 case NETR_DELTA_RENAME_ALIAS: {
4812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4813 break; }
4815 case NETR_DELTA_ALIAS_MEMBER: {
4816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4817 break; }
4819 case NETR_DELTA_POLICY: {
4820 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4821 break; }
4823 case NETR_DELTA_TRUSTED_DOMAIN: {
4824 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4825 break; }
4827 case NETR_DELTA_DELETE_TRUST: {
4828 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4829 break; }
4831 case NETR_DELTA_ACCOUNT: {
4832 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4833 break; }
4835 case NETR_DELTA_DELETE_ACCOUNT: {
4836 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4837 break; }
4839 case NETR_DELTA_SECRET: {
4840 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4841 break; }
4843 case NETR_DELTA_DELETE_SECRET: {
4844 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4845 break; }
4847 case NETR_DELTA_DELETE_GROUP2: {
4848 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4849 break; }
4851 case NETR_DELTA_DELETE_USER2: {
4852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4853 break; }
4855 case NETR_DELTA_MODIFY_COUNT: {
4856 break; }
4858 default:
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);
4864 switch (level) {
4865 case NETR_DELTA_DOMAIN:
4866 break;
4868 case NETR_DELTA_GROUP:
4869 break;
4871 case NETR_DELTA_DELETE_GROUP:
4872 break;
4874 case NETR_DELTA_RENAME_GROUP:
4875 break;
4877 case NETR_DELTA_USER:
4878 break;
4880 case NETR_DELTA_DELETE_USER:
4881 break;
4883 case NETR_DELTA_RENAME_USER:
4884 break;
4886 case NETR_DELTA_GROUP_MEMBER:
4887 break;
4889 case NETR_DELTA_ALIAS:
4890 break;
4892 case NETR_DELTA_DELETE_ALIAS:
4893 break;
4895 case NETR_DELTA_RENAME_ALIAS:
4896 break;
4898 case NETR_DELTA_ALIAS_MEMBER:
4899 break;
4901 case NETR_DELTA_POLICY:
4902 if (r->sid) {
4903 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4905 break;
4907 case NETR_DELTA_TRUSTED_DOMAIN:
4908 if (r->sid) {
4909 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4911 break;
4913 case NETR_DELTA_DELETE_TRUST:
4914 if (r->sid) {
4915 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4917 break;
4919 case NETR_DELTA_ACCOUNT:
4920 if (r->sid) {
4921 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4923 break;
4925 case NETR_DELTA_DELETE_ACCOUNT:
4926 if (r->sid) {
4927 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4929 break;
4931 case NETR_DELTA_SECRET:
4932 if (r->name) {
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));
4938 break;
4940 case NETR_DELTA_DELETE_SECRET:
4941 if (r->name) {
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));
4947 break;
4949 case NETR_DELTA_DELETE_GROUP2:
4950 break;
4952 case NETR_DELTA_DELETE_USER2:
4953 break;
4955 case NETR_DELTA_MODIFY_COUNT:
4956 break;
4958 default:
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)
4967 int level;
4968 uint16_t _level;
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__);
4977 switch (level) {
4978 case NETR_DELTA_DOMAIN: {
4979 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4980 break; }
4982 case NETR_DELTA_GROUP: {
4983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4984 break; }
4986 case NETR_DELTA_DELETE_GROUP: {
4987 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4988 break; }
4990 case NETR_DELTA_RENAME_GROUP: {
4991 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4992 break; }
4994 case NETR_DELTA_USER: {
4995 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4996 break; }
4998 case NETR_DELTA_DELETE_USER: {
4999 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5000 break; }
5002 case NETR_DELTA_RENAME_USER: {
5003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5004 break; }
5006 case NETR_DELTA_GROUP_MEMBER: {
5007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5008 break; }
5010 case NETR_DELTA_ALIAS: {
5011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5012 break; }
5014 case NETR_DELTA_DELETE_ALIAS: {
5015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5016 break; }
5018 case NETR_DELTA_RENAME_ALIAS: {
5019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5020 break; }
5022 case NETR_DELTA_ALIAS_MEMBER: {
5023 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5024 break; }
5026 case NETR_DELTA_POLICY: {
5027 uint32_t _ptr_sid;
5028 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5029 if (_ptr_sid) {
5030 NDR_PULL_ALLOC(ndr, r->sid);
5031 } else {
5032 r->sid = NULL;
5034 break; }
5036 case NETR_DELTA_TRUSTED_DOMAIN: {
5037 uint32_t _ptr_sid;
5038 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5039 if (_ptr_sid) {
5040 NDR_PULL_ALLOC(ndr, r->sid);
5041 } else {
5042 r->sid = NULL;
5044 break; }
5046 case NETR_DELTA_DELETE_TRUST: {
5047 uint32_t _ptr_sid;
5048 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5049 if (_ptr_sid) {
5050 NDR_PULL_ALLOC(ndr, r->sid);
5051 } else {
5052 r->sid = NULL;
5054 break; }
5056 case NETR_DELTA_ACCOUNT: {
5057 uint32_t _ptr_sid;
5058 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5059 if (_ptr_sid) {
5060 NDR_PULL_ALLOC(ndr, r->sid);
5061 } else {
5062 r->sid = NULL;
5064 break; }
5066 case NETR_DELTA_DELETE_ACCOUNT: {
5067 uint32_t _ptr_sid;
5068 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5069 if (_ptr_sid) {
5070 NDR_PULL_ALLOC(ndr, r->sid);
5071 } else {
5072 r->sid = NULL;
5074 break; }
5076 case NETR_DELTA_SECRET: {
5077 uint32_t _ptr_name;
5078 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5079 if (_ptr_name) {
5080 NDR_PULL_ALLOC(ndr, r->name);
5081 } else {
5082 r->name = NULL;
5084 break; }
5086 case NETR_DELTA_DELETE_SECRET: {
5087 uint32_t _ptr_name;
5088 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5089 if (_ptr_name) {
5090 NDR_PULL_ALLOC(ndr, r->name);
5091 } else {
5092 r->name = NULL;
5094 break; }
5096 case NETR_DELTA_DELETE_GROUP2: {
5097 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5098 break; }
5100 case NETR_DELTA_DELETE_USER2: {
5101 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5102 break; }
5104 case NETR_DELTA_MODIFY_COUNT: {
5105 break; }
5107 default:
5108 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5111 if (ndr_flags & NDR_BUFFERS) {
5112 switch (level) {
5113 case NETR_DELTA_DOMAIN:
5114 break;
5116 case NETR_DELTA_GROUP:
5117 break;
5119 case NETR_DELTA_DELETE_GROUP:
5120 break;
5122 case NETR_DELTA_RENAME_GROUP:
5123 break;
5125 case NETR_DELTA_USER:
5126 break;
5128 case NETR_DELTA_DELETE_USER:
5129 break;
5131 case NETR_DELTA_RENAME_USER:
5132 break;
5134 case NETR_DELTA_GROUP_MEMBER:
5135 break;
5137 case NETR_DELTA_ALIAS:
5138 break;
5140 case NETR_DELTA_DELETE_ALIAS:
5141 break;
5143 case NETR_DELTA_RENAME_ALIAS:
5144 break;
5146 case NETR_DELTA_ALIAS_MEMBER:
5147 break;
5149 case NETR_DELTA_POLICY:
5150 if (r->sid) {
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);
5156 break;
5158 case NETR_DELTA_TRUSTED_DOMAIN:
5159 if (r->sid) {
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);
5165 break;
5167 case NETR_DELTA_DELETE_TRUST:
5168 if (r->sid) {
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);
5174 break;
5176 case NETR_DELTA_ACCOUNT:
5177 if (r->sid) {
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);
5183 break;
5185 case NETR_DELTA_DELETE_ACCOUNT:
5186 if (r->sid) {
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);
5192 break;
5194 case NETR_DELTA_SECRET:
5195 if (r->name) {
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);
5207 break;
5209 case NETR_DELTA_DELETE_SECRET:
5210 if (r->name) {
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);
5222 break;
5224 case NETR_DELTA_DELETE_GROUP2:
5225 break;
5227 case NETR_DELTA_DELETE_USER2:
5228 break;
5230 case NETR_DELTA_MODIFY_COUNT:
5231 break;
5233 default:
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)
5242 int level;
5243 level = ndr_print_get_switch_value(ndr, r);
5244 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
5245 switch (level) {
5246 case NETR_DELTA_DOMAIN:
5247 ndr_print_uint32(ndr, "rid", r->rid);
5248 break;
5250 case NETR_DELTA_GROUP:
5251 ndr_print_uint32(ndr, "rid", r->rid);
5252 break;
5254 case NETR_DELTA_DELETE_GROUP:
5255 ndr_print_uint32(ndr, "rid", r->rid);
5256 break;
5258 case NETR_DELTA_RENAME_GROUP:
5259 ndr_print_uint32(ndr, "rid", r->rid);
5260 break;
5262 case NETR_DELTA_USER:
5263 ndr_print_uint32(ndr, "rid", r->rid);
5264 break;
5266 case NETR_DELTA_DELETE_USER:
5267 ndr_print_uint32(ndr, "rid", r->rid);
5268 break;
5270 case NETR_DELTA_RENAME_USER:
5271 ndr_print_uint32(ndr, "rid", r->rid);
5272 break;
5274 case NETR_DELTA_GROUP_MEMBER:
5275 ndr_print_uint32(ndr, "rid", r->rid);
5276 break;
5278 case NETR_DELTA_ALIAS:
5279 ndr_print_uint32(ndr, "rid", r->rid);
5280 break;
5282 case NETR_DELTA_DELETE_ALIAS:
5283 ndr_print_uint32(ndr, "rid", r->rid);
5284 break;
5286 case NETR_DELTA_RENAME_ALIAS:
5287 ndr_print_uint32(ndr, "rid", r->rid);
5288 break;
5290 case NETR_DELTA_ALIAS_MEMBER:
5291 ndr_print_uint32(ndr, "rid", r->rid);
5292 break;
5294 case NETR_DELTA_POLICY:
5295 ndr_print_ptr(ndr, "sid", r->sid);
5296 ndr->depth++;
5297 if (r->sid) {
5298 ndr_print_dom_sid2(ndr, "sid", r->sid);
5300 ndr->depth--;
5301 break;
5303 case NETR_DELTA_TRUSTED_DOMAIN:
5304 ndr_print_ptr(ndr, "sid", r->sid);
5305 ndr->depth++;
5306 if (r->sid) {
5307 ndr_print_dom_sid2(ndr, "sid", r->sid);
5309 ndr->depth--;
5310 break;
5312 case NETR_DELTA_DELETE_TRUST:
5313 ndr_print_ptr(ndr, "sid", r->sid);
5314 ndr->depth++;
5315 if (r->sid) {
5316 ndr_print_dom_sid2(ndr, "sid", r->sid);
5318 ndr->depth--;
5319 break;
5321 case NETR_DELTA_ACCOUNT:
5322 ndr_print_ptr(ndr, "sid", r->sid);
5323 ndr->depth++;
5324 if (r->sid) {
5325 ndr_print_dom_sid2(ndr, "sid", r->sid);
5327 ndr->depth--;
5328 break;
5330 case NETR_DELTA_DELETE_ACCOUNT:
5331 ndr_print_ptr(ndr, "sid", r->sid);
5332 ndr->depth++;
5333 if (r->sid) {
5334 ndr_print_dom_sid2(ndr, "sid", r->sid);
5336 ndr->depth--;
5337 break;
5339 case NETR_DELTA_SECRET:
5340 ndr_print_ptr(ndr, "name", r->name);
5341 ndr->depth++;
5342 if (r->name) {
5343 ndr_print_string(ndr, "name", r->name);
5345 ndr->depth--;
5346 break;
5348 case NETR_DELTA_DELETE_SECRET:
5349 ndr_print_ptr(ndr, "name", r->name);
5350 ndr->depth++;
5351 if (r->name) {
5352 ndr_print_string(ndr, "name", r->name);
5354 ndr->depth--;
5355 break;
5357 case NETR_DELTA_DELETE_GROUP2:
5358 ndr_print_uint32(ndr, "rid", r->rid);
5359 break;
5361 case NETR_DELTA_DELETE_USER2:
5362 ndr_print_uint32(ndr, "rid", r->rid);
5363 break;
5365 case NETR_DELTA_MODIFY_COUNT:
5366 break;
5368 default:
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");
5410 ndr->depth++;
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);
5416 ndr->depth--;
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);
5453 } else {
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");
5485 ndr->depth++;
5486 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5487 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5488 ndr->depth++;
5489 if (r->delta_enum) {
5490 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
5491 ndr->depth++;
5492 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5493 char *idx_1=NULL;
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]);
5496 free(idx_1);
5499 ndr->depth--;
5501 ndr->depth--;
5502 ndr->depth--;
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);
5547 ndr->depth++;
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);
5551 ndr->depth--;
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");
5591 ndr->depth++;
5592 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5593 ndr->depth--;
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)
5604 uint32_t v;
5605 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5606 *r = 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);
5613 ndr->depth++;
5614 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_NEEDED", NETLOGON_REPLICATION_NEEDED, r);
5615 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_IN_PROGRESS", NETLOGON_REPLICATION_IN_PROGRESS, r);
5616 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_FULL_SYNC_REPLICATION", NETLOGON_FULL_SYNC_REPLICATION, r);
5617 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REDO_NEEDED", NETLOGON_REDO_NEEDED, r);
5618 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_IP", NETLOGON_HAS_IP, r);
5619 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_TIMESERV", NETLOGON_HAS_TIMESERV, r);
5620 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_DNS_UPDATE_FAILURE", NETLOGON_DNS_UPDATE_FAILURE, r);
5621 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERIFY_STATUS_RETURNED", NETLOGON_VERIFY_STATUS_RETURNED, r);
5622 ndr->depth--;
5625 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)
5627 if (ndr_flags & NDR_SCALARS) {
5628 NDR_CHECK(ndr_push_align(ndr, 4));
5629 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5630 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status));
5632 if (ndr_flags & NDR_BUFFERS) {
5634 return NDR_ERR_SUCCESS;
5637 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5639 if (ndr_flags & NDR_SCALARS) {
5640 NDR_CHECK(ndr_pull_align(ndr, 4));
5641 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5642 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status));
5644 if (ndr_flags & NDR_BUFFERS) {
5646 return NDR_ERR_SUCCESS;
5649 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5651 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5652 ndr->depth++;
5653 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5654 ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status);
5655 ndr->depth--;
5658 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)
5660 if (ndr_flags & NDR_SCALARS) {
5661 NDR_CHECK(ndr_push_align(ndr, 4));
5662 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5663 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status));
5664 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5665 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->tc_connection_status));
5667 if (ndr_flags & NDR_BUFFERS) {
5668 if (r->trusted_dc_name) {
5669 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5670 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5671 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5672 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));
5675 return NDR_ERR_SUCCESS;
5678 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5680 uint32_t _ptr_trusted_dc_name;
5681 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5682 if (ndr_flags & NDR_SCALARS) {
5683 NDR_CHECK(ndr_pull_align(ndr, 4));
5684 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5685 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status));
5686 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5687 if (_ptr_trusted_dc_name) {
5688 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5689 } else {
5690 r->trusted_dc_name = NULL;
5692 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->tc_connection_status));
5694 if (ndr_flags & NDR_BUFFERS) {
5695 if (r->trusted_dc_name) {
5696 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5697 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5698 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5699 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5700 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5701 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));
5703 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5704 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));
5705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5708 return NDR_ERR_SUCCESS;
5711 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5713 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5714 ndr->depth++;
5715 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5716 ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status);
5717 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5718 ndr->depth++;
5719 if (r->trusted_dc_name) {
5720 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5722 ndr->depth--;
5723 ndr_print_WERROR(ndr, "tc_connection_status", r->tc_connection_status);
5724 ndr->depth--;
5727 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)
5729 if (ndr_flags & NDR_SCALARS) {
5730 NDR_CHECK(ndr_push_align(ndr, 4));
5731 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5733 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5739 if (ndr_flags & NDR_BUFFERS) {
5741 return NDR_ERR_SUCCESS;
5744 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5746 if (ndr_flags & NDR_SCALARS) {
5747 NDR_CHECK(ndr_pull_align(ndr, 4));
5748 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5749 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5750 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5751 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5752 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5753 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5754 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5756 if (ndr_flags & NDR_BUFFERS) {
5758 return NDR_ERR_SUCCESS;
5761 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5763 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5764 ndr->depth++;
5765 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5766 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5767 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5768 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5769 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5770 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5771 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5772 ndr->depth--;
5775 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)
5777 if (ndr_flags & NDR_SCALARS) {
5778 NDR_CHECK(ndr_push_align(ndr, 4));
5779 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5780 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain_name));
5782 if (ndr_flags & NDR_BUFFERS) {
5783 if (r->trusted_dc_name) {
5784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5787 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));
5789 if (r->trusted_domain_name) {
5790 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5792 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5793 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));
5796 return NDR_ERR_SUCCESS;
5799 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_4(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_4 *r)
5801 uint32_t _ptr_trusted_dc_name;
5802 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5803 uint32_t _ptr_trusted_domain_name;
5804 TALLOC_CTX *_mem_save_trusted_domain_name_0;
5805 if (ndr_flags & NDR_SCALARS) {
5806 NDR_CHECK(ndr_pull_align(ndr, 4));
5807 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5808 if (_ptr_trusted_dc_name) {
5809 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5810 } else {
5811 r->trusted_dc_name = NULL;
5813 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
5814 if (_ptr_trusted_domain_name) {
5815 NDR_PULL_ALLOC(ndr, r->trusted_domain_name);
5816 } else {
5817 r->trusted_domain_name = NULL;
5820 if (ndr_flags & NDR_BUFFERS) {
5821 if (r->trusted_dc_name) {
5822 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5823 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5824 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5825 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5826 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5827 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));
5829 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5830 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));
5831 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5833 if (r->trusted_domain_name) {
5834 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5835 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain_name, 0);
5836 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domain_name));
5837 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_domain_name));
5838 if (ndr_get_array_length(ndr, &r->trusted_domain_name) > ndr_get_array_size(ndr, &r->trusted_domain_name)) {
5839 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));
5841 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_domain_name), sizeof(uint16_t)));
5842 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));
5843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
5846 return NDR_ERR_SUCCESS;
5849 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_4(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_4 *r)
5851 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_4");
5852 ndr->depth++;
5853 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5854 ndr->depth++;
5855 if (r->trusted_dc_name) {
5856 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5858 ndr->depth--;
5859 ndr_print_ptr(ndr, "trusted_domain_name", r->trusted_domain_name);
5860 ndr->depth++;
5861 if (r->trusted_domain_name) {
5862 ndr_print_string(ndr, "trusted_domain_name", r->trusted_domain_name);
5864 ndr->depth--;
5865 ndr->depth--;
5868 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)
5870 if (ndr_flags & NDR_SCALARS) {
5871 int level = ndr_push_get_switch_value(ndr, r);
5872 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5873 switch (level) {
5874 case 1: {
5875 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5876 break; }
5878 case 2: {
5879 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5880 break; }
5882 case 3: {
5883 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5884 break; }
5886 case 4: {
5887 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
5888 break; }
5890 default: {
5891 break; }
5895 if (ndr_flags & NDR_BUFFERS) {
5896 int level = ndr_push_get_switch_value(ndr, r);
5897 switch (level) {
5898 case 1:
5899 if (r->info1) {
5900 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5902 break;
5904 case 2:
5905 if (r->info2) {
5906 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5908 break;
5910 case 3:
5911 if (r->info3) {
5912 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5914 break;
5916 case 4:
5917 if (r->info4) {
5918 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
5920 break;
5922 default:
5923 break;
5927 return NDR_ERR_SUCCESS;
5930 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5932 int level;
5933 uint32_t _level;
5934 TALLOC_CTX *_mem_save_info1_0;
5935 TALLOC_CTX *_mem_save_info2_0;
5936 TALLOC_CTX *_mem_save_info3_0;
5937 TALLOC_CTX *_mem_save_info4_0;
5938 level = ndr_pull_get_switch_value(ndr, r);
5939 if (ndr_flags & NDR_SCALARS) {
5940 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5941 if (_level != level) {
5942 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5944 switch (level) {
5945 case 1: {
5946 uint32_t _ptr_info1;
5947 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5948 if (_ptr_info1) {
5949 NDR_PULL_ALLOC(ndr, r->info1);
5950 } else {
5951 r->info1 = NULL;
5953 break; }
5955 case 2: {
5956 uint32_t _ptr_info2;
5957 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5958 if (_ptr_info2) {
5959 NDR_PULL_ALLOC(ndr, r->info2);
5960 } else {
5961 r->info2 = NULL;
5963 break; }
5965 case 3: {
5966 uint32_t _ptr_info3;
5967 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5968 if (_ptr_info3) {
5969 NDR_PULL_ALLOC(ndr, r->info3);
5970 } else {
5971 r->info3 = NULL;
5973 break; }
5975 case 4: {
5976 uint32_t _ptr_info4;
5977 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
5978 if (_ptr_info4) {
5979 NDR_PULL_ALLOC(ndr, r->info4);
5980 } else {
5981 r->info4 = NULL;
5983 break; }
5985 default: {
5986 break; }
5990 if (ndr_flags & NDR_BUFFERS) {
5991 switch (level) {
5992 case 1:
5993 if (r->info1) {
5994 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5995 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
5996 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5997 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
5999 break;
6001 case 2:
6002 if (r->info2) {
6003 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6004 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
6005 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6006 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
6008 break;
6010 case 3:
6011 if (r->info3) {
6012 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6013 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
6014 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
6015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
6017 break;
6019 case 4:
6020 if (r->info4) {
6021 _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6022 NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
6023 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6024 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
6026 break;
6028 default:
6029 break;
6033 return NDR_ERR_SUCCESS;
6036 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
6038 int level;
6039 level = ndr_print_get_switch_value(ndr, r);
6040 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
6041 switch (level) {
6042 case 1:
6043 ndr_print_ptr(ndr, "info1", r->info1);
6044 ndr->depth++;
6045 if (r->info1) {
6046 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
6048 ndr->depth--;
6049 break;
6051 case 2:
6052 ndr_print_ptr(ndr, "info2", r->info2);
6053 ndr->depth++;
6054 if (r->info2) {
6055 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
6057 ndr->depth--;
6058 break;
6060 case 3:
6061 ndr_print_ptr(ndr, "info3", r->info3);
6062 ndr->depth++;
6063 if (r->info3) {
6064 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
6066 ndr->depth--;
6067 break;
6069 case 4:
6070 ndr_print_ptr(ndr, "info4", r->info4);
6071 ndr->depth++;
6072 if (r->info4) {
6073 ndr_print_netr_NETLOGON_INFO_4(ndr, "info4", r->info4);
6075 ndr->depth--;
6076 break;
6078 default:
6079 break;
6084 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
6086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6087 return NDR_ERR_SUCCESS;
6090 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
6092 uint32_t v;
6093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6094 *r = v;
6095 return NDR_ERR_SUCCESS;
6098 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
6100 const char *val = NULL;
6102 switch (r) {
6103 case NETLOGON_CONTROL_QUERY: val = "NETLOGON_CONTROL_QUERY"; break;
6104 case NETLOGON_CONTROL_REPLICATE: val = "NETLOGON_CONTROL_REPLICATE"; break;
6105 case NETLOGON_CONTROL_SYNCHRONIZE: val = "NETLOGON_CONTROL_SYNCHRONIZE"; break;
6106 case NETLOGON_CONTROL_PDC_REPLICATE: val = "NETLOGON_CONTROL_PDC_REPLICATE"; break;
6107 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
6108 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
6109 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
6110 case NETLOGON_CONTROL_FIND_USER: val = "NETLOGON_CONTROL_FIND_USER"; break;
6111 case NETLOGON_CONTROL_CHANGE_PASSWORD: val = "NETLOGON_CONTROL_CHANGE_PASSWORD"; break;
6112 case NETLOGON_CONTROL_TC_VERIFY: val = "NETLOGON_CONTROL_TC_VERIFY"; break;
6113 case NETLOGON_CONTROL_FORCE_DNS_REG: val = "NETLOGON_CONTROL_FORCE_DNS_REG"; break;
6114 case NETLOGON_CONTROL_QUERY_DNS_REG: val = "NETLOGON_CONTROL_QUERY_DNS_REG"; break;
6115 case NETLOGON_CONTROL_BACKUP_CHANGE_LOG: val = "NETLOGON_CONTROL_BACKUP_CHANGE_LOG"; break;
6116 case NETLOGON_CONTROL_TRUNCATE_LOG: val = "NETLOGON_CONTROL_TRUNCATE_LOG"; break;
6117 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
6118 case NETLOGON_CONTROL_BREAKPOINT: val = "NETLOGON_CONTROL_BREAKPOINT"; break;
6120 ndr_print_enum(ndr, name, "ENUM", val, r);
6123 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)
6125 if (ndr_flags & NDR_SCALARS) {
6126 int level = ndr_push_get_switch_value(ndr, r);
6127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6128 switch (level) {
6129 case NETLOGON_CONTROL_REDISCOVER: {
6130 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6131 break; }
6133 case NETLOGON_CONTROL_TC_QUERY: {
6134 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6135 break; }
6137 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6138 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6139 break; }
6141 case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6142 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6143 break; }
6145 case NETLOGON_CONTROL_TC_VERIFY: {
6146 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6147 break; }
6149 case NETLOGON_CONTROL_FIND_USER: {
6150 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
6151 break; }
6153 case NETLOGON_CONTROL_SET_DBFLAG: {
6154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
6155 break; }
6157 default: {
6158 break; }
6162 if (ndr_flags & NDR_BUFFERS) {
6163 int level = ndr_push_get_switch_value(ndr, r);
6164 switch (level) {
6165 case NETLOGON_CONTROL_REDISCOVER:
6166 if (r->domain) {
6167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6170 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6172 break;
6174 case NETLOGON_CONTROL_TC_QUERY:
6175 if (r->domain) {
6176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6179 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6181 break;
6183 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6184 if (r->domain) {
6185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6187 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6188 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6190 break;
6192 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6193 if (r->domain) {
6194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6197 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6199 break;
6201 case NETLOGON_CONTROL_TC_VERIFY:
6202 if (r->domain) {
6203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6204 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6205 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6206 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6208 break;
6210 case NETLOGON_CONTROL_FIND_USER:
6211 if (r->user) {
6212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6215 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6217 break;
6219 case NETLOGON_CONTROL_SET_DBFLAG:
6220 break;
6222 default:
6223 break;
6227 return NDR_ERR_SUCCESS;
6230 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
6232 int level;
6233 uint32_t _level;
6234 TALLOC_CTX *_mem_save_domain_0;
6235 TALLOC_CTX *_mem_save_user_0;
6236 level = ndr_pull_get_switch_value(ndr, r);
6237 if (ndr_flags & NDR_SCALARS) {
6238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6239 if (_level != level) {
6240 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6242 switch (level) {
6243 case NETLOGON_CONTROL_REDISCOVER: {
6244 uint32_t _ptr_domain;
6245 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6246 if (_ptr_domain) {
6247 NDR_PULL_ALLOC(ndr, r->domain);
6248 } else {
6249 r->domain = NULL;
6251 break; }
6253 case NETLOGON_CONTROL_TC_QUERY: {
6254 uint32_t _ptr_domain;
6255 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6256 if (_ptr_domain) {
6257 NDR_PULL_ALLOC(ndr, r->domain);
6258 } else {
6259 r->domain = NULL;
6261 break; }
6263 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6264 uint32_t _ptr_domain;
6265 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6266 if (_ptr_domain) {
6267 NDR_PULL_ALLOC(ndr, r->domain);
6268 } else {
6269 r->domain = NULL;
6271 break; }
6273 case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6274 uint32_t _ptr_domain;
6275 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6276 if (_ptr_domain) {
6277 NDR_PULL_ALLOC(ndr, r->domain);
6278 } else {
6279 r->domain = NULL;
6281 break; }
6283 case NETLOGON_CONTROL_TC_VERIFY: {
6284 uint32_t _ptr_domain;
6285 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6286 if (_ptr_domain) {
6287 NDR_PULL_ALLOC(ndr, r->domain);
6288 } else {
6289 r->domain = NULL;
6291 break; }
6293 case NETLOGON_CONTROL_FIND_USER: {
6294 uint32_t _ptr_user;
6295 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
6296 if (_ptr_user) {
6297 NDR_PULL_ALLOC(ndr, r->user);
6298 } else {
6299 r->user = NULL;
6301 break; }
6303 case NETLOGON_CONTROL_SET_DBFLAG: {
6304 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
6305 break; }
6307 default: {
6308 break; }
6312 if (ndr_flags & NDR_BUFFERS) {
6313 switch (level) {
6314 case NETLOGON_CONTROL_REDISCOVER:
6315 if (r->domain) {
6316 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6317 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6318 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6319 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6320 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6321 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));
6323 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6324 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6325 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6327 break;
6329 case NETLOGON_CONTROL_TC_QUERY:
6330 if (r->domain) {
6331 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6332 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6333 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6334 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6335 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6336 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));
6338 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6339 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6340 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6342 break;
6344 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6345 if (r->domain) {
6346 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6347 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6348 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6349 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6350 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6351 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));
6353 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6354 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6355 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6357 break;
6359 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6360 if (r->domain) {
6361 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6362 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6363 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6364 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6365 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6366 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));
6368 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6369 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6370 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6372 break;
6374 case NETLOGON_CONTROL_TC_VERIFY:
6375 if (r->domain) {
6376 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6377 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6378 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6379 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6380 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6381 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));
6383 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6384 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6385 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6387 break;
6389 case NETLOGON_CONTROL_FIND_USER:
6390 if (r->user) {
6391 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
6392 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
6393 NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
6394 NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
6395 if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
6396 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));
6398 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
6399 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
6400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
6402 break;
6404 case NETLOGON_CONTROL_SET_DBFLAG:
6405 break;
6407 default:
6408 break;
6412 return NDR_ERR_SUCCESS;
6415 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
6417 int level;
6418 level = ndr_print_get_switch_value(ndr, r);
6419 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
6420 switch (level) {
6421 case NETLOGON_CONTROL_REDISCOVER:
6422 ndr_print_ptr(ndr, "domain", r->domain);
6423 ndr->depth++;
6424 if (r->domain) {
6425 ndr_print_string(ndr, "domain", r->domain);
6427 ndr->depth--;
6428 break;
6430 case NETLOGON_CONTROL_TC_QUERY:
6431 ndr_print_ptr(ndr, "domain", r->domain);
6432 ndr->depth++;
6433 if (r->domain) {
6434 ndr_print_string(ndr, "domain", r->domain);
6436 ndr->depth--;
6437 break;
6439 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6440 ndr_print_ptr(ndr, "domain", r->domain);
6441 ndr->depth++;
6442 if (r->domain) {
6443 ndr_print_string(ndr, "domain", r->domain);
6445 ndr->depth--;
6446 break;
6448 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6449 ndr_print_ptr(ndr, "domain", r->domain);
6450 ndr->depth++;
6451 if (r->domain) {
6452 ndr_print_string(ndr, "domain", r->domain);
6454 ndr->depth--;
6455 break;
6457 case NETLOGON_CONTROL_TC_VERIFY:
6458 ndr_print_ptr(ndr, "domain", r->domain);
6459 ndr->depth++;
6460 if (r->domain) {
6461 ndr_print_string(ndr, "domain", r->domain);
6463 ndr->depth--;
6464 break;
6466 case NETLOGON_CONTROL_FIND_USER:
6467 ndr_print_ptr(ndr, "user", r->user);
6468 ndr->depth++;
6469 if (r->user) {
6470 ndr_print_string(ndr, "user", r->user);
6472 ndr->depth--;
6473 break;
6475 case NETLOGON_CONTROL_SET_DBFLAG:
6476 ndr_print_uint32(ndr, "debug_level", r->debug_level);
6477 break;
6479 default:
6480 break;
6485 _PUBLIC_ enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6487 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6488 return NDR_ERR_SUCCESS;
6491 _PUBLIC_ enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6493 uint32_t v;
6494 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6495 *r = v;
6496 return NDR_ERR_SUCCESS;
6499 _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6501 ndr_print_uint32(ndr, name, r);
6502 ndr->depth++;
6503 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
6504 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
6505 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
6506 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
6507 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
6508 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
6509 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
6510 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
6511 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
6512 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
6513 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
6514 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
6515 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
6516 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
6517 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_STRONG_KEYS", NETLOGON_NEG_STRONG_KEYS, r);
6518 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
6519 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
6520 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
6521 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
6522 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
6523 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
6524 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
6525 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES_SHA2", NETLOGON_NEG_SUPPORTS_AES_SHA2, r);
6526 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES", NETLOGON_NEG_SUPPORTS_AES, r);
6527 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
6528 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC", NETLOGON_NEG_AUTHENTICATED_RPC, r);
6529 ndr->depth--;
6532 static enum ndr_err_code ndr_push_SyncStateEnum(struct ndr_push *ndr, int ndr_flags, enum SyncStateEnum r)
6534 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6535 return NDR_ERR_SUCCESS;
6538 static enum ndr_err_code ndr_pull_SyncStateEnum(struct ndr_pull *ndr, int ndr_flags, enum SyncStateEnum *r)
6540 uint16_t v;
6541 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6542 *r = v;
6543 return NDR_ERR_SUCCESS;
6546 _PUBLIC_ void ndr_print_SyncStateEnum(struct ndr_print *ndr, const char *name, enum SyncStateEnum r)
6548 const char *val = NULL;
6550 switch (r) {
6551 case SYNCSTATE_NORMAL_STATE: val = "SYNCSTATE_NORMAL_STATE"; break;
6552 case SYNCSTATE_DOMAIN_STATE: val = "SYNCSTATE_DOMAIN_STATE"; break;
6553 case SYNCSTATE_GROUP_STATE: val = "SYNCSTATE_GROUP_STATE"; break;
6554 case SYNCSTATE_UAS_BUILT_IN_GROUP_STATE: val = "SYNCSTATE_UAS_BUILT_IN_GROUP_STATE"; break;
6555 case SYNCSTATE_USER_STATE: val = "SYNCSTATE_USER_STATE"; break;
6556 case SYNCSTATE_GROUP_MEMBER_STATE: val = "SYNCSTATE_GROUP_MEMBER_STATE"; break;
6557 case SYNCSTATE_ALIAS_STATE: val = "SYNCSTATE_ALIAS_STATE"; break;
6558 case SYNCSTATE_ALIAS_MEMBER_STATE: val = "SYNCSTATE_ALIAS_MEMBER_STATE"; break;
6559 case SYNCSTATE_SAM_DONE_STATE: val = "SYNCSTATE_SAM_DONE_STATE"; break;
6561 ndr_print_enum(ndr, name, "ENUM", val, r);
6564 static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
6566 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6567 return NDR_ERR_SUCCESS;
6570 static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
6572 uint16_t v;
6573 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6574 *r = v;
6575 return NDR_ERR_SUCCESS;
6578 _PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r)
6580 ndr_print_uint16(ndr, name, r);
6581 ndr->depth++;
6582 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r);
6583 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r);
6584 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r);
6585 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r);
6586 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r);
6587 ndr->depth--;
6590 static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r)
6592 if (ndr_flags & NDR_SCALARS) {
6593 int level = ndr_push_get_switch_value(ndr, r);
6594 switch (level) {
6595 case NETR_CHANGELOG_SID_INCLUDED: {
6596 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6597 break; }
6599 case NETR_CHANGELOG_NAME_INCLUDED: {
6601 uint32_t _flags_save_string = ndr->flags;
6602 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6603 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name));
6604 ndr->flags = _flags_save_string;
6606 break; }
6608 default: {
6609 break; }
6613 if (ndr_flags & NDR_BUFFERS) {
6614 int level = ndr_push_get_switch_value(ndr, r);
6615 switch (level) {
6616 case NETR_CHANGELOG_SID_INCLUDED:
6617 break;
6619 case NETR_CHANGELOG_NAME_INCLUDED:
6620 break;
6622 default:
6623 break;
6627 return NDR_ERR_SUCCESS;
6630 static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r)
6632 int level;
6633 level = ndr_pull_get_switch_value(ndr, r);
6634 if (ndr_flags & NDR_SCALARS) {
6635 switch (level) {
6636 case NETR_CHANGELOG_SID_INCLUDED: {
6637 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6638 break; }
6640 case NETR_CHANGELOG_NAME_INCLUDED: {
6642 uint32_t _flags_save_string = ndr->flags;
6643 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6644 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name));
6645 ndr->flags = _flags_save_string;
6647 break; }
6649 default: {
6650 break; }
6654 if (ndr_flags & NDR_BUFFERS) {
6655 switch (level) {
6656 case NETR_CHANGELOG_SID_INCLUDED:
6657 break;
6659 case NETR_CHANGELOG_NAME_INCLUDED:
6660 break;
6662 default:
6663 break;
6667 return NDR_ERR_SUCCESS;
6670 _PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r)
6672 int level;
6673 level = ndr_print_get_switch_value(ndr, r);
6674 ndr_print_union(ndr, name, level, "netr_ChangeLogObject");
6675 switch (level) {
6676 case NETR_CHANGELOG_SID_INCLUDED:
6677 ndr_print_dom_sid(ndr, "object_sid", &r->object_sid);
6678 break;
6680 case NETR_CHANGELOG_NAME_INCLUDED:
6681 ndr_print_string(ndr, "object_name", r->object_name);
6682 break;
6684 default:
6685 break;
6690 _PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r)
6692 if (ndr_flags & NDR_SCALARS) {
6693 NDR_CHECK(ndr_push_align(ndr, 4));
6694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1));
6695 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2));
6696 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid));
6697 NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
6698 NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index));
6699 NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type));
6700 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6701 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6703 if (ndr_flags & NDR_BUFFERS) {
6704 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6706 return NDR_ERR_SUCCESS;
6709 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r)
6711 if (ndr_flags & NDR_SCALARS) {
6712 NDR_CHECK(ndr_pull_align(ndr, 4));
6713 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1));
6714 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2));
6715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid));
6716 NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
6717 NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index));
6718 NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type));
6719 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6720 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6722 if (ndr_flags & NDR_BUFFERS) {
6723 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6725 return NDR_ERR_SUCCESS;
6728 _PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r)
6730 ndr_print_struct(ndr, name, "netr_ChangeLogEntry");
6731 ndr->depth++;
6732 ndr_print_uint32(ndr, "serial_number1", r->serial_number1);
6733 ndr_print_uint32(ndr, "serial_number2", r->serial_number2);
6734 ndr_print_uint32(ndr, "object_rid", r->object_rid);
6735 ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags);
6736 ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index);
6737 ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type);
6738 ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED));
6739 ndr_print_netr_ChangeLogObject(ndr, "object", &r->object);
6740 ndr->depth--;
6743 _PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, struct smb_iconv_convenience *ic, int flags)
6745 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry, ic);
6748 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
6750 if (ndr_flags & NDR_SCALARS) {
6751 NDR_CHECK(ndr_push_align(ndr, 4));
6752 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6753 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6755 if (ndr_flags & NDR_BUFFERS) {
6756 if (r->data) {
6757 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6758 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
6761 return NDR_ERR_SUCCESS;
6764 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
6766 uint32_t _ptr_data;
6767 TALLOC_CTX *_mem_save_data_0;
6768 if (ndr_flags & NDR_SCALARS) {
6769 NDR_CHECK(ndr_pull_align(ndr, 4));
6770 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
6771 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6772 if (_ptr_data) {
6773 NDR_PULL_ALLOC(ndr, r->data);
6774 } else {
6775 r->data = NULL;
6778 if (ndr_flags & NDR_BUFFERS) {
6779 if (r->data) {
6780 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6781 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6782 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6783 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6784 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
6785 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6787 if (r->data) {
6788 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6791 return NDR_ERR_SUCCESS;
6794 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6796 ndr_print_struct(ndr, name, "netr_Blob");
6797 ndr->depth++;
6798 ndr_print_uint32(ndr, "length", r->length);
6799 ndr_print_ptr(ndr, "data", r->data);
6800 ndr->depth++;
6801 if (r->data) {
6802 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6804 ndr->depth--;
6805 ndr->depth--;
6808 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6810 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6811 return NDR_ERR_SUCCESS;
6814 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6816 uint32_t v;
6817 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6818 *r = v;
6819 return NDR_ERR_SUCCESS;
6822 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6824 ndr_print_uint32(ndr, name, r);
6825 ndr->depth++;
6826 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6827 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6828 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6829 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6830 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6831 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6832 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6833 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6834 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6835 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6836 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6837 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6838 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6839 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6840 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6841 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6842 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6843 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WEB_SERVICE_REQUIRED", DS_WEB_SERVICE_REQUIRED, r);
6844 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6845 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6846 ndr->depth--;
6849 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6852 return NDR_ERR_SUCCESS;
6855 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6857 uint32_t v;
6858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6859 *r = v;
6860 return NDR_ERR_SUCCESS;
6863 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6865 const char *val = NULL;
6867 switch (r) {
6868 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6869 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6871 ndr_print_enum(ndr, name, "ENUM", val, r);
6874 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6877 return NDR_ERR_SUCCESS;
6880 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6882 uint32_t v;
6883 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6884 *r = v;
6885 return NDR_ERR_SUCCESS;
6888 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6890 ndr_print_uint32(ndr, name, r);
6891 ndr->depth++;
6892 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6893 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6894 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6895 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6896 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6897 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6898 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6899 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6900 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6901 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6902 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6903 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6904 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6905 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6906 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6907 ndr->depth--;
6910 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6912 if (ndr_flags & NDR_SCALARS) {
6913 NDR_CHECK(ndr_push_align(ndr, 4));
6914 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6915 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6916 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6917 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6918 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6919 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6920 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6921 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6922 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6924 if (ndr_flags & NDR_BUFFERS) {
6925 if (r->dc_unc) {
6926 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6929 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6931 if (r->dc_address) {
6932 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6933 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6934 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6935 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6937 if (r->domain_name) {
6938 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6939 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6940 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6941 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6943 if (r->forest_name) {
6944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6946 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6947 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6949 if (r->dc_site_name) {
6950 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6951 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6952 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6953 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));
6955 if (r->client_site_name) {
6956 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6957 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6958 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6959 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));
6962 return NDR_ERR_SUCCESS;
6965 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6967 uint32_t _ptr_dc_unc;
6968 TALLOC_CTX *_mem_save_dc_unc_0;
6969 uint32_t _ptr_dc_address;
6970 TALLOC_CTX *_mem_save_dc_address_0;
6971 uint32_t _ptr_domain_name;
6972 TALLOC_CTX *_mem_save_domain_name_0;
6973 uint32_t _ptr_forest_name;
6974 TALLOC_CTX *_mem_save_forest_name_0;
6975 uint32_t _ptr_dc_site_name;
6976 TALLOC_CTX *_mem_save_dc_site_name_0;
6977 uint32_t _ptr_client_site_name;
6978 TALLOC_CTX *_mem_save_client_site_name_0;
6979 if (ndr_flags & NDR_SCALARS) {
6980 NDR_CHECK(ndr_pull_align(ndr, 4));
6981 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6982 if (_ptr_dc_unc) {
6983 NDR_PULL_ALLOC(ndr, r->dc_unc);
6984 } else {
6985 r->dc_unc = NULL;
6987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6988 if (_ptr_dc_address) {
6989 NDR_PULL_ALLOC(ndr, r->dc_address);
6990 } else {
6991 r->dc_address = NULL;
6993 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6994 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6996 if (_ptr_domain_name) {
6997 NDR_PULL_ALLOC(ndr, r->domain_name);
6998 } else {
6999 r->domain_name = NULL;
7001 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
7002 if (_ptr_forest_name) {
7003 NDR_PULL_ALLOC(ndr, r->forest_name);
7004 } else {
7005 r->forest_name = NULL;
7007 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
7008 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
7009 if (_ptr_dc_site_name) {
7010 NDR_PULL_ALLOC(ndr, r->dc_site_name);
7011 } else {
7012 r->dc_site_name = NULL;
7014 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
7015 if (_ptr_client_site_name) {
7016 NDR_PULL_ALLOC(ndr, r->client_site_name);
7017 } else {
7018 r->client_site_name = NULL;
7021 if (ndr_flags & NDR_BUFFERS) {
7022 if (r->dc_unc) {
7023 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
7024 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
7025 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
7026 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
7027 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
7028 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));
7030 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
7031 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
7032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
7034 if (r->dc_address) {
7035 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
7036 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
7037 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
7038 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
7039 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
7040 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));
7042 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
7043 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
7044 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
7046 if (r->domain_name) {
7047 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7048 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
7049 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
7050 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
7051 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
7052 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));
7054 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
7055 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
7056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
7058 if (r->forest_name) {
7059 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7060 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
7061 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
7062 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
7063 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
7064 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));
7066 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
7067 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
7068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
7070 if (r->dc_site_name) {
7071 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7072 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
7073 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
7074 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
7075 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
7076 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));
7078 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
7079 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));
7080 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
7082 if (r->client_site_name) {
7083 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7084 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
7085 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
7086 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
7087 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
7088 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));
7090 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
7091 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));
7092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
7095 return NDR_ERR_SUCCESS;
7098 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
7100 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
7101 ndr->depth++;
7102 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
7103 ndr->depth++;
7104 if (r->dc_unc) {
7105 ndr_print_string(ndr, "dc_unc", r->dc_unc);
7107 ndr->depth--;
7108 ndr_print_ptr(ndr, "dc_address", r->dc_address);
7109 ndr->depth++;
7110 if (r->dc_address) {
7111 ndr_print_string(ndr, "dc_address", r->dc_address);
7113 ndr->depth--;
7114 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
7115 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
7116 ndr_print_ptr(ndr, "domain_name", r->domain_name);
7117 ndr->depth++;
7118 if (r->domain_name) {
7119 ndr_print_string(ndr, "domain_name", r->domain_name);
7121 ndr->depth--;
7122 ndr_print_ptr(ndr, "forest_name", r->forest_name);
7123 ndr->depth++;
7124 if (r->forest_name) {
7125 ndr_print_string(ndr, "forest_name", r->forest_name);
7127 ndr->depth--;
7128 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
7129 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
7130 ndr->depth++;
7131 if (r->dc_site_name) {
7132 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
7134 ndr->depth--;
7135 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
7136 ndr->depth++;
7137 if (r->client_site_name) {
7138 ndr_print_string(ndr, "client_site_name", r->client_site_name);
7140 ndr->depth--;
7141 ndr->depth--;
7144 static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r)
7146 if (ndr_flags & NDR_SCALARS) {
7147 int level = ndr_push_get_switch_value(ndr, r);
7148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7149 switch (level) {
7150 case 1: {
7151 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities));
7152 break; }
7154 default:
7155 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7158 if (ndr_flags & NDR_BUFFERS) {
7159 int level = ndr_push_get_switch_value(ndr, r);
7160 switch (level) {
7161 case 1:
7162 break;
7164 default:
7165 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7168 return NDR_ERR_SUCCESS;
7171 static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r)
7173 int level;
7174 uint32_t _level;
7175 level = ndr_pull_get_switch_value(ndr, r);
7176 if (ndr_flags & NDR_SCALARS) {
7177 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7178 if (_level != level) {
7179 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7181 switch (level) {
7182 case 1: {
7183 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities));
7184 break; }
7186 default:
7187 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7190 if (ndr_flags & NDR_BUFFERS) {
7191 switch (level) {
7192 case 1:
7193 break;
7195 default:
7196 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7199 return NDR_ERR_SUCCESS;
7202 _PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r)
7204 int level;
7205 level = ndr_print_get_switch_value(ndr, r);
7206 ndr_print_union(ndr, name, level, "netr_Capabilities");
7207 switch (level) {
7208 case 1:
7209 ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities);
7210 break;
7212 default:
7213 ndr_print_bad_level(ndr, name, level);
7217 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7220 return NDR_ERR_SUCCESS;
7223 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7225 uint32_t v;
7226 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7227 *r = v;
7228 return NDR_ERR_SUCCESS;
7231 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7233 ndr_print_uint32(ndr, name, r);
7234 ndr->depth++;
7235 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7236 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7237 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7238 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7239 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7240 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7241 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_MIT_KRB5", NETR_TRUST_FLAG_MIT_KRB5, r);
7242 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_AES", NETR_TRUST_FLAG_AES, r);
7243 ndr->depth--;
7246 static enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7249 return NDR_ERR_SUCCESS;
7252 static enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7254 uint32_t v;
7255 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7256 *r = v;
7257 return NDR_ERR_SUCCESS;
7260 _PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7262 ndr_print_uint32(ndr, name, r);
7263 ndr->depth++;
7264 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
7265 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
7266 ndr->depth--;
7269 static enum ndr_err_code ndr_push_netr_SuiteMask(struct ndr_push *ndr, int ndr_flags, uint16_t r)
7271 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
7272 return NDR_ERR_SUCCESS;
7275 static enum ndr_err_code ndr_pull_netr_SuiteMask(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
7277 uint16_t v;
7278 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
7279 *r = v;
7280 return NDR_ERR_SUCCESS;
7283 _PUBLIC_ void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r)
7285 ndr_print_uint16(ndr, name, r);
7286 ndr->depth++;
7287 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BACKOFFICE", NETR_VER_SUITE_BACKOFFICE, r);
7288 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BLADE", NETR_VER_SUITE_BLADE, r);
7289 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_COMPUTE_SERVER", NETR_VER_SUITE_COMPUTE_SERVER, r);
7290 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_DATACENTER", NETR_VER_SUITE_DATACENTER, r);
7291 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_ENTERPRISE", NETR_VER_SUITE_ENTERPRISE, r);
7292 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_EMBEDDEDNT", NETR_VER_SUITE_EMBEDDEDNT, r);
7293 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_PERSONAL", NETR_VER_SUITE_PERSONAL, r);
7294 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SINGLEUSERTS", NETR_VER_SUITE_SINGLEUSERTS, r);
7295 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS", NETR_VER_SUITE_SMALLBUSINESS, r);
7296 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED", NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED, r);
7297 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_STORAGE_SERVER", NETR_VER_SUITE_STORAGE_SERVER, r);
7298 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_TERMINAL", NETR_VER_SUITE_TERMINAL, r);
7299 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_WH_SERVER", NETR_VER_SUITE_WH_SERVER, r);
7300 ndr->depth--;
7303 static enum ndr_err_code ndr_push_netr_ProductType(struct ndr_push *ndr, int ndr_flags, uint8_t r)
7305 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
7306 return NDR_ERR_SUCCESS;
7309 static enum ndr_err_code ndr_pull_netr_ProductType(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
7311 uint8_t v;
7312 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
7313 *r = v;
7314 return NDR_ERR_SUCCESS;
7317 _PUBLIC_ void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r)
7319 ndr_print_uint8(ndr, name, r);
7320 ndr->depth++;
7321 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_DOMAIN_CONTROLLER", NETR_VER_NT_DOMAIN_CONTROLLER, r);
7322 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_SERVER", NETR_VER_NT_SERVER, r);
7323 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_WORKSTATION", NETR_VER_NT_WORKSTATION, r);
7324 ndr->depth--;
7327 static enum ndr_err_code ndr_push_netr_LsaPolicyInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInformation *r)
7329 if (ndr_flags & NDR_SCALARS) {
7330 NDR_CHECK(ndr_push_align(ndr, 4));
7331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7332 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
7334 if (ndr_flags & NDR_BUFFERS) {
7335 if (r->policy) {
7336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7337 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
7340 return NDR_ERR_SUCCESS;
7343 static enum ndr_err_code ndr_pull_netr_LsaPolicyInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInformation *r)
7345 uint32_t _ptr_policy;
7346 TALLOC_CTX *_mem_save_policy_0;
7347 if (ndr_flags & NDR_SCALARS) {
7348 NDR_CHECK(ndr_pull_align(ndr, 4));
7349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
7350 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
7351 if (_ptr_policy) {
7352 NDR_PULL_ALLOC(ndr, r->policy);
7353 } else {
7354 r->policy = NULL;
7357 if (ndr_flags & NDR_BUFFERS) {
7358 if (r->policy) {
7359 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
7360 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
7361 NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
7362 NDR_PULL_ALLOC_N(ndr, r->policy, ndr_get_array_size(ndr, &r->policy));
7363 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, ndr_get_array_size(ndr, &r->policy)));
7364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
7366 if (r->policy) {
7367 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->policy, r->policy_size));
7370 return NDR_ERR_SUCCESS;
7373 _PUBLIC_ void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r)
7375 ndr_print_struct(ndr, name, "netr_LsaPolicyInformation");
7376 ndr->depth++;
7377 ndr_print_uint32(ndr, "policy_size", r->policy_size);
7378 ndr_print_ptr(ndr, "policy", r->policy);
7379 ndr->depth++;
7380 if (r->policy) {
7381 ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
7383 ndr->depth--;
7384 ndr->depth--;
7387 static enum ndr_err_code ndr_push_netr_OsVersionInfoEx(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionInfoEx *r)
7389 if (ndr_flags & NDR_SCALARS) {
7390 NDR_CHECK(ndr_push_align(ndr, 4));
7391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 284));
7392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MajorVersion));
7393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MinorVersion));
7394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BuildNumber));
7395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PlatformId));
7396 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->CSDVersion, 128, sizeof(uint16_t), CH_UTF16));
7397 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMajor));
7398 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMinor));
7399 NDR_CHECK(ndr_push_netr_SuiteMask(ndr, NDR_SCALARS, r->SuiteMask));
7400 NDR_CHECK(ndr_push_netr_ProductType(ndr, NDR_SCALARS, r->ProductType));
7401 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Reserved));
7403 if (ndr_flags & NDR_BUFFERS) {
7405 return NDR_ERR_SUCCESS;
7408 static enum ndr_err_code ndr_pull_netr_OsVersionInfoEx(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionInfoEx *r)
7410 if (ndr_flags & NDR_SCALARS) {
7411 NDR_CHECK(ndr_pull_align(ndr, 4));
7412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OSVersionInfoSize));
7413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MajorVersion));
7414 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion));
7415 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BuildNumber));
7416 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PlatformId));
7417 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->CSDVersion, 128, sizeof(uint16_t), CH_UTF16));
7418 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMajor));
7419 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMinor));
7420 NDR_CHECK(ndr_pull_netr_SuiteMask(ndr, NDR_SCALARS, &r->SuiteMask));
7421 NDR_CHECK(ndr_pull_netr_ProductType(ndr, NDR_SCALARS, &r->ProductType));
7422 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Reserved));
7424 if (ndr_flags & NDR_BUFFERS) {
7426 return NDR_ERR_SUCCESS;
7429 _PUBLIC_ void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r)
7431 ndr_print_struct(ndr, name, "netr_OsVersionInfoEx");
7432 ndr->depth++;
7433 ndr_print_uint32(ndr, "OSVersionInfoSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?284:r->OSVersionInfoSize);
7434 ndr_print_uint32(ndr, "MajorVersion", r->MajorVersion);
7435 ndr_print_uint32(ndr, "MinorVersion", r->MinorVersion);
7436 ndr_print_uint32(ndr, "BuildNumber", r->BuildNumber);
7437 ndr_print_uint32(ndr, "PlatformId", r->PlatformId);
7438 ndr_print_string(ndr, "CSDVersion", r->CSDVersion);
7439 ndr_print_uint16(ndr, "ServicePackMajor", r->ServicePackMajor);
7440 ndr_print_uint16(ndr, "ServicePackMinor", r->ServicePackMinor);
7441 ndr_print_netr_SuiteMask(ndr, "SuiteMask", r->SuiteMask);
7442 ndr_print_netr_ProductType(ndr, "ProductType", r->ProductType);
7443 ndr_print_uint8(ndr, "Reserved", r->Reserved);
7444 ndr->depth--;
7447 static enum ndr_err_code ndr_push_netr_OsVersion(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersion *r)
7449 if (ndr_flags & NDR_SCALARS) {
7450 NDR_CHECK(ndr_push_align(ndr, 4));
7451 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
7452 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7453 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
7454 NDR_CHECK(ndr_push_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
7456 if (ndr_flags & NDR_BUFFERS) {
7458 return NDR_ERR_SUCCESS;
7461 static enum ndr_err_code ndr_pull_netr_OsVersion(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersion *r)
7463 if (ndr_flags & NDR_SCALARS) {
7464 NDR_CHECK(ndr_pull_align(ndr, 4));
7465 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7466 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7468 NDR_CHECK(ndr_pull_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
7470 if (ndr_flags & NDR_BUFFERS) {
7472 return NDR_ERR_SUCCESS;
7475 _PUBLIC_ void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r)
7477 ndr_print_struct(ndr, name, "netr_OsVersion");
7478 ndr->depth++;
7479 ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->length);
7480 ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7481 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->size);
7482 ndr_print_netr_OsVersionInfoEx(ndr, "os", &r->os);
7483 ndr->depth--;
7486 static enum ndr_err_code ndr_push_netr_OsVersionContainer(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionContainer *r)
7488 if (ndr_flags & NDR_SCALARS) {
7489 NDR_CHECK(ndr_push_align(ndr, 4));
7490 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
7491 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
7492 NDR_CHECK(ndr_push_unique_ptr(ndr, r->os));
7494 if (ndr_flags & NDR_BUFFERS) {
7495 if (r->os) {
7496 NDR_CHECK(ndr_push_netr_OsVersion(ndr, NDR_SCALARS, r->os));
7499 return NDR_ERR_SUCCESS;
7502 static enum ndr_err_code ndr_pull_netr_OsVersionContainer(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionContainer *r)
7504 uint32_t _ptr_os;
7505 TALLOC_CTX *_mem_save_os_0;
7506 if (ndr_flags & NDR_SCALARS) {
7507 NDR_CHECK(ndr_pull_align(ndr, 4));
7508 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
7509 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
7510 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_os));
7511 if (_ptr_os) {
7512 NDR_PULL_ALLOC(ndr, r->os);
7513 } else {
7514 r->os = NULL;
7517 if (ndr_flags & NDR_BUFFERS) {
7518 if (r->os) {
7519 _mem_save_os_0 = NDR_PULL_GET_MEM_CTX(ndr);
7520 NDR_PULL_SET_MEM_CTX(ndr, r->os, 0);
7521 NDR_CHECK(ndr_pull_netr_OsVersion(ndr, NDR_SCALARS, r->os));
7522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_os_0, 0);
7525 return NDR_ERR_SUCCESS;
7528 _PUBLIC_ void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r)
7530 ndr_print_struct(ndr, name, "netr_OsVersionContainer");
7531 ndr->depth++;
7532 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->length);
7533 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->size);
7534 ndr_print_ptr(ndr, "os", r->os);
7535 ndr->depth++;
7536 if (r->os) {
7537 ndr_print_netr_OsVersion(ndr, "os", r->os);
7539 ndr->depth--;
7540 ndr->depth--;
7543 static enum ndr_err_code ndr_push_netr_WorkstationInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_WorkstationInformation *r)
7545 if (ndr_flags & NDR_SCALARS) {
7546 NDR_CHECK(ndr_push_align(ndr, 4));
7547 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
7548 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_hostname));
7549 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7550 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy1));
7551 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy2));
7552 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy3));
7553 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy4));
7554 NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
7555 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->os_name));
7556 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
7557 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
7558 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
7559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
7560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
7561 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
7563 if (ndr_flags & NDR_BUFFERS) {
7564 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
7565 if (r->dns_hostname) {
7566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
7567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
7569 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_hostname, ndr_charset_length(r->dns_hostname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7571 if (r->sitename) {
7572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
7573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
7575 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sitename, ndr_charset_length(r->sitename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7577 if (r->dummy1) {
7578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
7579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
7581 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy1, ndr_charset_length(r->dummy1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7583 if (r->dummy2) {
7584 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
7585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
7587 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy2, ndr_charset_length(r->dummy2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7589 if (r->dummy3) {
7590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
7591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
7593 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy3, ndr_charset_length(r->dummy3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7595 if (r->dummy4) {
7596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
7597 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
7599 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy4, ndr_charset_length(r->dummy4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7601 NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
7602 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
7603 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
7604 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
7606 return NDR_ERR_SUCCESS;
7609 static enum ndr_err_code ndr_pull_netr_WorkstationInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_WorkstationInformation *r)
7611 uint32_t _ptr_dns_hostname;
7612 TALLOC_CTX *_mem_save_dns_hostname_0;
7613 uint32_t _ptr_sitename;
7614 TALLOC_CTX *_mem_save_sitename_0;
7615 uint32_t _ptr_dummy1;
7616 TALLOC_CTX *_mem_save_dummy1_0;
7617 uint32_t _ptr_dummy2;
7618 TALLOC_CTX *_mem_save_dummy2_0;
7619 uint32_t _ptr_dummy3;
7620 TALLOC_CTX *_mem_save_dummy3_0;
7621 uint32_t _ptr_dummy4;
7622 TALLOC_CTX *_mem_save_dummy4_0;
7623 if (ndr_flags & NDR_SCALARS) {
7624 NDR_CHECK(ndr_pull_align(ndr, 4));
7625 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
7626 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_hostname));
7627 if (_ptr_dns_hostname) {
7628 NDR_PULL_ALLOC(ndr, r->dns_hostname);
7629 } else {
7630 r->dns_hostname = NULL;
7632 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7633 if (_ptr_sitename) {
7634 NDR_PULL_ALLOC(ndr, r->sitename);
7635 } else {
7636 r->sitename = NULL;
7638 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy1));
7639 if (_ptr_dummy1) {
7640 NDR_PULL_ALLOC(ndr, r->dummy1);
7641 } else {
7642 r->dummy1 = NULL;
7644 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy2));
7645 if (_ptr_dummy2) {
7646 NDR_PULL_ALLOC(ndr, r->dummy2);
7647 } else {
7648 r->dummy2 = NULL;
7650 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy3));
7651 if (_ptr_dummy3) {
7652 NDR_PULL_ALLOC(ndr, r->dummy3);
7653 } else {
7654 r->dummy3 = NULL;
7656 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy4));
7657 if (_ptr_dummy4) {
7658 NDR_PULL_ALLOC(ndr, r->dummy4);
7659 } else {
7660 r->dummy4 = NULL;
7662 NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
7663 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->os_name));
7664 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
7665 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
7666 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
7667 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
7668 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
7669 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
7671 if (ndr_flags & NDR_BUFFERS) {
7672 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
7673 if (r->dns_hostname) {
7674 _mem_save_dns_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7675 NDR_PULL_SET_MEM_CTX(ndr, r->dns_hostname, 0);
7676 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_hostname));
7677 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_hostname));
7678 if (ndr_get_array_length(ndr, &r->dns_hostname) > ndr_get_array_size(ndr, &r->dns_hostname)) {
7679 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));
7681 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t)));
7682 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_hostname, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t), CH_UTF16));
7683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_hostname_0, 0);
7685 if (r->sitename) {
7686 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7687 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7688 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7689 NDR_CHECK(ndr_pull_array_length(ndr, &r->sitename));
7690 if (ndr_get_array_length(ndr, &r->sitename) > ndr_get_array_size(ndr, &r->sitename)) {
7691 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));
7693 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t)));
7694 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sitename, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t), CH_UTF16));
7695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7697 if (r->dummy1) {
7698 _mem_save_dummy1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7699 NDR_PULL_SET_MEM_CTX(ndr, r->dummy1, 0);
7700 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy1));
7701 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy1));
7702 if (ndr_get_array_length(ndr, &r->dummy1) > ndr_get_array_size(ndr, &r->dummy1)) {
7703 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));
7705 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t)));
7706 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy1, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t), CH_UTF16));
7707 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy1_0, 0);
7709 if (r->dummy2) {
7710 _mem_save_dummy2_0 = NDR_PULL_GET_MEM_CTX(ndr);
7711 NDR_PULL_SET_MEM_CTX(ndr, r->dummy2, 0);
7712 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy2));
7713 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy2));
7714 if (ndr_get_array_length(ndr, &r->dummy2) > ndr_get_array_size(ndr, &r->dummy2)) {
7715 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));
7717 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t)));
7718 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy2, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t), CH_UTF16));
7719 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy2_0, 0);
7721 if (r->dummy3) {
7722 _mem_save_dummy3_0 = NDR_PULL_GET_MEM_CTX(ndr);
7723 NDR_PULL_SET_MEM_CTX(ndr, r->dummy3, 0);
7724 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy3));
7725 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy3));
7726 if (ndr_get_array_length(ndr, &r->dummy3) > ndr_get_array_size(ndr, &r->dummy3)) {
7727 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));
7729 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t)));
7730 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy3, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t), CH_UTF16));
7731 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy3_0, 0);
7733 if (r->dummy4) {
7734 _mem_save_dummy4_0 = NDR_PULL_GET_MEM_CTX(ndr);
7735 NDR_PULL_SET_MEM_CTX(ndr, r->dummy4, 0);
7736 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy4));
7737 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy4));
7738 if (ndr_get_array_length(ndr, &r->dummy4) > ndr_get_array_size(ndr, &r->dummy4)) {
7739 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));
7741 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t)));
7742 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy4, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t), CH_UTF16));
7743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy4_0, 0);
7745 NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
7746 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
7747 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
7748 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
7750 return NDR_ERR_SUCCESS;
7753 _PUBLIC_ void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r)
7755 ndr_print_struct(ndr, name, "netr_WorkstationInformation");
7756 ndr->depth++;
7757 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
7758 ndr_print_ptr(ndr, "dns_hostname", r->dns_hostname);
7759 ndr->depth++;
7760 if (r->dns_hostname) {
7761 ndr_print_string(ndr, "dns_hostname", r->dns_hostname);
7763 ndr->depth--;
7764 ndr_print_ptr(ndr, "sitename", r->sitename);
7765 ndr->depth++;
7766 if (r->sitename) {
7767 ndr_print_string(ndr, "sitename", r->sitename);
7769 ndr->depth--;
7770 ndr_print_ptr(ndr, "dummy1", r->dummy1);
7771 ndr->depth++;
7772 if (r->dummy1) {
7773 ndr_print_string(ndr, "dummy1", r->dummy1);
7775 ndr->depth--;
7776 ndr_print_ptr(ndr, "dummy2", r->dummy2);
7777 ndr->depth++;
7778 if (r->dummy2) {
7779 ndr_print_string(ndr, "dummy2", r->dummy2);
7781 ndr->depth--;
7782 ndr_print_ptr(ndr, "dummy3", r->dummy3);
7783 ndr->depth++;
7784 if (r->dummy3) {
7785 ndr_print_string(ndr, "dummy3", r->dummy3);
7787 ndr->depth--;
7788 ndr_print_ptr(ndr, "dummy4", r->dummy4);
7789 ndr->depth++;
7790 if (r->dummy4) {
7791 ndr_print_string(ndr, "dummy4", r->dummy4);
7793 ndr->depth--;
7794 ndr_print_netr_OsVersionContainer(ndr, "os_version", &r->os_version);
7795 ndr_print_lsa_String(ndr, "os_name", &r->os_name);
7796 ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
7797 ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
7798 ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
7799 ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
7800 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
7801 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
7802 ndr->depth--;
7805 static enum ndr_err_code ndr_push_netr_WorkstationInfo(struct ndr_push *ndr, int ndr_flags, const union netr_WorkstationInfo *r)
7807 if (ndr_flags & NDR_SCALARS) {
7808 int level = ndr_push_get_switch_value(ndr, r);
7809 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7810 switch (level) {
7811 case 1: {
7812 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_info));
7813 break; }
7815 case 2: {
7816 NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
7817 break; }
7819 default:
7820 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7823 if (ndr_flags & NDR_BUFFERS) {
7824 int level = ndr_push_get_switch_value(ndr, r);
7825 switch (level) {
7826 case 1:
7827 if (r->workstation_info) {
7828 NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
7830 break;
7832 case 2:
7833 if (r->lsa_policy_info) {
7834 NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
7836 break;
7838 default:
7839 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7842 return NDR_ERR_SUCCESS;
7845 static enum ndr_err_code ndr_pull_netr_WorkstationInfo(struct ndr_pull *ndr, int ndr_flags, union netr_WorkstationInfo *r)
7847 int level;
7848 uint32_t _level;
7849 TALLOC_CTX *_mem_save_workstation_info_0;
7850 TALLOC_CTX *_mem_save_lsa_policy_info_0;
7851 level = ndr_pull_get_switch_value(ndr, r);
7852 if (ndr_flags & NDR_SCALARS) {
7853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7854 if (_level != level) {
7855 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7857 switch (level) {
7858 case 1: {
7859 uint32_t _ptr_workstation_info;
7860 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_info));
7861 if (_ptr_workstation_info) {
7862 NDR_PULL_ALLOC(ndr, r->workstation_info);
7863 } else {
7864 r->workstation_info = NULL;
7866 break; }
7868 case 2: {
7869 uint32_t _ptr_lsa_policy_info;
7870 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
7871 if (_ptr_lsa_policy_info) {
7872 NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
7873 } else {
7874 r->lsa_policy_info = NULL;
7876 break; }
7878 default:
7879 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7882 if (ndr_flags & NDR_BUFFERS) {
7883 switch (level) {
7884 case 1:
7885 if (r->workstation_info) {
7886 _mem_save_workstation_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7887 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_info, 0);
7888 NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
7889 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_info_0, 0);
7891 break;
7893 case 2:
7894 if (r->lsa_policy_info) {
7895 _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7896 NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
7897 NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
7898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
7900 break;
7902 default:
7903 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7906 return NDR_ERR_SUCCESS;
7909 _PUBLIC_ void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r)
7911 int level;
7912 level = ndr_print_get_switch_value(ndr, r);
7913 ndr_print_union(ndr, name, level, "netr_WorkstationInfo");
7914 switch (level) {
7915 case 1:
7916 ndr_print_ptr(ndr, "workstation_info", r->workstation_info);
7917 ndr->depth++;
7918 if (r->workstation_info) {
7919 ndr_print_netr_WorkstationInformation(ndr, "workstation_info", r->workstation_info);
7921 ndr->depth--;
7922 break;
7924 case 2:
7925 ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
7926 ndr->depth++;
7927 if (r->lsa_policy_info) {
7928 ndr_print_netr_WorkstationInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
7930 ndr->depth--;
7931 break;
7933 default:
7934 ndr_print_bad_level(ndr, name, level);
7938 static enum ndr_err_code ndr_push_netr_trust_extension(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension *r)
7940 if (ndr_flags & NDR_SCALARS) {
7941 NDR_CHECK(ndr_push_align(ndr, 4));
7942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7945 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->flags));
7946 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_type));
7948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_attributes));
7950 if (ndr_flags & NDR_BUFFERS) {
7952 return NDR_ERR_SUCCESS;
7955 static enum ndr_err_code ndr_pull_netr_trust_extension(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension *r)
7957 if (ndr_flags & NDR_SCALARS) {
7958 NDR_CHECK(ndr_pull_align(ndr, 4));
7959 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7960 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7961 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7962 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->flags));
7963 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7964 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_type));
7965 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_attributes));
7967 if (ndr_flags & NDR_BUFFERS) {
7969 return NDR_ERR_SUCCESS;
7972 _PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r)
7974 ndr_print_struct(ndr, name, "netr_trust_extension");
7975 ndr->depth++;
7976 ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->length);
7977 ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7978 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->size);
7979 ndr_print_netr_TrustFlags(ndr, "flags", r->flags);
7980 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7981 ndr_print_uint32(ndr, "trust_type", r->trust_type);
7982 ndr_print_uint32(ndr, "trust_attributes", r->trust_attributes);
7983 ndr->depth--;
7986 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)
7988 if (ndr_flags & NDR_SCALARS) {
7989 NDR_CHECK(ndr_push_align(ndr, 4));
7990 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
7991 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
7992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
7994 if (ndr_flags & NDR_BUFFERS) {
7995 if (r->info) {
7996 NDR_CHECK(ndr_push_netr_trust_extension(ndr, NDR_SCALARS, r->info));
7999 return NDR_ERR_SUCCESS;
8002 static enum ndr_err_code ndr_pull_netr_trust_extension_container(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_container *r)
8004 uint32_t _ptr_info;
8005 TALLOC_CTX *_mem_save_info_0;
8006 if (ndr_flags & NDR_SCALARS) {
8007 NDR_CHECK(ndr_pull_align(ndr, 4));
8008 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
8009 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
8010 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8011 if (_ptr_info) {
8012 NDR_PULL_ALLOC(ndr, r->info);
8013 } else {
8014 r->info = NULL;
8017 if (ndr_flags & NDR_BUFFERS) {
8018 if (r->info) {
8019 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8020 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8021 NDR_CHECK(ndr_pull_netr_trust_extension(ndr, NDR_SCALARS, r->info));
8022 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8025 return NDR_ERR_SUCCESS;
8028 _PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r)
8030 ndr_print_struct(ndr, name, "netr_trust_extension_container");
8031 ndr->depth++;
8032 ndr_print_uint16(ndr, "length", r->length);
8033 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
8034 ndr_print_ptr(ndr, "info", r->info);
8035 ndr->depth++;
8036 if (r->info) {
8037 ndr_print_netr_trust_extension(ndr, "info", r->info);
8039 ndr->depth--;
8040 ndr->depth--;
8043 static enum ndr_err_code ndr_push_netr_OneDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_OneDomainInfo *r)
8045 if (ndr_flags & NDR_SCALARS) {
8046 NDR_CHECK(ndr_push_align(ndr, 4));
8047 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
8048 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
8049 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_forestname));
8050 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8051 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
8052 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8053 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8054 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8055 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long1));
8057 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
8058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8061 if (ndr_flags & NDR_BUFFERS) {
8062 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
8063 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
8064 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_forestname));
8065 if (r->domain_sid) {
8066 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8068 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8069 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8070 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8071 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8073 return NDR_ERR_SUCCESS;
8076 static enum ndr_err_code ndr_pull_netr_OneDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_OneDomainInfo *r)
8078 uint32_t _ptr_domain_sid;
8079 TALLOC_CTX *_mem_save_domain_sid_0;
8080 if (ndr_flags & NDR_SCALARS) {
8081 NDR_CHECK(ndr_pull_align(ndr, 4));
8082 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
8083 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_domainname));
8084 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_forestname));
8085 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8086 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
8087 if (_ptr_domain_sid) {
8088 NDR_PULL_ALLOC(ndr, r->domain_sid);
8089 } else {
8090 r->domain_sid = NULL;
8092 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8093 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8094 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8095 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8096 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long1));
8097 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
8098 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8099 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8101 if (ndr_flags & NDR_BUFFERS) {
8102 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
8103 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_domainname));
8104 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_forestname));
8105 if (r->domain_sid) {
8106 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8107 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
8108 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8109 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
8111 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8112 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8113 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8114 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8116 return NDR_ERR_SUCCESS;
8119 _PUBLIC_ void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r)
8121 ndr_print_struct(ndr, name, "netr_OneDomainInfo");
8122 ndr->depth++;
8123 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
8124 ndr_print_lsa_String(ndr, "dns_domainname", &r->dns_domainname);
8125 ndr_print_lsa_String(ndr, "dns_forestname", &r->dns_forestname);
8126 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
8127 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
8128 ndr->depth++;
8129 if (r->domain_sid) {
8130 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
8132 ndr->depth--;
8133 ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
8134 ndr_print_lsa_String(ndr, "dummy_string2", &r->dummy_string2);
8135 ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
8136 ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
8137 ndr_print_uint32(ndr, "dummy_long1", r->dummy_long1);
8138 ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
8139 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8140 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8141 ndr->depth--;
8144 _PUBLIC_ enum ndr_err_code ndr_push_netr_SupportedEncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8146 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8147 return NDR_ERR_SUCCESS;
8150 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SupportedEncTypes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8152 uint32_t v;
8153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8154 *r = v;
8155 return NDR_ERR_SUCCESS;
8158 _PUBLIC_ void ndr_print_netr_SupportedEncTypes(struct ndr_print *ndr, const char *name, uint32_t r)
8160 ndr_print_uint32(ndr, name, r);
8161 ndr->depth++;
8162 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_CRC32", ENC_CRC32, r);
8163 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_RSA_MD5", ENC_RSA_MD5, r);
8164 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_RC4_HMAC_MD5", ENC_RC4_HMAC_MD5, r);
8165 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_HMAC_SHA1_96_AES128", ENC_HMAC_SHA1_96_AES128, r);
8166 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_HMAC_SHA1_96_AES256", ENC_HMAC_SHA1_96_AES256, r);
8167 ndr->depth--;
8170 static enum ndr_err_code ndr_push_netr_DomainInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInformation *r)
8172 uint32_t cntr_trusted_domains_1;
8173 if (ndr_flags & NDR_SCALARS) {
8174 NDR_CHECK(ndr_push_align(ndr, 4));
8175 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
8177 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domains));
8178 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8179 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
8180 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8181 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8182 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8183 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
8184 NDR_CHECK(ndr_push_netr_SupportedEncTypes(ndr, NDR_SCALARS, r->supported_enc_types));
8185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8188 if (ndr_flags & NDR_BUFFERS) {
8189 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8190 if (r->trusted_domains) {
8191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
8192 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8193 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8195 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8196 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8199 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8200 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
8201 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8202 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8203 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8205 return NDR_ERR_SUCCESS;
8208 static enum ndr_err_code ndr_pull_netr_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInformation *r)
8210 uint32_t _ptr_trusted_domains;
8211 uint32_t cntr_trusted_domains_1;
8212 TALLOC_CTX *_mem_save_trusted_domains_0;
8213 TALLOC_CTX *_mem_save_trusted_domains_1;
8214 if (ndr_flags & NDR_SCALARS) {
8215 NDR_CHECK(ndr_pull_align(ndr, 4));
8216 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8217 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trusted_domain_count));
8218 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domains));
8219 if (_ptr_trusted_domains) {
8220 NDR_PULL_ALLOC(ndr, r->trusted_domains);
8221 } else {
8222 r->trusted_domains = NULL;
8224 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8225 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dns_hostname));
8226 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string2));
8227 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
8228 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
8229 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
8230 NDR_CHECK(ndr_pull_netr_SupportedEncTypes(ndr, NDR_SCALARS, &r->supported_enc_types));
8231 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8234 if (ndr_flags & NDR_BUFFERS) {
8235 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8236 if (r->trusted_domains) {
8237 _mem_save_trusted_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
8238 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8239 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domains));
8240 NDR_PULL_ALLOC_N(ndr, r->trusted_domains, ndr_get_array_size(ndr, &r->trusted_domains));
8241 _mem_save_trusted_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
8242 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8243 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8244 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8246 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8247 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8249 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_1, 0);
8250 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_0, 0);
8252 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8253 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dns_hostname));
8254 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string2));
8255 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
8256 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
8257 if (r->trusted_domains) {
8258 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusted_domains, r->trusted_domain_count));
8261 return NDR_ERR_SUCCESS;
8264 _PUBLIC_ void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r)
8266 uint32_t cntr_trusted_domains_1;
8267 ndr_print_struct(ndr, name, "netr_DomainInformation");
8268 ndr->depth++;
8269 ndr_print_netr_OneDomainInfo(ndr, "primary_domain", &r->primary_domain);
8270 ndr_print_uint32(ndr, "trusted_domain_count", r->trusted_domain_count);
8271 ndr_print_ptr(ndr, "trusted_domains", r->trusted_domains);
8272 ndr->depth++;
8273 if (r->trusted_domains) {
8274 ndr->print(ndr, "%s: ARRAY(%d)", "trusted_domains", (int)r->trusted_domain_count);
8275 ndr->depth++;
8276 for (cntr_trusted_domains_1=0;cntr_trusted_domains_1<r->trusted_domain_count;cntr_trusted_domains_1++) {
8277 char *idx_1=NULL;
8278 if (asprintf(&idx_1, "[%d]", cntr_trusted_domains_1) != -1) {
8279 ndr_print_netr_OneDomainInfo(ndr, "trusted_domains", &r->trusted_domains[cntr_trusted_domains_1]);
8280 free(idx_1);
8283 ndr->depth--;
8285 ndr->depth--;
8286 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
8287 ndr_print_lsa_String(ndr, "dns_hostname", &r->dns_hostname);
8288 ndr_print_lsa_String(ndr, "dummy_string2", &r->dummy_string2);
8289 ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
8290 ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
8291 ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
8292 ndr_print_netr_SupportedEncTypes(ndr, "supported_enc_types", r->supported_enc_types);
8293 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8294 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8295 ndr->depth--;
8298 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
8300 if (ndr_flags & NDR_SCALARS) {
8301 int level = ndr_push_get_switch_value(ndr, r);
8302 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8303 switch (level) {
8304 case 1: {
8305 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_info));
8306 break; }
8308 case 2: {
8309 NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
8310 break; }
8312 default:
8313 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8316 if (ndr_flags & NDR_BUFFERS) {
8317 int level = ndr_push_get_switch_value(ndr, r);
8318 switch (level) {
8319 case 1:
8320 if (r->domain_info) {
8321 NDR_CHECK(ndr_push_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8323 break;
8325 case 2:
8326 if (r->lsa_policy_info) {
8327 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8329 break;
8331 default:
8332 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8335 return NDR_ERR_SUCCESS;
8338 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
8340 int level;
8341 uint32_t _level;
8342 TALLOC_CTX *_mem_save_domain_info_0;
8343 TALLOC_CTX *_mem_save_lsa_policy_info_0;
8344 level = ndr_pull_get_switch_value(ndr, r);
8345 if (ndr_flags & NDR_SCALARS) {
8346 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8347 if (_level != level) {
8348 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8350 switch (level) {
8351 case 1: {
8352 uint32_t _ptr_domain_info;
8353 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_info));
8354 if (_ptr_domain_info) {
8355 NDR_PULL_ALLOC(ndr, r->domain_info);
8356 } else {
8357 r->domain_info = NULL;
8359 break; }
8361 case 2: {
8362 uint32_t _ptr_lsa_policy_info;
8363 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
8364 if (_ptr_lsa_policy_info) {
8365 NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
8366 } else {
8367 r->lsa_policy_info = NULL;
8369 break; }
8371 default:
8372 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8375 if (ndr_flags & NDR_BUFFERS) {
8376 switch (level) {
8377 case 1:
8378 if (r->domain_info) {
8379 _mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8380 NDR_PULL_SET_MEM_CTX(ndr, r->domain_info, 0);
8381 NDR_CHECK(ndr_pull_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, 0);
8384 break;
8386 case 2:
8387 if (r->lsa_policy_info) {
8388 _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8389 NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
8390 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
8393 break;
8395 default:
8396 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8399 return NDR_ERR_SUCCESS;
8402 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
8404 int level;
8405 level = ndr_print_get_switch_value(ndr, r);
8406 ndr_print_union(ndr, name, level, "netr_DomainInfo");
8407 switch (level) {
8408 case 1:
8409 ndr_print_ptr(ndr, "domain_info", r->domain_info);
8410 ndr->depth++;
8411 if (r->domain_info) {
8412 ndr_print_netr_DomainInformation(ndr, "domain_info", r->domain_info);
8414 ndr->depth--;
8415 break;
8417 case 2:
8418 ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
8419 ndr->depth++;
8420 if (r->lsa_policy_info) {
8421 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
8423 ndr->depth--;
8424 break;
8426 default:
8427 ndr_print_bad_level(ndr, name, level);
8431 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
8434 uint32_t _flags_save_STRUCT = ndr->flags;
8435 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8436 if (ndr_flags & NDR_SCALARS) {
8437 NDR_CHECK(ndr_push_align(ndr, 4));
8438 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8439 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
8441 if (ndr_flags & NDR_BUFFERS) {
8443 ndr->flags = _flags_save_STRUCT;
8445 return NDR_ERR_SUCCESS;
8448 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
8451 uint32_t _flags_save_STRUCT = ndr->flags;
8452 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8453 if (ndr_flags & NDR_SCALARS) {
8454 NDR_CHECK(ndr_pull_align(ndr, 4));
8455 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8456 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
8458 if (ndr_flags & NDR_BUFFERS) {
8460 ndr->flags = _flags_save_STRUCT;
8462 return NDR_ERR_SUCCESS;
8465 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
8467 ndr_print_struct(ndr, name, "netr_CryptPassword");
8469 uint32_t _flags_save_STRUCT = ndr->flags;
8470 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8471 ndr->depth++;
8472 ndr_print_array_uint8(ndr, "data", r->data, 512);
8473 ndr_print_uint32(ndr, "length", r->length);
8474 ndr->depth--;
8475 ndr->flags = _flags_save_STRUCT;
8479 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
8481 uint32_t cntr_sitename_1;
8482 if (ndr_flags & NDR_SCALARS) {
8483 NDR_CHECK(ndr_push_align(ndr, 4));
8484 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8485 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8487 if (ndr_flags & NDR_BUFFERS) {
8488 if (r->sitename) {
8489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8490 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8491 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8493 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8494 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8498 return NDR_ERR_SUCCESS;
8501 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
8503 uint32_t _ptr_sitename;
8504 uint32_t cntr_sitename_1;
8505 TALLOC_CTX *_mem_save_sitename_0;
8506 TALLOC_CTX *_mem_save_sitename_1;
8507 if (ndr_flags & NDR_SCALARS) {
8508 NDR_CHECK(ndr_pull_align(ndr, 4));
8509 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8510 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8511 if (_ptr_sitename) {
8512 NDR_PULL_ALLOC(ndr, r->sitename);
8513 } else {
8514 r->sitename = NULL;
8517 if (ndr_flags & NDR_BUFFERS) {
8518 if (r->sitename) {
8519 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8520 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8521 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8522 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8523 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8524 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8525 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8526 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8528 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8529 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8532 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8534 if (r->sitename) {
8535 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8538 return NDR_ERR_SUCCESS;
8541 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
8543 uint32_t cntr_sitename_1;
8544 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
8545 ndr->depth++;
8546 ndr_print_uint32(ndr, "count", r->count);
8547 ndr_print_ptr(ndr, "sitename", r->sitename);
8548 ndr->depth++;
8549 if (r->sitename) {
8550 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8551 ndr->depth++;
8552 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8553 char *idx_1=NULL;
8554 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8555 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8556 free(idx_1);
8559 ndr->depth--;
8561 ndr->depth--;
8562 ndr->depth--;
8565 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
8567 if (ndr_flags & NDR_SCALARS) {
8568 NDR_CHECK(ndr_push_align(ndr, 4));
8569 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
8570 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8572 if (ndr_flags & NDR_BUFFERS) {
8573 if (r->buffer) {
8574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8575 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
8578 return NDR_ERR_SUCCESS;
8581 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
8583 uint32_t _ptr_buffer;
8584 TALLOC_CTX *_mem_save_buffer_0;
8585 if (ndr_flags & NDR_SCALARS) {
8586 NDR_CHECK(ndr_pull_align(ndr, 4));
8587 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
8588 if (_ptr_buffer) {
8589 NDR_PULL_ALLOC(ndr, r->buffer);
8590 } else {
8591 r->buffer = NULL;
8593 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8595 if (ndr_flags & NDR_BUFFERS) {
8596 if (r->buffer) {
8597 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
8598 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
8599 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
8600 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
8601 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
8602 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
8604 if (r->buffer) {
8605 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
8608 return NDR_ERR_SUCCESS;
8611 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
8613 ndr_print_struct(ndr, name, "netr_DsRAddress");
8614 ndr->depth++;
8615 ndr_print_ptr(ndr, "buffer", r->buffer);
8616 ndr->depth++;
8617 if (r->buffer) {
8618 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
8620 ndr->depth--;
8621 ndr_print_uint32(ndr, "size", r->size);
8622 ndr->depth--;
8625 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
8627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8628 return NDR_ERR_SUCCESS;
8631 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
8633 uint32_t v;
8634 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8635 *r = v;
8636 return NDR_ERR_SUCCESS;
8639 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
8641 const char *val = NULL;
8643 switch (r) {
8644 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
8645 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
8646 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
8647 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
8649 ndr_print_enum(ndr, name, "ENUM", val, r);
8652 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8655 return NDR_ERR_SUCCESS;
8658 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8660 uint32_t v;
8661 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8662 *r = v;
8663 return NDR_ERR_SUCCESS;
8666 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
8668 ndr_print_uint32(ndr, name, r);
8669 ndr->depth++;
8670 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
8671 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
8672 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
8673 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
8674 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
8675 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
8676 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
8677 ndr->depth--;
8680 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
8682 if (ndr_flags & NDR_SCALARS) {
8683 NDR_CHECK(ndr_push_align(ndr, 4));
8684 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
8685 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
8686 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
8687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
8688 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
8689 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
8690 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
8691 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8693 if (ndr_flags & NDR_BUFFERS) {
8694 if (r->netbios_name) {
8695 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8696 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8698 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8700 if (r->dns_name) {
8701 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8702 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8703 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8704 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8706 if (r->sid) {
8707 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8710 return NDR_ERR_SUCCESS;
8713 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
8715 uint32_t _ptr_netbios_name;
8716 TALLOC_CTX *_mem_save_netbios_name_0;
8717 uint32_t _ptr_dns_name;
8718 TALLOC_CTX *_mem_save_dns_name_0;
8719 uint32_t _ptr_sid;
8720 TALLOC_CTX *_mem_save_sid_0;
8721 if (ndr_flags & NDR_SCALARS) {
8722 NDR_CHECK(ndr_pull_align(ndr, 4));
8723 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
8724 if (_ptr_netbios_name) {
8725 NDR_PULL_ALLOC(ndr, r->netbios_name);
8726 } else {
8727 r->netbios_name = NULL;
8729 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
8730 if (_ptr_dns_name) {
8731 NDR_PULL_ALLOC(ndr, r->dns_name);
8732 } else {
8733 r->dns_name = NULL;
8735 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
8736 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
8737 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
8738 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
8739 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
8740 if (_ptr_sid) {
8741 NDR_PULL_ALLOC(ndr, r->sid);
8742 } else {
8743 r->sid = NULL;
8745 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8747 if (ndr_flags & NDR_BUFFERS) {
8748 if (r->netbios_name) {
8749 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8750 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
8751 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
8752 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
8753 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
8754 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));
8756 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
8757 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
8758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
8760 if (r->dns_name) {
8761 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8762 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
8763 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
8764 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
8765 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
8766 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));
8768 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
8769 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
8770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
8772 if (r->sid) {
8773 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8774 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
8775 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8776 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
8779 return NDR_ERR_SUCCESS;
8782 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
8784 ndr_print_struct(ndr, name, "netr_DomainTrust");
8785 ndr->depth++;
8786 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
8787 ndr->depth++;
8788 if (r->netbios_name) {
8789 ndr_print_string(ndr, "netbios_name", r->netbios_name);
8791 ndr->depth--;
8792 ndr_print_ptr(ndr, "dns_name", r->dns_name);
8793 ndr->depth++;
8794 if (r->dns_name) {
8795 ndr_print_string(ndr, "dns_name", r->dns_name);
8797 ndr->depth--;
8798 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
8799 ndr_print_uint32(ndr, "parent_index", r->parent_index);
8800 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
8801 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
8802 ndr_print_ptr(ndr, "sid", r->sid);
8803 ndr->depth++;
8804 if (r->sid) {
8805 ndr_print_dom_sid2(ndr, "sid", r->sid);
8807 ndr->depth--;
8808 ndr_print_GUID(ndr, "guid", &r->guid);
8809 ndr->depth--;
8812 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
8814 uint32_t cntr_array_1;
8815 if (ndr_flags & NDR_SCALARS) {
8816 NDR_CHECK(ndr_push_align(ndr, 4));
8817 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8818 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8820 if (ndr_flags & NDR_BUFFERS) {
8821 if (r->array) {
8822 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8823 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8824 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8826 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8827 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8831 return NDR_ERR_SUCCESS;
8834 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
8836 uint32_t _ptr_array;
8837 uint32_t cntr_array_1;
8838 TALLOC_CTX *_mem_save_array_0;
8839 TALLOC_CTX *_mem_save_array_1;
8840 if (ndr_flags & NDR_SCALARS) {
8841 NDR_CHECK(ndr_pull_align(ndr, 4));
8842 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8843 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8844 if (_ptr_array) {
8845 NDR_PULL_ALLOC(ndr, r->array);
8846 } else {
8847 r->array = NULL;
8850 if (ndr_flags & NDR_BUFFERS) {
8851 if (r->array) {
8852 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8853 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8854 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8855 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8856 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8857 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8858 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8859 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8861 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8862 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8864 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8867 if (r->array) {
8868 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8871 return NDR_ERR_SUCCESS;
8874 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
8876 uint32_t cntr_array_1;
8877 ndr_print_struct(ndr, name, "netr_DomainTrustList");
8878 ndr->depth++;
8879 ndr_print_uint32(ndr, "count", r->count);
8880 ndr_print_ptr(ndr, "array", r->array);
8881 ndr->depth++;
8882 if (r->array) {
8883 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8884 ndr->depth++;
8885 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8886 char *idx_1=NULL;
8887 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8888 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
8889 free(idx_1);
8892 ndr->depth--;
8894 ndr->depth--;
8895 ndr->depth--;
8898 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
8900 uint32_t cntr_sitename_1;
8901 uint32_t cntr_subnetname_1;
8902 if (ndr_flags & NDR_SCALARS) {
8903 NDR_CHECK(ndr_push_align(ndr, 4));
8904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8905 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8906 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
8908 if (ndr_flags & NDR_BUFFERS) {
8909 if (r->sitename) {
8910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8911 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8912 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8914 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8915 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8918 if (r->subnetname) {
8919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8920 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8921 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8923 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8924 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8928 return NDR_ERR_SUCCESS;
8931 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
8933 uint32_t _ptr_sitename;
8934 uint32_t cntr_sitename_1;
8935 TALLOC_CTX *_mem_save_sitename_0;
8936 TALLOC_CTX *_mem_save_sitename_1;
8937 uint32_t _ptr_subnetname;
8938 uint32_t cntr_subnetname_1;
8939 TALLOC_CTX *_mem_save_subnetname_0;
8940 TALLOC_CTX *_mem_save_subnetname_1;
8941 if (ndr_flags & NDR_SCALARS) {
8942 NDR_CHECK(ndr_pull_align(ndr, 4));
8943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8944 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8945 if (_ptr_sitename) {
8946 NDR_PULL_ALLOC(ndr, r->sitename);
8947 } else {
8948 r->sitename = NULL;
8950 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
8951 if (_ptr_subnetname) {
8952 NDR_PULL_ALLOC(ndr, r->subnetname);
8953 } else {
8954 r->subnetname = NULL;
8957 if (ndr_flags & NDR_BUFFERS) {
8958 if (r->sitename) {
8959 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8960 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8961 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8962 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8963 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8964 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8965 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8966 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8968 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8969 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8971 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8972 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8974 if (r->subnetname) {
8975 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
8976 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8977 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
8978 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
8979 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
8980 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
8981 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8982 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8984 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8985 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8987 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
8988 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
8990 if (r->sitename) {
8991 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8993 if (r->subnetname) {
8994 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
8997 return NDR_ERR_SUCCESS;
9000 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
9002 uint32_t cntr_sitename_1;
9003 uint32_t cntr_subnetname_1;
9004 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
9005 ndr->depth++;
9006 ndr_print_uint32(ndr, "count", r->count);
9007 ndr_print_ptr(ndr, "sitename", r->sitename);
9008 ndr->depth++;
9009 if (r->sitename) {
9010 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
9011 ndr->depth++;
9012 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
9013 char *idx_1=NULL;
9014 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
9015 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
9016 free(idx_1);
9019 ndr->depth--;
9021 ndr->depth--;
9022 ndr_print_ptr(ndr, "subnetname", r->subnetname);
9023 ndr->depth++;
9024 if (r->subnetname) {
9025 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
9026 ndr->depth++;
9027 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
9028 char *idx_1=NULL;
9029 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
9030 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
9031 free(idx_1);
9034 ndr->depth--;
9036 ndr->depth--;
9037 ndr->depth--;
9040 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
9042 uint32_t cntr_sites_1;
9043 if (ndr_flags & NDR_SCALARS) {
9044 NDR_CHECK(ndr_push_align(ndr, 4));
9045 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
9046 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
9048 if (ndr_flags & NDR_BUFFERS) {
9049 if (r->sites) {
9050 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
9051 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9052 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9054 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9055 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9059 return NDR_ERR_SUCCESS;
9062 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
9064 uint32_t _ptr_sites;
9065 uint32_t cntr_sites_1;
9066 TALLOC_CTX *_mem_save_sites_0;
9067 TALLOC_CTX *_mem_save_sites_1;
9068 if (ndr_flags & NDR_SCALARS) {
9069 NDR_CHECK(ndr_pull_align(ndr, 4));
9070 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
9071 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
9072 if (_ptr_sites) {
9073 NDR_PULL_ALLOC(ndr, r->sites);
9074 } else {
9075 r->sites = NULL;
9078 if (ndr_flags & NDR_BUFFERS) {
9079 if (r->sites) {
9080 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
9081 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9082 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
9083 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
9084 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
9085 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9086 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9087 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9089 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9090 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
9093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
9095 if (r->sites) {
9096 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
9099 return NDR_ERR_SUCCESS;
9102 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
9104 uint32_t cntr_sites_1;
9105 ndr_print_struct(ndr, name, "DcSitesCtr");
9106 ndr->depth++;
9107 ndr_print_uint32(ndr, "num_sites", r->num_sites);
9108 ndr_print_ptr(ndr, "sites", r->sites);
9109 ndr->depth++;
9110 if (r->sites) {
9111 ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
9112 ndr->depth++;
9113 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
9114 char *idx_1=NULL;
9115 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
9116 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
9117 free(idx_1);
9120 ndr->depth--;
9122 ndr->depth--;
9123 ndr->depth--;
9126 static enum ndr_err_code ndr_push_netr_TrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_TrustInfo *r)
9128 uint32_t cntr_data_1;
9129 uint32_t cntr_entries_1;
9130 if (ndr_flags & NDR_SCALARS) {
9131 NDR_CHECK(ndr_push_align(ndr, 4));
9132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9133 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
9134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entry_count));
9135 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
9137 if (ndr_flags & NDR_BUFFERS) {
9138 if (r->data) {
9139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9140 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data[cntr_data_1]));
9144 if (r->entries) {
9145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9146 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9147 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9149 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9150 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9154 return NDR_ERR_SUCCESS;
9157 static enum ndr_err_code ndr_pull_netr_TrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_TrustInfo *r)
9159 uint32_t _ptr_data;
9160 uint32_t cntr_data_1;
9161 TALLOC_CTX *_mem_save_data_0;
9162 TALLOC_CTX *_mem_save_data_1;
9163 uint32_t _ptr_entries;
9164 uint32_t cntr_entries_1;
9165 TALLOC_CTX *_mem_save_entries_0;
9166 TALLOC_CTX *_mem_save_entries_1;
9167 if (ndr_flags & NDR_SCALARS) {
9168 NDR_CHECK(ndr_pull_align(ndr, 4));
9169 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9170 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
9171 if (_ptr_data) {
9172 NDR_PULL_ALLOC(ndr, r->data);
9173 } else {
9174 r->data = NULL;
9176 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entry_count));
9177 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
9178 if (_ptr_entries) {
9179 NDR_PULL_ALLOC(ndr, r->entries);
9180 } else {
9181 r->entries = NULL;
9184 if (ndr_flags & NDR_BUFFERS) {
9185 if (r->data) {
9186 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
9187 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9188 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
9189 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
9190 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
9191 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9192 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
9195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
9196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
9198 if (r->entries) {
9199 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9200 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9201 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
9202 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
9203 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
9204 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9205 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9206 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9208 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9209 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9211 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
9212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
9214 if (r->data) {
9215 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->count));
9217 if (r->entries) {
9218 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
9221 return NDR_ERR_SUCCESS;
9224 _PUBLIC_ void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r)
9226 uint32_t cntr_data_1;
9227 uint32_t cntr_entries_1;
9228 ndr_print_struct(ndr, name, "netr_TrustInfo");
9229 ndr->depth++;
9230 ndr_print_uint32(ndr, "count", r->count);
9231 ndr_print_ptr(ndr, "data", r->data);
9232 ndr->depth++;
9233 if (r->data) {
9234 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->count);
9235 ndr->depth++;
9236 for (cntr_data_1=0;cntr_data_1<r->count;cntr_data_1++) {
9237 char *idx_1=NULL;
9238 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
9239 ndr_print_uint32(ndr, "data", r->data[cntr_data_1]);
9240 free(idx_1);
9243 ndr->depth--;
9245 ndr->depth--;
9246 ndr_print_uint32(ndr, "entry_count", r->entry_count);
9247 ndr_print_ptr(ndr, "entries", r->entries);
9248 ndr->depth++;
9249 if (r->entries) {
9250 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
9251 ndr->depth++;
9252 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
9253 char *idx_1=NULL;
9254 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
9255 ndr_print_lsa_String(ndr, "entries", &r->entries[cntr_entries_1]);
9256 free(idx_1);
9259 ndr->depth--;
9261 ndr->depth--;
9262 ndr->depth--;
9265 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
9267 if (flags & NDR_IN) {
9268 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9269 if (r->in.server_name) {
9270 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9272 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9273 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));
9275 if (r->in.account_name == NULL) {
9276 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9279 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9280 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9281 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));
9282 if (r->in.workstation == NULL) {
9283 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9286 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9287 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9288 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9290 if (flags & NDR_OUT) {
9291 if (r->out.info == NULL) {
9292 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9294 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9295 if (*r->out.info) {
9296 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9298 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9300 return NDR_ERR_SUCCESS;
9303 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
9305 uint32_t _ptr_server_name;
9306 uint32_t _ptr_info;
9307 TALLOC_CTX *_mem_save_server_name_0;
9308 TALLOC_CTX *_mem_save_info_0;
9309 TALLOC_CTX *_mem_save_info_1;
9310 if (flags & NDR_IN) {
9311 ZERO_STRUCT(r->out);
9313 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9314 if (_ptr_server_name) {
9315 NDR_PULL_ALLOC(ndr, r->in.server_name);
9316 } else {
9317 r->in.server_name = NULL;
9319 if (r->in.server_name) {
9320 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9321 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9322 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9323 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9324 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9325 return 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));
9327 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9328 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));
9329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9331 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9332 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9333 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9334 return 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));
9336 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9337 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));
9338 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9339 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9340 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
9341 return 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));
9343 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
9344 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
9345 NDR_PULL_ALLOC(ndr, r->out.info);
9346 ZERO_STRUCTP(r->out.info);
9348 if (flags & NDR_OUT) {
9349 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9350 NDR_PULL_ALLOC(ndr, r->out.info);
9352 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9353 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9354 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9355 if (_ptr_info) {
9356 NDR_PULL_ALLOC(ndr, *r->out.info);
9357 } else {
9358 *r->out.info = NULL;
9360 if (*r->out.info) {
9361 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9362 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9363 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9367 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9369 return NDR_ERR_SUCCESS;
9372 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
9374 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
9375 ndr->depth++;
9376 if (flags & NDR_SET_VALUES) {
9377 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9379 if (flags & NDR_IN) {
9380 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
9381 ndr->depth++;
9382 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9383 ndr->depth++;
9384 if (r->in.server_name) {
9385 ndr_print_string(ndr, "server_name", r->in.server_name);
9387 ndr->depth--;
9388 ndr_print_ptr(ndr, "account_name", r->in.account_name);
9389 ndr->depth++;
9390 ndr_print_string(ndr, "account_name", r->in.account_name);
9391 ndr->depth--;
9392 ndr_print_ptr(ndr, "workstation", r->in.workstation);
9393 ndr->depth++;
9394 ndr_print_string(ndr, "workstation", r->in.workstation);
9395 ndr->depth--;
9396 ndr->depth--;
9398 if (flags & NDR_OUT) {
9399 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
9400 ndr->depth++;
9401 ndr_print_ptr(ndr, "info", r->out.info);
9402 ndr->depth++;
9403 ndr_print_ptr(ndr, "info", *r->out.info);
9404 ndr->depth++;
9405 if (*r->out.info) {
9406 ndr_print_netr_UasInfo(ndr, "info", *r->out.info);
9408 ndr->depth--;
9409 ndr->depth--;
9410 ndr_print_WERROR(ndr, "result", r->out.result);
9411 ndr->depth--;
9413 ndr->depth--;
9416 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
9418 if (flags & NDR_IN) {
9419 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9420 if (r->in.server_name) {
9421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9424 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));
9426 if (r->in.account_name == NULL) {
9427 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9432 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));
9433 if (r->in.workstation == NULL) {
9434 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9438 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9439 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9441 if (flags & NDR_OUT) {
9442 if (r->out.info == NULL) {
9443 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9445 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9446 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9448 return NDR_ERR_SUCCESS;
9451 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
9453 uint32_t _ptr_server_name;
9454 TALLOC_CTX *_mem_save_server_name_0;
9455 TALLOC_CTX *_mem_save_info_0;
9456 if (flags & NDR_IN) {
9457 ZERO_STRUCT(r->out);
9459 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9460 if (_ptr_server_name) {
9461 NDR_PULL_ALLOC(ndr, r->in.server_name);
9462 } else {
9463 r->in.server_name = NULL;
9465 if (r->in.server_name) {
9466 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9467 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9468 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9469 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9470 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9471 return 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));
9473 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9474 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));
9475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9477 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9478 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9479 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9480 return 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));
9482 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9483 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));
9484 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9485 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9486 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
9487 return 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));
9489 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
9490 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
9491 NDR_PULL_ALLOC(ndr, r->out.info);
9492 ZERO_STRUCTP(r->out.info);
9494 if (flags & NDR_OUT) {
9495 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9496 NDR_PULL_ALLOC(ndr, r->out.info);
9498 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9499 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9500 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9501 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9502 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9504 return NDR_ERR_SUCCESS;
9507 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
9509 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
9510 ndr->depth++;
9511 if (flags & NDR_SET_VALUES) {
9512 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9514 if (flags & NDR_IN) {
9515 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
9516 ndr->depth++;
9517 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9518 ndr->depth++;
9519 if (r->in.server_name) {
9520 ndr_print_string(ndr, "server_name", r->in.server_name);
9522 ndr->depth--;
9523 ndr_print_ptr(ndr, "account_name", r->in.account_name);
9524 ndr->depth++;
9525 ndr_print_string(ndr, "account_name", r->in.account_name);
9526 ndr->depth--;
9527 ndr_print_ptr(ndr, "workstation", r->in.workstation);
9528 ndr->depth++;
9529 ndr_print_string(ndr, "workstation", r->in.workstation);
9530 ndr->depth--;
9531 ndr->depth--;
9533 if (flags & NDR_OUT) {
9534 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
9535 ndr->depth++;
9536 ndr_print_ptr(ndr, "info", r->out.info);
9537 ndr->depth++;
9538 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
9539 ndr->depth--;
9540 ndr_print_WERROR(ndr, "result", r->out.result);
9541 ndr->depth--;
9543 ndr->depth--;
9546 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
9548 if (flags & NDR_IN) {
9549 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9550 if (r->in.server_name) {
9551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9553 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9554 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));
9556 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9557 if (r->in.computer_name) {
9558 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9561 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));
9563 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9564 if (r->in.credential) {
9565 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9567 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9568 if (r->in.return_authenticator) {
9569 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9571 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9572 if (r->in.logon == NULL) {
9573 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9575 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9576 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9577 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
9579 if (flags & NDR_OUT) {
9580 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9581 if (r->out.return_authenticator) {
9582 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9584 if (r->out.validation == NULL) {
9585 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9587 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9588 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9589 if (r->out.authoritative == NULL) {
9590 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9592 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
9593 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9595 return NDR_ERR_SUCCESS;
9598 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
9600 uint32_t _ptr_server_name;
9601 uint32_t _ptr_computer_name;
9602 uint32_t _ptr_credential;
9603 uint32_t _ptr_return_authenticator;
9604 TALLOC_CTX *_mem_save_server_name_0;
9605 TALLOC_CTX *_mem_save_computer_name_0;
9606 TALLOC_CTX *_mem_save_credential_0;
9607 TALLOC_CTX *_mem_save_return_authenticator_0;
9608 TALLOC_CTX *_mem_save_logon_0;
9609 TALLOC_CTX *_mem_save_validation_0;
9610 TALLOC_CTX *_mem_save_authoritative_0;
9611 if (flags & NDR_IN) {
9612 ZERO_STRUCT(r->out);
9614 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9615 if (_ptr_server_name) {
9616 NDR_PULL_ALLOC(ndr, r->in.server_name);
9617 } else {
9618 r->in.server_name = NULL;
9620 if (r->in.server_name) {
9621 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9622 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9623 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9624 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9625 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9626 return 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));
9628 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9629 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));
9630 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9632 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9633 if (_ptr_computer_name) {
9634 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9635 } else {
9636 r->in.computer_name = NULL;
9638 if (r->in.computer_name) {
9639 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9640 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9641 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9642 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9643 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9644 return 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));
9646 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9647 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));
9648 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9650 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9651 if (_ptr_credential) {
9652 NDR_PULL_ALLOC(ndr, r->in.credential);
9653 } else {
9654 r->in.credential = NULL;
9656 if (r->in.credential) {
9657 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9658 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9659 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9662 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9663 if (_ptr_return_authenticator) {
9664 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9665 } else {
9666 r->in.return_authenticator = NULL;
9668 if (r->in.return_authenticator) {
9669 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9670 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9671 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9672 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9674 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9675 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9676 NDR_PULL_ALLOC(ndr, r->in.logon);
9678 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
9679 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
9680 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9681 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
9683 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
9684 NDR_PULL_ALLOC(ndr, r->out.validation);
9685 ZERO_STRUCTP(r->out.validation);
9686 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9687 ZERO_STRUCTP(r->out.authoritative);
9689 if (flags & NDR_OUT) {
9690 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9691 if (_ptr_return_authenticator) {
9692 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9693 } else {
9694 r->out.return_authenticator = NULL;
9696 if (r->out.return_authenticator) {
9697 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9698 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9699 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9702 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9703 NDR_PULL_ALLOC(ndr, r->out.validation);
9705 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
9706 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
9707 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9708 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9709 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
9710 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9711 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9713 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
9714 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
9715 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
9716 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
9717 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9719 return NDR_ERR_SUCCESS;
9722 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
9724 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
9725 ndr->depth++;
9726 if (flags & NDR_SET_VALUES) {
9727 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9729 if (flags & NDR_IN) {
9730 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
9731 ndr->depth++;
9732 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9733 ndr->depth++;
9734 if (r->in.server_name) {
9735 ndr_print_string(ndr, "server_name", r->in.server_name);
9737 ndr->depth--;
9738 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9739 ndr->depth++;
9740 if (r->in.computer_name) {
9741 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9743 ndr->depth--;
9744 ndr_print_ptr(ndr, "credential", r->in.credential);
9745 ndr->depth++;
9746 if (r->in.credential) {
9747 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9749 ndr->depth--;
9750 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9751 ndr->depth++;
9752 if (r->in.return_authenticator) {
9753 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9755 ndr->depth--;
9756 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9757 ndr_print_ptr(ndr, "logon", r->in.logon);
9758 ndr->depth++;
9759 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
9760 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
9761 ndr->depth--;
9762 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
9763 ndr->depth--;
9765 if (flags & NDR_OUT) {
9766 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
9767 ndr->depth++;
9768 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9769 ndr->depth++;
9770 if (r->out.return_authenticator) {
9771 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9773 ndr->depth--;
9774 ndr_print_ptr(ndr, "validation", r->out.validation);
9775 ndr->depth++;
9776 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
9777 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
9778 ndr->depth--;
9779 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
9780 ndr->depth++;
9781 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
9782 ndr->depth--;
9783 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9784 ndr->depth--;
9786 ndr->depth--;
9789 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
9791 if (flags & NDR_IN) {
9792 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9793 if (r->in.server_name) {
9794 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9797 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));
9799 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9800 if (r->in.computer_name) {
9801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9804 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));
9806 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9807 if (r->in.credential) {
9808 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9810 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9811 if (r->in.return_authenticator) {
9812 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9814 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9815 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9816 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9818 if (flags & NDR_OUT) {
9819 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9820 if (r->out.return_authenticator) {
9821 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9823 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9825 return NDR_ERR_SUCCESS;
9828 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
9830 uint32_t _ptr_server_name;
9831 uint32_t _ptr_computer_name;
9832 uint32_t _ptr_credential;
9833 uint32_t _ptr_return_authenticator;
9834 TALLOC_CTX *_mem_save_server_name_0;
9835 TALLOC_CTX *_mem_save_computer_name_0;
9836 TALLOC_CTX *_mem_save_credential_0;
9837 TALLOC_CTX *_mem_save_return_authenticator_0;
9838 if (flags & NDR_IN) {
9839 ZERO_STRUCT(r->out);
9841 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9842 if (_ptr_server_name) {
9843 NDR_PULL_ALLOC(ndr, r->in.server_name);
9844 } else {
9845 r->in.server_name = NULL;
9847 if (r->in.server_name) {
9848 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9849 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9850 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9851 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9852 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9853 return 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));
9855 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9856 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));
9857 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9859 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9860 if (_ptr_computer_name) {
9861 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9862 } else {
9863 r->in.computer_name = NULL;
9865 if (r->in.computer_name) {
9866 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9867 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9868 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9869 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9870 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9871 return 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));
9873 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9874 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));
9875 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9877 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9878 if (_ptr_credential) {
9879 NDR_PULL_ALLOC(ndr, r->in.credential);
9880 } else {
9881 r->in.credential = NULL;
9883 if (r->in.credential) {
9884 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9885 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9886 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9889 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9890 if (_ptr_return_authenticator) {
9891 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9892 } else {
9893 r->in.return_authenticator = NULL;
9895 if (r->in.return_authenticator) {
9896 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9897 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9898 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9901 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9902 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9903 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9905 if (flags & NDR_OUT) {
9906 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9907 if (_ptr_return_authenticator) {
9908 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9909 } else {
9910 r->out.return_authenticator = NULL;
9912 if (r->out.return_authenticator) {
9913 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9914 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9915 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9918 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9920 return NDR_ERR_SUCCESS;
9923 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
9925 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
9926 ndr->depth++;
9927 if (flags & NDR_SET_VALUES) {
9928 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9930 if (flags & NDR_IN) {
9931 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
9932 ndr->depth++;
9933 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9934 ndr->depth++;
9935 if (r->in.server_name) {
9936 ndr_print_string(ndr, "server_name", r->in.server_name);
9938 ndr->depth--;
9939 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9940 ndr->depth++;
9941 if (r->in.computer_name) {
9942 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9944 ndr->depth--;
9945 ndr_print_ptr(ndr, "credential", r->in.credential);
9946 ndr->depth++;
9947 if (r->in.credential) {
9948 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9950 ndr->depth--;
9951 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9952 ndr->depth++;
9953 if (r->in.return_authenticator) {
9954 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9956 ndr->depth--;
9957 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9958 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
9959 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
9960 ndr->depth--;
9962 if (flags & NDR_OUT) {
9963 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
9964 ndr->depth++;
9965 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9966 ndr->depth++;
9967 if (r->out.return_authenticator) {
9968 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9970 ndr->depth--;
9971 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9972 ndr->depth--;
9974 ndr->depth--;
9977 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
9979 if (flags & NDR_IN) {
9980 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9981 if (r->in.server_name) {
9982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9985 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));
9987 if (r->in.computer_name == NULL) {
9988 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9993 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));
9994 if (r->in.credentials == NULL) {
9995 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9997 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
9999 if (flags & NDR_OUT) {
10000 if (r->out.return_credentials == NULL) {
10001 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10003 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10004 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10006 return NDR_ERR_SUCCESS;
10009 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
10011 uint32_t _ptr_server_name;
10012 TALLOC_CTX *_mem_save_server_name_0;
10013 TALLOC_CTX *_mem_save_credentials_0;
10014 TALLOC_CTX *_mem_save_return_credentials_0;
10015 if (flags & NDR_IN) {
10016 ZERO_STRUCT(r->out);
10018 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10019 if (_ptr_server_name) {
10020 NDR_PULL_ALLOC(ndr, r->in.server_name);
10021 } else {
10022 r->in.server_name = NULL;
10024 if (r->in.server_name) {
10025 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10026 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10027 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10028 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10029 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10030 return 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));
10032 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10033 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));
10034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10036 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10037 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10038 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10039 return 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));
10041 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10042 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));
10043 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10044 NDR_PULL_ALLOC(ndr, r->in.credentials);
10046 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10047 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10048 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10049 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10050 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10051 ZERO_STRUCTP(r->out.return_credentials);
10053 if (flags & NDR_OUT) {
10054 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10055 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10057 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10058 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10059 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10061 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10063 return NDR_ERR_SUCCESS;
10066 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
10068 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
10069 ndr->depth++;
10070 if (flags & NDR_SET_VALUES) {
10071 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10073 if (flags & NDR_IN) {
10074 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
10075 ndr->depth++;
10076 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10077 ndr->depth++;
10078 if (r->in.server_name) {
10079 ndr_print_string(ndr, "server_name", r->in.server_name);
10081 ndr->depth--;
10082 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10083 ndr->depth++;
10084 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10085 ndr->depth--;
10086 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10087 ndr->depth++;
10088 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10089 ndr->depth--;
10090 ndr->depth--;
10092 if (flags & NDR_OUT) {
10093 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
10094 ndr->depth++;
10095 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10096 ndr->depth++;
10097 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10098 ndr->depth--;
10099 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10100 ndr->depth--;
10102 ndr->depth--;
10105 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
10107 if (flags & NDR_IN) {
10108 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10109 if (r->in.server_name) {
10110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10111 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10112 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10113 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));
10115 if (r->in.account_name == NULL) {
10116 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10121 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));
10122 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10123 if (r->in.computer_name == NULL) {
10124 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10129 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));
10130 if (r->in.credentials == NULL) {
10131 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10133 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10135 if (flags & NDR_OUT) {
10136 if (r->out.return_credentials == NULL) {
10137 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10139 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10140 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10142 return NDR_ERR_SUCCESS;
10145 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
10147 uint32_t _ptr_server_name;
10148 TALLOC_CTX *_mem_save_server_name_0;
10149 TALLOC_CTX *_mem_save_credentials_0;
10150 TALLOC_CTX *_mem_save_return_credentials_0;
10151 if (flags & NDR_IN) {
10152 ZERO_STRUCT(r->out);
10154 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10155 if (_ptr_server_name) {
10156 NDR_PULL_ALLOC(ndr, r->in.server_name);
10157 } else {
10158 r->in.server_name = NULL;
10160 if (r->in.server_name) {
10161 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10162 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10163 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10164 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10165 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10166 return 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));
10168 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10169 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));
10170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10172 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10173 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10174 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10175 return 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));
10177 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10178 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));
10179 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10180 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10181 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10182 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10183 return 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));
10185 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10186 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));
10187 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10188 NDR_PULL_ALLOC(ndr, r->in.credentials);
10190 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10191 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10192 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10194 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10195 ZERO_STRUCTP(r->out.return_credentials);
10197 if (flags & NDR_OUT) {
10198 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10199 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10201 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10202 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10203 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10205 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10207 return NDR_ERR_SUCCESS;
10210 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
10212 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
10213 ndr->depth++;
10214 if (flags & NDR_SET_VALUES) {
10215 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10217 if (flags & NDR_IN) {
10218 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
10219 ndr->depth++;
10220 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10221 ndr->depth++;
10222 if (r->in.server_name) {
10223 ndr_print_string(ndr, "server_name", r->in.server_name);
10225 ndr->depth--;
10226 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10227 ndr->depth++;
10228 ndr_print_string(ndr, "account_name", r->in.account_name);
10229 ndr->depth--;
10230 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10231 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10232 ndr->depth++;
10233 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10234 ndr->depth--;
10235 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10236 ndr->depth++;
10237 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10238 ndr->depth--;
10239 ndr->depth--;
10241 if (flags & NDR_OUT) {
10242 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
10243 ndr->depth++;
10244 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10245 ndr->depth++;
10246 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10247 ndr->depth--;
10248 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10249 ndr->depth--;
10251 ndr->depth--;
10254 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
10256 if (flags & NDR_IN) {
10257 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10258 if (r->in.server_name) {
10259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10262 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));
10264 if (r->in.account_name == NULL) {
10265 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10270 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));
10271 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10272 if (r->in.computer_name == NULL) {
10273 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10275 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10277 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10278 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));
10279 if (r->in.credential == NULL) {
10280 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10282 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10283 if (r->in.new_password == NULL) {
10284 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10286 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10288 if (flags & NDR_OUT) {
10289 if (r->out.return_authenticator == NULL) {
10290 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10292 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10293 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10295 return NDR_ERR_SUCCESS;
10298 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
10300 uint32_t _ptr_server_name;
10301 TALLOC_CTX *_mem_save_server_name_0;
10302 TALLOC_CTX *_mem_save_credential_0;
10303 TALLOC_CTX *_mem_save_return_authenticator_0;
10304 TALLOC_CTX *_mem_save_new_password_0;
10305 if (flags & NDR_IN) {
10306 ZERO_STRUCT(r->out);
10308 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10309 if (_ptr_server_name) {
10310 NDR_PULL_ALLOC(ndr, r->in.server_name);
10311 } else {
10312 r->in.server_name = NULL;
10314 if (r->in.server_name) {
10315 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10316 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10317 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10318 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10319 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10320 return 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));
10322 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10323 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));
10324 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10326 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10327 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10328 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10329 return 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));
10331 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10332 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));
10333 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10334 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10335 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10336 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10337 return 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));
10339 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10340 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));
10341 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10342 NDR_PULL_ALLOC(ndr, r->in.credential);
10344 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10345 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10346 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10347 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10348 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10349 NDR_PULL_ALLOC(ndr, r->in.new_password);
10351 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10352 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
10353 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10354 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
10355 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10356 ZERO_STRUCTP(r->out.return_authenticator);
10358 if (flags & NDR_OUT) {
10359 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10360 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10362 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10363 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10364 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10365 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10366 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10368 return NDR_ERR_SUCCESS;
10371 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
10373 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
10374 ndr->depth++;
10375 if (flags & NDR_SET_VALUES) {
10376 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10378 if (flags & NDR_IN) {
10379 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
10380 ndr->depth++;
10381 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10382 ndr->depth++;
10383 if (r->in.server_name) {
10384 ndr_print_string(ndr, "server_name", r->in.server_name);
10386 ndr->depth--;
10387 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10388 ndr->depth++;
10389 ndr_print_string(ndr, "account_name", r->in.account_name);
10390 ndr->depth--;
10391 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10392 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10393 ndr->depth++;
10394 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10395 ndr->depth--;
10396 ndr_print_ptr(ndr, "credential", r->in.credential);
10397 ndr->depth++;
10398 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10399 ndr->depth--;
10400 ndr_print_ptr(ndr, "new_password", r->in.new_password);
10401 ndr->depth++;
10402 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
10403 ndr->depth--;
10404 ndr->depth--;
10406 if (flags & NDR_OUT) {
10407 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
10408 ndr->depth++;
10409 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10410 ndr->depth++;
10411 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10412 ndr->depth--;
10413 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10414 ndr->depth--;
10416 ndr->depth--;
10419 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
10421 if (flags & NDR_IN) {
10422 if (r->in.logon_server == NULL) {
10423 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10428 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));
10429 if (r->in.computername == NULL) {
10430 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10435 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10436 if (r->in.credential == NULL) {
10437 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10439 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10440 if (r->in.return_authenticator == NULL) {
10441 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10443 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10444 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10445 if (r->in.sequence_num == NULL) {
10446 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10448 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
10449 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10451 if (flags & NDR_OUT) {
10452 if (r->out.return_authenticator == NULL) {
10453 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10455 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10456 if (r->out.sequence_num == NULL) {
10457 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10459 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
10460 if (r->out.delta_enum_array == NULL) {
10461 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10463 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10464 if (*r->out.delta_enum_array) {
10465 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10467 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10469 return NDR_ERR_SUCCESS;
10472 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
10474 uint32_t _ptr_delta_enum_array;
10475 TALLOC_CTX *_mem_save_credential_0;
10476 TALLOC_CTX *_mem_save_return_authenticator_0;
10477 TALLOC_CTX *_mem_save_sequence_num_0;
10478 TALLOC_CTX *_mem_save_delta_enum_array_0;
10479 TALLOC_CTX *_mem_save_delta_enum_array_1;
10480 if (flags & NDR_IN) {
10481 ZERO_STRUCT(r->out);
10483 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10484 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10485 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10486 return 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));
10488 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10489 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));
10490 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10491 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10492 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10493 return 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));
10495 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10496 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10497 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10498 NDR_PULL_ALLOC(ndr, r->in.credential);
10500 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10501 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10502 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10503 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10504 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10505 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10507 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10508 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10509 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10511 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10512 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10513 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
10515 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10516 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10517 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
10518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10519 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10520 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10521 *r->out.return_authenticator = *r->in.return_authenticator;
10522 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10523 *r->out.sequence_num = *r->in.sequence_num;
10524 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10525 ZERO_STRUCTP(r->out.delta_enum_array);
10527 if (flags & NDR_OUT) {
10528 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10529 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10531 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10532 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10533 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10535 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10536 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10538 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10539 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10540 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
10541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10542 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10543 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10545 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10546 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10547 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10548 if (_ptr_delta_enum_array) {
10549 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10550 } else {
10551 *r->out.delta_enum_array = NULL;
10553 if (*r->out.delta_enum_array) {
10554 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10555 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10556 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10557 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10559 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10560 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10562 return NDR_ERR_SUCCESS;
10565 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
10567 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
10568 ndr->depth++;
10569 if (flags & NDR_SET_VALUES) {
10570 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10572 if (flags & NDR_IN) {
10573 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
10574 ndr->depth++;
10575 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10576 ndr->depth++;
10577 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10578 ndr->depth--;
10579 ndr_print_ptr(ndr, "computername", r->in.computername);
10580 ndr->depth++;
10581 ndr_print_string(ndr, "computername", r->in.computername);
10582 ndr->depth--;
10583 ndr_print_ptr(ndr, "credential", r->in.credential);
10584 ndr->depth++;
10585 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10586 ndr->depth--;
10587 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10588 ndr->depth++;
10589 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10590 ndr->depth--;
10591 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10592 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
10593 ndr->depth++;
10594 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
10595 ndr->depth--;
10596 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10597 ndr->depth--;
10599 if (flags & NDR_OUT) {
10600 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
10601 ndr->depth++;
10602 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10603 ndr->depth++;
10604 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10605 ndr->depth--;
10606 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
10607 ndr->depth++;
10608 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
10609 ndr->depth--;
10610 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10611 ndr->depth++;
10612 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10613 ndr->depth++;
10614 if (*r->out.delta_enum_array) {
10615 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10617 ndr->depth--;
10618 ndr->depth--;
10619 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10620 ndr->depth--;
10622 ndr->depth--;
10625 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
10627 if (flags & NDR_IN) {
10628 if (r->in.logon_server == NULL) {
10629 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10632 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10634 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));
10635 if (r->in.computername == NULL) {
10636 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10638 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10639 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10640 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10641 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10642 if (r->in.credential == NULL) {
10643 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10645 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10646 if (r->in.return_authenticator == NULL) {
10647 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10649 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10650 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10651 if (r->in.sync_context == NULL) {
10652 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10657 if (flags & NDR_OUT) {
10658 if (r->out.return_authenticator == NULL) {
10659 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10661 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10662 if (r->out.sync_context == NULL) {
10663 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10666 if (r->out.delta_enum_array == NULL) {
10667 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10669 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10670 if (*r->out.delta_enum_array) {
10671 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10673 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10675 return NDR_ERR_SUCCESS;
10678 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
10680 uint32_t _ptr_delta_enum_array;
10681 TALLOC_CTX *_mem_save_credential_0;
10682 TALLOC_CTX *_mem_save_return_authenticator_0;
10683 TALLOC_CTX *_mem_save_sync_context_0;
10684 TALLOC_CTX *_mem_save_delta_enum_array_0;
10685 TALLOC_CTX *_mem_save_delta_enum_array_1;
10686 if (flags & NDR_IN) {
10687 ZERO_STRUCT(r->out);
10689 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10690 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10691 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10692 return 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));
10694 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10695 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));
10696 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10697 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10698 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10699 return 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));
10701 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10702 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10703 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10704 NDR_PULL_ALLOC(ndr, r->in.credential);
10706 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10707 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10708 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10709 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10710 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10711 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10713 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10714 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10715 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10716 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10717 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10718 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10719 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10721 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10722 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10723 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10725 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10726 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10727 *r->out.return_authenticator = *r->in.return_authenticator;
10728 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10729 *r->out.sync_context = *r->in.sync_context;
10730 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10731 ZERO_STRUCTP(r->out.delta_enum_array);
10733 if (flags & NDR_OUT) {
10734 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10735 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10737 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10738 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10739 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10740 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10741 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10742 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10744 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10745 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10746 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10747 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10748 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10749 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10751 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10752 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10753 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10754 if (_ptr_delta_enum_array) {
10755 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10756 } else {
10757 *r->out.delta_enum_array = NULL;
10759 if (*r->out.delta_enum_array) {
10760 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10761 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10762 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10763 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10765 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10766 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10768 return NDR_ERR_SUCCESS;
10771 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
10773 ndr_print_struct(ndr, name, "netr_DatabaseSync");
10774 ndr->depth++;
10775 if (flags & NDR_SET_VALUES) {
10776 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10778 if (flags & NDR_IN) {
10779 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
10780 ndr->depth++;
10781 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10782 ndr->depth++;
10783 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10784 ndr->depth--;
10785 ndr_print_ptr(ndr, "computername", r->in.computername);
10786 ndr->depth++;
10787 ndr_print_string(ndr, "computername", r->in.computername);
10788 ndr->depth--;
10789 ndr_print_ptr(ndr, "credential", r->in.credential);
10790 ndr->depth++;
10791 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10792 ndr->depth--;
10793 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10794 ndr->depth++;
10795 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10796 ndr->depth--;
10797 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10798 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10799 ndr->depth++;
10800 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10801 ndr->depth--;
10802 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10803 ndr->depth--;
10805 if (flags & NDR_OUT) {
10806 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
10807 ndr->depth++;
10808 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10809 ndr->depth++;
10810 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10811 ndr->depth--;
10812 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10813 ndr->depth++;
10814 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10815 ndr->depth--;
10816 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10817 ndr->depth++;
10818 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10819 ndr->depth++;
10820 if (*r->out.delta_enum_array) {
10821 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10823 ndr->depth--;
10824 ndr->depth--;
10825 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10826 ndr->depth--;
10828 ndr->depth--;
10831 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
10833 if (flags & NDR_IN) {
10834 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10835 if (r->in.logon_server) {
10836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10837 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10839 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));
10841 if (r->in.computername == NULL) {
10842 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10844 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10845 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10846 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10847 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10848 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10849 if (r->in.return_authenticator == NULL) {
10850 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10852 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10853 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
10855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
10858 if (flags & NDR_OUT) {
10859 if (r->out.return_authenticator == NULL) {
10860 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10862 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10863 if (r->out.buffer == NULL) {
10864 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10867 struct ndr_push *_ndr_buffer;
10868 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10869 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10870 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
10872 if (r->out.count_returned == NULL) {
10873 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
10876 if (r->out.total_entries == NULL) {
10877 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
10880 if (r->out.recordid == NULL) {
10881 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10883 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10884 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10886 return NDR_ERR_SUCCESS;
10889 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
10891 uint32_t _ptr_logon_server;
10892 TALLOC_CTX *_mem_save_logon_server_0;
10893 TALLOC_CTX *_mem_save_return_authenticator_0;
10894 TALLOC_CTX *_mem_save_buffer_0;
10895 TALLOC_CTX *_mem_save_count_returned_0;
10896 TALLOC_CTX *_mem_save_total_entries_0;
10897 TALLOC_CTX *_mem_save_recordid_0;
10898 if (flags & NDR_IN) {
10899 ZERO_STRUCT(r->out);
10901 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10902 if (_ptr_logon_server) {
10903 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10904 } else {
10905 r->in.logon_server = NULL;
10907 if (r->in.logon_server) {
10908 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10909 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10910 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10911 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10912 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10913 return 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));
10915 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10916 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));
10917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10919 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10920 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10921 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10922 return 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));
10924 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10925 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10926 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10927 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10928 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10930 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10931 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10932 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10934 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
10936 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10937 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
10938 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10939 *r->out.return_authenticator = *r->in.return_authenticator;
10940 NDR_PULL_ALLOC(ndr, r->out.buffer);
10941 ZERO_STRUCTP(r->out.buffer);
10942 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10943 ZERO_STRUCTP(r->out.count_returned);
10944 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10945 ZERO_STRUCTP(r->out.total_entries);
10946 NDR_PULL_ALLOC(ndr, r->out.recordid);
10947 ZERO_STRUCTP(r->out.recordid);
10949 if (flags & NDR_OUT) {
10950 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10951 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10953 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10954 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10955 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10956 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10957 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10958 NDR_PULL_ALLOC(ndr, r->out.buffer);
10960 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
10961 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
10963 struct ndr_pull *_ndr_buffer;
10964 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10965 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10966 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
10968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
10969 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10970 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10972 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
10973 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
10974 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
10975 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
10976 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10977 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10979 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
10980 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
10981 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
10982 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
10983 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10984 NDR_PULL_ALLOC(ndr, r->out.recordid);
10986 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10987 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
10988 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
10990 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10992 return NDR_ERR_SUCCESS;
10995 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
10997 ndr_print_struct(ndr, name, "netr_AccountDeltas");
10998 ndr->depth++;
10999 if (flags & NDR_SET_VALUES) {
11000 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11002 if (flags & NDR_IN) {
11003 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
11004 ndr->depth++;
11005 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11006 ndr->depth++;
11007 if (r->in.logon_server) {
11008 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11010 ndr->depth--;
11011 ndr_print_ptr(ndr, "computername", r->in.computername);
11012 ndr->depth++;
11013 ndr_print_string(ndr, "computername", r->in.computername);
11014 ndr->depth--;
11015 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
11016 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11017 ndr->depth++;
11018 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11019 ndr->depth--;
11020 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
11021 ndr_print_uint32(ndr, "count", r->in.count);
11022 ndr_print_uint32(ndr, "level", r->in.level);
11023 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
11024 ndr->depth--;
11026 if (flags & NDR_OUT) {
11027 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
11028 ndr->depth++;
11029 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11030 ndr->depth++;
11031 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11032 ndr->depth--;
11033 ndr_print_ptr(ndr, "buffer", r->out.buffer);
11034 ndr->depth++;
11035 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
11036 ndr->depth--;
11037 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
11038 ndr->depth++;
11039 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
11040 ndr->depth--;
11041 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
11042 ndr->depth++;
11043 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
11044 ndr->depth--;
11045 ndr_print_ptr(ndr, "recordid", r->out.recordid);
11046 ndr->depth++;
11047 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
11048 ndr->depth--;
11049 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11050 ndr->depth--;
11052 ndr->depth--;
11055 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
11057 if (flags & NDR_IN) {
11058 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11059 if (r->in.logon_server) {
11060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11061 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11063 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));
11065 if (r->in.computername == NULL) {
11066 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11069 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11070 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11071 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11072 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11073 if (r->in.return_authenticator == NULL) {
11074 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11076 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
11078 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11079 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
11080 if (r->in.recordid == NULL) {
11081 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11083 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11085 if (flags & NDR_OUT) {
11086 if (r->out.return_authenticator == NULL) {
11087 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11089 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11090 if (r->out.buffer == NULL) {
11091 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11094 struct ndr_push *_ndr_buffer;
11095 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11096 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11097 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
11099 if (r->out.count_returned == NULL) {
11100 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11102 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
11103 if (r->out.total_entries == NULL) {
11104 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
11107 if (r->out.next_reference == NULL) {
11108 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
11111 if (r->out.recordid == NULL) {
11112 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11114 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11115 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11117 return NDR_ERR_SUCCESS;
11120 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
11122 uint32_t _ptr_logon_server;
11123 TALLOC_CTX *_mem_save_logon_server_0;
11124 TALLOC_CTX *_mem_save_return_authenticator_0;
11125 TALLOC_CTX *_mem_save_buffer_0;
11126 TALLOC_CTX *_mem_save_count_returned_0;
11127 TALLOC_CTX *_mem_save_total_entries_0;
11128 TALLOC_CTX *_mem_save_next_reference_0;
11129 TALLOC_CTX *_mem_save_recordid_0;
11130 if (flags & NDR_IN) {
11131 ZERO_STRUCT(r->out);
11133 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11134 if (_ptr_logon_server) {
11135 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11136 } else {
11137 r->in.logon_server = NULL;
11139 if (r->in.logon_server) {
11140 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11141 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11142 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11143 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11144 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11145 return 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));
11147 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11148 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));
11149 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11151 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11152 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11153 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
11154 return 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));
11156 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
11157 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
11158 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11159 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11160 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11162 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11163 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11164 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11165 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11166 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
11167 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
11169 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11170 NDR_PULL_ALLOC(ndr, r->in.recordid);
11172 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11173 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
11174 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11175 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11176 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11177 *r->out.return_authenticator = *r->in.return_authenticator;
11178 NDR_PULL_ALLOC(ndr, r->out.buffer);
11179 ZERO_STRUCTP(r->out.buffer);
11180 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11181 ZERO_STRUCTP(r->out.count_returned);
11182 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11183 ZERO_STRUCTP(r->out.total_entries);
11184 NDR_PULL_ALLOC(ndr, r->out.next_reference);
11185 ZERO_STRUCTP(r->out.next_reference);
11186 NDR_PULL_ALLOC(ndr, r->out.recordid);
11187 *r->out.recordid = *r->in.recordid;
11189 if (flags & NDR_OUT) {
11190 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11191 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11193 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11194 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11195 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11197 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11198 NDR_PULL_ALLOC(ndr, r->out.buffer);
11200 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
11201 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
11203 struct ndr_pull *_ndr_buffer;
11204 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11205 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11206 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
11208 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
11209 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11210 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11212 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
11213 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
11214 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
11215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
11216 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11217 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11219 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
11220 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
11221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
11222 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
11223 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11224 NDR_PULL_ALLOC(ndr, r->out.next_reference);
11226 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
11227 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
11228 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
11229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
11230 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11231 NDR_PULL_ALLOC(ndr, r->out.recordid);
11233 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11234 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
11235 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11236 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11237 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11239 return NDR_ERR_SUCCESS;
11242 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
11244 ndr_print_struct(ndr, name, "netr_AccountSync");
11245 ndr->depth++;
11246 if (flags & NDR_SET_VALUES) {
11247 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11249 if (flags & NDR_IN) {
11250 ndr_print_struct(ndr, "in", "netr_AccountSync");
11251 ndr->depth++;
11252 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11253 ndr->depth++;
11254 if (r->in.logon_server) {
11255 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11257 ndr->depth--;
11258 ndr_print_ptr(ndr, "computername", r->in.computername);
11259 ndr->depth++;
11260 ndr_print_string(ndr, "computername", r->in.computername);
11261 ndr->depth--;
11262 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
11263 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11264 ndr->depth++;
11265 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11266 ndr->depth--;
11267 ndr_print_uint32(ndr, "reference", r->in.reference);
11268 ndr_print_uint32(ndr, "level", r->in.level);
11269 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
11270 ndr_print_ptr(ndr, "recordid", r->in.recordid);
11271 ndr->depth++;
11272 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
11273 ndr->depth--;
11274 ndr->depth--;
11276 if (flags & NDR_OUT) {
11277 ndr_print_struct(ndr, "out", "netr_AccountSync");
11278 ndr->depth++;
11279 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11280 ndr->depth++;
11281 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11282 ndr->depth--;
11283 ndr_print_ptr(ndr, "buffer", r->out.buffer);
11284 ndr->depth++;
11285 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
11286 ndr->depth--;
11287 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
11288 ndr->depth++;
11289 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
11290 ndr->depth--;
11291 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
11292 ndr->depth++;
11293 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
11294 ndr->depth--;
11295 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
11296 ndr->depth++;
11297 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
11298 ndr->depth--;
11299 ndr_print_ptr(ndr, "recordid", r->out.recordid);
11300 ndr->depth++;
11301 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
11302 ndr->depth--;
11303 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11304 ndr->depth--;
11306 ndr->depth--;
11309 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
11311 if (flags & NDR_IN) {
11312 if (r->in.logon_server == NULL) {
11313 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11316 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11318 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));
11319 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11320 if (r->in.domainname) {
11321 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11322 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11323 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11324 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11327 if (flags & NDR_OUT) {
11328 if (r->out.dcname == NULL) {
11329 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11331 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11332 if (*r->out.dcname) {
11333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11335 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11336 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11338 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11340 return NDR_ERR_SUCCESS;
11343 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
11345 uint32_t _ptr_domainname;
11346 uint32_t _ptr_dcname;
11347 TALLOC_CTX *_mem_save_domainname_0;
11348 TALLOC_CTX *_mem_save_dcname_0;
11349 TALLOC_CTX *_mem_save_dcname_1;
11350 if (flags & NDR_IN) {
11351 ZERO_STRUCT(r->out);
11353 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11354 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11355 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11356 return 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));
11358 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11359 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));
11360 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11361 if (_ptr_domainname) {
11362 NDR_PULL_ALLOC(ndr, r->in.domainname);
11363 } else {
11364 r->in.domainname = NULL;
11366 if (r->in.domainname) {
11367 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11368 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11369 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11370 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11371 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11372 return 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));
11374 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11375 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11376 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11378 NDR_PULL_ALLOC(ndr, r->out.dcname);
11379 ZERO_STRUCTP(r->out.dcname);
11381 if (flags & NDR_OUT) {
11382 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11383 NDR_PULL_ALLOC(ndr, r->out.dcname);
11385 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11386 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11387 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11388 if (_ptr_dcname) {
11389 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11390 } else {
11391 *r->out.dcname = NULL;
11393 if (*r->out.dcname) {
11394 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11395 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11396 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11397 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11398 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11399 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));
11401 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11402 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11403 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11406 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11408 return NDR_ERR_SUCCESS;
11411 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
11413 ndr_print_struct(ndr, name, "netr_GetDcName");
11414 ndr->depth++;
11415 if (flags & NDR_SET_VALUES) {
11416 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11418 if (flags & NDR_IN) {
11419 ndr_print_struct(ndr, "in", "netr_GetDcName");
11420 ndr->depth++;
11421 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11422 ndr->depth++;
11423 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11424 ndr->depth--;
11425 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11426 ndr->depth++;
11427 if (r->in.domainname) {
11428 ndr_print_string(ndr, "domainname", r->in.domainname);
11430 ndr->depth--;
11431 ndr->depth--;
11433 if (flags & NDR_OUT) {
11434 ndr_print_struct(ndr, "out", "netr_GetDcName");
11435 ndr->depth++;
11436 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11437 ndr->depth++;
11438 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11439 ndr->depth++;
11440 if (*r->out.dcname) {
11441 ndr_print_string(ndr, "dcname", *r->out.dcname);
11443 ndr->depth--;
11444 ndr->depth--;
11445 ndr_print_WERROR(ndr, "result", r->out.result);
11446 ndr->depth--;
11448 ndr->depth--;
11451 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
11453 if (flags & NDR_IN) {
11454 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11455 if (r->in.logon_server) {
11456 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11457 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11459 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));
11461 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11464 if (flags & NDR_OUT) {
11465 if (r->out.query == NULL) {
11466 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11468 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11469 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11470 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11472 return NDR_ERR_SUCCESS;
11475 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
11477 uint32_t _ptr_logon_server;
11478 TALLOC_CTX *_mem_save_logon_server_0;
11479 TALLOC_CTX *_mem_save_query_0;
11480 if (flags & NDR_IN) {
11481 ZERO_STRUCT(r->out);
11483 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11484 if (_ptr_logon_server) {
11485 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11486 } else {
11487 r->in.logon_server = NULL;
11489 if (r->in.logon_server) {
11490 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11491 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11492 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11493 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11494 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11495 return 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));
11497 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11498 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));
11499 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11501 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11502 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11503 NDR_PULL_ALLOC(ndr, r->out.query);
11504 ZERO_STRUCTP(r->out.query);
11506 if (flags & NDR_OUT) {
11507 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11508 NDR_PULL_ALLOC(ndr, r->out.query);
11510 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11511 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11512 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11513 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11514 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11515 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11517 return NDR_ERR_SUCCESS;
11520 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
11522 ndr_print_struct(ndr, name, "netr_LogonControl");
11523 ndr->depth++;
11524 if (flags & NDR_SET_VALUES) {
11525 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11527 if (flags & NDR_IN) {
11528 ndr_print_struct(ndr, "in", "netr_LogonControl");
11529 ndr->depth++;
11530 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11531 ndr->depth++;
11532 if (r->in.logon_server) {
11533 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11535 ndr->depth--;
11536 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11537 ndr_print_uint32(ndr, "level", r->in.level);
11538 ndr->depth--;
11540 if (flags & NDR_OUT) {
11541 ndr_print_struct(ndr, "out", "netr_LogonControl");
11542 ndr->depth++;
11543 ndr_print_ptr(ndr, "query", r->out.query);
11544 ndr->depth++;
11545 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11546 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11547 ndr->depth--;
11548 ndr_print_WERROR(ndr, "result", r->out.result);
11549 ndr->depth--;
11551 ndr->depth--;
11554 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
11556 if (flags & NDR_IN) {
11557 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11558 if (r->in.logon_server) {
11559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11561 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11562 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));
11564 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11565 if (r->in.domainname) {
11566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11569 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11572 if (flags & NDR_OUT) {
11573 if (r->out.dcname == NULL) {
11574 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11576 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11577 if (*r->out.dcname) {
11578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11581 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11583 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11585 return NDR_ERR_SUCCESS;
11588 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
11590 uint32_t _ptr_logon_server;
11591 uint32_t _ptr_domainname;
11592 uint32_t _ptr_dcname;
11593 TALLOC_CTX *_mem_save_logon_server_0;
11594 TALLOC_CTX *_mem_save_domainname_0;
11595 TALLOC_CTX *_mem_save_dcname_0;
11596 TALLOC_CTX *_mem_save_dcname_1;
11597 if (flags & NDR_IN) {
11598 ZERO_STRUCT(r->out);
11600 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11601 if (_ptr_logon_server) {
11602 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11603 } else {
11604 r->in.logon_server = NULL;
11606 if (r->in.logon_server) {
11607 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11608 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11609 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11610 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11611 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11612 return 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));
11614 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11615 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));
11616 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11618 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11619 if (_ptr_domainname) {
11620 NDR_PULL_ALLOC(ndr, r->in.domainname);
11621 } else {
11622 r->in.domainname = NULL;
11624 if (r->in.domainname) {
11625 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11626 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11627 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11628 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11629 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11630 return 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));
11632 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11633 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11634 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11636 NDR_PULL_ALLOC(ndr, r->out.dcname);
11637 ZERO_STRUCTP(r->out.dcname);
11639 if (flags & NDR_OUT) {
11640 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11641 NDR_PULL_ALLOC(ndr, r->out.dcname);
11643 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11644 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11645 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11646 if (_ptr_dcname) {
11647 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11648 } else {
11649 *r->out.dcname = NULL;
11651 if (*r->out.dcname) {
11652 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11653 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11654 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11655 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11656 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11657 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));
11659 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11660 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11661 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11663 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11664 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11666 return NDR_ERR_SUCCESS;
11669 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
11671 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
11672 ndr->depth++;
11673 if (flags & NDR_SET_VALUES) {
11674 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11676 if (flags & NDR_IN) {
11677 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
11678 ndr->depth++;
11679 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11680 ndr->depth++;
11681 if (r->in.logon_server) {
11682 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11684 ndr->depth--;
11685 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11686 ndr->depth++;
11687 if (r->in.domainname) {
11688 ndr_print_string(ndr, "domainname", r->in.domainname);
11690 ndr->depth--;
11691 ndr->depth--;
11693 if (flags & NDR_OUT) {
11694 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
11695 ndr->depth++;
11696 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11697 ndr->depth++;
11698 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11699 ndr->depth++;
11700 if (*r->out.dcname) {
11701 ndr_print_string(ndr, "dcname", *r->out.dcname);
11703 ndr->depth--;
11704 ndr->depth--;
11705 ndr_print_WERROR(ndr, "result", r->out.result);
11706 ndr->depth--;
11708 ndr->depth--;
11711 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
11713 if (flags & NDR_IN) {
11714 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11715 if (r->in.logon_server) {
11716 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11719 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));
11721 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11722 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11723 if (r->in.data == NULL) {
11724 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11726 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
11727 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11729 if (flags & NDR_OUT) {
11730 if (r->out.query == NULL) {
11731 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11733 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11734 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11735 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11737 return NDR_ERR_SUCCESS;
11740 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
11742 uint32_t _ptr_logon_server;
11743 TALLOC_CTX *_mem_save_logon_server_0;
11744 TALLOC_CTX *_mem_save_data_0;
11745 TALLOC_CTX *_mem_save_query_0;
11746 if (flags & NDR_IN) {
11747 ZERO_STRUCT(r->out);
11749 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11750 if (_ptr_logon_server) {
11751 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11752 } else {
11753 r->in.logon_server = NULL;
11755 if (r->in.logon_server) {
11756 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11757 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11758 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11759 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11760 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11761 return 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));
11763 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11764 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));
11765 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11767 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11768 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11769 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11770 NDR_PULL_ALLOC(ndr, r->in.data);
11772 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
11773 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
11774 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
11775 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11776 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
11777 NDR_PULL_ALLOC(ndr, r->out.query);
11778 ZERO_STRUCTP(r->out.query);
11780 if (flags & NDR_OUT) {
11781 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11782 NDR_PULL_ALLOC(ndr, r->out.query);
11784 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11785 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11786 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11787 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11788 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11789 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11791 return NDR_ERR_SUCCESS;
11794 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
11796 ndr_print_struct(ndr, name, "netr_LogonControl2");
11797 ndr->depth++;
11798 if (flags & NDR_SET_VALUES) {
11799 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11801 if (flags & NDR_IN) {
11802 ndr_print_struct(ndr, "in", "netr_LogonControl2");
11803 ndr->depth++;
11804 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11805 ndr->depth++;
11806 if (r->in.logon_server) {
11807 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11809 ndr->depth--;
11810 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11811 ndr_print_uint32(ndr, "level", r->in.level);
11812 ndr_print_ptr(ndr, "data", r->in.data);
11813 ndr->depth++;
11814 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
11815 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
11816 ndr->depth--;
11817 ndr->depth--;
11819 if (flags & NDR_OUT) {
11820 ndr_print_struct(ndr, "out", "netr_LogonControl2");
11821 ndr->depth++;
11822 ndr_print_ptr(ndr, "query", r->out.query);
11823 ndr->depth++;
11824 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11825 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11826 ndr->depth--;
11827 ndr_print_WERROR(ndr, "result", r->out.result);
11828 ndr->depth--;
11830 ndr->depth--;
11833 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
11835 if (flags & NDR_IN) {
11836 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11837 if (r->in.server_name) {
11838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11840 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11841 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));
11843 if (r->in.account_name == NULL) {
11844 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11846 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11847 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11848 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11849 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));
11850 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11851 if (r->in.computer_name == NULL) {
11852 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11857 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));
11858 if (r->in.credentials == NULL) {
11859 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11861 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11862 if (r->in.negotiate_flags == NULL) {
11863 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11865 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11867 if (flags & NDR_OUT) {
11868 if (r->out.return_credentials == NULL) {
11869 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11871 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11872 if (r->out.negotiate_flags == NULL) {
11873 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11875 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11876 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11878 return NDR_ERR_SUCCESS;
11881 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
11883 uint32_t _ptr_server_name;
11884 TALLOC_CTX *_mem_save_server_name_0;
11885 TALLOC_CTX *_mem_save_credentials_0;
11886 TALLOC_CTX *_mem_save_return_credentials_0;
11887 TALLOC_CTX *_mem_save_negotiate_flags_0;
11888 if (flags & NDR_IN) {
11889 ZERO_STRUCT(r->out);
11891 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11892 if (_ptr_server_name) {
11893 NDR_PULL_ALLOC(ndr, r->in.server_name);
11894 } else {
11895 r->in.server_name = NULL;
11897 if (r->in.server_name) {
11898 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11899 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11900 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11901 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11902 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11903 return 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));
11905 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11906 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));
11907 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11909 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11910 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11911 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11912 return 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));
11914 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11915 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));
11916 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11917 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11918 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11919 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11920 return 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));
11922 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11923 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));
11924 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11925 NDR_PULL_ALLOC(ndr, r->in.credentials);
11927 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11928 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11929 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11930 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11931 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11932 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11934 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11935 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11936 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
11937 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11938 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11939 ZERO_STRUCTP(r->out.return_credentials);
11940 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11941 *r->out.negotiate_flags = *r->in.negotiate_flags;
11943 if (flags & NDR_OUT) {
11944 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11945 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11947 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11948 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
11949 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11950 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11951 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11952 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11954 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11955 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11956 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
11957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11958 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11960 return NDR_ERR_SUCCESS;
11963 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
11965 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
11966 ndr->depth++;
11967 if (flags & NDR_SET_VALUES) {
11968 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11970 if (flags & NDR_IN) {
11971 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
11972 ndr->depth++;
11973 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11974 ndr->depth++;
11975 if (r->in.server_name) {
11976 ndr_print_string(ndr, "server_name", r->in.server_name);
11978 ndr->depth--;
11979 ndr_print_ptr(ndr, "account_name", r->in.account_name);
11980 ndr->depth++;
11981 ndr_print_string(ndr, "account_name", r->in.account_name);
11982 ndr->depth--;
11983 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11984 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
11985 ndr->depth++;
11986 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11987 ndr->depth--;
11988 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11989 ndr->depth++;
11990 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11991 ndr->depth--;
11992 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11993 ndr->depth++;
11994 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
11995 ndr->depth--;
11996 ndr->depth--;
11998 if (flags & NDR_OUT) {
11999 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
12000 ndr->depth++;
12001 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
12002 ndr->depth++;
12003 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
12004 ndr->depth--;
12005 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
12006 ndr->depth++;
12007 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
12008 ndr->depth--;
12009 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12010 ndr->depth--;
12012 ndr->depth--;
12015 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
12017 if (flags & NDR_IN) {
12018 if (r->in.logon_server == NULL) {
12019 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12024 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));
12025 if (r->in.computername == NULL) {
12026 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12029 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12030 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12031 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12032 if (r->in.credential == NULL) {
12033 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12035 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12036 if (r->in.return_authenticator == NULL) {
12037 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12039 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12040 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
12041 NDR_CHECK(ndr_push_SyncStateEnum(ndr, NDR_SCALARS, r->in.restart_state));
12042 if (r->in.sync_context == NULL) {
12043 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12045 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
12046 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
12048 if (flags & NDR_OUT) {
12049 if (r->out.return_authenticator == NULL) {
12050 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12052 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12053 if (r->out.sync_context == NULL) {
12054 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
12057 if (r->out.delta_enum_array == NULL) {
12058 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12060 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12061 if (*r->out.delta_enum_array) {
12062 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12064 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12066 return NDR_ERR_SUCCESS;
12069 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
12071 uint32_t _ptr_delta_enum_array;
12072 TALLOC_CTX *_mem_save_credential_0;
12073 TALLOC_CTX *_mem_save_return_authenticator_0;
12074 TALLOC_CTX *_mem_save_sync_context_0;
12075 TALLOC_CTX *_mem_save_delta_enum_array_0;
12076 TALLOC_CTX *_mem_save_delta_enum_array_1;
12077 if (flags & NDR_IN) {
12078 ZERO_STRUCT(r->out);
12080 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12081 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12082 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12083 return 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));
12085 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12086 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));
12087 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12088 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12089 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
12090 return 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));
12092 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
12093 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
12094 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12095 NDR_PULL_ALLOC(ndr, r->in.credential);
12097 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12098 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12099 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12100 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12101 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12102 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12104 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12105 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12106 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12107 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12108 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
12109 NDR_CHECK(ndr_pull_SyncStateEnum(ndr, NDR_SCALARS, &r->in.restart_state));
12110 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12111 NDR_PULL_ALLOC(ndr, r->in.sync_context);
12113 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12114 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
12115 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
12116 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12117 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
12118 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12119 *r->out.return_authenticator = *r->in.return_authenticator;
12120 NDR_PULL_ALLOC(ndr, r->out.sync_context);
12121 *r->out.sync_context = *r->in.sync_context;
12122 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12123 ZERO_STRUCTP(r->out.delta_enum_array);
12125 if (flags & NDR_OUT) {
12126 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12127 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12129 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12130 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12131 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12133 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12134 NDR_PULL_ALLOC(ndr, r->out.sync_context);
12136 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12137 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
12138 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
12139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12140 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12141 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12143 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12144 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12145 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12146 if (_ptr_delta_enum_array) {
12147 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12148 } else {
12149 *r->out.delta_enum_array = NULL;
12151 if (*r->out.delta_enum_array) {
12152 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12153 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12154 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12155 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12157 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12158 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12160 return NDR_ERR_SUCCESS;
12163 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
12165 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
12166 ndr->depth++;
12167 if (flags & NDR_SET_VALUES) {
12168 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12170 if (flags & NDR_IN) {
12171 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
12172 ndr->depth++;
12173 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12174 ndr->depth++;
12175 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12176 ndr->depth--;
12177 ndr_print_ptr(ndr, "computername", r->in.computername);
12178 ndr->depth++;
12179 ndr_print_string(ndr, "computername", r->in.computername);
12180 ndr->depth--;
12181 ndr_print_ptr(ndr, "credential", r->in.credential);
12182 ndr->depth++;
12183 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12184 ndr->depth--;
12185 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12186 ndr->depth++;
12187 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12188 ndr->depth--;
12189 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
12190 ndr_print_SyncStateEnum(ndr, "restart_state", r->in.restart_state);
12191 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
12192 ndr->depth++;
12193 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
12194 ndr->depth--;
12195 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
12196 ndr->depth--;
12198 if (flags & NDR_OUT) {
12199 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
12200 ndr->depth++;
12201 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12202 ndr->depth++;
12203 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12204 ndr->depth--;
12205 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
12206 ndr->depth++;
12207 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
12208 ndr->depth--;
12209 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12210 ndr->depth++;
12211 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12212 ndr->depth++;
12213 if (*r->out.delta_enum_array) {
12214 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12216 ndr->depth--;
12217 ndr->depth--;
12218 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12219 ndr->depth--;
12221 ndr->depth--;
12224 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
12226 if (flags & NDR_IN) {
12227 if (r->in.logon_server == NULL) {
12228 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12233 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));
12234 if (r->in.computername == NULL) {
12235 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12240 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12241 if (r->in.credential == NULL) {
12242 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12244 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12245 if (r->in.return_authenticator == NULL) {
12246 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12248 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12250 struct ndr_push *_ndr_change_log_entry;
12251 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)));
12252 NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12253 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)));
12255 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12257 if (flags & NDR_OUT) {
12258 if (r->out.return_authenticator == NULL) {
12259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12261 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12262 if (r->out.delta_enum_array == NULL) {
12263 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12265 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12266 if (*r->out.delta_enum_array) {
12267 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12269 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12271 return NDR_ERR_SUCCESS;
12274 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
12276 uint32_t _ptr_delta_enum_array;
12277 TALLOC_CTX *_mem_save_credential_0;
12278 TALLOC_CTX *_mem_save_return_authenticator_0;
12279 TALLOC_CTX *_mem_save_delta_enum_array_0;
12280 TALLOC_CTX *_mem_save_delta_enum_array_1;
12281 if (flags & NDR_IN) {
12282 ZERO_STRUCT(r->out);
12284 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12285 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12286 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12287 return 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));
12289 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12290 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));
12291 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12292 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12293 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
12294 return 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));
12296 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
12297 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
12298 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12299 NDR_PULL_ALLOC(ndr, r->in.credential);
12301 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12302 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12303 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12305 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12306 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12308 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12309 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12310 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12311 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12313 struct ndr_pull *_ndr_change_log_entry;
12314 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, r->in.change_log_entry_size));
12315 NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12316 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, r->in.change_log_entry_size));
12318 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
12319 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12320 *r->out.return_authenticator = *r->in.return_authenticator;
12321 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12322 ZERO_STRUCTP(r->out.delta_enum_array);
12324 if (flags & NDR_OUT) {
12325 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12326 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12328 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12329 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12330 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12332 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12333 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12335 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12336 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12337 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12338 if (_ptr_delta_enum_array) {
12339 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12340 } else {
12341 *r->out.delta_enum_array = NULL;
12343 if (*r->out.delta_enum_array) {
12344 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12345 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12346 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12347 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12350 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12352 return NDR_ERR_SUCCESS;
12355 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
12357 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
12358 ndr->depth++;
12359 if (flags & NDR_SET_VALUES) {
12360 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12362 if (flags & NDR_IN) {
12363 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
12364 ndr->depth++;
12365 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12366 ndr->depth++;
12367 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12368 ndr->depth--;
12369 ndr_print_ptr(ndr, "computername", r->in.computername);
12370 ndr->depth++;
12371 ndr_print_string(ndr, "computername", r->in.computername);
12372 ndr->depth--;
12373 ndr_print_ptr(ndr, "credential", r->in.credential);
12374 ndr->depth++;
12375 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12376 ndr->depth--;
12377 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12378 ndr->depth++;
12379 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12380 ndr->depth--;
12381 ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry);
12382 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);
12383 ndr->depth--;
12385 if (flags & NDR_OUT) {
12386 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
12387 ndr->depth++;
12388 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12389 ndr->depth++;
12390 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12391 ndr->depth--;
12392 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12393 ndr->depth++;
12394 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12395 ndr->depth++;
12396 if (*r->out.delta_enum_array) {
12397 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12399 ndr->depth--;
12400 ndr->depth--;
12401 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12402 ndr->depth--;
12404 ndr->depth--;
12407 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
12409 if (flags & NDR_IN) {
12410 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
12411 if (r->in.logon_server) {
12412 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12415 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));
12417 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
12418 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12419 if (r->in.data == NULL) {
12420 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12422 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
12423 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12425 if (flags & NDR_OUT) {
12426 if (r->out.query == NULL) {
12427 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12429 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
12430 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12431 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12433 return NDR_ERR_SUCCESS;
12436 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
12438 uint32_t _ptr_logon_server;
12439 TALLOC_CTX *_mem_save_logon_server_0;
12440 TALLOC_CTX *_mem_save_data_0;
12441 TALLOC_CTX *_mem_save_query_0;
12442 if (flags & NDR_IN) {
12443 ZERO_STRUCT(r->out);
12445 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
12446 if (_ptr_logon_server) {
12447 NDR_PULL_ALLOC(ndr, r->in.logon_server);
12448 } else {
12449 r->in.logon_server = NULL;
12451 if (r->in.logon_server) {
12452 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12453 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
12454 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12455 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12456 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12457 return 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));
12459 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12460 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));
12461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
12463 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
12464 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12465 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12466 NDR_PULL_ALLOC(ndr, r->in.data);
12468 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
12469 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
12470 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
12471 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12472 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
12473 NDR_PULL_ALLOC(ndr, r->out.query);
12474 ZERO_STRUCTP(r->out.query);
12476 if (flags & NDR_OUT) {
12477 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12478 NDR_PULL_ALLOC(ndr, r->out.query);
12480 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
12481 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
12482 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
12483 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12484 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
12485 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12487 return NDR_ERR_SUCCESS;
12490 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
12492 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
12493 ndr->depth++;
12494 if (flags & NDR_SET_VALUES) {
12495 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12497 if (flags & NDR_IN) {
12498 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
12499 ndr->depth++;
12500 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12501 ndr->depth++;
12502 if (r->in.logon_server) {
12503 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12505 ndr->depth--;
12506 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
12507 ndr_print_uint32(ndr, "level", r->in.level);
12508 ndr_print_ptr(ndr, "data", r->in.data);
12509 ndr->depth++;
12510 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
12511 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
12512 ndr->depth--;
12513 ndr->depth--;
12515 if (flags & NDR_OUT) {
12516 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
12517 ndr->depth++;
12518 ndr_print_ptr(ndr, "query", r->out.query);
12519 ndr->depth++;
12520 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
12521 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
12522 ndr->depth--;
12523 ndr_print_WERROR(ndr, "result", r->out.result);
12524 ndr->depth--;
12526 ndr->depth--;
12529 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12531 if (flags & NDR_IN) {
12532 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12533 if (r->in.server_name) {
12534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12537 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));
12540 if (flags & NDR_OUT) {
12541 if (r->out.trusted_domains_blob == NULL) {
12542 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12544 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12545 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12547 return NDR_ERR_SUCCESS;
12550 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
12552 uint32_t _ptr_server_name;
12553 TALLOC_CTX *_mem_save_server_name_0;
12554 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
12555 if (flags & NDR_IN) {
12556 ZERO_STRUCT(r->out);
12558 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12559 if (_ptr_server_name) {
12560 NDR_PULL_ALLOC(ndr, r->in.server_name);
12561 } else {
12562 r->in.server_name = NULL;
12564 if (r->in.server_name) {
12565 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12566 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12567 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12568 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12569 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12570 return 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));
12572 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12573 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));
12574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12576 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12577 ZERO_STRUCTP(r->out.trusted_domains_blob);
12579 if (flags & NDR_OUT) {
12580 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12581 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12583 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
12584 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
12585 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
12587 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12589 return NDR_ERR_SUCCESS;
12592 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12594 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
12595 ndr->depth++;
12596 if (flags & NDR_SET_VALUES) {
12597 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12599 if (flags & NDR_IN) {
12600 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
12601 ndr->depth++;
12602 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12603 ndr->depth++;
12604 if (r->in.server_name) {
12605 ndr_print_string(ndr, "server_name", r->in.server_name);
12607 ndr->depth--;
12608 ndr->depth--;
12610 if (flags & NDR_OUT) {
12611 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
12612 ndr->depth++;
12613 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12614 ndr->depth++;
12615 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12616 ndr->depth--;
12617 ndr_print_WERROR(ndr, "result", r->out.result);
12618 ndr->depth--;
12620 ndr->depth--;
12623 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
12625 if (flags & NDR_IN) {
12626 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12627 if (r->in.server_unc) {
12628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12629 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12631 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));
12633 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12634 if (r->in.domain_name) {
12635 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12637 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12638 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));
12640 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12641 if (r->in.domain_guid) {
12642 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12644 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
12645 if (r->in.site_guid) {
12646 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12648 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12650 if (flags & NDR_OUT) {
12651 if (r->out.info == NULL) {
12652 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12654 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12655 if (*r->out.info) {
12656 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12658 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12660 return NDR_ERR_SUCCESS;
12663 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
12665 uint32_t _ptr_server_unc;
12666 uint32_t _ptr_domain_name;
12667 uint32_t _ptr_domain_guid;
12668 uint32_t _ptr_site_guid;
12669 uint32_t _ptr_info;
12670 TALLOC_CTX *_mem_save_server_unc_0;
12671 TALLOC_CTX *_mem_save_domain_name_0;
12672 TALLOC_CTX *_mem_save_domain_guid_0;
12673 TALLOC_CTX *_mem_save_site_guid_0;
12674 TALLOC_CTX *_mem_save_info_0;
12675 TALLOC_CTX *_mem_save_info_1;
12676 if (flags & NDR_IN) {
12677 ZERO_STRUCT(r->out);
12679 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12680 if (_ptr_server_unc) {
12681 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12682 } else {
12683 r->in.server_unc = NULL;
12685 if (r->in.server_unc) {
12686 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12687 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12688 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12689 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12690 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12691 return 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));
12693 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12694 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));
12695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12697 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12698 if (_ptr_domain_name) {
12699 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12700 } else {
12701 r->in.domain_name = NULL;
12703 if (r->in.domain_name) {
12704 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12705 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12706 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12707 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12708 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12709 return 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));
12711 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12712 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));
12713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12715 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12716 if (_ptr_domain_guid) {
12717 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12718 } else {
12719 r->in.domain_guid = NULL;
12721 if (r->in.domain_guid) {
12722 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12723 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12724 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12725 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12727 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
12728 if (_ptr_site_guid) {
12729 NDR_PULL_ALLOC(ndr, r->in.site_guid);
12730 } else {
12731 r->in.site_guid = NULL;
12733 if (r->in.site_guid) {
12734 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12735 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
12736 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
12739 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12740 NDR_PULL_ALLOC(ndr, r->out.info);
12741 ZERO_STRUCTP(r->out.info);
12743 if (flags & NDR_OUT) {
12744 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12745 NDR_PULL_ALLOC(ndr, r->out.info);
12747 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12748 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12749 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12750 if (_ptr_info) {
12751 NDR_PULL_ALLOC(ndr, *r->out.info);
12752 } else {
12753 *r->out.info = NULL;
12755 if (*r->out.info) {
12756 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12757 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12758 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12759 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12761 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12762 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12764 return NDR_ERR_SUCCESS;
12767 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
12769 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
12770 ndr->depth++;
12771 if (flags & NDR_SET_VALUES) {
12772 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12774 if (flags & NDR_IN) {
12775 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
12776 ndr->depth++;
12777 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12778 ndr->depth++;
12779 if (r->in.server_unc) {
12780 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12782 ndr->depth--;
12783 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12784 ndr->depth++;
12785 if (r->in.domain_name) {
12786 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12788 ndr->depth--;
12789 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12790 ndr->depth++;
12791 if (r->in.domain_guid) {
12792 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12794 ndr->depth--;
12795 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
12796 ndr->depth++;
12797 if (r->in.site_guid) {
12798 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
12800 ndr->depth--;
12801 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12802 ndr->depth--;
12804 if (flags & NDR_OUT) {
12805 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
12806 ndr->depth++;
12807 ndr_print_ptr(ndr, "info", r->out.info);
12808 ndr->depth++;
12809 ndr_print_ptr(ndr, "info", *r->out.info);
12810 ndr->depth++;
12811 if (*r->out.info) {
12812 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12814 ndr->depth--;
12815 ndr->depth--;
12816 ndr_print_WERROR(ndr, "result", r->out.result);
12817 ndr->depth--;
12819 ndr->depth--;
12822 static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
12824 if (flags & NDR_IN) {
12825 if (r->in.server_name == NULL) {
12826 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12828 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12829 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12831 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));
12832 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12833 if (r->in.computer_name) {
12834 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12837 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12839 if (r->in.credential == NULL) {
12840 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12842 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12843 if (r->in.return_authenticator == NULL) {
12844 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12846 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12847 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level));
12849 if (flags & NDR_OUT) {
12850 if (r->out.return_authenticator == NULL) {
12851 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12853 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12854 if (r->out.capabilities == NULL) {
12855 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12857 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
12858 NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
12859 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12861 return NDR_ERR_SUCCESS;
12864 static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
12866 uint32_t _ptr_computer_name;
12867 TALLOC_CTX *_mem_save_computer_name_0;
12868 TALLOC_CTX *_mem_save_credential_0;
12869 TALLOC_CTX *_mem_save_return_authenticator_0;
12870 TALLOC_CTX *_mem_save_capabilities_0;
12871 if (flags & NDR_IN) {
12872 ZERO_STRUCT(r->out);
12874 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12875 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12876 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12877 return 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));
12879 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12880 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));
12881 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12882 if (_ptr_computer_name) {
12883 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12884 } else {
12885 r->in.computer_name = NULL;
12887 if (r->in.computer_name) {
12888 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12889 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12890 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12891 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12892 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12893 return 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));
12895 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12896 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));
12897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12899 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12900 NDR_PULL_ALLOC(ndr, r->in.credential);
12902 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12903 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12904 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12905 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12906 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12907 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12909 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12910 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12911 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level));
12914 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12915 *r->out.return_authenticator = *r->in.return_authenticator;
12916 NDR_PULL_ALLOC(ndr, r->out.capabilities);
12917 ZERO_STRUCTP(r->out.capabilities);
12919 if (flags & NDR_OUT) {
12920 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12921 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12923 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12924 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12925 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12927 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12928 NDR_PULL_ALLOC(ndr, r->out.capabilities);
12930 _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr);
12931 NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC);
12932 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
12933 NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
12934 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC);
12935 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12937 return NDR_ERR_SUCCESS;
12940 _PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r)
12942 ndr_print_struct(ndr, name, "netr_LogonGetCapabilities");
12943 ndr->depth++;
12944 if (flags & NDR_SET_VALUES) {
12945 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12947 if (flags & NDR_IN) {
12948 ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
12949 ndr->depth++;
12950 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12951 ndr->depth++;
12952 ndr_print_string(ndr, "server_name", r->in.server_name);
12953 ndr->depth--;
12954 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12955 ndr->depth++;
12956 if (r->in.computer_name) {
12957 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12959 ndr->depth--;
12960 ndr_print_ptr(ndr, "credential", r->in.credential);
12961 ndr->depth++;
12962 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12963 ndr->depth--;
12964 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12965 ndr->depth++;
12966 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12967 ndr->depth--;
12968 ndr_print_uint32(ndr, "query_level", r->in.query_level);
12969 ndr->depth--;
12971 if (flags & NDR_OUT) {
12972 ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities");
12973 ndr->depth++;
12974 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12975 ndr->depth++;
12976 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12977 ndr->depth--;
12978 ndr_print_ptr(ndr, "capabilities", r->out.capabilities);
12979 ndr->depth++;
12980 ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level);
12981 ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities);
12982 ndr->depth--;
12983 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12984 ndr->depth--;
12986 ndr->depth--;
12989 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
12991 if (flags & NDR_IN) {
12993 if (flags & NDR_OUT) {
12994 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12996 return NDR_ERR_SUCCESS;
12999 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
13001 if (flags & NDR_IN) {
13003 if (flags & NDR_OUT) {
13004 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13006 return NDR_ERR_SUCCESS;
13009 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
13011 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
13012 ndr->depth++;
13013 if (flags & NDR_SET_VALUES) {
13014 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13016 if (flags & NDR_IN) {
13017 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
13018 ndr->depth++;
13019 ndr->depth--;
13021 if (flags & NDR_OUT) {
13022 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
13023 ndr->depth++;
13024 ndr_print_WERROR(ndr, "result", r->out.result);
13025 ndr->depth--;
13027 ndr->depth--;
13030 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
13032 if (flags & NDR_IN) {
13033 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13034 if (r->in.server_name) {
13035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13038 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));
13040 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13041 if (r->in.domain_name) {
13042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13045 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));
13048 if (flags & NDR_OUT) {
13049 if (r->out.rid == NULL) {
13050 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13052 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13053 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13055 return NDR_ERR_SUCCESS;
13058 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
13060 uint32_t _ptr_server_name;
13061 uint32_t _ptr_domain_name;
13062 TALLOC_CTX *_mem_save_server_name_0;
13063 TALLOC_CTX *_mem_save_domain_name_0;
13064 TALLOC_CTX *_mem_save_rid_0;
13065 if (flags & NDR_IN) {
13066 ZERO_STRUCT(r->out);
13068 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13069 if (_ptr_server_name) {
13070 NDR_PULL_ALLOC(ndr, r->in.server_name);
13071 } else {
13072 r->in.server_name = NULL;
13074 if (r->in.server_name) {
13075 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13076 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13077 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13078 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13079 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13080 return 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));
13082 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13083 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));
13084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13086 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13087 if (_ptr_domain_name) {
13088 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13089 } else {
13090 r->in.domain_name = NULL;
13092 if (r->in.domain_name) {
13093 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13094 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13095 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13096 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13097 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13098 return 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));
13100 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13101 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));
13102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13104 NDR_PULL_ALLOC(ndr, r->out.rid);
13105 ZERO_STRUCTP(r->out.rid);
13107 if (flags & NDR_OUT) {
13108 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13109 NDR_PULL_ALLOC(ndr, r->out.rid);
13111 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13112 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13113 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13114 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13115 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13117 return NDR_ERR_SUCCESS;
13120 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
13122 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
13123 ndr->depth++;
13124 if (flags & NDR_SET_VALUES) {
13125 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13127 if (flags & NDR_IN) {
13128 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
13129 ndr->depth++;
13130 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13131 ndr->depth++;
13132 if (r->in.server_name) {
13133 ndr_print_string(ndr, "server_name", r->in.server_name);
13135 ndr->depth--;
13136 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13137 ndr->depth++;
13138 if (r->in.domain_name) {
13139 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13141 ndr->depth--;
13142 ndr->depth--;
13144 if (flags & NDR_OUT) {
13145 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
13146 ndr->depth++;
13147 ndr_print_ptr(ndr, "rid", r->out.rid);
13148 ndr->depth++;
13149 ndr_print_uint32(ndr, "rid", *r->out.rid);
13150 ndr->depth--;
13151 ndr_print_WERROR(ndr, "result", r->out.result);
13152 ndr->depth--;
13154 ndr->depth--;
13157 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13159 if (flags & NDR_IN) {
13161 if (flags & NDR_OUT) {
13162 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13164 return NDR_ERR_SUCCESS;
13167 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13169 if (flags & NDR_IN) {
13171 if (flags & NDR_OUT) {
13172 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13174 return NDR_ERR_SUCCESS;
13177 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13179 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
13180 ndr->depth++;
13181 if (flags & NDR_SET_VALUES) {
13182 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13184 if (flags & NDR_IN) {
13185 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13186 ndr->depth++;
13187 ndr->depth--;
13189 if (flags & NDR_OUT) {
13190 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13191 ndr->depth++;
13192 ndr_print_WERROR(ndr, "result", r->out.result);
13193 ndr->depth--;
13195 ndr->depth--;
13198 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13200 if (flags & NDR_IN) {
13202 if (flags & NDR_OUT) {
13203 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13205 return NDR_ERR_SUCCESS;
13208 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13210 if (flags & NDR_IN) {
13212 if (flags & NDR_OUT) {
13213 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13215 return NDR_ERR_SUCCESS;
13218 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13220 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13221 ndr->depth++;
13222 if (flags & NDR_SET_VALUES) {
13223 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13225 if (flags & NDR_IN) {
13226 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13227 ndr->depth++;
13228 ndr->depth--;
13230 if (flags & NDR_OUT) {
13231 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13232 ndr->depth++;
13233 ndr_print_WERROR(ndr, "result", r->out.result);
13234 ndr->depth--;
13236 ndr->depth--;
13239 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
13241 if (flags & NDR_IN) {
13242 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13243 if (r->in.server_name) {
13244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13247 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));
13249 if (r->in.account_name == NULL) {
13250 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13252 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13253 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13254 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13255 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));
13256 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13257 if (r->in.computer_name == NULL) {
13258 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13263 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));
13264 if (r->in.credentials == NULL) {
13265 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13267 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13268 if (r->in.negotiate_flags == NULL) {
13269 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13271 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
13273 if (flags & NDR_OUT) {
13274 if (r->out.return_credentials == NULL) {
13275 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13277 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13278 if (r->out.negotiate_flags == NULL) {
13279 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13281 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
13282 if (r->out.rid == NULL) {
13283 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13286 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13288 return NDR_ERR_SUCCESS;
13291 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
13293 uint32_t _ptr_server_name;
13294 TALLOC_CTX *_mem_save_server_name_0;
13295 TALLOC_CTX *_mem_save_credentials_0;
13296 TALLOC_CTX *_mem_save_return_credentials_0;
13297 TALLOC_CTX *_mem_save_negotiate_flags_0;
13298 TALLOC_CTX *_mem_save_rid_0;
13299 if (flags & NDR_IN) {
13300 ZERO_STRUCT(r->out);
13302 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13303 if (_ptr_server_name) {
13304 NDR_PULL_ALLOC(ndr, r->in.server_name);
13305 } else {
13306 r->in.server_name = NULL;
13308 if (r->in.server_name) {
13309 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13310 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13311 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13312 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13313 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13314 return 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));
13316 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13317 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));
13318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13320 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13321 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13322 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13323 return 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));
13325 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13326 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));
13327 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13328 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13329 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13330 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13331 return 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));
13333 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13334 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));
13335 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13336 NDR_PULL_ALLOC(ndr, r->in.credentials);
13338 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13339 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
13340 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13341 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13342 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13343 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
13345 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13346 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13347 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
13348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13349 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13350 ZERO_STRUCTP(r->out.return_credentials);
13351 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13352 *r->out.negotiate_flags = *r->in.negotiate_flags;
13353 NDR_PULL_ALLOC(ndr, r->out.rid);
13354 ZERO_STRUCTP(r->out.rid);
13356 if (flags & NDR_OUT) {
13357 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13358 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13360 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13361 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
13362 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13363 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13364 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13365 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13367 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13368 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13369 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
13370 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13371 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13372 NDR_PULL_ALLOC(ndr, r->out.rid);
13374 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13375 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13376 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13378 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13380 return NDR_ERR_SUCCESS;
13383 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
13385 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
13386 ndr->depth++;
13387 if (flags & NDR_SET_VALUES) {
13388 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13390 if (flags & NDR_IN) {
13391 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
13392 ndr->depth++;
13393 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13394 ndr->depth++;
13395 if (r->in.server_name) {
13396 ndr_print_string(ndr, "server_name", r->in.server_name);
13398 ndr->depth--;
13399 ndr_print_ptr(ndr, "account_name", r->in.account_name);
13400 ndr->depth++;
13401 ndr_print_string(ndr, "account_name", r->in.account_name);
13402 ndr->depth--;
13403 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13404 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13405 ndr->depth++;
13406 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13407 ndr->depth--;
13408 ndr_print_ptr(ndr, "credentials", r->in.credentials);
13409 ndr->depth++;
13410 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
13411 ndr->depth--;
13412 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
13413 ndr->depth++;
13414 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
13415 ndr->depth--;
13416 ndr->depth--;
13418 if (flags & NDR_OUT) {
13419 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
13420 ndr->depth++;
13421 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
13422 ndr->depth++;
13423 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
13424 ndr->depth--;
13425 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
13426 ndr->depth++;
13427 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
13428 ndr->depth--;
13429 ndr_print_ptr(ndr, "rid", r->out.rid);
13430 ndr->depth++;
13431 ndr_print_uint32(ndr, "rid", *r->out.rid);
13432 ndr->depth--;
13433 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13434 ndr->depth--;
13436 ndr->depth--;
13439 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
13441 if (flags & NDR_IN) {
13442 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
13443 if (r->in.server_unc) {
13444 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13445 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13446 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13447 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));
13449 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13450 if (r->in.domain_name) {
13451 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13452 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13453 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13454 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));
13456 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13457 if (r->in.domain_guid) {
13458 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13460 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
13461 if (r->in.site_name) {
13462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13465 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));
13467 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
13469 if (flags & NDR_OUT) {
13470 if (r->out.info == NULL) {
13471 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13473 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
13474 if (*r->out.info) {
13475 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13477 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13479 return NDR_ERR_SUCCESS;
13482 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
13484 uint32_t _ptr_server_unc;
13485 uint32_t _ptr_domain_name;
13486 uint32_t _ptr_domain_guid;
13487 uint32_t _ptr_site_name;
13488 uint32_t _ptr_info;
13489 TALLOC_CTX *_mem_save_server_unc_0;
13490 TALLOC_CTX *_mem_save_domain_name_0;
13491 TALLOC_CTX *_mem_save_domain_guid_0;
13492 TALLOC_CTX *_mem_save_site_name_0;
13493 TALLOC_CTX *_mem_save_info_0;
13494 TALLOC_CTX *_mem_save_info_1;
13495 if (flags & NDR_IN) {
13496 ZERO_STRUCT(r->out);
13498 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
13499 if (_ptr_server_unc) {
13500 NDR_PULL_ALLOC(ndr, r->in.server_unc);
13501 } else {
13502 r->in.server_unc = NULL;
13504 if (r->in.server_unc) {
13505 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
13506 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
13507 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
13508 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
13509 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
13510 return 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));
13512 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
13513 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));
13514 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
13516 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13517 if (_ptr_domain_name) {
13518 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13519 } else {
13520 r->in.domain_name = NULL;
13522 if (r->in.domain_name) {
13523 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13524 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13525 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13526 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13527 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13528 return 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));
13530 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13531 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));
13532 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13534 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13535 if (_ptr_domain_guid) {
13536 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13537 } else {
13538 r->in.domain_guid = NULL;
13540 if (r->in.domain_guid) {
13541 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13542 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13543 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13546 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
13547 if (_ptr_site_name) {
13548 NDR_PULL_ALLOC(ndr, r->in.site_name);
13549 } else {
13550 r->in.site_name = NULL;
13552 if (r->in.site_name) {
13553 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13554 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
13555 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
13556 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
13557 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
13558 return 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));
13560 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
13561 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));
13562 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
13564 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
13565 NDR_PULL_ALLOC(ndr, r->out.info);
13566 ZERO_STRUCTP(r->out.info);
13568 if (flags & NDR_OUT) {
13569 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13570 NDR_PULL_ALLOC(ndr, r->out.info);
13572 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13573 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13574 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13575 if (_ptr_info) {
13576 NDR_PULL_ALLOC(ndr, *r->out.info);
13577 } else {
13578 *r->out.info = NULL;
13580 if (*r->out.info) {
13581 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13582 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
13583 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13587 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13589 return NDR_ERR_SUCCESS;
13592 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
13594 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
13595 ndr->depth++;
13596 if (flags & NDR_SET_VALUES) {
13597 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13599 if (flags & NDR_IN) {
13600 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
13601 ndr->depth++;
13602 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
13603 ndr->depth++;
13604 if (r->in.server_unc) {
13605 ndr_print_string(ndr, "server_unc", r->in.server_unc);
13607 ndr->depth--;
13608 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13609 ndr->depth++;
13610 if (r->in.domain_name) {
13611 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13613 ndr->depth--;
13614 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13615 ndr->depth++;
13616 if (r->in.domain_guid) {
13617 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13619 ndr->depth--;
13620 ndr_print_ptr(ndr, "site_name", r->in.site_name);
13621 ndr->depth++;
13622 if (r->in.site_name) {
13623 ndr_print_string(ndr, "site_name", r->in.site_name);
13625 ndr->depth--;
13626 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13627 ndr->depth--;
13629 if (flags & NDR_OUT) {
13630 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
13631 ndr->depth++;
13632 ndr_print_ptr(ndr, "info", r->out.info);
13633 ndr->depth++;
13634 ndr_print_ptr(ndr, "info", *r->out.info);
13635 ndr->depth++;
13636 if (*r->out.info) {
13637 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13639 ndr->depth--;
13640 ndr->depth--;
13641 ndr_print_WERROR(ndr, "result", r->out.result);
13642 ndr->depth--;
13644 ndr->depth--;
13647 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
13649 if (flags & NDR_IN) {
13650 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13651 if (r->in.computer_name) {
13652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13655 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));
13658 if (flags & NDR_OUT) {
13659 if (r->out.site == NULL) {
13660 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13662 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
13663 if (*r->out.site) {
13664 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13666 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13667 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13669 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13671 return NDR_ERR_SUCCESS;
13674 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
13676 uint32_t _ptr_computer_name;
13677 uint32_t _ptr_site;
13678 TALLOC_CTX *_mem_save_computer_name_0;
13679 TALLOC_CTX *_mem_save_site_0;
13680 TALLOC_CTX *_mem_save_site_1;
13681 if (flags & NDR_IN) {
13682 ZERO_STRUCT(r->out);
13684 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13685 if (_ptr_computer_name) {
13686 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13687 } else {
13688 r->in.computer_name = NULL;
13690 if (r->in.computer_name) {
13691 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13692 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13693 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13694 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13695 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13696 return 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));
13698 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13699 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));
13700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13702 NDR_PULL_ALLOC(ndr, r->out.site);
13703 ZERO_STRUCTP(r->out.site);
13705 if (flags & NDR_OUT) {
13706 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13707 NDR_PULL_ALLOC(ndr, r->out.site);
13709 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
13710 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
13711 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
13712 if (_ptr_site) {
13713 NDR_PULL_ALLOC(ndr, *r->out.site);
13714 } else {
13715 *r->out.site = NULL;
13717 if (*r->out.site) {
13718 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
13719 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
13720 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
13721 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
13722 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
13723 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));
13725 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
13726 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
13727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
13729 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
13730 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13732 return NDR_ERR_SUCCESS;
13735 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
13737 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
13738 ndr->depth++;
13739 if (flags & NDR_SET_VALUES) {
13740 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13742 if (flags & NDR_IN) {
13743 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
13744 ndr->depth++;
13745 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13746 ndr->depth++;
13747 if (r->in.computer_name) {
13748 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13750 ndr->depth--;
13751 ndr->depth--;
13753 if (flags & NDR_OUT) {
13754 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
13755 ndr->depth++;
13756 ndr_print_ptr(ndr, "site", r->out.site);
13757 ndr->depth++;
13758 ndr_print_ptr(ndr, "site", *r->out.site);
13759 ndr->depth++;
13760 if (*r->out.site) {
13761 ndr_print_string(ndr, "site", *r->out.site);
13763 ndr->depth--;
13764 ndr->depth--;
13765 ndr_print_WERROR(ndr, "result", r->out.result);
13766 ndr->depth--;
13768 ndr->depth--;
13771 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
13773 if (flags & NDR_IN) {
13774 if (r->in.server_name == NULL) {
13775 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13780 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));
13781 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13782 if (r->in.computer_name) {
13783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13786 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));
13788 if (r->in.credential == NULL) {
13789 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13791 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13792 if (r->in.return_authenticator == NULL) {
13793 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13795 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13797 if (r->in.query == NULL) {
13798 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13800 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.query, r->in.level));
13801 NDR_CHECK(ndr_push_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
13803 if (flags & NDR_OUT) {
13804 if (r->out.return_authenticator == NULL) {
13805 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13807 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13808 if (r->out.info == NULL) {
13809 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13811 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
13812 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13813 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13815 return NDR_ERR_SUCCESS;
13818 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
13820 uint32_t _ptr_computer_name;
13821 TALLOC_CTX *_mem_save_computer_name_0;
13822 TALLOC_CTX *_mem_save_credential_0;
13823 TALLOC_CTX *_mem_save_return_authenticator_0;
13824 TALLOC_CTX *_mem_save_query_0;
13825 TALLOC_CTX *_mem_save_info_0;
13826 if (flags & NDR_IN) {
13827 ZERO_STRUCT(r->out);
13829 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13830 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13831 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13832 return 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));
13834 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13835 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));
13836 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13837 if (_ptr_computer_name) {
13838 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13839 } else {
13840 r->in.computer_name = NULL;
13842 if (r->in.computer_name) {
13843 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13844 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13845 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13846 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13847 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13848 return 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));
13850 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13851 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));
13852 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13854 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13855 NDR_PULL_ALLOC(ndr, r->in.credential);
13857 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13858 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13859 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13860 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13861 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13862 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13864 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13865 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13866 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13867 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13868 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13869 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13870 NDR_PULL_ALLOC(ndr, r->in.query);
13872 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
13873 NDR_PULL_SET_MEM_CTX(ndr, r->in.query, LIBNDR_FLAG_REF_ALLOC);
13874 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.query, r->in.level));
13875 NDR_CHECK(ndr_pull_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
13876 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
13877 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13878 *r->out.return_authenticator = *r->in.return_authenticator;
13879 NDR_PULL_ALLOC(ndr, r->out.info);
13880 ZERO_STRUCTP(r->out.info);
13882 if (flags & NDR_OUT) {
13883 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13884 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13886 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13887 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13888 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13889 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13890 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13891 NDR_PULL_ALLOC(ndr, r->out.info);
13893 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13894 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13895 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
13896 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13898 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13900 return NDR_ERR_SUCCESS;
13903 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
13905 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
13906 ndr->depth++;
13907 if (flags & NDR_SET_VALUES) {
13908 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13910 if (flags & NDR_IN) {
13911 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
13912 ndr->depth++;
13913 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13914 ndr->depth++;
13915 ndr_print_string(ndr, "server_name", r->in.server_name);
13916 ndr->depth--;
13917 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13918 ndr->depth++;
13919 if (r->in.computer_name) {
13920 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13922 ndr->depth--;
13923 ndr_print_ptr(ndr, "credential", r->in.credential);
13924 ndr->depth++;
13925 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13926 ndr->depth--;
13927 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
13928 ndr->depth++;
13929 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
13930 ndr->depth--;
13931 ndr_print_uint32(ndr, "level", r->in.level);
13932 ndr_print_ptr(ndr, "query", r->in.query);
13933 ndr->depth++;
13934 ndr_print_set_switch_value(ndr, r->in.query, r->in.level);
13935 ndr_print_netr_WorkstationInfo(ndr, "query", r->in.query);
13936 ndr->depth--;
13937 ndr->depth--;
13939 if (flags & NDR_OUT) {
13940 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
13941 ndr->depth++;
13942 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13943 ndr->depth++;
13944 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13945 ndr->depth--;
13946 ndr_print_ptr(ndr, "info", r->out.info);
13947 ndr->depth++;
13948 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
13949 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
13950 ndr->depth--;
13951 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13952 ndr->depth--;
13954 ndr->depth--;
13957 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
13959 if (flags & NDR_IN) {
13960 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13961 if (r->in.server_name) {
13962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13965 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));
13967 if (r->in.account_name == NULL) {
13968 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13973 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));
13974 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13975 if (r->in.computer_name == NULL) {
13976 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13981 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));
13982 if (r->in.credential == NULL) {
13983 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13985 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13986 if (r->in.new_password == NULL) {
13987 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13989 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
13991 if (flags & NDR_OUT) {
13992 if (r->out.return_authenticator == NULL) {
13993 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13995 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13996 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13998 return NDR_ERR_SUCCESS;
14001 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
14003 uint32_t _ptr_server_name;
14004 TALLOC_CTX *_mem_save_server_name_0;
14005 TALLOC_CTX *_mem_save_credential_0;
14006 TALLOC_CTX *_mem_save_return_authenticator_0;
14007 TALLOC_CTX *_mem_save_new_password_0;
14008 if (flags & NDR_IN) {
14009 ZERO_STRUCT(r->out);
14011 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14012 if (_ptr_server_name) {
14013 NDR_PULL_ALLOC(ndr, r->in.server_name);
14014 } else {
14015 r->in.server_name = NULL;
14017 if (r->in.server_name) {
14018 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14019 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14020 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14021 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14022 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14023 return 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));
14025 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14026 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));
14027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14029 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14030 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14031 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
14032 return 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));
14034 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
14035 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));
14036 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14037 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14038 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14039 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14040 return 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));
14042 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14043 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));
14044 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14045 NDR_PULL_ALLOC(ndr, r->in.credential);
14047 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14048 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14049 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14050 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14051 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14052 NDR_PULL_ALLOC(ndr, r->in.new_password);
14054 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14055 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
14056 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
14057 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
14058 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14059 ZERO_STRUCTP(r->out.return_authenticator);
14061 if (flags & NDR_OUT) {
14062 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14063 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14065 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14066 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14067 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14069 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14071 return NDR_ERR_SUCCESS;
14074 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
14076 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
14077 ndr->depth++;
14078 if (flags & NDR_SET_VALUES) {
14079 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14081 if (flags & NDR_IN) {
14082 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
14083 ndr->depth++;
14084 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14085 ndr->depth++;
14086 if (r->in.server_name) {
14087 ndr_print_string(ndr, "server_name", r->in.server_name);
14089 ndr->depth--;
14090 ndr_print_ptr(ndr, "account_name", r->in.account_name);
14091 ndr->depth++;
14092 ndr_print_string(ndr, "account_name", r->in.account_name);
14093 ndr->depth--;
14094 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14095 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14096 ndr->depth++;
14097 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14098 ndr->depth--;
14099 ndr_print_ptr(ndr, "credential", r->in.credential);
14100 ndr->depth++;
14101 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14102 ndr->depth--;
14103 ndr_print_ptr(ndr, "new_password", r->in.new_password);
14104 ndr->depth++;
14105 ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
14106 ndr->depth--;
14107 ndr->depth--;
14109 if (flags & NDR_OUT) {
14110 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
14111 ndr->depth++;
14112 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14113 ndr->depth++;
14114 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14115 ndr->depth--;
14116 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14117 ndr->depth--;
14119 ndr->depth--;
14122 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
14124 if (flags & NDR_IN) {
14125 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14126 if (r->in.server_name) {
14127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14130 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));
14132 if (r->in.account_name == NULL) {
14133 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14136 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14138 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));
14139 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14140 if (r->in.computer_name == NULL) {
14141 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14144 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14146 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));
14147 if (r->in.credential == NULL) {
14148 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14150 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14152 if (flags & NDR_OUT) {
14153 if (r->out.return_authenticator == NULL) {
14154 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14156 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14157 if (r->out.password == NULL) {
14158 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14160 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
14161 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14163 return NDR_ERR_SUCCESS;
14166 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
14168 uint32_t _ptr_server_name;
14169 TALLOC_CTX *_mem_save_server_name_0;
14170 TALLOC_CTX *_mem_save_credential_0;
14171 TALLOC_CTX *_mem_save_return_authenticator_0;
14172 TALLOC_CTX *_mem_save_password_0;
14173 if (flags & NDR_IN) {
14174 ZERO_STRUCT(r->out);
14176 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14177 if (_ptr_server_name) {
14178 NDR_PULL_ALLOC(ndr, r->in.server_name);
14179 } else {
14180 r->in.server_name = NULL;
14182 if (r->in.server_name) {
14183 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14184 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14185 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14186 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14187 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14188 return 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));
14190 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14191 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));
14192 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14194 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14195 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14196 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
14197 return 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));
14199 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
14200 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));
14201 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14202 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14203 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14204 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14205 return 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));
14207 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14208 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));
14209 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14210 NDR_PULL_ALLOC(ndr, r->in.credential);
14212 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14213 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14214 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14216 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14217 ZERO_STRUCTP(r->out.return_authenticator);
14218 NDR_PULL_ALLOC(ndr, r->out.password);
14219 ZERO_STRUCTP(r->out.password);
14221 if (flags & NDR_OUT) {
14222 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14223 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14225 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14226 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14227 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14229 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14230 NDR_PULL_ALLOC(ndr, r->out.password);
14232 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14233 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14234 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
14235 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14236 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14238 return NDR_ERR_SUCCESS;
14241 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
14243 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
14244 ndr->depth++;
14245 if (flags & NDR_SET_VALUES) {
14246 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14248 if (flags & NDR_IN) {
14249 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
14250 ndr->depth++;
14251 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14252 ndr->depth++;
14253 if (r->in.server_name) {
14254 ndr_print_string(ndr, "server_name", r->in.server_name);
14256 ndr->depth--;
14257 ndr_print_ptr(ndr, "account_name", r->in.account_name);
14258 ndr->depth++;
14259 ndr_print_string(ndr, "account_name", r->in.account_name);
14260 ndr->depth--;
14261 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14262 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14263 ndr->depth++;
14264 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14265 ndr->depth--;
14266 ndr_print_ptr(ndr, "credential", r->in.credential);
14267 ndr->depth++;
14268 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14269 ndr->depth--;
14270 ndr->depth--;
14272 if (flags & NDR_OUT) {
14273 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
14274 ndr->depth++;
14275 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14276 ndr->depth++;
14277 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14278 ndr->depth--;
14279 ndr_print_ptr(ndr, "password", r->out.password);
14280 ndr->depth++;
14281 ndr_print_samr_Password(ndr, "password", r->out.password);
14282 ndr->depth--;
14283 ndr_print_WERROR(ndr, "result", r->out.result);
14284 ndr->depth--;
14286 ndr->depth--;
14289 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14291 if (flags & NDR_IN) {
14293 if (flags & NDR_OUT) {
14294 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14296 return NDR_ERR_SUCCESS;
14299 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
14301 if (flags & NDR_IN) {
14303 if (flags & NDR_OUT) {
14304 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14306 return NDR_ERR_SUCCESS;
14309 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14311 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
14312 ndr->depth++;
14313 if (flags & NDR_SET_VALUES) {
14314 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14316 if (flags & NDR_IN) {
14317 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
14318 ndr->depth++;
14319 ndr->depth--;
14321 if (flags & NDR_OUT) {
14322 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
14323 ndr->depth++;
14324 ndr_print_WERROR(ndr, "result", r->out.result);
14325 ndr->depth--;
14327 ndr->depth--;
14330 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
14332 uint32_t cntr_addresses_1;
14333 if (flags & NDR_IN) {
14334 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14335 if (r->in.server_name) {
14336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14339 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));
14341 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14342 if (r->in.addresses == NULL) {
14343 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14345 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14346 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14347 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14349 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14350 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14353 if (flags & NDR_OUT) {
14354 if (r->out.ctr == NULL) {
14355 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14357 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14358 if (*r->out.ctr) {
14359 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14361 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14363 return NDR_ERR_SUCCESS;
14366 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
14368 uint32_t _ptr_server_name;
14369 uint32_t cntr_addresses_1;
14370 uint32_t _ptr_ctr;
14371 TALLOC_CTX *_mem_save_server_name_0;
14372 TALLOC_CTX *_mem_save_addresses_1;
14373 TALLOC_CTX *_mem_save_ctr_0;
14374 TALLOC_CTX *_mem_save_ctr_1;
14375 if (flags & NDR_IN) {
14376 ZERO_STRUCT(r->out);
14378 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14379 if (_ptr_server_name) {
14380 NDR_PULL_ALLOC(ndr, r->in.server_name);
14381 } else {
14382 r->in.server_name = NULL;
14384 if (r->in.server_name) {
14385 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14386 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14387 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14388 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14389 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14390 return 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));
14392 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14393 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));
14394 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14396 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14397 if (r->in.count > 32000) {
14398 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14400 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14401 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14402 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
14404 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14405 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14406 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14407 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14409 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14410 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14412 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14413 NDR_PULL_ALLOC(ndr, r->out.ctr);
14414 ZERO_STRUCTP(r->out.ctr);
14415 if (r->in.addresses) {
14416 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14419 if (flags & NDR_OUT) {
14420 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14421 NDR_PULL_ALLOC(ndr, r->out.ctr);
14423 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14424 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14425 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14426 if (_ptr_ctr) {
14427 NDR_PULL_ALLOC(ndr, *r->out.ctr);
14428 } else {
14429 *r->out.ctr = NULL;
14431 if (*r->out.ctr) {
14432 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14433 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14434 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14435 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14438 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14440 return NDR_ERR_SUCCESS;
14443 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
14445 uint32_t cntr_addresses_1;
14446 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
14447 ndr->depth++;
14448 if (flags & NDR_SET_VALUES) {
14449 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14451 if (flags & NDR_IN) {
14452 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
14453 ndr->depth++;
14454 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14455 ndr->depth++;
14456 if (r->in.server_name) {
14457 ndr_print_string(ndr, "server_name", r->in.server_name);
14459 ndr->depth--;
14460 ndr_print_uint32(ndr, "count", r->in.count);
14461 ndr_print_ptr(ndr, "addresses", r->in.addresses);
14462 ndr->depth++;
14463 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
14464 ndr->depth++;
14465 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
14466 char *idx_1=NULL;
14467 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
14468 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
14469 free(idx_1);
14472 ndr->depth--;
14473 ndr->depth--;
14474 ndr->depth--;
14476 if (flags & NDR_OUT) {
14477 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
14478 ndr->depth++;
14479 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14480 ndr->depth++;
14481 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
14482 ndr->depth++;
14483 if (*r->out.ctr) {
14484 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
14486 ndr->depth--;
14487 ndr->depth--;
14488 ndr_print_WERROR(ndr, "result", r->out.result);
14489 ndr->depth--;
14491 ndr->depth--;
14494 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
14496 if (flags & NDR_IN) {
14497 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
14498 if (r->in.server_unc) {
14499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14501 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14502 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));
14504 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
14505 if (r->in.client_account) {
14506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14507 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14509 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));
14511 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
14512 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
14513 if (r->in.domain_name) {
14514 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14517 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));
14519 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
14520 if (r->in.domain_guid) {
14521 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14523 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
14524 if (r->in.site_name) {
14525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14526 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14528 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));
14530 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
14532 if (flags & NDR_OUT) {
14533 if (r->out.info == NULL) {
14534 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14536 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
14537 if (*r->out.info) {
14538 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14540 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14542 return NDR_ERR_SUCCESS;
14545 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
14547 uint32_t _ptr_server_unc;
14548 uint32_t _ptr_client_account;
14549 uint32_t _ptr_domain_name;
14550 uint32_t _ptr_domain_guid;
14551 uint32_t _ptr_site_name;
14552 uint32_t _ptr_info;
14553 TALLOC_CTX *_mem_save_server_unc_0;
14554 TALLOC_CTX *_mem_save_client_account_0;
14555 TALLOC_CTX *_mem_save_domain_name_0;
14556 TALLOC_CTX *_mem_save_domain_guid_0;
14557 TALLOC_CTX *_mem_save_site_name_0;
14558 TALLOC_CTX *_mem_save_info_0;
14559 TALLOC_CTX *_mem_save_info_1;
14560 if (flags & NDR_IN) {
14561 ZERO_STRUCT(r->out);
14563 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
14564 if (_ptr_server_unc) {
14565 NDR_PULL_ALLOC(ndr, r->in.server_unc);
14566 } else {
14567 r->in.server_unc = NULL;
14569 if (r->in.server_unc) {
14570 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
14571 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
14572 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
14573 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
14574 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
14575 return 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));
14577 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
14578 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));
14579 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
14581 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
14582 if (_ptr_client_account) {
14583 NDR_PULL_ALLOC(ndr, r->in.client_account);
14584 } else {
14585 r->in.client_account = NULL;
14587 if (r->in.client_account) {
14588 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
14589 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
14590 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
14591 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
14592 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
14593 return 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));
14595 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
14596 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));
14597 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
14599 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
14600 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
14601 if (_ptr_domain_name) {
14602 NDR_PULL_ALLOC(ndr, r->in.domain_name);
14603 } else {
14604 r->in.domain_name = NULL;
14606 if (r->in.domain_name) {
14607 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14608 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
14609 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
14610 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
14611 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
14612 return 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));
14614 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
14615 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));
14616 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
14618 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
14619 if (_ptr_domain_guid) {
14620 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
14621 } else {
14622 r->in.domain_guid = NULL;
14624 if (r->in.domain_guid) {
14625 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14626 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
14627 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
14630 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
14631 if (_ptr_site_name) {
14632 NDR_PULL_ALLOC(ndr, r->in.site_name);
14633 } else {
14634 r->in.site_name = NULL;
14636 if (r->in.site_name) {
14637 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14638 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
14639 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
14640 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
14641 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
14642 return 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));
14644 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
14645 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));
14646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
14648 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
14649 NDR_PULL_ALLOC(ndr, r->out.info);
14650 ZERO_STRUCTP(r->out.info);
14652 if (flags & NDR_OUT) {
14653 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14654 NDR_PULL_ALLOC(ndr, r->out.info);
14656 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14657 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14658 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14659 if (_ptr_info) {
14660 NDR_PULL_ALLOC(ndr, *r->out.info);
14661 } else {
14662 *r->out.info = NULL;
14664 if (*r->out.info) {
14665 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14666 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
14667 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
14670 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14671 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14673 return NDR_ERR_SUCCESS;
14676 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
14678 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
14679 ndr->depth++;
14680 if (flags & NDR_SET_VALUES) {
14681 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14683 if (flags & NDR_IN) {
14684 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
14685 ndr->depth++;
14686 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
14687 ndr->depth++;
14688 if (r->in.server_unc) {
14689 ndr_print_string(ndr, "server_unc", r->in.server_unc);
14691 ndr->depth--;
14692 ndr_print_ptr(ndr, "client_account", r->in.client_account);
14693 ndr->depth++;
14694 if (r->in.client_account) {
14695 ndr_print_string(ndr, "client_account", r->in.client_account);
14697 ndr->depth--;
14698 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
14699 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
14700 ndr->depth++;
14701 if (r->in.domain_name) {
14702 ndr_print_string(ndr, "domain_name", r->in.domain_name);
14704 ndr->depth--;
14705 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
14706 ndr->depth++;
14707 if (r->in.domain_guid) {
14708 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
14710 ndr->depth--;
14711 ndr_print_ptr(ndr, "site_name", r->in.site_name);
14712 ndr->depth++;
14713 if (r->in.site_name) {
14714 ndr_print_string(ndr, "site_name", r->in.site_name);
14716 ndr->depth--;
14717 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
14718 ndr->depth--;
14720 if (flags & NDR_OUT) {
14721 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
14722 ndr->depth++;
14723 ndr_print_ptr(ndr, "info", r->out.info);
14724 ndr->depth++;
14725 ndr_print_ptr(ndr, "info", *r->out.info);
14726 ndr->depth++;
14727 if (*r->out.info) {
14728 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
14730 ndr->depth--;
14731 ndr->depth--;
14732 ndr_print_WERROR(ndr, "result", r->out.result);
14733 ndr->depth--;
14735 ndr->depth--;
14738 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14740 if (flags & NDR_IN) {
14742 if (flags & NDR_OUT) {
14743 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14745 return NDR_ERR_SUCCESS;
14748 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14750 if (flags & NDR_IN) {
14752 if (flags & NDR_OUT) {
14753 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14755 return NDR_ERR_SUCCESS;
14758 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14760 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14761 ndr->depth++;
14762 if (flags & NDR_SET_VALUES) {
14763 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14765 if (flags & NDR_IN) {
14766 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14767 ndr->depth++;
14768 ndr->depth--;
14770 if (flags & NDR_OUT) {
14771 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14772 ndr->depth++;
14773 ndr_print_WERROR(ndr, "result", r->out.result);
14774 ndr->depth--;
14776 ndr->depth--;
14779 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14781 if (flags & NDR_IN) {
14782 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14783 if (r->in.server_name) {
14784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14787 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));
14790 if (flags & NDR_OUT) {
14791 if (r->out.dom_trust_list == NULL) {
14792 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14794 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14795 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14797 return NDR_ERR_SUCCESS;
14800 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
14802 uint32_t _ptr_server_name;
14803 TALLOC_CTX *_mem_save_server_name_0;
14804 TALLOC_CTX *_mem_save_dom_trust_list_0;
14805 if (flags & NDR_IN) {
14806 ZERO_STRUCT(r->out);
14808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14809 if (_ptr_server_name) {
14810 NDR_PULL_ALLOC(ndr, r->in.server_name);
14811 } else {
14812 r->in.server_name = NULL;
14814 if (r->in.server_name) {
14815 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14816 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14817 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14818 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14819 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14820 return 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));
14822 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14823 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));
14824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14826 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14827 ZERO_STRUCTP(r->out.dom_trust_list);
14829 if (flags & NDR_OUT) {
14830 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14831 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14833 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
14834 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
14835 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14836 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
14837 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14839 return NDR_ERR_SUCCESS;
14842 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14844 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
14845 ndr->depth++;
14846 if (flags & NDR_SET_VALUES) {
14847 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14849 if (flags & NDR_IN) {
14850 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
14851 ndr->depth++;
14852 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14853 ndr->depth++;
14854 if (r->in.server_name) {
14855 ndr_print_string(ndr, "server_name", r->in.server_name);
14857 ndr->depth--;
14858 ndr->depth--;
14860 if (flags & NDR_OUT) {
14861 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
14862 ndr->depth++;
14863 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
14864 ndr->depth++;
14865 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
14866 ndr->depth--;
14867 ndr_print_WERROR(ndr, "result", r->out.result);
14868 ndr->depth--;
14870 ndr->depth--;
14873 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
14875 uint32_t cntr_addresses_1;
14876 if (flags & NDR_IN) {
14877 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14878 if (r->in.server_name) {
14879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14880 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14881 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14882 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));
14884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14885 if (r->in.addresses == NULL) {
14886 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14888 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14889 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14890 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14892 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14893 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14896 if (flags & NDR_OUT) {
14897 if (r->out.ctr == NULL) {
14898 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14900 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14901 if (*r->out.ctr) {
14902 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14904 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14906 return NDR_ERR_SUCCESS;
14909 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
14911 uint32_t _ptr_server_name;
14912 uint32_t cntr_addresses_1;
14913 uint32_t _ptr_ctr;
14914 TALLOC_CTX *_mem_save_server_name_0;
14915 TALLOC_CTX *_mem_save_addresses_1;
14916 TALLOC_CTX *_mem_save_ctr_0;
14917 TALLOC_CTX *_mem_save_ctr_1;
14918 if (flags & NDR_IN) {
14919 ZERO_STRUCT(r->out);
14921 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14922 if (_ptr_server_name) {
14923 NDR_PULL_ALLOC(ndr, r->in.server_name);
14924 } else {
14925 r->in.server_name = NULL;
14927 if (r->in.server_name) {
14928 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14929 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14930 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14931 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14932 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14933 return 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));
14935 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14936 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));
14937 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14939 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14940 if (r->in.count > 32000) {
14941 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14943 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14944 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14945 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
14947 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14948 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14949 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14950 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14952 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14953 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14956 NDR_PULL_ALLOC(ndr, r->out.ctr);
14957 ZERO_STRUCTP(r->out.ctr);
14958 if (r->in.addresses) {
14959 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14962 if (flags & NDR_OUT) {
14963 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14964 NDR_PULL_ALLOC(ndr, r->out.ctr);
14966 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14967 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14968 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14969 if (_ptr_ctr) {
14970 NDR_PULL_ALLOC(ndr, *r->out.ctr);
14971 } else {
14972 *r->out.ctr = NULL;
14974 if (*r->out.ctr) {
14975 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14976 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14977 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14980 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14981 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14983 return NDR_ERR_SUCCESS;
14986 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
14988 uint32_t cntr_addresses_1;
14989 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
14990 ndr->depth++;
14991 if (flags & NDR_SET_VALUES) {
14992 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14994 if (flags & NDR_IN) {
14995 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
14996 ndr->depth++;
14997 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14998 ndr->depth++;
14999 if (r->in.server_name) {
15000 ndr_print_string(ndr, "server_name", r->in.server_name);
15002 ndr->depth--;
15003 ndr_print_uint32(ndr, "count", r->in.count);
15004 ndr_print_ptr(ndr, "addresses", r->in.addresses);
15005 ndr->depth++;
15006 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
15007 ndr->depth++;
15008 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
15009 char *idx_1=NULL;
15010 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
15011 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
15012 free(idx_1);
15015 ndr->depth--;
15016 ndr->depth--;
15017 ndr->depth--;
15019 if (flags & NDR_OUT) {
15020 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
15021 ndr->depth++;
15022 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15023 ndr->depth++;
15024 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
15025 ndr->depth++;
15026 if (*r->out.ctr) {
15027 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
15029 ndr->depth--;
15030 ndr->depth--;
15031 ndr_print_WERROR(ndr, "result", r->out.result);
15032 ndr->depth--;
15034 ndr->depth--;
15037 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
15039 if (flags & NDR_IN) {
15040 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15041 if (r->in.server_name) {
15042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15045 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));
15048 if (flags & NDR_OUT) {
15049 if (r->out.ctr == NULL) {
15050 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15052 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
15053 if (*r->out.ctr) {
15054 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15056 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15058 return NDR_ERR_SUCCESS;
15061 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
15063 uint32_t _ptr_server_name;
15064 uint32_t _ptr_ctr;
15065 TALLOC_CTX *_mem_save_server_name_0;
15066 TALLOC_CTX *_mem_save_ctr_0;
15067 TALLOC_CTX *_mem_save_ctr_1;
15068 if (flags & NDR_IN) {
15069 ZERO_STRUCT(r->out);
15071 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15072 if (_ptr_server_name) {
15073 NDR_PULL_ALLOC(ndr, r->in.server_name);
15074 } else {
15075 r->in.server_name = NULL;
15077 if (r->in.server_name) {
15078 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15079 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15080 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15081 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15082 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15083 return 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));
15085 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15086 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));
15087 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15089 NDR_PULL_ALLOC(ndr, r->out.ctr);
15090 ZERO_STRUCTP(r->out.ctr);
15092 if (flags & NDR_OUT) {
15093 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15094 NDR_PULL_ALLOC(ndr, r->out.ctr);
15096 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15097 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15098 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
15099 if (_ptr_ctr) {
15100 NDR_PULL_ALLOC(ndr, *r->out.ctr);
15101 } else {
15102 *r->out.ctr = NULL;
15104 if (*r->out.ctr) {
15105 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
15106 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
15107 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
15110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15111 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15113 return NDR_ERR_SUCCESS;
15116 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
15118 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
15119 ndr->depth++;
15120 if (flags & NDR_SET_VALUES) {
15121 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15123 if (flags & NDR_IN) {
15124 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
15125 ndr->depth++;
15126 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15127 ndr->depth++;
15128 if (r->in.server_name) {
15129 ndr_print_string(ndr, "server_name", r->in.server_name);
15131 ndr->depth--;
15132 ndr->depth--;
15134 if (flags & NDR_OUT) {
15135 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
15136 ndr->depth++;
15137 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15138 ndr->depth++;
15139 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
15140 ndr->depth++;
15141 if (*r->out.ctr) {
15142 ndr_print_DcSitesCtr(ndr, "ctr", *r->out.ctr);
15144 ndr->depth--;
15145 ndr->depth--;
15146 ndr_print_WERROR(ndr, "result", r->out.result);
15147 ndr->depth--;
15149 ndr->depth--;
15152 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
15154 if (flags & NDR_IN) {
15155 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15156 if (r->in.server_name) {
15157 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15160 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));
15162 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
15163 if (r->in.computer_name) {
15164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15167 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));
15169 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
15170 if (r->in.logon == NULL) {
15171 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15173 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15174 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15175 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
15176 if (r->in.flags == NULL) {
15177 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
15181 if (flags & NDR_OUT) {
15182 if (r->out.validation == NULL) {
15183 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15185 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15186 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15187 if (r->out.authoritative == NULL) {
15188 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15190 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
15191 if (r->out.flags == NULL) {
15192 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
15195 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15197 return NDR_ERR_SUCCESS;
15200 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
15202 uint32_t _ptr_server_name;
15203 uint32_t _ptr_computer_name;
15204 TALLOC_CTX *_mem_save_server_name_0;
15205 TALLOC_CTX *_mem_save_computer_name_0;
15206 TALLOC_CTX *_mem_save_logon_0;
15207 TALLOC_CTX *_mem_save_validation_0;
15208 TALLOC_CTX *_mem_save_authoritative_0;
15209 TALLOC_CTX *_mem_save_flags_0;
15210 if (flags & NDR_IN) {
15211 ZERO_STRUCT(r->out);
15213 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15214 if (_ptr_server_name) {
15215 NDR_PULL_ALLOC(ndr, r->in.server_name);
15216 } else {
15217 r->in.server_name = NULL;
15219 if (r->in.server_name) {
15220 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15221 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15222 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15223 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15224 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15225 return 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));
15227 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15228 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));
15229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15231 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
15232 if (_ptr_computer_name) {
15233 NDR_PULL_ALLOC(ndr, r->in.computer_name);
15234 } else {
15235 r->in.computer_name = NULL;
15237 if (r->in.computer_name) {
15238 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15239 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
15240 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15241 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15242 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15243 return 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));
15245 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15246 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));
15247 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
15249 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
15250 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15251 NDR_PULL_ALLOC(ndr, r->in.logon);
15253 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
15254 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
15255 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15256 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
15258 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
15259 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15260 NDR_PULL_ALLOC(ndr, r->in.flags);
15262 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15263 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
15264 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
15265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15266 NDR_PULL_ALLOC(ndr, r->out.validation);
15267 ZERO_STRUCTP(r->out.validation);
15268 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15269 ZERO_STRUCTP(r->out.authoritative);
15270 NDR_PULL_ALLOC(ndr, r->out.flags);
15271 *r->out.flags = *r->in.flags;
15273 if (flags & NDR_OUT) {
15274 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15275 NDR_PULL_ALLOC(ndr, r->out.validation);
15277 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
15278 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
15279 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15280 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
15282 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15283 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15285 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
15286 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
15287 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
15288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
15289 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15290 NDR_PULL_ALLOC(ndr, r->out.flags);
15292 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15293 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
15294 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
15295 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15296 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15298 return NDR_ERR_SUCCESS;
15301 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
15303 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
15304 ndr->depth++;
15305 if (flags & NDR_SET_VALUES) {
15306 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15308 if (flags & NDR_IN) {
15309 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
15310 ndr->depth++;
15311 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15312 ndr->depth++;
15313 if (r->in.server_name) {
15314 ndr_print_string(ndr, "server_name", r->in.server_name);
15316 ndr->depth--;
15317 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15318 ndr->depth++;
15319 if (r->in.computer_name) {
15320 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15322 ndr->depth--;
15323 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
15324 ndr_print_ptr(ndr, "logon", r->in.logon);
15325 ndr->depth++;
15326 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
15327 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
15328 ndr->depth--;
15329 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
15330 ndr_print_ptr(ndr, "flags", r->in.flags);
15331 ndr->depth++;
15332 ndr_print_uint32(ndr, "flags", *r->in.flags);
15333 ndr->depth--;
15334 ndr->depth--;
15336 if (flags & NDR_OUT) {
15337 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
15338 ndr->depth++;
15339 ndr_print_ptr(ndr, "validation", r->out.validation);
15340 ndr->depth++;
15341 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
15342 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
15343 ndr->depth--;
15344 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
15345 ndr->depth++;
15346 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
15347 ndr->depth--;
15348 ndr_print_ptr(ndr, "flags", r->out.flags);
15349 ndr->depth++;
15350 ndr_print_uint32(ndr, "flags", *r->out.flags);
15351 ndr->depth--;
15352 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15353 ndr->depth--;
15355 ndr->depth--;
15358 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15360 if (flags & NDR_IN) {
15361 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15362 if (r->in.server_name) {
15363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15365 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15366 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));
15368 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
15370 if (flags & NDR_OUT) {
15371 if (r->out.trusts == NULL) {
15372 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15374 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15375 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15377 return NDR_ERR_SUCCESS;
15380 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
15382 uint32_t _ptr_server_name;
15383 TALLOC_CTX *_mem_save_server_name_0;
15384 TALLOC_CTX *_mem_save_trusts_0;
15385 if (flags & NDR_IN) {
15386 ZERO_STRUCT(r->out);
15388 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15389 if (_ptr_server_name) {
15390 NDR_PULL_ALLOC(ndr, r->in.server_name);
15391 } else {
15392 r->in.server_name = NULL;
15394 if (r->in.server_name) {
15395 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15396 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15397 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15398 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15399 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15400 return 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));
15402 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15403 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));
15404 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15406 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
15407 NDR_PULL_ALLOC(ndr, r->out.trusts);
15408 ZERO_STRUCTP(r->out.trusts);
15410 if (flags & NDR_OUT) {
15411 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15412 NDR_PULL_ALLOC(ndr, r->out.trusts);
15414 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
15415 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
15416 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
15418 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15420 return NDR_ERR_SUCCESS;
15423 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15425 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
15426 ndr->depth++;
15427 if (flags & NDR_SET_VALUES) {
15428 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15430 if (flags & NDR_IN) {
15431 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
15432 ndr->depth++;
15433 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15434 ndr->depth++;
15435 if (r->in.server_name) {
15436 ndr_print_string(ndr, "server_name", r->in.server_name);
15438 ndr->depth--;
15439 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
15440 ndr->depth--;
15442 if (flags & NDR_OUT) {
15443 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
15444 ndr->depth++;
15445 ndr_print_ptr(ndr, "trusts", r->out.trusts);
15446 ndr->depth++;
15447 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
15448 ndr->depth--;
15449 ndr_print_WERROR(ndr, "result", r->out.result);
15450 ndr->depth--;
15452 ndr->depth--;
15455 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15457 if (flags & NDR_IN) {
15458 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15459 if (r->in.server_name) {
15460 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15461 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15463 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));
15465 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
15466 if (r->in.domain) {
15467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15468 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15469 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15470 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15472 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
15473 if (r->in.domain_guid) {
15474 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15476 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
15477 if (r->in.dsa_guid) {
15478 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15480 if (r->in.dns_host == NULL) {
15481 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15483 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15484 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15485 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15486 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));
15488 if (flags & NDR_OUT) {
15489 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15491 return NDR_ERR_SUCCESS;
15494 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
15496 uint32_t _ptr_server_name;
15497 uint32_t _ptr_domain;
15498 uint32_t _ptr_domain_guid;
15499 uint32_t _ptr_dsa_guid;
15500 TALLOC_CTX *_mem_save_server_name_0;
15501 TALLOC_CTX *_mem_save_domain_0;
15502 TALLOC_CTX *_mem_save_domain_guid_0;
15503 TALLOC_CTX *_mem_save_dsa_guid_0;
15504 if (flags & NDR_IN) {
15505 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15506 if (_ptr_server_name) {
15507 NDR_PULL_ALLOC(ndr, r->in.server_name);
15508 } else {
15509 r->in.server_name = NULL;
15511 if (r->in.server_name) {
15512 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15513 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15514 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15515 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15516 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15517 return 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));
15519 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15520 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));
15521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15523 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
15524 if (_ptr_domain) {
15525 NDR_PULL_ALLOC(ndr, r->in.domain);
15526 } else {
15527 r->in.domain = NULL;
15529 if (r->in.domain) {
15530 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
15531 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
15532 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
15533 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
15534 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
15535 return 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));
15537 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
15538 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
15539 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
15541 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
15542 if (_ptr_domain_guid) {
15543 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
15544 } else {
15545 r->in.domain_guid = NULL;
15547 if (r->in.domain_guid) {
15548 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15549 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
15550 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15551 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
15553 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
15554 if (_ptr_dsa_guid) {
15555 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
15556 } else {
15557 r->in.dsa_guid = NULL;
15559 if (r->in.dsa_guid) {
15560 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15561 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
15562 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
15565 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
15566 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
15567 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
15568 return 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));
15570 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
15571 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));
15573 if (flags & NDR_OUT) {
15574 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15576 return NDR_ERR_SUCCESS;
15579 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15581 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
15582 ndr->depth++;
15583 if (flags & NDR_SET_VALUES) {
15584 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15586 if (flags & NDR_IN) {
15587 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
15588 ndr->depth++;
15589 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15590 ndr->depth++;
15591 if (r->in.server_name) {
15592 ndr_print_string(ndr, "server_name", r->in.server_name);
15594 ndr->depth--;
15595 ndr_print_ptr(ndr, "domain", r->in.domain);
15596 ndr->depth++;
15597 if (r->in.domain) {
15598 ndr_print_string(ndr, "domain", r->in.domain);
15600 ndr->depth--;
15601 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
15602 ndr->depth++;
15603 if (r->in.domain_guid) {
15604 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
15606 ndr->depth--;
15607 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
15608 ndr->depth++;
15609 if (r->in.dsa_guid) {
15610 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
15612 ndr->depth--;
15613 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
15614 ndr->depth++;
15615 ndr_print_string(ndr, "dns_host", r->in.dns_host);
15616 ndr->depth--;
15617 ndr->depth--;
15619 if (flags & NDR_OUT) {
15620 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
15621 ndr->depth++;
15622 ndr_print_WERROR(ndr, "result", r->out.result);
15623 ndr->depth--;
15625 ndr->depth--;
15628 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
15630 if (flags & NDR_IN) {
15631 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15632 if (r->in.server_name) {
15633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15635 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15636 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));
15638 if (r->in.account_name == NULL) {
15639 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15641 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15642 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15643 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15644 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));
15645 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
15646 if (r->in.computer_name == NULL) {
15647 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15649 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15650 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15651 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15652 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));
15653 if (r->in.credential == NULL) {
15654 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15656 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15658 if (flags & NDR_OUT) {
15659 if (r->out.return_authenticator == NULL) {
15660 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15662 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15663 if (r->out.password == NULL) {
15664 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15666 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
15667 if (r->out.password2 == NULL) {
15668 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15670 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15671 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15673 return NDR_ERR_SUCCESS;
15676 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
15678 uint32_t _ptr_server_name;
15679 TALLOC_CTX *_mem_save_server_name_0;
15680 TALLOC_CTX *_mem_save_credential_0;
15681 TALLOC_CTX *_mem_save_return_authenticator_0;
15682 TALLOC_CTX *_mem_save_password_0;
15683 TALLOC_CTX *_mem_save_password2_0;
15684 if (flags & NDR_IN) {
15685 ZERO_STRUCT(r->out);
15687 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15688 if (_ptr_server_name) {
15689 NDR_PULL_ALLOC(ndr, r->in.server_name);
15690 } else {
15691 r->in.server_name = NULL;
15693 if (r->in.server_name) {
15694 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15695 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15696 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15697 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15698 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15699 return 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));
15701 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15702 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));
15703 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15705 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
15706 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
15707 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
15708 return 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));
15710 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
15711 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));
15712 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
15713 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15714 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15715 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15716 return 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));
15718 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15719 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));
15720 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15721 NDR_PULL_ALLOC(ndr, r->in.credential);
15723 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15724 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15725 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15726 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15727 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15728 ZERO_STRUCTP(r->out.return_authenticator);
15729 NDR_PULL_ALLOC(ndr, r->out.password);
15730 ZERO_STRUCTP(r->out.password);
15731 NDR_PULL_ALLOC(ndr, r->out.password2);
15732 ZERO_STRUCTP(r->out.password2);
15734 if (flags & NDR_OUT) {
15735 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15736 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15738 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15739 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15740 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15742 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15743 NDR_PULL_ALLOC(ndr, r->out.password);
15745 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
15746 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
15747 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
15748 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
15749 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15750 NDR_PULL_ALLOC(ndr, r->out.password2);
15752 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
15753 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
15754 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15755 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
15756 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15758 return NDR_ERR_SUCCESS;
15761 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
15763 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
15764 ndr->depth++;
15765 if (flags & NDR_SET_VALUES) {
15766 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15768 if (flags & NDR_IN) {
15769 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
15770 ndr->depth++;
15771 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15772 ndr->depth++;
15773 if (r->in.server_name) {
15774 ndr_print_string(ndr, "server_name", r->in.server_name);
15776 ndr->depth--;
15777 ndr_print_ptr(ndr, "account_name", r->in.account_name);
15778 ndr->depth++;
15779 ndr_print_string(ndr, "account_name", r->in.account_name);
15780 ndr->depth--;
15781 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
15782 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15783 ndr->depth++;
15784 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15785 ndr->depth--;
15786 ndr_print_ptr(ndr, "credential", r->in.credential);
15787 ndr->depth++;
15788 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15789 ndr->depth--;
15790 ndr->depth--;
15792 if (flags & NDR_OUT) {
15793 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
15794 ndr->depth++;
15795 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15796 ndr->depth++;
15797 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15798 ndr->depth--;
15799 ndr_print_ptr(ndr, "password", r->out.password);
15800 ndr->depth++;
15801 ndr_print_samr_Password(ndr, "password", r->out.password);
15802 ndr->depth--;
15803 ndr_print_ptr(ndr, "password2", r->out.password2);
15804 ndr->depth++;
15805 ndr_print_samr_Password(ndr, "password2", r->out.password2);
15806 ndr->depth--;
15807 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15808 ndr->depth--;
15810 ndr->depth--;
15813 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
15815 if (flags & NDR_IN) {
15816 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15817 if (r->in.server_name) {
15818 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15819 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15820 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15821 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));
15823 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
15824 if (r->in.trusted_domain_name) {
15825 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15827 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15828 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));
15830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
15832 if (flags & NDR_OUT) {
15833 if (r->out.forest_trust_info == NULL) {
15834 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15836 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
15837 if (*r->out.forest_trust_info) {
15838 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15840 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15842 return NDR_ERR_SUCCESS;
15845 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
15847 uint32_t _ptr_server_name;
15848 uint32_t _ptr_trusted_domain_name;
15849 uint32_t _ptr_forest_trust_info;
15850 TALLOC_CTX *_mem_save_server_name_0;
15851 TALLOC_CTX *_mem_save_trusted_domain_name_0;
15852 TALLOC_CTX *_mem_save_forest_trust_info_0;
15853 TALLOC_CTX *_mem_save_forest_trust_info_1;
15854 if (flags & NDR_IN) {
15855 ZERO_STRUCT(r->out);
15857 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15858 if (_ptr_server_name) {
15859 NDR_PULL_ALLOC(ndr, r->in.server_name);
15860 } else {
15861 r->in.server_name = NULL;
15863 if (r->in.server_name) {
15864 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15865 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15866 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15867 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15868 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15869 return 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));
15871 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15872 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));
15873 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15875 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
15876 if (_ptr_trusted_domain_name) {
15877 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
15878 } else {
15879 r->in.trusted_domain_name = NULL;
15881 if (r->in.trusted_domain_name) {
15882 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15883 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
15884 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
15885 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
15886 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
15887 return 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));
15889 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
15890 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));
15891 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
15893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
15894 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15895 ZERO_STRUCTP(r->out.forest_trust_info);
15897 if (flags & NDR_OUT) {
15898 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15899 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15901 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15902 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
15903 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
15904 if (_ptr_forest_trust_info) {
15905 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
15906 } else {
15907 *r->out.forest_trust_info = NULL;
15909 if (*r->out.forest_trust_info) {
15910 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
15911 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
15912 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15913 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
15915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
15916 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15918 return NDR_ERR_SUCCESS;
15921 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
15923 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
15924 ndr->depth++;
15925 if (flags & NDR_SET_VALUES) {
15926 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15928 if (flags & NDR_IN) {
15929 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
15930 ndr->depth++;
15931 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15932 ndr->depth++;
15933 if (r->in.server_name) {
15934 ndr_print_string(ndr, "server_name", r->in.server_name);
15936 ndr->depth--;
15937 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15938 ndr->depth++;
15939 if (r->in.trusted_domain_name) {
15940 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15942 ndr->depth--;
15943 ndr_print_uint32(ndr, "flags", r->in.flags);
15944 ndr->depth--;
15946 if (flags & NDR_OUT) {
15947 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
15948 ndr->depth++;
15949 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
15950 ndr->depth++;
15951 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
15952 ndr->depth++;
15953 if (*r->out.forest_trust_info) {
15954 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
15956 ndr->depth--;
15957 ndr->depth--;
15958 ndr_print_WERROR(ndr, "result", r->out.result);
15959 ndr->depth--;
15961 ndr->depth--;
15964 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
15966 if (flags & NDR_IN) {
15967 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15968 if (r->in.server_name) {
15969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15972 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));
15974 if (r->in.trusted_domain_name == NULL) {
15975 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
15979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15980 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));
15981 if (r->in.credential == NULL) {
15982 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15984 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
15987 if (flags & NDR_OUT) {
15988 if (r->out.return_authenticator == NULL) {
15989 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15991 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15992 if (r->out.forest_trust_info == NULL) {
15993 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15995 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
15996 if (*r->out.forest_trust_info) {
15997 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15999 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16001 return NDR_ERR_SUCCESS;
16004 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
16006 uint32_t _ptr_server_name;
16007 uint32_t _ptr_forest_trust_info;
16008 TALLOC_CTX *_mem_save_server_name_0;
16009 TALLOC_CTX *_mem_save_credential_0;
16010 TALLOC_CTX *_mem_save_return_authenticator_0;
16011 TALLOC_CTX *_mem_save_forest_trust_info_0;
16012 TALLOC_CTX *_mem_save_forest_trust_info_1;
16013 if (flags & NDR_IN) {
16014 ZERO_STRUCT(r->out);
16016 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16017 if (_ptr_server_name) {
16018 NDR_PULL_ALLOC(ndr, r->in.server_name);
16019 } else {
16020 r->in.server_name = NULL;
16022 if (r->in.server_name) {
16023 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16024 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16025 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16026 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16027 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16028 return 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));
16030 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16031 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));
16032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16034 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
16035 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
16036 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
16037 return 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));
16039 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
16040 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));
16041 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16042 NDR_PULL_ALLOC(ndr, r->in.credential);
16044 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16045 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16046 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16047 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16048 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
16049 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16050 ZERO_STRUCTP(r->out.return_authenticator);
16051 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16052 ZERO_STRUCTP(r->out.forest_trust_info);
16054 if (flags & NDR_OUT) {
16055 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16056 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16058 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16059 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16060 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16061 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16062 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16063 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16065 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16066 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
16067 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
16068 if (_ptr_forest_trust_info) {
16069 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
16070 } else {
16071 *r->out.forest_trust_info = NULL;
16073 if (*r->out.forest_trust_info) {
16074 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16075 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
16076 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16077 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
16079 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16080 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16082 return NDR_ERR_SUCCESS;
16085 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
16087 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
16088 ndr->depth++;
16089 if (flags & NDR_SET_VALUES) {
16090 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16092 if (flags & NDR_IN) {
16093 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
16094 ndr->depth++;
16095 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16096 ndr->depth++;
16097 if (r->in.server_name) {
16098 ndr_print_string(ndr, "server_name", r->in.server_name);
16100 ndr->depth--;
16101 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16102 ndr->depth++;
16103 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16104 ndr->depth--;
16105 ndr_print_ptr(ndr, "credential", r->in.credential);
16106 ndr->depth++;
16107 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16108 ndr->depth--;
16109 ndr_print_uint32(ndr, "flags", r->in.flags);
16110 ndr->depth--;
16112 if (flags & NDR_OUT) {
16113 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
16114 ndr->depth++;
16115 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16116 ndr->depth++;
16117 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16118 ndr->depth--;
16119 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
16120 ndr->depth++;
16121 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
16122 ndr->depth++;
16123 if (*r->out.forest_trust_info) {
16124 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
16126 ndr->depth--;
16127 ndr->depth--;
16128 ndr_print_WERROR(ndr, "result", r->out.result);
16129 ndr->depth--;
16131 ndr->depth--;
16134 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
16136 if (flags & NDR_IN) {
16137 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16138 if (r->in.server_name) {
16139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16142 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));
16144 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
16145 if (r->in.computer_name) {
16146 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16149 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));
16151 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
16152 if (r->in.credential) {
16153 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16155 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
16156 if (r->in.return_authenticator) {
16157 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16159 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
16160 if (r->in.logon == NULL) {
16161 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16163 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16164 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16165 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
16166 if (r->in.flags == NULL) {
16167 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
16171 if (flags & NDR_OUT) {
16172 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
16173 if (r->out.return_authenticator) {
16174 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16176 if (r->out.validation == NULL) {
16177 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16179 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16180 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16181 if (r->out.authoritative == NULL) {
16182 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16184 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
16185 if (r->out.flags == NULL) {
16186 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
16189 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16191 return NDR_ERR_SUCCESS;
16194 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
16196 uint32_t _ptr_server_name;
16197 uint32_t _ptr_computer_name;
16198 uint32_t _ptr_credential;
16199 uint32_t _ptr_return_authenticator;
16200 TALLOC_CTX *_mem_save_server_name_0;
16201 TALLOC_CTX *_mem_save_computer_name_0;
16202 TALLOC_CTX *_mem_save_credential_0;
16203 TALLOC_CTX *_mem_save_return_authenticator_0;
16204 TALLOC_CTX *_mem_save_logon_0;
16205 TALLOC_CTX *_mem_save_validation_0;
16206 TALLOC_CTX *_mem_save_authoritative_0;
16207 TALLOC_CTX *_mem_save_flags_0;
16208 if (flags & NDR_IN) {
16209 ZERO_STRUCT(r->out);
16211 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16212 if (_ptr_server_name) {
16213 NDR_PULL_ALLOC(ndr, r->in.server_name);
16214 } else {
16215 r->in.server_name = NULL;
16217 if (r->in.server_name) {
16218 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16219 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16220 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16221 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16222 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16223 return 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));
16225 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16226 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));
16227 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16229 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
16230 if (_ptr_computer_name) {
16231 NDR_PULL_ALLOC(ndr, r->in.computer_name);
16232 } else {
16233 r->in.computer_name = NULL;
16235 if (r->in.computer_name) {
16236 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16237 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
16238 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16239 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16240 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
16241 return 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));
16243 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
16244 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));
16245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
16247 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
16248 if (_ptr_credential) {
16249 NDR_PULL_ALLOC(ndr, r->in.credential);
16250 } else {
16251 r->in.credential = NULL;
16253 if (r->in.credential) {
16254 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16255 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
16256 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
16259 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16260 if (_ptr_return_authenticator) {
16261 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
16262 } else {
16263 r->in.return_authenticator = NULL;
16265 if (r->in.return_authenticator) {
16266 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16267 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
16268 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16271 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
16272 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16273 NDR_PULL_ALLOC(ndr, r->in.logon);
16275 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
16276 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
16277 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16278 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
16280 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
16281 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16282 NDR_PULL_ALLOC(ndr, r->in.flags);
16284 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16285 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
16286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
16287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16288 NDR_PULL_ALLOC(ndr, r->out.validation);
16289 ZERO_STRUCTP(r->out.validation);
16290 NDR_PULL_ALLOC(ndr, r->out.authoritative);
16291 ZERO_STRUCTP(r->out.authoritative);
16292 NDR_PULL_ALLOC(ndr, r->out.flags);
16293 *r->out.flags = *r->in.flags;
16295 if (flags & NDR_OUT) {
16296 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16297 if (_ptr_return_authenticator) {
16298 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16299 } else {
16300 r->out.return_authenticator = NULL;
16302 if (r->out.return_authenticator) {
16303 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16304 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
16305 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16308 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16309 NDR_PULL_ALLOC(ndr, r->out.validation);
16311 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
16312 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
16313 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16314 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
16316 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16317 NDR_PULL_ALLOC(ndr, r->out.authoritative);
16319 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
16320 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
16321 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
16322 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
16323 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16324 NDR_PULL_ALLOC(ndr, r->out.flags);
16326 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16327 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
16328 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
16329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16330 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16332 return NDR_ERR_SUCCESS;
16335 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
16337 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
16338 ndr->depth++;
16339 if (flags & NDR_SET_VALUES) {
16340 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16342 if (flags & NDR_IN) {
16343 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
16344 ndr->depth++;
16345 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16346 ndr->depth++;
16347 if (r->in.server_name) {
16348 ndr_print_string(ndr, "server_name", r->in.server_name);
16350 ndr->depth--;
16351 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16352 ndr->depth++;
16353 if (r->in.computer_name) {
16354 ndr_print_string(ndr, "computer_name", r->in.computer_name);
16356 ndr->depth--;
16357 ndr_print_ptr(ndr, "credential", r->in.credential);
16358 ndr->depth++;
16359 if (r->in.credential) {
16360 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16362 ndr->depth--;
16363 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
16364 ndr->depth++;
16365 if (r->in.return_authenticator) {
16366 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
16368 ndr->depth--;
16369 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
16370 ndr_print_ptr(ndr, "logon", r->in.logon);
16371 ndr->depth++;
16372 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
16373 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
16374 ndr->depth--;
16375 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
16376 ndr_print_ptr(ndr, "flags", r->in.flags);
16377 ndr->depth++;
16378 ndr_print_uint32(ndr, "flags", *r->in.flags);
16379 ndr->depth--;
16380 ndr->depth--;
16382 if (flags & NDR_OUT) {
16383 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
16384 ndr->depth++;
16385 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16386 ndr->depth++;
16387 if (r->out.return_authenticator) {
16388 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16390 ndr->depth--;
16391 ndr_print_ptr(ndr, "validation", r->out.validation);
16392 ndr->depth++;
16393 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
16394 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
16395 ndr->depth--;
16396 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
16397 ndr->depth++;
16398 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
16399 ndr->depth--;
16400 ndr_print_ptr(ndr, "flags", r->out.flags);
16401 ndr->depth++;
16402 ndr_print_uint32(ndr, "flags", *r->out.flags);
16403 ndr->depth--;
16404 ndr_print_NTSTATUS(ndr, "result", r->out.result);
16405 ndr->depth--;
16407 ndr->depth--;
16410 static enum ndr_err_code ndr_push_netr_ServerGetTrustInfo(struct ndr_push *ndr, int flags, const struct netr_ServerGetTrustInfo *r)
16412 if (flags & NDR_IN) {
16413 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16414 if (r->in.server_name) {
16415 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16417 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16418 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));
16420 if (r->in.account_name == NULL) {
16421 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16425 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16426 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));
16427 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
16428 if (r->in.computer_name == NULL) {
16429 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
16433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16434 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));
16435 if (r->in.credential == NULL) {
16436 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16438 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16440 if (flags & NDR_OUT) {
16441 if (r->out.return_authenticator == NULL) {
16442 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16444 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16445 if (r->out.new_owf_password == NULL) {
16446 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16448 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16449 if (r->out.old_owf_password == NULL) {
16450 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16452 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16453 if (r->out.trust_info == NULL) {
16454 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16456 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.trust_info));
16457 if (*r->out.trust_info) {
16458 NDR_CHECK(ndr_push_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16460 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16462 return NDR_ERR_SUCCESS;
16465 static enum ndr_err_code ndr_pull_netr_ServerGetTrustInfo(struct ndr_pull *ndr, int flags, struct netr_ServerGetTrustInfo *r)
16467 uint32_t _ptr_server_name;
16468 uint32_t _ptr_trust_info;
16469 TALLOC_CTX *_mem_save_server_name_0;
16470 TALLOC_CTX *_mem_save_credential_0;
16471 TALLOC_CTX *_mem_save_return_authenticator_0;
16472 TALLOC_CTX *_mem_save_new_owf_password_0;
16473 TALLOC_CTX *_mem_save_old_owf_password_0;
16474 TALLOC_CTX *_mem_save_trust_info_0;
16475 TALLOC_CTX *_mem_save_trust_info_1;
16476 if (flags & NDR_IN) {
16477 ZERO_STRUCT(r->out);
16479 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16480 if (_ptr_server_name) {
16481 NDR_PULL_ALLOC(ndr, r->in.server_name);
16482 } else {
16483 r->in.server_name = NULL;
16485 if (r->in.server_name) {
16486 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16487 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16488 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16489 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16490 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16491 return 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));
16493 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16494 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));
16495 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16497 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
16498 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
16499 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
16500 return 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));
16502 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
16503 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));
16504 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
16505 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16506 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16507 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
16508 return 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));
16510 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
16511 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));
16512 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16513 NDR_PULL_ALLOC(ndr, r->in.credential);
16515 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16516 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16517 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16519 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16520 ZERO_STRUCTP(r->out.return_authenticator);
16521 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16522 ZERO_STRUCTP(r->out.new_owf_password);
16523 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16524 ZERO_STRUCTP(r->out.old_owf_password);
16525 NDR_PULL_ALLOC(ndr, r->out.trust_info);
16526 ZERO_STRUCTP(r->out.trust_info);
16528 if (flags & NDR_OUT) {
16529 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16530 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16532 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16533 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16534 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16535 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16536 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16537 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16539 _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16540 NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
16541 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16542 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16543 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16544 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16546 _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16547 NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
16548 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16549 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16550 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16551 NDR_PULL_ALLOC(ndr, r->out.trust_info);
16553 _mem_save_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16554 NDR_PULL_SET_MEM_CTX(ndr, r->out.trust_info, LIBNDR_FLAG_REF_ALLOC);
16555 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trust_info));
16556 if (_ptr_trust_info) {
16557 NDR_PULL_ALLOC(ndr, *r->out.trust_info);
16558 } else {
16559 *r->out.trust_info = NULL;
16561 if (*r->out.trust_info) {
16562 _mem_save_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16563 NDR_PULL_SET_MEM_CTX(ndr, *r->out.trust_info, 0);
16564 NDR_CHECK(ndr_pull_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16565 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_1, 0);
16567 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16568 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16570 return NDR_ERR_SUCCESS;
16573 _PUBLIC_ void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r)
16575 ndr_print_struct(ndr, name, "netr_ServerGetTrustInfo");
16576 ndr->depth++;
16577 if (flags & NDR_SET_VALUES) {
16578 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16580 if (flags & NDR_IN) {
16581 ndr_print_struct(ndr, "in", "netr_ServerGetTrustInfo");
16582 ndr->depth++;
16583 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16584 ndr->depth++;
16585 if (r->in.server_name) {
16586 ndr_print_string(ndr, "server_name", r->in.server_name);
16588 ndr->depth--;
16589 ndr_print_ptr(ndr, "account_name", r->in.account_name);
16590 ndr->depth++;
16591 ndr_print_string(ndr, "account_name", r->in.account_name);
16592 ndr->depth--;
16593 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
16594 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16595 ndr->depth++;
16596 ndr_print_string(ndr, "computer_name", r->in.computer_name);
16597 ndr->depth--;
16598 ndr_print_ptr(ndr, "credential", r->in.credential);
16599 ndr->depth++;
16600 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16601 ndr->depth--;
16602 ndr->depth--;
16604 if (flags & NDR_OUT) {
16605 ndr_print_struct(ndr, "out", "netr_ServerGetTrustInfo");
16606 ndr->depth++;
16607 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16608 ndr->depth++;
16609 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16610 ndr->depth--;
16611 ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
16612 ndr->depth++;
16613 ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
16614 ndr->depth--;
16615 ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
16616 ndr->depth++;
16617 ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
16618 ndr->depth--;
16619 ndr_print_ptr(ndr, "trust_info", r->out.trust_info);
16620 ndr->depth++;
16621 ndr_print_ptr(ndr, "trust_info", *r->out.trust_info);
16622 ndr->depth++;
16623 if (*r->out.trust_info) {
16624 ndr_print_netr_TrustInfo(ndr, "trust_info", *r->out.trust_info);
16626 ndr->depth--;
16627 ndr->depth--;
16628 ndr_print_NTSTATUS(ndr, "result", r->out.result);
16629 ndr->depth--;
16631 ndr->depth--;
16634 static const struct ndr_interface_call netlogon_calls[] = {
16636 "netr_LogonUasLogon",
16637 sizeof(struct netr_LogonUasLogon),
16638 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
16639 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
16640 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
16641 false,
16644 "netr_LogonUasLogoff",
16645 sizeof(struct netr_LogonUasLogoff),
16646 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
16647 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
16648 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
16649 false,
16652 "netr_LogonSamLogon",
16653 sizeof(struct netr_LogonSamLogon),
16654 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
16655 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
16656 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
16657 false,
16660 "netr_LogonSamLogoff",
16661 sizeof(struct netr_LogonSamLogoff),
16662 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
16663 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
16664 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
16665 false,
16668 "netr_ServerReqChallenge",
16669 sizeof(struct netr_ServerReqChallenge),
16670 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
16671 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
16672 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
16673 false,
16676 "netr_ServerAuthenticate",
16677 sizeof(struct netr_ServerAuthenticate),
16678 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
16679 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
16680 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
16681 false,
16684 "netr_ServerPasswordSet",
16685 sizeof(struct netr_ServerPasswordSet),
16686 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
16687 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
16688 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
16689 false,
16692 "netr_DatabaseDeltas",
16693 sizeof(struct netr_DatabaseDeltas),
16694 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
16695 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
16696 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
16697 false,
16700 "netr_DatabaseSync",
16701 sizeof(struct netr_DatabaseSync),
16702 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
16703 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
16704 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
16705 false,
16708 "netr_AccountDeltas",
16709 sizeof(struct netr_AccountDeltas),
16710 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
16711 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
16712 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
16713 false,
16716 "netr_AccountSync",
16717 sizeof(struct netr_AccountSync),
16718 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
16719 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
16720 (ndr_print_function_t) ndr_print_netr_AccountSync,
16721 false,
16724 "netr_GetDcName",
16725 sizeof(struct netr_GetDcName),
16726 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
16727 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
16728 (ndr_print_function_t) ndr_print_netr_GetDcName,
16729 false,
16732 "netr_LogonControl",
16733 sizeof(struct netr_LogonControl),
16734 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
16735 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
16736 (ndr_print_function_t) ndr_print_netr_LogonControl,
16737 false,
16740 "netr_GetAnyDCName",
16741 sizeof(struct netr_GetAnyDCName),
16742 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
16743 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
16744 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
16745 false,
16748 "netr_LogonControl2",
16749 sizeof(struct netr_LogonControl2),
16750 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
16751 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
16752 (ndr_print_function_t) ndr_print_netr_LogonControl2,
16753 false,
16756 "netr_ServerAuthenticate2",
16757 sizeof(struct netr_ServerAuthenticate2),
16758 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
16759 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
16760 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
16761 false,
16764 "netr_DatabaseSync2",
16765 sizeof(struct netr_DatabaseSync2),
16766 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
16767 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
16768 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
16769 false,
16772 "netr_DatabaseRedo",
16773 sizeof(struct netr_DatabaseRedo),
16774 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
16775 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
16776 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
16777 false,
16780 "netr_LogonControl2Ex",
16781 sizeof(struct netr_LogonControl2Ex),
16782 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
16783 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
16784 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
16785 false,
16788 "netr_NetrEnumerateTrustedDomains",
16789 sizeof(struct netr_NetrEnumerateTrustedDomains),
16790 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
16791 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
16792 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
16793 false,
16796 "netr_DsRGetDCName",
16797 sizeof(struct netr_DsRGetDCName),
16798 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
16799 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
16800 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
16801 false,
16804 "netr_LogonGetCapabilities",
16805 sizeof(struct netr_LogonGetCapabilities),
16806 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities,
16807 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities,
16808 (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities,
16809 false,
16812 "netr_NETRLOGONSETSERVICEBITS",
16813 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
16814 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
16815 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
16816 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
16817 false,
16820 "netr_LogonGetTrustRid",
16821 sizeof(struct netr_LogonGetTrustRid),
16822 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
16823 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
16824 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
16825 false,
16828 "netr_NETRLOGONCOMPUTESERVERDIGEST",
16829 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
16830 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
16831 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
16832 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
16833 false,
16836 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
16837 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
16838 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16839 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16840 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16841 false,
16844 "netr_ServerAuthenticate3",
16845 sizeof(struct netr_ServerAuthenticate3),
16846 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
16847 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
16848 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
16849 false,
16852 "netr_DsRGetDCNameEx",
16853 sizeof(struct netr_DsRGetDCNameEx),
16854 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
16855 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
16856 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
16857 false,
16860 "netr_DsRGetSiteName",
16861 sizeof(struct netr_DsRGetSiteName),
16862 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
16863 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
16864 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
16865 false,
16868 "netr_LogonGetDomainInfo",
16869 sizeof(struct netr_LogonGetDomainInfo),
16870 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
16871 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
16872 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
16873 false,
16876 "netr_ServerPasswordSet2",
16877 sizeof(struct netr_ServerPasswordSet2),
16878 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
16879 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
16880 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
16881 false,
16884 "netr_ServerPasswordGet",
16885 sizeof(struct netr_ServerPasswordGet),
16886 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
16887 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
16888 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
16889 false,
16892 "netr_NETRLOGONSENDTOSAM",
16893 sizeof(struct netr_NETRLOGONSENDTOSAM),
16894 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
16895 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
16896 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
16897 false,
16900 "netr_DsRAddressToSitenamesW",
16901 sizeof(struct netr_DsRAddressToSitenamesW),
16902 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
16903 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
16904 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
16905 false,
16908 "netr_DsRGetDCNameEx2",
16909 sizeof(struct netr_DsRGetDCNameEx2),
16910 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
16911 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
16912 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
16913 false,
16916 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
16917 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
16918 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16919 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16920 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16921 false,
16924 "netr_NetrEnumerateTrustedDomainsEx",
16925 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
16926 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
16927 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
16928 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
16929 false,
16932 "netr_DsRAddressToSitenamesExW",
16933 sizeof(struct netr_DsRAddressToSitenamesExW),
16934 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
16935 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
16936 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
16937 false,
16940 "netr_DsrGetDcSiteCoverageW",
16941 sizeof(struct netr_DsrGetDcSiteCoverageW),
16942 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
16943 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
16944 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
16945 false,
16948 "netr_LogonSamLogonEx",
16949 sizeof(struct netr_LogonSamLogonEx),
16950 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
16951 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
16952 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
16953 false,
16956 "netr_DsrEnumerateDomainTrusts",
16957 sizeof(struct netr_DsrEnumerateDomainTrusts),
16958 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
16959 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
16960 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
16961 false,
16964 "netr_DsrDeregisterDNSHostRecords",
16965 sizeof(struct netr_DsrDeregisterDNSHostRecords),
16966 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
16967 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
16968 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
16969 false,
16972 "netr_ServerTrustPasswordsGet",
16973 sizeof(struct netr_ServerTrustPasswordsGet),
16974 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
16975 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
16976 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
16977 false,
16980 "netr_DsRGetForestTrustInformation",
16981 sizeof(struct netr_DsRGetForestTrustInformation),
16982 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
16983 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
16984 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
16985 false,
16988 "netr_GetForestTrustInformation",
16989 sizeof(struct netr_GetForestTrustInformation),
16990 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
16991 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
16992 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
16993 false,
16996 "netr_LogonSamLogonWithFlags",
16997 sizeof(struct netr_LogonSamLogonWithFlags),
16998 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
16999 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
17000 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
17001 false,
17004 "netr_ServerGetTrustInfo",
17005 sizeof(struct netr_ServerGetTrustInfo),
17006 (ndr_push_flags_fn_t) ndr_push_netr_ServerGetTrustInfo,
17007 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerGetTrustInfo,
17008 (ndr_print_function_t) ndr_print_netr_ServerGetTrustInfo,
17009 false,
17011 { NULL, 0, NULL, NULL, NULL, false }
17014 static const char * const netlogon_endpoint_strings[] = {
17015 "ncacn_np:[\\pipe\\netlogon]",
17016 "ncacn_ip_tcp:",
17017 "ncalrpc:",
17020 static const struct ndr_interface_string_array netlogon_endpoints = {
17021 .count = 3,
17022 .names = netlogon_endpoint_strings
17025 static const char * const netlogon_authservice_strings[] = {
17026 "host",
17029 static const struct ndr_interface_string_array netlogon_authservices = {
17030 .count = 1,
17031 .names = netlogon_authservice_strings
17035 const struct ndr_interface_table ndr_table_netlogon = {
17036 .name = "netlogon",
17037 .syntax_id = {
17038 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
17039 NDR_NETLOGON_VERSION
17041 .helpstring = NDR_NETLOGON_HELPSTRING,
17042 .num_calls = 47,
17043 .calls = netlogon_calls,
17044 .endpoints = &netlogon_endpoints,
17045 .authservices = &netlogon_authservices