s3: re-run make idl_full.
[Samba/kamenim.git] / librpc / gen_ndr / ndr_netlogon.c
blob0054dc35530b5b33b72b8cc6c959fadbeca1d52f
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, 5));
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_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
35 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
36 NDR_CHECK(ndr_push_uint3264(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_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
41 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
42 NDR_CHECK(ndr_push_uint3264(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_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
47 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
48 NDR_CHECK(ndr_push_uint3264(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_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
53 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
54 NDR_CHECK(ndr_push_uint3264(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, 5));
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, 5));
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, 5));
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, 5));
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, 5));
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, 5));
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_uint3264(ndr, NDR_SCALARS, r->length));
421 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
422 NDR_CHECK(ndr_push_uint3264(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, 5));
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, 5));
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, 5));
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, 5));
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_uint3264(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, 5));
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_enum_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_enum_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 NDR_CHECK(ndr_push_union_align(ndr, 5));
675 switch (level) {
676 case NetlogonInteractiveInformation: {
677 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
678 break; }
680 case NetlogonNetworkInformation: {
681 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
682 break; }
684 case NetlogonServiceInformation: {
685 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
686 break; }
688 case NetlogonGenericInformation: {
689 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
690 break; }
692 case NetlogonInteractiveTransitiveInformation: {
693 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
694 break; }
696 case NetlogonNetworkTransitiveInformation: {
697 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
698 break; }
700 case NetlogonServiceTransitiveInformation: {
701 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
702 break; }
704 default:
705 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
708 if (ndr_flags & NDR_BUFFERS) {
709 int level = ndr_push_get_switch_value(ndr, r);
710 switch (level) {
711 case NetlogonInteractiveInformation:
712 if (r->password) {
713 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
715 break;
717 case NetlogonNetworkInformation:
718 if (r->network) {
719 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
721 break;
723 case NetlogonServiceInformation:
724 if (r->password) {
725 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
727 break;
729 case NetlogonGenericInformation:
730 if (r->generic) {
731 NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
733 break;
735 case NetlogonInteractiveTransitiveInformation:
736 if (r->password) {
737 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
739 break;
741 case NetlogonNetworkTransitiveInformation:
742 if (r->network) {
743 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
745 break;
747 case NetlogonServiceTransitiveInformation:
748 if (r->password) {
749 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
751 break;
753 default:
754 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
757 return NDR_ERR_SUCCESS;
760 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
762 int level;
763 uint16_t _level;
764 TALLOC_CTX *_mem_save_password_0;
765 TALLOC_CTX *_mem_save_network_0;
766 TALLOC_CTX *_mem_save_generic_0;
767 level = ndr_pull_get_switch_value(ndr, r);
768 if (ndr_flags & NDR_SCALARS) {
769 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
770 if (_level != level) {
771 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
773 NDR_CHECK(ndr_pull_union_align(ndr, 5));
774 switch (level) {
775 case NetlogonInteractiveInformation: {
776 uint32_t _ptr_password;
777 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
778 if (_ptr_password) {
779 NDR_PULL_ALLOC(ndr, r->password);
780 } else {
781 r->password = NULL;
783 break; }
785 case NetlogonNetworkInformation: {
786 uint32_t _ptr_network;
787 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
788 if (_ptr_network) {
789 NDR_PULL_ALLOC(ndr, r->network);
790 } else {
791 r->network = NULL;
793 break; }
795 case NetlogonServiceInformation: {
796 uint32_t _ptr_password;
797 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
798 if (_ptr_password) {
799 NDR_PULL_ALLOC(ndr, r->password);
800 } else {
801 r->password = NULL;
803 break; }
805 case NetlogonGenericInformation: {
806 uint32_t _ptr_generic;
807 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
808 if (_ptr_generic) {
809 NDR_PULL_ALLOC(ndr, r->generic);
810 } else {
811 r->generic = NULL;
813 break; }
815 case NetlogonInteractiveTransitiveInformation: {
816 uint32_t _ptr_password;
817 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
818 if (_ptr_password) {
819 NDR_PULL_ALLOC(ndr, r->password);
820 } else {
821 r->password = NULL;
823 break; }
825 case NetlogonNetworkTransitiveInformation: {
826 uint32_t _ptr_network;
827 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
828 if (_ptr_network) {
829 NDR_PULL_ALLOC(ndr, r->network);
830 } else {
831 r->network = NULL;
833 break; }
835 case NetlogonServiceTransitiveInformation: {
836 uint32_t _ptr_password;
837 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
838 if (_ptr_password) {
839 NDR_PULL_ALLOC(ndr, r->password);
840 } else {
841 r->password = NULL;
843 break; }
845 default:
846 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
849 if (ndr_flags & NDR_BUFFERS) {
850 switch (level) {
851 case NetlogonInteractiveInformation:
852 if (r->password) {
853 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
854 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
855 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
856 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
858 break;
860 case NetlogonNetworkInformation:
861 if (r->network) {
862 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
863 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
864 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
867 break;
869 case NetlogonServiceInformation:
870 if (r->password) {
871 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
872 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
873 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
874 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
876 break;
878 case NetlogonGenericInformation:
879 if (r->generic) {
880 _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
881 NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
882 NDR_CHECK(ndr_pull_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
883 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
885 break;
887 case NetlogonInteractiveTransitiveInformation:
888 if (r->password) {
889 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
890 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
891 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
892 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
894 break;
896 case NetlogonNetworkTransitiveInformation:
897 if (r->network) {
898 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
899 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
900 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
901 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
903 break;
905 case NetlogonServiceTransitiveInformation:
906 if (r->password) {
907 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
908 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
909 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
912 break;
914 default:
915 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
918 return NDR_ERR_SUCCESS;
921 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
923 int level;
924 level = ndr_print_get_switch_value(ndr, r);
925 ndr_print_union(ndr, name, level, "netr_LogonLevel");
926 switch (level) {
927 case NetlogonInteractiveInformation:
928 ndr_print_ptr(ndr, "password", r->password);
929 ndr->depth++;
930 if (r->password) {
931 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
933 ndr->depth--;
934 break;
936 case NetlogonNetworkInformation:
937 ndr_print_ptr(ndr, "network", r->network);
938 ndr->depth++;
939 if (r->network) {
940 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
942 ndr->depth--;
943 break;
945 case NetlogonServiceInformation:
946 ndr_print_ptr(ndr, "password", r->password);
947 ndr->depth++;
948 if (r->password) {
949 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
951 ndr->depth--;
952 break;
954 case NetlogonGenericInformation:
955 ndr_print_ptr(ndr, "generic", r->generic);
956 ndr->depth++;
957 if (r->generic) {
958 ndr_print_netr_GenericInfo(ndr, "generic", r->generic);
960 ndr->depth--;
961 break;
963 case NetlogonInteractiveTransitiveInformation:
964 ndr_print_ptr(ndr, "password", r->password);
965 ndr->depth++;
966 if (r->password) {
967 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
969 ndr->depth--;
970 break;
972 case NetlogonNetworkTransitiveInformation:
973 ndr_print_ptr(ndr, "network", r->network);
974 ndr->depth++;
975 if (r->network) {
976 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
978 ndr->depth--;
979 break;
981 case NetlogonServiceTransitiveInformation:
982 ndr_print_ptr(ndr, "password", r->password);
983 ndr->depth++;
984 if (r->password) {
985 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
987 ndr->depth--;
988 break;
990 default:
991 ndr_print_bad_level(ndr, name, level);
995 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
998 uint32_t _flags_save_STRUCT = ndr->flags;
999 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1000 if (ndr_flags & NDR_SCALARS) {
1001 NDR_CHECK(ndr_push_align(ndr, 1));
1002 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1004 if (ndr_flags & NDR_BUFFERS) {
1006 ndr->flags = _flags_save_STRUCT;
1008 return NDR_ERR_SUCCESS;
1011 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
1014 uint32_t _flags_save_STRUCT = ndr->flags;
1015 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1016 if (ndr_flags & NDR_SCALARS) {
1017 NDR_CHECK(ndr_pull_align(ndr, 1));
1018 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1020 if (ndr_flags & NDR_BUFFERS) {
1022 ndr->flags = _flags_save_STRUCT;
1024 return NDR_ERR_SUCCESS;
1027 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
1029 ndr_print_struct(ndr, name, "netr_UserSessionKey");
1031 uint32_t _flags_save_STRUCT = ndr->flags;
1032 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1033 ndr->depth++;
1034 ndr_print_array_uint8(ndr, "key", r->key, 16);
1035 ndr->depth--;
1036 ndr->flags = _flags_save_STRUCT;
1040 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
1043 uint32_t _flags_save_STRUCT = ndr->flags;
1044 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1045 if (ndr_flags & NDR_SCALARS) {
1046 NDR_CHECK(ndr_push_align(ndr, 1));
1047 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1049 if (ndr_flags & NDR_BUFFERS) {
1051 ndr->flags = _flags_save_STRUCT;
1053 return NDR_ERR_SUCCESS;
1056 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
1059 uint32_t _flags_save_STRUCT = ndr->flags;
1060 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1061 if (ndr_flags & NDR_SCALARS) {
1062 NDR_CHECK(ndr_pull_align(ndr, 1));
1063 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1065 if (ndr_flags & NDR_BUFFERS) {
1067 ndr->flags = _flags_save_STRUCT;
1069 return NDR_ERR_SUCCESS;
1072 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
1074 ndr_print_struct(ndr, name, "netr_LMSessionKey");
1076 uint32_t _flags_save_STRUCT = ndr->flags;
1077 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1078 ndr->depth++;
1079 ndr_print_array_uint8(ndr, "key", r->key, 8);
1080 ndr->depth--;
1081 ndr->flags = _flags_save_STRUCT;
1085 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1088 return NDR_ERR_SUCCESS;
1091 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1093 uint32_t v;
1094 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1095 *r = v;
1096 return NDR_ERR_SUCCESS;
1099 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
1101 ndr_print_uint32(ndr, name, r);
1102 ndr->depth++;
1103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
1104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
1105 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
1106 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
1107 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
1108 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
1109 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
1110 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
1111 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
1112 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
1113 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
1114 ndr->depth--;
1117 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
1119 uint32_t cntr_unknown_0;
1120 if (ndr_flags & NDR_SCALARS) {
1121 NDR_CHECK(ndr_push_align(ndr, 5));
1122 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
1123 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
1124 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
1125 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
1126 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
1127 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
1128 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1129 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1130 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1131 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1132 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1133 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1134 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
1135 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
1136 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
1137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1138 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1139 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
1140 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1141 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1142 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1143 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
1144 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1145 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
1146 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
1150 if (ndr_flags & NDR_BUFFERS) {
1151 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1152 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1153 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1154 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1155 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1156 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1157 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1158 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1159 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1160 if (r->domain_sid) {
1161 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1164 return NDR_ERR_SUCCESS;
1167 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
1169 uint32_t _ptr_domain_sid;
1170 TALLOC_CTX *_mem_save_domain_sid_0;
1171 uint32_t cntr_unknown_0;
1172 if (ndr_flags & NDR_SCALARS) {
1173 NDR_CHECK(ndr_pull_align(ndr, 5));
1174 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
1175 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
1176 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
1177 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
1178 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
1179 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
1180 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1181 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1182 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1183 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1184 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1185 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1186 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
1187 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
1188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1189 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1190 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1191 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
1192 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1193 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1194 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1195 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1196 if (_ptr_domain_sid) {
1197 NDR_PULL_ALLOC(ndr, r->domain_sid);
1198 } else {
1199 r->domain_sid = NULL;
1201 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1202 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
1203 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1204 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1207 if (ndr_flags & NDR_BUFFERS) {
1208 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1209 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1210 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1211 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1212 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1213 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1214 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1215 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1216 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1217 if (r->domain_sid) {
1218 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1219 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1220 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1221 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1224 return NDR_ERR_SUCCESS;
1227 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1229 uint32_t cntr_unknown_0;
1230 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1231 ndr->depth++;
1232 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1233 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1234 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1235 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1236 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1237 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1238 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1239 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1240 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1241 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1242 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1243 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1244 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1245 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1246 ndr_print_uint32(ndr, "rid", r->rid);
1247 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1248 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1249 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1250 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1251 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1252 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1253 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1254 ndr->depth++;
1255 if (r->domain_sid) {
1256 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1258 ndr->depth--;
1259 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1260 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1261 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)7);
1262 ndr->depth++;
1263 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1264 char *idx_0=NULL;
1265 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1266 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1267 free(idx_0);
1270 ndr->depth--;
1271 ndr->depth--;
1274 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1276 if (ndr_flags & NDR_SCALARS) {
1277 NDR_CHECK(ndr_push_align(ndr, 5));
1278 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1280 if (ndr_flags & NDR_BUFFERS) {
1281 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1283 return NDR_ERR_SUCCESS;
1286 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1288 if (ndr_flags & NDR_SCALARS) {
1289 NDR_CHECK(ndr_pull_align(ndr, 5));
1290 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1292 if (ndr_flags & NDR_BUFFERS) {
1293 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1295 return NDR_ERR_SUCCESS;
1298 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1300 ndr_print_struct(ndr, name, "netr_SamInfo2");
1301 ndr->depth++;
1302 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1303 ndr->depth--;
1306 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1308 if (ndr_flags & NDR_SCALARS) {
1309 NDR_CHECK(ndr_push_align(ndr, 5));
1310 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1311 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1313 if (ndr_flags & NDR_BUFFERS) {
1314 if (r->sid) {
1315 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1318 return NDR_ERR_SUCCESS;
1321 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1323 uint32_t _ptr_sid;
1324 TALLOC_CTX *_mem_save_sid_0;
1325 if (ndr_flags & NDR_SCALARS) {
1326 NDR_CHECK(ndr_pull_align(ndr, 5));
1327 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1328 if (_ptr_sid) {
1329 NDR_PULL_ALLOC(ndr, r->sid);
1330 } else {
1331 r->sid = NULL;
1333 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1335 if (ndr_flags & NDR_BUFFERS) {
1336 if (r->sid) {
1337 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1338 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1339 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1340 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1343 return NDR_ERR_SUCCESS;
1346 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1348 ndr_print_struct(ndr, name, "netr_SidAttr");
1349 ndr->depth++;
1350 ndr_print_ptr(ndr, "sid", r->sid);
1351 ndr->depth++;
1352 if (r->sid) {
1353 ndr_print_dom_sid2(ndr, "sid", r->sid);
1355 ndr->depth--;
1356 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1357 ndr->depth--;
1360 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1362 uint32_t cntr_sids_1;
1363 if (ndr_flags & NDR_SCALARS) {
1364 NDR_CHECK(ndr_push_align(ndr, 5));
1365 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1366 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1367 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1369 if (ndr_flags & NDR_BUFFERS) {
1370 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1371 if (r->sids) {
1372 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sidcount));
1373 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1374 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1376 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1377 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1381 return NDR_ERR_SUCCESS;
1384 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1386 uint32_t _ptr_sids;
1387 uint32_t cntr_sids_1;
1388 TALLOC_CTX *_mem_save_sids_0;
1389 TALLOC_CTX *_mem_save_sids_1;
1390 if (ndr_flags & NDR_SCALARS) {
1391 NDR_CHECK(ndr_pull_align(ndr, 5));
1392 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1393 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1394 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1395 if (_ptr_sids) {
1396 NDR_PULL_ALLOC(ndr, r->sids);
1397 } else {
1398 r->sids = NULL;
1401 if (ndr_flags & NDR_BUFFERS) {
1402 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1403 if (r->sids) {
1404 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1405 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1406 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1407 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1408 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1409 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1410 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1411 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1413 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1414 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1419 if (r->sids) {
1420 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1423 return NDR_ERR_SUCCESS;
1426 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1428 uint32_t cntr_sids_1;
1429 ndr_print_struct(ndr, name, "netr_SamInfo3");
1430 ndr->depth++;
1431 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1432 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1433 ndr_print_ptr(ndr, "sids", r->sids);
1434 ndr->depth++;
1435 if (r->sids) {
1436 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1437 ndr->depth++;
1438 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1439 char *idx_1=NULL;
1440 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1441 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1442 free(idx_1);
1445 ndr->depth--;
1447 ndr->depth--;
1448 ndr->depth--;
1451 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1453 uint32_t cntr_sids_1;
1454 uint32_t cntr_unknown4_0;
1455 if (ndr_flags & NDR_SCALARS) {
1456 NDR_CHECK(ndr_push_align(ndr, 5));
1457 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1459 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1460 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1461 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1462 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1466 if (ndr_flags & NDR_BUFFERS) {
1467 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1468 if (r->sids) {
1469 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sidcount));
1470 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1471 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1473 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1474 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1477 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1478 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1480 return NDR_ERR_SUCCESS;
1483 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1485 uint32_t _ptr_sids;
1486 uint32_t cntr_sids_1;
1487 TALLOC_CTX *_mem_save_sids_0;
1488 TALLOC_CTX *_mem_save_sids_1;
1489 uint32_t cntr_unknown4_0;
1490 if (ndr_flags & NDR_SCALARS) {
1491 NDR_CHECK(ndr_pull_align(ndr, 5));
1492 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1493 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1494 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1495 if (_ptr_sids) {
1496 NDR_PULL_ALLOC(ndr, r->sids);
1497 } else {
1498 r->sids = NULL;
1500 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1501 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1502 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1503 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1506 if (ndr_flags & NDR_BUFFERS) {
1507 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1508 if (r->sids) {
1509 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1510 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1511 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1512 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1513 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1514 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1515 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1516 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1518 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1519 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1524 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1525 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1526 if (r->sids) {
1527 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1530 return NDR_ERR_SUCCESS;
1533 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1535 uint32_t cntr_sids_1;
1536 uint32_t cntr_unknown4_0;
1537 ndr_print_struct(ndr, name, "netr_SamInfo6");
1538 ndr->depth++;
1539 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1540 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1541 ndr_print_ptr(ndr, "sids", r->sids);
1542 ndr->depth++;
1543 if (r->sids) {
1544 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1545 ndr->depth++;
1546 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1547 char *idx_1=NULL;
1548 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1549 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1550 free(idx_1);
1553 ndr->depth--;
1555 ndr->depth--;
1556 ndr_print_lsa_String(ndr, "forest", &r->forest);
1557 ndr_print_lsa_String(ndr, "principle", &r->principle);
1558 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
1559 ndr->depth++;
1560 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1561 char *idx_0=NULL;
1562 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1563 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1564 free(idx_0);
1567 ndr->depth--;
1568 ndr->depth--;
1571 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1573 uint32_t cntr_expansionroom_0;
1574 if (ndr_flags & NDR_SCALARS) {
1575 NDR_CHECK(ndr_push_align(ndr, 5));
1576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1577 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1578 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1579 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1580 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1583 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1584 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1587 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1588 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1589 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1590 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1592 if (ndr_flags & NDR_BUFFERS) {
1593 if (r->pac) {
1594 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pac_size));
1595 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1597 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1598 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1599 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1600 if (r->auth) {
1601 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->auth_size));
1602 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1604 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1605 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1606 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1607 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1609 return NDR_ERR_SUCCESS;
1612 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1614 uint32_t _ptr_pac;
1615 TALLOC_CTX *_mem_save_pac_0;
1616 uint32_t _ptr_auth;
1617 TALLOC_CTX *_mem_save_auth_0;
1618 uint32_t cntr_expansionroom_0;
1619 if (ndr_flags & NDR_SCALARS) {
1620 NDR_CHECK(ndr_pull_align(ndr, 5));
1621 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1622 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1623 if (_ptr_pac) {
1624 NDR_PULL_ALLOC(ndr, r->pac);
1625 } else {
1626 r->pac = NULL;
1628 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1629 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1630 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1631 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1632 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1633 if (_ptr_auth) {
1634 NDR_PULL_ALLOC(ndr, r->auth);
1635 } else {
1636 r->auth = NULL;
1638 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1639 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1640 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1642 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1643 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1644 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1645 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1647 if (ndr_flags & NDR_BUFFERS) {
1648 if (r->pac) {
1649 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1650 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1651 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1652 NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1653 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1654 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1656 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1657 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1658 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1659 if (r->auth) {
1660 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1661 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1662 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1663 NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1664 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1665 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1667 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1668 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1669 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1670 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1671 if (r->pac) {
1672 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1674 if (r->auth) {
1675 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1678 return NDR_ERR_SUCCESS;
1681 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1683 uint32_t cntr_expansionroom_0;
1684 ndr_print_struct(ndr, name, "netr_PacInfo");
1685 ndr->depth++;
1686 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1687 ndr_print_ptr(ndr, "pac", r->pac);
1688 ndr->depth++;
1689 if (r->pac) {
1690 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1692 ndr->depth--;
1693 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1694 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1695 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1696 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1697 ndr_print_ptr(ndr, "auth", r->auth);
1698 ndr->depth++;
1699 if (r->auth) {
1700 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1702 ndr->depth--;
1703 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1704 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1705 ndr->depth++;
1706 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1707 char *idx_0=NULL;
1708 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1709 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1710 free(idx_0);
1713 ndr->depth--;
1714 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1715 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1716 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1717 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1718 ndr->depth--;
1721 static enum ndr_err_code ndr_push_netr_GenericInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo2 *r)
1724 uint32_t _flags_save_STRUCT = ndr->flags;
1725 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1726 if (ndr_flags & NDR_SCALARS) {
1727 NDR_CHECK(ndr_push_align(ndr, 5));
1728 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1729 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
1731 if (ndr_flags & NDR_BUFFERS) {
1732 if (r->data) {
1733 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1734 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
1737 ndr->flags = _flags_save_STRUCT;
1739 return NDR_ERR_SUCCESS;
1742 static enum ndr_err_code ndr_pull_netr_GenericInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo2 *r)
1744 uint32_t _ptr_data;
1745 TALLOC_CTX *_mem_save_data_0;
1747 uint32_t _flags_save_STRUCT = ndr->flags;
1748 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1749 if (ndr_flags & NDR_SCALARS) {
1750 NDR_CHECK(ndr_pull_align(ndr, 5));
1751 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1752 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
1753 if (_ptr_data) {
1754 NDR_PULL_ALLOC(ndr, r->data);
1755 } else {
1756 r->data = NULL;
1759 if (ndr_flags & NDR_BUFFERS) {
1760 if (r->data) {
1761 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1762 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
1763 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
1764 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
1765 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
1766 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
1768 if (r->data) {
1769 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
1772 ndr->flags = _flags_save_STRUCT;
1774 return NDR_ERR_SUCCESS;
1777 _PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r)
1779 ndr_print_struct(ndr, name, "netr_GenericInfo2");
1781 uint32_t _flags_save_STRUCT = ndr->flags;
1782 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1783 ndr->depth++;
1784 ndr_print_uint32(ndr, "length", r->length);
1785 ndr_print_ptr(ndr, "data", r->data);
1786 ndr->depth++;
1787 if (r->data) {
1788 ndr_print_array_uint8(ndr, "data", r->data, r->length);
1790 ndr->depth--;
1791 ndr->depth--;
1792 ndr->flags = _flags_save_STRUCT;
1796 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1798 if (ndr_flags & NDR_SCALARS) {
1799 int level = ndr_push_get_switch_value(ndr, r);
1800 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1801 NDR_CHECK(ndr_push_union_align(ndr, 5));
1802 switch (level) {
1803 case NetlogonValidationSamInfo: {
1804 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1805 break; }
1807 case NetlogonValidationSamInfo2: {
1808 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1809 break; }
1811 case 4: {
1812 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1813 break; }
1815 case NetlogonValidationGenericInfo2: {
1816 NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
1817 break; }
1819 case NetlogonValidationSamInfo4: {
1820 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1821 break; }
1823 default:
1824 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1827 if (ndr_flags & NDR_BUFFERS) {
1828 int level = ndr_push_get_switch_value(ndr, r);
1829 switch (level) {
1830 case NetlogonValidationSamInfo:
1831 if (r->sam2) {
1832 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1834 break;
1836 case NetlogonValidationSamInfo2:
1837 if (r->sam3) {
1838 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1840 break;
1842 case 4:
1843 if (r->pac) {
1844 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1846 break;
1848 case NetlogonValidationGenericInfo2:
1849 if (r->generic) {
1850 NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1852 break;
1854 case NetlogonValidationSamInfo4:
1855 if (r->sam6) {
1856 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1858 break;
1860 default:
1861 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1864 return NDR_ERR_SUCCESS;
1867 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1869 int level;
1870 uint16_t _level;
1871 TALLOC_CTX *_mem_save_sam2_0;
1872 TALLOC_CTX *_mem_save_sam3_0;
1873 TALLOC_CTX *_mem_save_pac_0;
1874 TALLOC_CTX *_mem_save_generic_0;
1875 TALLOC_CTX *_mem_save_sam6_0;
1876 level = ndr_pull_get_switch_value(ndr, r);
1877 if (ndr_flags & NDR_SCALARS) {
1878 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1879 if (_level != level) {
1880 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1882 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1883 switch (level) {
1884 case NetlogonValidationSamInfo: {
1885 uint32_t _ptr_sam2;
1886 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1887 if (_ptr_sam2) {
1888 NDR_PULL_ALLOC(ndr, r->sam2);
1889 } else {
1890 r->sam2 = NULL;
1892 break; }
1894 case NetlogonValidationSamInfo2: {
1895 uint32_t _ptr_sam3;
1896 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1897 if (_ptr_sam3) {
1898 NDR_PULL_ALLOC(ndr, r->sam3);
1899 } else {
1900 r->sam3 = NULL;
1902 break; }
1904 case 4: {
1905 uint32_t _ptr_pac;
1906 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1907 if (_ptr_pac) {
1908 NDR_PULL_ALLOC(ndr, r->pac);
1909 } else {
1910 r->pac = NULL;
1912 break; }
1914 case NetlogonValidationGenericInfo2: {
1915 uint32_t _ptr_generic;
1916 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
1917 if (_ptr_generic) {
1918 NDR_PULL_ALLOC(ndr, r->generic);
1919 } else {
1920 r->generic = NULL;
1922 break; }
1924 case NetlogonValidationSamInfo4: {
1925 uint32_t _ptr_sam6;
1926 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1927 if (_ptr_sam6) {
1928 NDR_PULL_ALLOC(ndr, r->sam6);
1929 } else {
1930 r->sam6 = NULL;
1932 break; }
1934 default:
1935 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1938 if (ndr_flags & NDR_BUFFERS) {
1939 switch (level) {
1940 case NetlogonValidationSamInfo:
1941 if (r->sam2) {
1942 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1943 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1944 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1945 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1947 break;
1949 case NetlogonValidationSamInfo2:
1950 if (r->sam3) {
1951 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1952 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1953 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1954 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1956 break;
1958 case 4:
1959 if (r->pac) {
1960 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1961 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1962 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1965 break;
1967 case NetlogonValidationGenericInfo2:
1968 if (r->generic) {
1969 _mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
1970 NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
1971 NDR_CHECK(ndr_pull_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1972 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
1974 break;
1976 case NetlogonValidationSamInfo4:
1977 if (r->sam6) {
1978 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
1979 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
1980 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
1983 break;
1985 default:
1986 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1989 return NDR_ERR_SUCCESS;
1992 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
1994 int level;
1995 level = ndr_print_get_switch_value(ndr, r);
1996 ndr_print_union(ndr, name, level, "netr_Validation");
1997 switch (level) {
1998 case NetlogonValidationSamInfo:
1999 ndr_print_ptr(ndr, "sam2", r->sam2);
2000 ndr->depth++;
2001 if (r->sam2) {
2002 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
2004 ndr->depth--;
2005 break;
2007 case NetlogonValidationSamInfo2:
2008 ndr_print_ptr(ndr, "sam3", r->sam3);
2009 ndr->depth++;
2010 if (r->sam3) {
2011 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
2013 ndr->depth--;
2014 break;
2016 case 4:
2017 ndr_print_ptr(ndr, "pac", r->pac);
2018 ndr->depth++;
2019 if (r->pac) {
2020 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
2022 ndr->depth--;
2023 break;
2025 case NetlogonValidationGenericInfo2:
2026 ndr_print_ptr(ndr, "generic", r->generic);
2027 ndr->depth++;
2028 if (r->generic) {
2029 ndr_print_netr_GenericInfo2(ndr, "generic", r->generic);
2031 ndr->depth--;
2032 break;
2034 case NetlogonValidationSamInfo4:
2035 ndr_print_ptr(ndr, "sam6", r->sam6);
2036 ndr->depth++;
2037 if (r->sam6) {
2038 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
2040 ndr->depth--;
2041 break;
2043 default:
2044 ndr_print_bad_level(ndr, name, level);
2048 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
2051 uint32_t _flags_save_STRUCT = ndr->flags;
2052 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2053 if (ndr_flags & NDR_SCALARS) {
2054 NDR_CHECK(ndr_push_align(ndr, 1));
2055 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2057 if (ndr_flags & NDR_BUFFERS) {
2059 ndr->flags = _flags_save_STRUCT;
2061 return NDR_ERR_SUCCESS;
2064 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
2067 uint32_t _flags_save_STRUCT = ndr->flags;
2068 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2069 if (ndr_flags & NDR_SCALARS) {
2070 NDR_CHECK(ndr_pull_align(ndr, 1));
2071 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2073 if (ndr_flags & NDR_BUFFERS) {
2075 ndr->flags = _flags_save_STRUCT;
2077 return NDR_ERR_SUCCESS;
2080 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
2082 ndr_print_struct(ndr, name, "netr_Credential");
2084 uint32_t _flags_save_STRUCT = ndr->flags;
2085 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2086 ndr->depth++;
2087 ndr_print_array_uint8(ndr, "data", r->data, 8);
2088 ndr->depth--;
2089 ndr->flags = _flags_save_STRUCT;
2093 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
2095 if (ndr_flags & NDR_SCALARS) {
2096 NDR_CHECK(ndr_push_align(ndr, 4));
2097 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2098 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
2100 if (ndr_flags & NDR_BUFFERS) {
2102 return NDR_ERR_SUCCESS;
2105 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
2107 if (ndr_flags & NDR_SCALARS) {
2108 NDR_CHECK(ndr_pull_align(ndr, 4));
2109 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2110 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
2112 if (ndr_flags & NDR_BUFFERS) {
2114 return NDR_ERR_SUCCESS;
2117 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
2119 ndr_print_struct(ndr, name, "netr_Authenticator");
2120 ndr->depth++;
2121 ndr_print_netr_Credential(ndr, "cred", &r->cred);
2122 ndr_print_time_t(ndr, "timestamp", r->timestamp);
2123 ndr->depth--;
2126 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)
2128 if (ndr_flags & NDR_SCALARS) {
2129 NDR_CHECK(ndr_push_align(ndr, 5));
2130 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
2131 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2132 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2133 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2134 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2136 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2140 if (ndr_flags & NDR_BUFFERS) {
2141 if (r->account_name) {
2142 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2143 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2144 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2145 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
2147 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2148 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2149 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2150 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2152 return NDR_ERR_SUCCESS;
2155 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
2157 uint32_t _ptr_account_name;
2158 TALLOC_CTX *_mem_save_account_name_0;
2159 if (ndr_flags & NDR_SCALARS) {
2160 NDR_CHECK(ndr_pull_align(ndr, 5));
2161 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
2162 if (_ptr_account_name) {
2163 NDR_PULL_ALLOC(ndr, r->account_name);
2164 } else {
2165 r->account_name = NULL;
2167 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2168 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2169 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2170 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2171 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2172 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2173 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2174 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2176 if (ndr_flags & NDR_BUFFERS) {
2177 if (r->account_name) {
2178 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2179 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
2180 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
2181 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
2182 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
2183 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));
2185 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
2186 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
2187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
2189 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2190 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2191 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2192 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2194 return NDR_ERR_SUCCESS;
2197 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
2199 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
2200 ndr->depth++;
2201 ndr_print_ptr(ndr, "account_name", r->account_name);
2202 ndr->depth++;
2203 if (r->account_name) {
2204 ndr_print_string(ndr, "account_name", r->account_name);
2206 ndr->depth--;
2207 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2208 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2209 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2210 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2211 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2212 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2213 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2214 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2215 ndr->depth--;
2218 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
2220 if (ndr_flags & NDR_SCALARS) {
2221 NDR_CHECK(ndr_push_align(ndr, 4));
2222 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2223 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
2225 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2227 if (ndr_flags & NDR_BUFFERS) {
2229 return NDR_ERR_SUCCESS;
2232 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
2234 if (ndr_flags & NDR_SCALARS) {
2235 NDR_CHECK(ndr_pull_align(ndr, 4));
2236 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
2237 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
2238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
2239 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2241 if (ndr_flags & NDR_BUFFERS) {
2243 return NDR_ERR_SUCCESS;
2246 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
2248 ndr_print_struct(ndr, name, "netr_USER_KEY16");
2249 ndr->depth++;
2250 ndr_print_uint16(ndr, "length", r->length);
2251 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
2252 ndr_print_uint32(ndr, "flags", r->flags);
2253 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
2254 ndr->depth--;
2257 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
2259 if (ndr_flags & NDR_SCALARS) {
2260 NDR_CHECK(ndr_push_align(ndr, 4));
2261 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2262 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2264 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2265 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2266 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2267 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2268 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2270 if (ndr_flags & NDR_BUFFERS) {
2272 return NDR_ERR_SUCCESS;
2275 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2277 if (ndr_flags & NDR_SCALARS) {
2278 NDR_CHECK(ndr_pull_align(ndr, 4));
2279 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2280 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2281 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2282 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2283 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2285 NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2286 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2287 NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2288 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2290 if (ndr_flags & NDR_BUFFERS) {
2292 return NDR_ERR_SUCCESS;
2295 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2297 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2298 ndr->depth++;
2299 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2300 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2301 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2302 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2303 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2304 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2305 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2306 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2307 ndr->depth--;
2310 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2312 if (ndr_flags & NDR_SCALARS) {
2313 NDR_CHECK(ndr_push_align(ndr, 4));
2314 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2315 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2316 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2318 if (ndr_flags & NDR_BUFFERS) {
2320 return NDR_ERR_SUCCESS;
2323 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2325 if (ndr_flags & NDR_SCALARS) {
2326 NDR_CHECK(ndr_pull_align(ndr, 4));
2327 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2328 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2329 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2331 if (ndr_flags & NDR_BUFFERS) {
2333 return NDR_ERR_SUCCESS;
2336 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2338 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2339 ndr->depth++;
2340 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2341 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2342 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2343 ndr->depth--;
2346 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)
2348 if (ndr_flags & NDR_SCALARS) {
2349 NDR_CHECK(ndr_push_align(ndr, 4));
2350 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2352 if (ndr_flags & NDR_BUFFERS) {
2354 return NDR_ERR_SUCCESS;
2357 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2359 if (ndr_flags & NDR_SCALARS) {
2360 NDR_CHECK(ndr_pull_align(ndr, 4));
2361 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2363 if (ndr_flags & NDR_BUFFERS) {
2365 return NDR_ERR_SUCCESS;
2368 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2370 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2371 ndr->depth++;
2372 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2373 ndr->depth--;
2376 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2378 if (ndr_flags & NDR_SCALARS) {
2379 NDR_CHECK(ndr_push_align(ndr, 4));
2380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2381 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2383 if (ndr_flags & NDR_BUFFERS) {
2385 return NDR_ERR_SUCCESS;
2388 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2390 if (ndr_flags & NDR_SCALARS) {
2391 NDR_CHECK(ndr_pull_align(ndr, 4));
2392 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2393 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2395 if (ndr_flags & NDR_BUFFERS) {
2397 return NDR_ERR_SUCCESS;
2400 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2402 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2403 ndr->depth++;
2404 ndr_print_uint32(ndr, "version", r->version);
2405 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2406 ndr->depth--;
2409 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)
2411 if (ndr_flags & NDR_SCALARS) {
2412 NDR_CHECK(ndr_push_align(ndr, 5));
2413 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2416 uint32_t _flags_save_uint8 = ndr->flags;
2417 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2418 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2419 ndr->flags = _flags_save_uint8;
2422 if (ndr_flags & NDR_BUFFERS) {
2424 uint32_t _flags_save_uint8 = ndr->flags;
2425 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2426 if (r->SensitiveData) {
2427 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->DataLength));
2428 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2430 ndr->flags = _flags_save_uint8;
2433 return NDR_ERR_SUCCESS;
2436 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2438 uint32_t _ptr_SensitiveData;
2439 TALLOC_CTX *_mem_save_SensitiveData_0;
2440 if (ndr_flags & NDR_SCALARS) {
2441 NDR_CHECK(ndr_pull_align(ndr, 5));
2442 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2443 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2445 uint32_t _flags_save_uint8 = ndr->flags;
2446 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2447 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2448 if (_ptr_SensitiveData) {
2449 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2450 } else {
2451 r->SensitiveData = NULL;
2453 ndr->flags = _flags_save_uint8;
2456 if (ndr_flags & NDR_BUFFERS) {
2458 uint32_t _flags_save_uint8 = ndr->flags;
2459 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2460 if (r->SensitiveData) {
2461 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2462 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2463 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2464 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2465 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2468 ndr->flags = _flags_save_uint8;
2470 if (r->SensitiveData) {
2471 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2474 return NDR_ERR_SUCCESS;
2477 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2479 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2480 ndr->depth++;
2481 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2482 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2483 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2484 ndr->depth++;
2485 if (r->SensitiveData) {
2486 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2488 ndr->depth--;
2489 ndr->depth--;
2492 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2494 if (ndr_flags & NDR_SCALARS) {
2495 NDR_CHECK(ndr_push_align(ndr, 5));
2496 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2497 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2498 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2500 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2501 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2502 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2503 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2504 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2505 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2506 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2507 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2508 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2509 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2510 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2511 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2512 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2513 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2514 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2515 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2516 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2517 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2518 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2519 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2520 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2521 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2522 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2524 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2525 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2526 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2527 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2528 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2534 if (ndr_flags & NDR_BUFFERS) {
2535 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2536 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2537 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2538 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2539 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2540 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2541 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2542 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2543 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2544 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2545 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2546 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2547 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2548 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2549 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2550 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2552 return NDR_ERR_SUCCESS;
2555 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2557 if (ndr_flags & NDR_SCALARS) {
2558 NDR_CHECK(ndr_pull_align(ndr, 5));
2559 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2560 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2561 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2562 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2563 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2564 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2565 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2566 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2567 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2568 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2569 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2570 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2571 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2572 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2573 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2574 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2575 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2576 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2577 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2578 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2579 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2580 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2581 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2582 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2583 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2584 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2585 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2586 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2587 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2588 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2589 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2590 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2591 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2593 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2594 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2595 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2597 if (ndr_flags & NDR_BUFFERS) {
2598 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2599 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2600 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2601 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2602 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2603 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2604 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2605 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2606 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2607 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2608 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2609 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2610 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2611 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2612 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2613 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2615 return NDR_ERR_SUCCESS;
2618 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2620 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2621 ndr->depth++;
2622 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2623 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2624 ndr_print_uint32(ndr, "rid", r->rid);
2625 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2626 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2627 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2628 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2629 ndr_print_lsa_String(ndr, "description", &r->description);
2630 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2631 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2632 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2633 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2634 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2635 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2636 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2637 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2638 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2639 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2640 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2641 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2642 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2643 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2644 ndr_print_lsa_String(ndr, "comment", &r->comment);
2645 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2646 ndr_print_uint16(ndr, "country_code", r->country_code);
2647 ndr_print_uint16(ndr, "code_page", r->code_page);
2648 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2649 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2650 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2651 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2652 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2653 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2654 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2655 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2656 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2657 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2658 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2659 ndr->depth--;
2662 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2664 if (ndr_flags & NDR_SCALARS) {
2665 NDR_CHECK(ndr_push_align(ndr, 5));
2666 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2667 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2668 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2669 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2670 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2671 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2672 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2673 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2674 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2676 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2677 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2678 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2679 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2680 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2682 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2686 if (ndr_flags & NDR_BUFFERS) {
2687 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2688 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2689 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2690 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2691 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2692 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2693 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2695 return NDR_ERR_SUCCESS;
2698 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2700 if (ndr_flags & NDR_SCALARS) {
2701 NDR_CHECK(ndr_pull_align(ndr, 5));
2702 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2703 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2704 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2705 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2706 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2707 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2708 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2709 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2710 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2711 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2712 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2713 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2714 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2715 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2716 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2717 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2719 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2720 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2722 if (ndr_flags & NDR_BUFFERS) {
2723 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2724 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2725 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2726 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2727 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2728 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2729 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2731 return NDR_ERR_SUCCESS;
2734 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2736 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2737 ndr->depth++;
2738 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2739 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
2740 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2741 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2742 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2743 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2744 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2745 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2746 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2747 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2748 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2749 ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
2750 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2751 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2752 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2753 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2754 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2755 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2756 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2757 ndr->depth--;
2760 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2762 if (ndr_flags & NDR_SCALARS) {
2763 NDR_CHECK(ndr_push_align(ndr, 5));
2764 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2767 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2768 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2769 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2770 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2771 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2772 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2773 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2779 if (ndr_flags & NDR_BUFFERS) {
2780 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2781 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2782 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2783 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2784 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2785 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2786 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2788 return NDR_ERR_SUCCESS;
2791 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2793 if (ndr_flags & NDR_SCALARS) {
2794 NDR_CHECK(ndr_pull_align(ndr, 5));
2795 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2796 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2797 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2798 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2799 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2800 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2801 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2802 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2803 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2804 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2805 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2806 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2807 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2808 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2810 if (ndr_flags & NDR_BUFFERS) {
2811 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2812 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2813 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2814 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2815 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2816 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2817 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2819 return NDR_ERR_SUCCESS;
2822 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2824 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2825 ndr->depth++;
2826 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2827 ndr_print_uint32(ndr, "rid", r->rid);
2828 ndr_print_uint32(ndr, "attributes", r->attributes);
2829 ndr_print_lsa_String(ndr, "description", &r->description);
2830 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2831 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2832 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2833 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2834 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2835 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2836 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2837 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2838 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2839 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2840 ndr->depth--;
2843 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2845 if (ndr_flags & NDR_SCALARS) {
2846 NDR_CHECK(ndr_push_align(ndr, 5));
2847 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2848 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2849 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2850 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2851 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2852 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2853 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2858 if (ndr_flags & NDR_BUFFERS) {
2859 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2860 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2861 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2862 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2863 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2864 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2866 return NDR_ERR_SUCCESS;
2869 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2871 if (ndr_flags & NDR_SCALARS) {
2872 NDR_CHECK(ndr_pull_align(ndr, 5));
2873 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2874 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2875 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2876 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2877 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2878 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2879 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2880 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2881 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2882 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2884 if (ndr_flags & NDR_BUFFERS) {
2885 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2886 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2887 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2888 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2889 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2890 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2892 return NDR_ERR_SUCCESS;
2895 _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2897 ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2898 ndr->depth++;
2899 ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2900 ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2901 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2902 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2903 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2904 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2905 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2906 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2907 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2908 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2909 ndr->depth--;
2912 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)
2914 uint32_t cntr_rids_1;
2915 uint32_t cntr_attribs_1;
2916 if (ndr_flags & NDR_SCALARS) {
2917 NDR_CHECK(ndr_push_align(ndr, 5));
2918 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2919 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2922 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2923 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2926 if (ndr_flags & NDR_BUFFERS) {
2927 if (r->rids) {
2928 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
2929 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2930 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2933 if (r->attribs) {
2934 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
2935 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
2940 return NDR_ERR_SUCCESS;
2943 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
2945 uint32_t _ptr_rids;
2946 uint32_t cntr_rids_1;
2947 TALLOC_CTX *_mem_save_rids_0;
2948 TALLOC_CTX *_mem_save_rids_1;
2949 uint32_t _ptr_attribs;
2950 uint32_t cntr_attribs_1;
2951 TALLOC_CTX *_mem_save_attribs_0;
2952 TALLOC_CTX *_mem_save_attribs_1;
2953 if (ndr_flags & NDR_SCALARS) {
2954 NDR_CHECK(ndr_pull_align(ndr, 5));
2955 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
2956 if (_ptr_rids) {
2957 NDR_PULL_ALLOC(ndr, r->rids);
2958 } else {
2959 r->rids = NULL;
2961 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2962 if (_ptr_attribs) {
2963 NDR_PULL_ALLOC(ndr, r->attribs);
2964 } else {
2965 r->attribs = NULL;
2967 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
2968 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2969 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2970 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2973 if (ndr_flags & NDR_BUFFERS) {
2974 if (r->rids) {
2975 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2976 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2977 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
2978 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
2979 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2980 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2981 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2982 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
2984 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
2985 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
2987 if (r->attribs) {
2988 _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
2989 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2990 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
2991 NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
2992 _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
2993 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2994 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2995 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
2997 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
2998 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
3000 if (r->rids) {
3001 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
3003 if (r->attribs) {
3004 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
3007 return NDR_ERR_SUCCESS;
3010 _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
3012 uint32_t cntr_rids_1;
3013 uint32_t cntr_attribs_1;
3014 ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
3015 ndr->depth++;
3016 ndr_print_ptr(ndr, "rids", r->rids);
3017 ndr->depth++;
3018 if (r->rids) {
3019 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
3020 ndr->depth++;
3021 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
3022 char *idx_1=NULL;
3023 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
3024 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
3025 free(idx_1);
3028 ndr->depth--;
3030 ndr->depth--;
3031 ndr_print_ptr(ndr, "attribs", r->attribs);
3032 ndr->depth++;
3033 if (r->attribs) {
3034 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
3035 ndr->depth++;
3036 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
3037 char *idx_1=NULL;
3038 if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
3039 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
3040 free(idx_1);
3043 ndr->depth--;
3045 ndr->depth--;
3046 ndr_print_uint32(ndr, "num_rids", r->num_rids);
3047 ndr_print_uint32(ndr, "unknown1", r->unknown1);
3048 ndr_print_uint32(ndr, "unknown2", r->unknown2);
3049 ndr_print_uint32(ndr, "unknown3", r->unknown3);
3050 ndr_print_uint32(ndr, "unknown4", r->unknown4);
3051 ndr->depth--;
3054 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
3056 if (ndr_flags & NDR_SCALARS) {
3057 NDR_CHECK(ndr_push_align(ndr, 5));
3058 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3061 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3062 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3063 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3064 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3065 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3066 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3069 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3071 if (ndr_flags & NDR_BUFFERS) {
3072 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3073 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3074 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3075 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3076 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3077 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3079 return NDR_ERR_SUCCESS;
3082 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
3084 if (ndr_flags & NDR_SCALARS) {
3085 NDR_CHECK(ndr_pull_align(ndr, 5));
3086 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3088 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3089 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3090 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3091 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3092 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3093 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3094 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3095 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3096 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3097 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3099 if (ndr_flags & NDR_BUFFERS) {
3100 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3101 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3102 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3103 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3104 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3105 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3107 return NDR_ERR_SUCCESS;
3110 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
3112 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
3113 ndr->depth++;
3114 ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
3115 ndr_print_uint32(ndr, "rid", r->rid);
3116 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3117 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3118 ndr_print_lsa_String(ndr, "description", &r->description);
3119 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3120 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3121 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3122 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3123 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3124 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3125 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3126 ndr->depth--;
3129 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)
3131 if (ndr_flags & NDR_SCALARS) {
3132 NDR_CHECK(ndr_push_align(ndr, 5));
3133 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
3135 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
3136 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
3137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
3139 if (ndr_flags & NDR_BUFFERS) {
3140 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3142 return NDR_ERR_SUCCESS;
3145 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
3147 if (ndr_flags & NDR_SCALARS) {
3148 NDR_CHECK(ndr_pull_align(ndr, 5));
3149 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3150 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
3151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
3152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
3153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
3155 if (ndr_flags & NDR_BUFFERS) {
3156 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3158 return NDR_ERR_SUCCESS;
3161 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
3163 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
3164 ndr->depth++;
3165 ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
3166 ndr_print_uint32(ndr, "unknown1", r->unknown1);
3167 ndr_print_uint32(ndr, "unknown2", r->unknown2);
3168 ndr_print_uint32(ndr, "unknown3", r->unknown3);
3169 ndr_print_uint32(ndr, "unknown4", r->unknown4);
3170 ndr->depth--;
3173 static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
3175 if (ndr_flags & NDR_SCALARS) {
3176 NDR_CHECK(ndr_push_align(ndr, 4));
3177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
3178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
3179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
3180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
3181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
3182 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
3184 if (ndr_flags & NDR_BUFFERS) {
3186 return NDR_ERR_SUCCESS;
3189 static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
3191 if (ndr_flags & NDR_SCALARS) {
3192 NDR_CHECK(ndr_pull_align(ndr, 4));
3193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
3194 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
3195 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
3196 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
3197 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
3198 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
3200 if (ndr_flags & NDR_BUFFERS) {
3202 return NDR_ERR_SUCCESS;
3205 _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
3207 ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
3208 ndr->depth++;
3209 ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
3210 ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
3211 ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
3212 ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
3213 ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
3214 ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
3215 ndr->depth--;
3218 static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
3220 uint32_t cntr_eventauditoptions_1;
3221 if (ndr_flags & NDR_SCALARS) {
3222 NDR_CHECK(ndr_push_align(ndr, 5));
3223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
3224 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
3225 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
3226 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
3227 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
3228 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3229 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3230 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3231 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
3232 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
3233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3234 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3235 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3236 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3237 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3238 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3244 if (ndr_flags & NDR_BUFFERS) {
3245 if (r->eventauditoptions) {
3246 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
3247 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
3251 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3252 if (r->sid) {
3253 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3255 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3256 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3257 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3258 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3259 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3261 return NDR_ERR_SUCCESS;
3264 static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3266 uint32_t _ptr_eventauditoptions;
3267 uint32_t cntr_eventauditoptions_1;
3268 TALLOC_CTX *_mem_save_eventauditoptions_0;
3269 TALLOC_CTX *_mem_save_eventauditoptions_1;
3270 uint32_t _ptr_sid;
3271 TALLOC_CTX *_mem_save_sid_0;
3272 if (ndr_flags & NDR_SCALARS) {
3273 NDR_CHECK(ndr_pull_align(ndr, 5));
3274 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3275 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3276 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3278 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3279 if (_ptr_eventauditoptions) {
3280 NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3281 } else {
3282 r->eventauditoptions = NULL;
3284 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3285 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3286 if (_ptr_sid) {
3287 NDR_PULL_ALLOC(ndr, r->sid);
3288 } else {
3289 r->sid = NULL;
3291 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3292 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3293 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3294 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3295 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3296 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3297 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3298 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3299 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3300 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3301 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3302 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3303 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3305 if (ndr_flags & NDR_BUFFERS) {
3306 if (r->eventauditoptions) {
3307 _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3308 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3309 NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3310 NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
3311 _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3312 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3313 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3314 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3319 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3320 if (r->sid) {
3321 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3322 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3323 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3324 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3326 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3327 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3328 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3329 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3330 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3331 if (r->eventauditoptions) {
3332 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3335 return NDR_ERR_SUCCESS;
3338 _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3340 uint32_t cntr_eventauditoptions_1;
3341 ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3342 ndr->depth++;
3343 ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3344 ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3345 ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3346 ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3347 ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3348 ndr->depth++;
3349 if (r->eventauditoptions) {
3350 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
3351 ndr->depth++;
3352 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3353 char *idx_1=NULL;
3354 if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3355 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3356 free(idx_1);
3359 ndr->depth--;
3361 ndr->depth--;
3362 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3363 ndr_print_ptr(ndr, "sid", r->sid);
3364 ndr->depth++;
3365 if (r->sid) {
3366 ndr_print_dom_sid2(ndr, "sid", r->sid);
3368 ndr->depth--;
3369 ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3370 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3371 ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3372 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3373 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3374 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3375 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3376 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3377 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3378 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3379 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3380 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3381 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3382 ndr->depth--;
3385 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)
3387 uint32_t cntr_controller_names_1;
3388 if (ndr_flags & NDR_SCALARS) {
3389 NDR_CHECK(ndr_push_align(ndr, 5));
3390 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3392 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3394 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3395 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3396 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3397 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3398 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3401 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3404 if (ndr_flags & NDR_BUFFERS) {
3405 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3406 if (r->controller_names) {
3407 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_controllers));
3408 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3409 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3411 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3412 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3415 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3416 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3417 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3418 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3419 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3421 return NDR_ERR_SUCCESS;
3424 static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3426 uint32_t _ptr_controller_names;
3427 uint32_t cntr_controller_names_1;
3428 TALLOC_CTX *_mem_save_controller_names_0;
3429 TALLOC_CTX *_mem_save_controller_names_1;
3430 if (ndr_flags & NDR_SCALARS) {
3431 NDR_CHECK(ndr_pull_align(ndr, 5));
3432 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3433 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3434 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3435 if (_ptr_controller_names) {
3436 NDR_PULL_ALLOC(ndr, r->controller_names);
3437 } else {
3438 r->controller_names = NULL;
3440 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3441 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3442 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3443 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3444 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3445 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3447 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3448 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3449 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3451 if (ndr_flags & NDR_BUFFERS) {
3452 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3453 if (r->controller_names) {
3454 _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3455 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3456 NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3457 NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
3458 _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3459 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3460 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3461 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3463 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3464 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3467 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3469 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3470 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3471 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3472 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3473 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3474 if (r->controller_names) {
3475 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3478 return NDR_ERR_SUCCESS;
3481 _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3483 uint32_t cntr_controller_names_1;
3484 ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3485 ndr->depth++;
3486 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3487 ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3488 ndr_print_ptr(ndr, "controller_names", r->controller_names);
3489 ndr->depth++;
3490 if (r->controller_names) {
3491 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
3492 ndr->depth++;
3493 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3494 char *idx_1=NULL;
3495 if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) {
3496 ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3497 free(idx_1);
3500 ndr->depth--;
3502 ndr->depth--;
3503 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3504 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3505 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3506 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3507 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3508 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3509 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3510 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3511 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3512 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3513 ndr->depth--;
3516 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)
3518 if (ndr_flags & NDR_SCALARS) {
3519 NDR_CHECK(ndr_push_align(ndr, 2));
3520 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3522 if (ndr_flags & NDR_BUFFERS) {
3524 return NDR_ERR_SUCCESS;
3527 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3529 if (ndr_flags & NDR_SCALARS) {
3530 NDR_CHECK(ndr_pull_align(ndr, 2));
3531 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3533 if (ndr_flags & NDR_BUFFERS) {
3535 return NDR_ERR_SUCCESS;
3538 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3540 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3541 ndr->depth++;
3542 ndr_print_uint16(ndr, "unknown", r->unknown);
3543 ndr->depth--;
3546 static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3548 uint32_t cntr_privilege_attrib_1;
3549 uint32_t cntr_privilege_name_1;
3550 if (ndr_flags & NDR_SCALARS) {
3551 NDR_CHECK(ndr_push_align(ndr, 5));
3552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3553 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3554 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3555 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3556 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3557 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3558 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3559 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3560 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3561 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3562 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3563 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3569 if (ndr_flags & NDR_BUFFERS) {
3570 if (r->privilege_attrib) {
3571 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->privilege_entries));
3572 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3576 if (r->privilege_name) {
3577 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->privilege_entries));
3578 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3579 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3581 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3582 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3585 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3586 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3587 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3588 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3589 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3591 return NDR_ERR_SUCCESS;
3594 static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3596 uint32_t _ptr_privilege_attrib;
3597 uint32_t cntr_privilege_attrib_1;
3598 TALLOC_CTX *_mem_save_privilege_attrib_0;
3599 TALLOC_CTX *_mem_save_privilege_attrib_1;
3600 uint32_t _ptr_privilege_name;
3601 uint32_t cntr_privilege_name_1;
3602 TALLOC_CTX *_mem_save_privilege_name_0;
3603 TALLOC_CTX *_mem_save_privilege_name_1;
3604 if (ndr_flags & NDR_SCALARS) {
3605 NDR_CHECK(ndr_pull_align(ndr, 5));
3606 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3607 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3608 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3609 if (_ptr_privilege_attrib) {
3610 NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3611 } else {
3612 r->privilege_attrib = NULL;
3614 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3615 if (_ptr_privilege_name) {
3616 NDR_PULL_ALLOC(ndr, r->privilege_name);
3617 } else {
3618 r->privilege_name = NULL;
3620 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3621 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3622 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3623 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3624 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3625 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3626 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3627 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3628 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3629 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3630 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3631 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3633 if (ndr_flags & NDR_BUFFERS) {
3634 if (r->privilege_attrib) {
3635 _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3636 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3637 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3638 NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
3639 _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3640 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3641 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3642 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3645 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3647 if (r->privilege_name) {
3648 _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3649 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3650 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3651 NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
3652 _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3653 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3654 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3655 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3657 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3658 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3661 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3663 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3664 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3665 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3666 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3667 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3668 if (r->privilege_attrib) {
3669 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3671 if (r->privilege_name) {
3672 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3675 return NDR_ERR_SUCCESS;
3678 _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3680 uint32_t cntr_privilege_attrib_1;
3681 uint32_t cntr_privilege_name_1;
3682 ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3683 ndr->depth++;
3684 ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3685 ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3686 ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3687 ndr->depth++;
3688 if (r->privilege_attrib) {
3689 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
3690 ndr->depth++;
3691 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3692 char *idx_1=NULL;
3693 if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) {
3694 ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3695 free(idx_1);
3698 ndr->depth--;
3700 ndr->depth--;
3701 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3702 ndr->depth++;
3703 if (r->privilege_name) {
3704 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
3705 ndr->depth++;
3706 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3707 char *idx_1=NULL;
3708 if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) {
3709 ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3710 free(idx_1);
3713 ndr->depth--;
3715 ndr->depth--;
3716 ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3717 ndr_print_uint32(ndr, "system_flags", r->system_flags);
3718 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3719 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3720 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3721 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3722 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3723 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3724 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3725 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3726 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3727 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3728 ndr->depth--;
3731 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)
3733 if (ndr_flags & NDR_SCALARS) {
3734 NDR_CHECK(ndr_push_align(ndr, 2));
3735 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3737 if (ndr_flags & NDR_BUFFERS) {
3739 return NDR_ERR_SUCCESS;
3742 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3744 if (ndr_flags & NDR_SCALARS) {
3745 NDR_CHECK(ndr_pull_align(ndr, 2));
3746 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3748 if (ndr_flags & NDR_BUFFERS) {
3750 return NDR_ERR_SUCCESS;
3753 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3755 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3756 ndr->depth++;
3757 ndr_print_uint16(ndr, "unknown", r->unknown);
3758 ndr->depth--;
3761 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)
3763 if (ndr_flags & NDR_SCALARS) {
3764 NDR_CHECK(ndr_push_align(ndr, 2));
3765 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3767 if (ndr_flags & NDR_BUFFERS) {
3769 return NDR_ERR_SUCCESS;
3772 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3774 if (ndr_flags & NDR_SCALARS) {
3775 NDR_CHECK(ndr_pull_align(ndr, 2));
3776 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3778 if (ndr_flags & NDR_BUFFERS) {
3780 return NDR_ERR_SUCCESS;
3783 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3785 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3786 ndr->depth++;
3787 ndr_print_uint16(ndr, "unknown", r->unknown);
3788 ndr->depth--;
3791 static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3793 if (ndr_flags & NDR_SCALARS) {
3794 NDR_CHECK(ndr_push_align(ndr, 5));
3795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3797 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3799 if (ndr_flags & NDR_BUFFERS) {
3800 if (r->cipher_data) {
3801 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->maxlen));
3802 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3803 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len));
3804 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3807 return NDR_ERR_SUCCESS;
3810 static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3812 uint32_t _ptr_cipher_data;
3813 TALLOC_CTX *_mem_save_cipher_data_0;
3814 if (ndr_flags & NDR_SCALARS) {
3815 NDR_CHECK(ndr_pull_align(ndr, 5));
3816 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3817 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3818 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3819 if (_ptr_cipher_data) {
3820 NDR_PULL_ALLOC(ndr, r->cipher_data);
3821 } else {
3822 r->cipher_data = NULL;
3825 if (ndr_flags & NDR_BUFFERS) {
3826 if (r->cipher_data) {
3827 _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3828 NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3829 NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3830 NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3831 if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
3832 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));
3834 NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
3835 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
3836 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3838 if (r->cipher_data) {
3839 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3841 if (r->cipher_data) {
3842 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3845 return NDR_ERR_SUCCESS;
3848 _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3850 ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3851 ndr->depth++;
3852 ndr_print_uint32(ndr, "len", r->len);
3853 ndr_print_uint32(ndr, "maxlen", r->maxlen);
3854 ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3855 ndr->depth++;
3856 if (r->cipher_data) {
3857 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3859 ndr->depth--;
3860 ndr->depth--;
3863 static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3865 if (ndr_flags & NDR_SCALARS) {
3866 NDR_CHECK(ndr_push_align(ndr, 5));
3867 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3868 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3869 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3870 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3871 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3872 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3873 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3874 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3875 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3876 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3878 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3880 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3882 if (ndr_flags & NDR_BUFFERS) {
3883 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3884 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3885 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3886 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3887 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3888 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3889 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3891 return NDR_ERR_SUCCESS;
3894 static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3896 if (ndr_flags & NDR_SCALARS) {
3897 NDR_CHECK(ndr_pull_align(ndr, 5));
3898 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3899 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3900 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3901 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3902 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3903 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3904 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3905 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3906 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3907 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3908 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3909 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3910 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3911 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3913 if (ndr_flags & NDR_BUFFERS) {
3914 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3915 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3916 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3917 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3918 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3919 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3920 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3922 return NDR_ERR_SUCCESS;
3925 _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
3927 ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
3928 ndr->depth++;
3929 ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
3930 ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
3931 ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
3932 ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
3933 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3934 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3935 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3936 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3937 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3938 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3939 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3940 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3941 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3942 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3943 ndr->depth--;
3946 static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
3948 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
3949 return NDR_ERR_SUCCESS;
3952 static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
3954 uint16_t v;
3955 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
3956 *r = v;
3957 return NDR_ERR_SUCCESS;
3960 _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
3962 const char *val = NULL;
3964 switch (r) {
3965 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
3966 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
3967 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
3968 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
3969 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
3970 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
3971 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
3972 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
3973 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
3974 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
3975 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
3976 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
3977 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
3978 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
3979 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
3980 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
3981 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
3982 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
3983 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
3984 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
3985 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
3986 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
3988 ndr_print_enum(ndr, name, "ENUM", val, r);
3991 static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
3993 if (ndr_flags & NDR_SCALARS) {
3994 int level = ndr_push_get_switch_value(ndr, r);
3995 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
3996 NDR_CHECK(ndr_push_union_align(ndr, 5));
3997 switch (level) {
3998 case NETR_DELTA_DOMAIN: {
3999 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4000 break; }
4002 case NETR_DELTA_GROUP: {
4003 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
4004 break; }
4006 case NETR_DELTA_DELETE_GROUP: {
4007 break; }
4009 case NETR_DELTA_RENAME_GROUP: {
4010 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
4011 break; }
4013 case NETR_DELTA_USER: {
4014 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
4015 break; }
4017 case NETR_DELTA_DELETE_USER: {
4018 break; }
4020 case NETR_DELTA_RENAME_USER: {
4021 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
4022 break; }
4024 case NETR_DELTA_GROUP_MEMBER: {
4025 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
4026 break; }
4028 case NETR_DELTA_ALIAS: {
4029 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
4030 break; }
4032 case NETR_DELTA_DELETE_ALIAS: {
4033 break; }
4035 case NETR_DELTA_RENAME_ALIAS: {
4036 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
4037 break; }
4039 case NETR_DELTA_ALIAS_MEMBER: {
4040 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
4041 break; }
4043 case NETR_DELTA_POLICY: {
4044 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
4045 break; }
4047 case NETR_DELTA_TRUSTED_DOMAIN: {
4048 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
4049 break; }
4051 case NETR_DELTA_DELETE_TRUST: {
4052 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4053 break; }
4055 case NETR_DELTA_ACCOUNT: {
4056 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
4057 break; }
4059 case NETR_DELTA_DELETE_ACCOUNT: {
4060 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4061 break; }
4063 case NETR_DELTA_SECRET: {
4064 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
4065 break; }
4067 case NETR_DELTA_DELETE_SECRET: {
4068 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4069 break; }
4071 case NETR_DELTA_DELETE_GROUP2: {
4072 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
4073 break; }
4075 case NETR_DELTA_DELETE_USER2: {
4076 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
4077 break; }
4079 case NETR_DELTA_MODIFY_COUNT: {
4080 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
4081 break; }
4083 default:
4084 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4087 if (ndr_flags & NDR_BUFFERS) {
4088 int level = ndr_push_get_switch_value(ndr, r);
4089 switch (level) {
4090 case NETR_DELTA_DOMAIN:
4091 if (r->domain) {
4092 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4094 break;
4096 case NETR_DELTA_GROUP:
4097 if (r->group) {
4098 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4100 break;
4102 case NETR_DELTA_DELETE_GROUP:
4103 break;
4105 case NETR_DELTA_RENAME_GROUP:
4106 if (r->rename_group) {
4107 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4109 break;
4111 case NETR_DELTA_USER:
4112 if (r->user) {
4113 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4115 break;
4117 case NETR_DELTA_DELETE_USER:
4118 break;
4120 case NETR_DELTA_RENAME_USER:
4121 if (r->rename_user) {
4122 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4124 break;
4126 case NETR_DELTA_GROUP_MEMBER:
4127 if (r->group_member) {
4128 NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4130 break;
4132 case NETR_DELTA_ALIAS:
4133 if (r->alias) {
4134 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4136 break;
4138 case NETR_DELTA_DELETE_ALIAS:
4139 break;
4141 case NETR_DELTA_RENAME_ALIAS:
4142 if (r->rename_alias) {
4143 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4145 break;
4147 case NETR_DELTA_ALIAS_MEMBER:
4148 if (r->alias_member) {
4149 NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4151 break;
4153 case NETR_DELTA_POLICY:
4154 if (r->policy) {
4155 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4157 break;
4159 case NETR_DELTA_TRUSTED_DOMAIN:
4160 if (r->trusted_domain) {
4161 NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4163 break;
4165 case NETR_DELTA_DELETE_TRUST:
4166 break;
4168 case NETR_DELTA_ACCOUNT:
4169 if (r->account) {
4170 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4172 break;
4174 case NETR_DELTA_DELETE_ACCOUNT:
4175 break;
4177 case NETR_DELTA_SECRET:
4178 if (r->secret) {
4179 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4181 break;
4183 case NETR_DELTA_DELETE_SECRET:
4184 break;
4186 case NETR_DELTA_DELETE_GROUP2:
4187 if (r->delete_group) {
4188 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4190 break;
4192 case NETR_DELTA_DELETE_USER2:
4193 if (r->delete_user) {
4194 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4196 break;
4198 case NETR_DELTA_MODIFY_COUNT:
4199 if (r->modified_count) {
4200 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
4202 break;
4204 default:
4205 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4208 return NDR_ERR_SUCCESS;
4211 static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
4213 int level;
4214 uint16_t _level;
4215 TALLOC_CTX *_mem_save_domain_0;
4216 TALLOC_CTX *_mem_save_group_0;
4217 TALLOC_CTX *_mem_save_rename_group_0;
4218 TALLOC_CTX *_mem_save_user_0;
4219 TALLOC_CTX *_mem_save_rename_user_0;
4220 TALLOC_CTX *_mem_save_group_member_0;
4221 TALLOC_CTX *_mem_save_alias_0;
4222 TALLOC_CTX *_mem_save_rename_alias_0;
4223 TALLOC_CTX *_mem_save_alias_member_0;
4224 TALLOC_CTX *_mem_save_policy_0;
4225 TALLOC_CTX *_mem_save_trusted_domain_0;
4226 TALLOC_CTX *_mem_save_account_0;
4227 TALLOC_CTX *_mem_save_secret_0;
4228 TALLOC_CTX *_mem_save_delete_group_0;
4229 TALLOC_CTX *_mem_save_delete_user_0;
4230 TALLOC_CTX *_mem_save_modified_count_0;
4231 level = ndr_pull_get_switch_value(ndr, r);
4232 if (ndr_flags & NDR_SCALARS) {
4233 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4234 if (_level != level) {
4235 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4237 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4238 switch (level) {
4239 case NETR_DELTA_DOMAIN: {
4240 uint32_t _ptr_domain;
4241 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4242 if (_ptr_domain) {
4243 NDR_PULL_ALLOC(ndr, r->domain);
4244 } else {
4245 r->domain = NULL;
4247 break; }
4249 case NETR_DELTA_GROUP: {
4250 uint32_t _ptr_group;
4251 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
4252 if (_ptr_group) {
4253 NDR_PULL_ALLOC(ndr, r->group);
4254 } else {
4255 r->group = NULL;
4257 break; }
4259 case NETR_DELTA_DELETE_GROUP: {
4260 break; }
4262 case NETR_DELTA_RENAME_GROUP: {
4263 uint32_t _ptr_rename_group;
4264 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4265 if (_ptr_rename_group) {
4266 NDR_PULL_ALLOC(ndr, r->rename_group);
4267 } else {
4268 r->rename_group = NULL;
4270 break; }
4272 case NETR_DELTA_USER: {
4273 uint32_t _ptr_user;
4274 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4275 if (_ptr_user) {
4276 NDR_PULL_ALLOC(ndr, r->user);
4277 } else {
4278 r->user = NULL;
4280 break; }
4282 case NETR_DELTA_DELETE_USER: {
4283 break; }
4285 case NETR_DELTA_RENAME_USER: {
4286 uint32_t _ptr_rename_user;
4287 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4288 if (_ptr_rename_user) {
4289 NDR_PULL_ALLOC(ndr, r->rename_user);
4290 } else {
4291 r->rename_user = NULL;
4293 break; }
4295 case NETR_DELTA_GROUP_MEMBER: {
4296 uint32_t _ptr_group_member;
4297 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4298 if (_ptr_group_member) {
4299 NDR_PULL_ALLOC(ndr, r->group_member);
4300 } else {
4301 r->group_member = NULL;
4303 break; }
4305 case NETR_DELTA_ALIAS: {
4306 uint32_t _ptr_alias;
4307 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4308 if (_ptr_alias) {
4309 NDR_PULL_ALLOC(ndr, r->alias);
4310 } else {
4311 r->alias = NULL;
4313 break; }
4315 case NETR_DELTA_DELETE_ALIAS: {
4316 break; }
4318 case NETR_DELTA_RENAME_ALIAS: {
4319 uint32_t _ptr_rename_alias;
4320 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4321 if (_ptr_rename_alias) {
4322 NDR_PULL_ALLOC(ndr, r->rename_alias);
4323 } else {
4324 r->rename_alias = NULL;
4326 break; }
4328 case NETR_DELTA_ALIAS_MEMBER: {
4329 uint32_t _ptr_alias_member;
4330 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4331 if (_ptr_alias_member) {
4332 NDR_PULL_ALLOC(ndr, r->alias_member);
4333 } else {
4334 r->alias_member = NULL;
4336 break; }
4338 case NETR_DELTA_POLICY: {
4339 uint32_t _ptr_policy;
4340 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4341 if (_ptr_policy) {
4342 NDR_PULL_ALLOC(ndr, r->policy);
4343 } else {
4344 r->policy = NULL;
4346 break; }
4348 case NETR_DELTA_TRUSTED_DOMAIN: {
4349 uint32_t _ptr_trusted_domain;
4350 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4351 if (_ptr_trusted_domain) {
4352 NDR_PULL_ALLOC(ndr, r->trusted_domain);
4353 } else {
4354 r->trusted_domain = NULL;
4356 break; }
4358 case NETR_DELTA_DELETE_TRUST: {
4359 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4360 break; }
4362 case NETR_DELTA_ACCOUNT: {
4363 uint32_t _ptr_account;
4364 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4365 if (_ptr_account) {
4366 NDR_PULL_ALLOC(ndr, r->account);
4367 } else {
4368 r->account = NULL;
4370 break; }
4372 case NETR_DELTA_DELETE_ACCOUNT: {
4373 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4374 break; }
4376 case NETR_DELTA_SECRET: {
4377 uint32_t _ptr_secret;
4378 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4379 if (_ptr_secret) {
4380 NDR_PULL_ALLOC(ndr, r->secret);
4381 } else {
4382 r->secret = NULL;
4384 break; }
4386 case NETR_DELTA_DELETE_SECRET: {
4387 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4388 break; }
4390 case NETR_DELTA_DELETE_GROUP2: {
4391 uint32_t _ptr_delete_group;
4392 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4393 if (_ptr_delete_group) {
4394 NDR_PULL_ALLOC(ndr, r->delete_group);
4395 } else {
4396 r->delete_group = NULL;
4398 break; }
4400 case NETR_DELTA_DELETE_USER2: {
4401 uint32_t _ptr_delete_user;
4402 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4403 if (_ptr_delete_user) {
4404 NDR_PULL_ALLOC(ndr, r->delete_user);
4405 } else {
4406 r->delete_user = NULL;
4408 break; }
4410 case NETR_DELTA_MODIFY_COUNT: {
4411 uint32_t _ptr_modified_count;
4412 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4413 if (_ptr_modified_count) {
4414 NDR_PULL_ALLOC(ndr, r->modified_count);
4415 } else {
4416 r->modified_count = NULL;
4418 break; }
4420 default:
4421 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4424 if (ndr_flags & NDR_BUFFERS) {
4425 switch (level) {
4426 case NETR_DELTA_DOMAIN:
4427 if (r->domain) {
4428 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4429 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4430 NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4431 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4433 break;
4435 case NETR_DELTA_GROUP:
4436 if (r->group) {
4437 _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4438 NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4439 NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4440 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4442 break;
4444 case NETR_DELTA_DELETE_GROUP:
4445 break;
4447 case NETR_DELTA_RENAME_GROUP:
4448 if (r->rename_group) {
4449 _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4450 NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4451 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4452 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4454 break;
4456 case NETR_DELTA_USER:
4457 if (r->user) {
4458 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4459 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4460 NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4463 break;
4465 case NETR_DELTA_DELETE_USER:
4466 break;
4468 case NETR_DELTA_RENAME_USER:
4469 if (r->rename_user) {
4470 _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4471 NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4472 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4473 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4475 break;
4477 case NETR_DELTA_GROUP_MEMBER:
4478 if (r->group_member) {
4479 _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4480 NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4481 NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4484 break;
4486 case NETR_DELTA_ALIAS:
4487 if (r->alias) {
4488 _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4489 NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4490 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4491 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4493 break;
4495 case NETR_DELTA_DELETE_ALIAS:
4496 break;
4498 case NETR_DELTA_RENAME_ALIAS:
4499 if (r->rename_alias) {
4500 _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4501 NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4502 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4503 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4505 break;
4507 case NETR_DELTA_ALIAS_MEMBER:
4508 if (r->alias_member) {
4509 _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4510 NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4511 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4514 break;
4516 case NETR_DELTA_POLICY:
4517 if (r->policy) {
4518 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4519 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4520 NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4523 break;
4525 case NETR_DELTA_TRUSTED_DOMAIN:
4526 if (r->trusted_domain) {
4527 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4528 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4529 NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4532 break;
4534 case NETR_DELTA_DELETE_TRUST:
4535 break;
4537 case NETR_DELTA_ACCOUNT:
4538 if (r->account) {
4539 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4540 NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4541 NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4542 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4544 break;
4546 case NETR_DELTA_DELETE_ACCOUNT:
4547 break;
4549 case NETR_DELTA_SECRET:
4550 if (r->secret) {
4551 _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4552 NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4553 NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4556 break;
4558 case NETR_DELTA_DELETE_SECRET:
4559 break;
4561 case NETR_DELTA_DELETE_GROUP2:
4562 if (r->delete_group) {
4563 _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4564 NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4565 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4566 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4568 break;
4570 case NETR_DELTA_DELETE_USER2:
4571 if (r->delete_user) {
4572 _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4573 NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4574 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4577 break;
4579 case NETR_DELTA_MODIFY_COUNT:
4580 if (r->modified_count) {
4581 _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4582 NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4583 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4586 break;
4588 default:
4589 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4592 return NDR_ERR_SUCCESS;
4595 _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4597 int level;
4598 level = ndr_print_get_switch_value(ndr, r);
4599 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4600 switch (level) {
4601 case NETR_DELTA_DOMAIN:
4602 ndr_print_ptr(ndr, "domain", r->domain);
4603 ndr->depth++;
4604 if (r->domain) {
4605 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4607 ndr->depth--;
4608 break;
4610 case NETR_DELTA_GROUP:
4611 ndr_print_ptr(ndr, "group", r->group);
4612 ndr->depth++;
4613 if (r->group) {
4614 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4616 ndr->depth--;
4617 break;
4619 case NETR_DELTA_DELETE_GROUP:
4620 break;
4622 case NETR_DELTA_RENAME_GROUP:
4623 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4624 ndr->depth++;
4625 if (r->rename_group) {
4626 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4628 ndr->depth--;
4629 break;
4631 case NETR_DELTA_USER:
4632 ndr_print_ptr(ndr, "user", r->user);
4633 ndr->depth++;
4634 if (r->user) {
4635 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4637 ndr->depth--;
4638 break;
4640 case NETR_DELTA_DELETE_USER:
4641 break;
4643 case NETR_DELTA_RENAME_USER:
4644 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4645 ndr->depth++;
4646 if (r->rename_user) {
4647 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4649 ndr->depth--;
4650 break;
4652 case NETR_DELTA_GROUP_MEMBER:
4653 ndr_print_ptr(ndr, "group_member", r->group_member);
4654 ndr->depth++;
4655 if (r->group_member) {
4656 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4658 ndr->depth--;
4659 break;
4661 case NETR_DELTA_ALIAS:
4662 ndr_print_ptr(ndr, "alias", r->alias);
4663 ndr->depth++;
4664 if (r->alias) {
4665 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4667 ndr->depth--;
4668 break;
4670 case NETR_DELTA_DELETE_ALIAS:
4671 break;
4673 case NETR_DELTA_RENAME_ALIAS:
4674 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4675 ndr->depth++;
4676 if (r->rename_alias) {
4677 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4679 ndr->depth--;
4680 break;
4682 case NETR_DELTA_ALIAS_MEMBER:
4683 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4684 ndr->depth++;
4685 if (r->alias_member) {
4686 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4688 ndr->depth--;
4689 break;
4691 case NETR_DELTA_POLICY:
4692 ndr_print_ptr(ndr, "policy", r->policy);
4693 ndr->depth++;
4694 if (r->policy) {
4695 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4697 ndr->depth--;
4698 break;
4700 case NETR_DELTA_TRUSTED_DOMAIN:
4701 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4702 ndr->depth++;
4703 if (r->trusted_domain) {
4704 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4706 ndr->depth--;
4707 break;
4709 case NETR_DELTA_DELETE_TRUST:
4710 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4711 break;
4713 case NETR_DELTA_ACCOUNT:
4714 ndr_print_ptr(ndr, "account", r->account);
4715 ndr->depth++;
4716 if (r->account) {
4717 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4719 ndr->depth--;
4720 break;
4722 case NETR_DELTA_DELETE_ACCOUNT:
4723 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4724 break;
4726 case NETR_DELTA_SECRET:
4727 ndr_print_ptr(ndr, "secret", r->secret);
4728 ndr->depth++;
4729 if (r->secret) {
4730 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4732 ndr->depth--;
4733 break;
4735 case NETR_DELTA_DELETE_SECRET:
4736 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4737 break;
4739 case NETR_DELTA_DELETE_GROUP2:
4740 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4741 ndr->depth++;
4742 if (r->delete_group) {
4743 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4745 ndr->depth--;
4746 break;
4748 case NETR_DELTA_DELETE_USER2:
4749 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4750 ndr->depth++;
4751 if (r->delete_user) {
4752 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4754 ndr->depth--;
4755 break;
4757 case NETR_DELTA_MODIFY_COUNT:
4758 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4759 ndr->depth++;
4760 if (r->modified_count) {
4761 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4763 ndr->depth--;
4764 break;
4766 default:
4767 ndr_print_bad_level(ndr, name, level);
4771 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)
4773 if (ndr_flags & NDR_SCALARS) {
4774 int level = ndr_push_get_switch_value(ndr, r);
4775 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4776 NDR_CHECK(ndr_push_union_align(ndr, 5));
4777 switch (level) {
4778 case NETR_DELTA_DOMAIN: {
4779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4780 break; }
4782 case NETR_DELTA_GROUP: {
4783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4784 break; }
4786 case NETR_DELTA_DELETE_GROUP: {
4787 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4788 break; }
4790 case NETR_DELTA_RENAME_GROUP: {
4791 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4792 break; }
4794 case NETR_DELTA_USER: {
4795 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4796 break; }
4798 case NETR_DELTA_DELETE_USER: {
4799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4800 break; }
4802 case NETR_DELTA_RENAME_USER: {
4803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4804 break; }
4806 case NETR_DELTA_GROUP_MEMBER: {
4807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4808 break; }
4810 case NETR_DELTA_ALIAS: {
4811 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4812 break; }
4814 case NETR_DELTA_DELETE_ALIAS: {
4815 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4816 break; }
4818 case NETR_DELTA_RENAME_ALIAS: {
4819 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4820 break; }
4822 case NETR_DELTA_ALIAS_MEMBER: {
4823 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4824 break; }
4826 case NETR_DELTA_POLICY: {
4827 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4828 break; }
4830 case NETR_DELTA_TRUSTED_DOMAIN: {
4831 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4832 break; }
4834 case NETR_DELTA_DELETE_TRUST: {
4835 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4836 break; }
4838 case NETR_DELTA_ACCOUNT: {
4839 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4840 break; }
4842 case NETR_DELTA_DELETE_ACCOUNT: {
4843 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4844 break; }
4846 case NETR_DELTA_SECRET: {
4847 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4848 break; }
4850 case NETR_DELTA_DELETE_SECRET: {
4851 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4852 break; }
4854 case NETR_DELTA_DELETE_GROUP2: {
4855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4856 break; }
4858 case NETR_DELTA_DELETE_USER2: {
4859 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4860 break; }
4862 case NETR_DELTA_MODIFY_COUNT: {
4863 break; }
4865 default:
4866 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4869 if (ndr_flags & NDR_BUFFERS) {
4870 int level = ndr_push_get_switch_value(ndr, r);
4871 switch (level) {
4872 case NETR_DELTA_DOMAIN:
4873 break;
4875 case NETR_DELTA_GROUP:
4876 break;
4878 case NETR_DELTA_DELETE_GROUP:
4879 break;
4881 case NETR_DELTA_RENAME_GROUP:
4882 break;
4884 case NETR_DELTA_USER:
4885 break;
4887 case NETR_DELTA_DELETE_USER:
4888 break;
4890 case NETR_DELTA_RENAME_USER:
4891 break;
4893 case NETR_DELTA_GROUP_MEMBER:
4894 break;
4896 case NETR_DELTA_ALIAS:
4897 break;
4899 case NETR_DELTA_DELETE_ALIAS:
4900 break;
4902 case NETR_DELTA_RENAME_ALIAS:
4903 break;
4905 case NETR_DELTA_ALIAS_MEMBER:
4906 break;
4908 case NETR_DELTA_POLICY:
4909 if (r->sid) {
4910 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4912 break;
4914 case NETR_DELTA_TRUSTED_DOMAIN:
4915 if (r->sid) {
4916 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4918 break;
4920 case NETR_DELTA_DELETE_TRUST:
4921 if (r->sid) {
4922 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4924 break;
4926 case NETR_DELTA_ACCOUNT:
4927 if (r->sid) {
4928 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4930 break;
4932 case NETR_DELTA_DELETE_ACCOUNT:
4933 if (r->sid) {
4934 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4936 break;
4938 case NETR_DELTA_SECRET:
4939 if (r->name) {
4940 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4941 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4942 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4943 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4945 break;
4947 case NETR_DELTA_DELETE_SECRET:
4948 if (r->name) {
4949 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4950 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
4951 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4952 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4954 break;
4956 case NETR_DELTA_DELETE_GROUP2:
4957 break;
4959 case NETR_DELTA_DELETE_USER2:
4960 break;
4962 case NETR_DELTA_MODIFY_COUNT:
4963 break;
4965 default:
4966 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4969 return NDR_ERR_SUCCESS;
4972 static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
4974 int level;
4975 uint16_t _level;
4976 TALLOC_CTX *_mem_save_sid_0;
4977 TALLOC_CTX *_mem_save_name_0;
4978 level = ndr_pull_get_switch_value(ndr, r);
4979 if (ndr_flags & NDR_SCALARS) {
4980 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4981 if (_level != level) {
4982 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4984 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4985 switch (level) {
4986 case NETR_DELTA_DOMAIN: {
4987 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4988 break; }
4990 case NETR_DELTA_GROUP: {
4991 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4992 break; }
4994 case NETR_DELTA_DELETE_GROUP: {
4995 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4996 break; }
4998 case NETR_DELTA_RENAME_GROUP: {
4999 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5000 break; }
5002 case NETR_DELTA_USER: {
5003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5004 break; }
5006 case NETR_DELTA_DELETE_USER: {
5007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5008 break; }
5010 case NETR_DELTA_RENAME_USER: {
5011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5012 break; }
5014 case NETR_DELTA_GROUP_MEMBER: {
5015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5016 break; }
5018 case NETR_DELTA_ALIAS: {
5019 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5020 break; }
5022 case NETR_DELTA_DELETE_ALIAS: {
5023 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5024 break; }
5026 case NETR_DELTA_RENAME_ALIAS: {
5027 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5028 break; }
5030 case NETR_DELTA_ALIAS_MEMBER: {
5031 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5032 break; }
5034 case NETR_DELTA_POLICY: {
5035 uint32_t _ptr_sid;
5036 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5037 if (_ptr_sid) {
5038 NDR_PULL_ALLOC(ndr, r->sid);
5039 } else {
5040 r->sid = NULL;
5042 break; }
5044 case NETR_DELTA_TRUSTED_DOMAIN: {
5045 uint32_t _ptr_sid;
5046 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5047 if (_ptr_sid) {
5048 NDR_PULL_ALLOC(ndr, r->sid);
5049 } else {
5050 r->sid = NULL;
5052 break; }
5054 case NETR_DELTA_DELETE_TRUST: {
5055 uint32_t _ptr_sid;
5056 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5057 if (_ptr_sid) {
5058 NDR_PULL_ALLOC(ndr, r->sid);
5059 } else {
5060 r->sid = NULL;
5062 break; }
5064 case NETR_DELTA_ACCOUNT: {
5065 uint32_t _ptr_sid;
5066 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5067 if (_ptr_sid) {
5068 NDR_PULL_ALLOC(ndr, r->sid);
5069 } else {
5070 r->sid = NULL;
5072 break; }
5074 case NETR_DELTA_DELETE_ACCOUNT: {
5075 uint32_t _ptr_sid;
5076 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5077 if (_ptr_sid) {
5078 NDR_PULL_ALLOC(ndr, r->sid);
5079 } else {
5080 r->sid = NULL;
5082 break; }
5084 case NETR_DELTA_SECRET: {
5085 uint32_t _ptr_name;
5086 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5087 if (_ptr_name) {
5088 NDR_PULL_ALLOC(ndr, r->name);
5089 } else {
5090 r->name = NULL;
5092 break; }
5094 case NETR_DELTA_DELETE_SECRET: {
5095 uint32_t _ptr_name;
5096 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5097 if (_ptr_name) {
5098 NDR_PULL_ALLOC(ndr, r->name);
5099 } else {
5100 r->name = NULL;
5102 break; }
5104 case NETR_DELTA_DELETE_GROUP2: {
5105 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5106 break; }
5108 case NETR_DELTA_DELETE_USER2: {
5109 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5110 break; }
5112 case NETR_DELTA_MODIFY_COUNT: {
5113 break; }
5115 default:
5116 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5119 if (ndr_flags & NDR_BUFFERS) {
5120 switch (level) {
5121 case NETR_DELTA_DOMAIN:
5122 break;
5124 case NETR_DELTA_GROUP:
5125 break;
5127 case NETR_DELTA_DELETE_GROUP:
5128 break;
5130 case NETR_DELTA_RENAME_GROUP:
5131 break;
5133 case NETR_DELTA_USER:
5134 break;
5136 case NETR_DELTA_DELETE_USER:
5137 break;
5139 case NETR_DELTA_RENAME_USER:
5140 break;
5142 case NETR_DELTA_GROUP_MEMBER:
5143 break;
5145 case NETR_DELTA_ALIAS:
5146 break;
5148 case NETR_DELTA_DELETE_ALIAS:
5149 break;
5151 case NETR_DELTA_RENAME_ALIAS:
5152 break;
5154 case NETR_DELTA_ALIAS_MEMBER:
5155 break;
5157 case NETR_DELTA_POLICY:
5158 if (r->sid) {
5159 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5160 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5161 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5164 break;
5166 case NETR_DELTA_TRUSTED_DOMAIN:
5167 if (r->sid) {
5168 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5169 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5170 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5173 break;
5175 case NETR_DELTA_DELETE_TRUST:
5176 if (r->sid) {
5177 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5178 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5179 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5180 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5182 break;
5184 case NETR_DELTA_ACCOUNT:
5185 if (r->sid) {
5186 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5187 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5188 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5191 break;
5193 case NETR_DELTA_DELETE_ACCOUNT:
5194 if (r->sid) {
5195 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5196 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5197 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5200 break;
5202 case NETR_DELTA_SECRET:
5203 if (r->name) {
5204 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5205 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5206 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5207 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5208 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5209 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));
5211 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5212 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5213 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5215 break;
5217 case NETR_DELTA_DELETE_SECRET:
5218 if (r->name) {
5219 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5220 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5221 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5222 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5223 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5224 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));
5226 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5227 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5228 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5230 break;
5232 case NETR_DELTA_DELETE_GROUP2:
5233 break;
5235 case NETR_DELTA_DELETE_USER2:
5236 break;
5238 case NETR_DELTA_MODIFY_COUNT:
5239 break;
5241 default:
5242 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5245 return NDR_ERR_SUCCESS;
5248 _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
5250 int level;
5251 level = ndr_print_get_switch_value(ndr, r);
5252 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
5253 switch (level) {
5254 case NETR_DELTA_DOMAIN:
5255 ndr_print_uint32(ndr, "rid", r->rid);
5256 break;
5258 case NETR_DELTA_GROUP:
5259 ndr_print_uint32(ndr, "rid", r->rid);
5260 break;
5262 case NETR_DELTA_DELETE_GROUP:
5263 ndr_print_uint32(ndr, "rid", r->rid);
5264 break;
5266 case NETR_DELTA_RENAME_GROUP:
5267 ndr_print_uint32(ndr, "rid", r->rid);
5268 break;
5270 case NETR_DELTA_USER:
5271 ndr_print_uint32(ndr, "rid", r->rid);
5272 break;
5274 case NETR_DELTA_DELETE_USER:
5275 ndr_print_uint32(ndr, "rid", r->rid);
5276 break;
5278 case NETR_DELTA_RENAME_USER:
5279 ndr_print_uint32(ndr, "rid", r->rid);
5280 break;
5282 case NETR_DELTA_GROUP_MEMBER:
5283 ndr_print_uint32(ndr, "rid", r->rid);
5284 break;
5286 case NETR_DELTA_ALIAS:
5287 ndr_print_uint32(ndr, "rid", r->rid);
5288 break;
5290 case NETR_DELTA_DELETE_ALIAS:
5291 ndr_print_uint32(ndr, "rid", r->rid);
5292 break;
5294 case NETR_DELTA_RENAME_ALIAS:
5295 ndr_print_uint32(ndr, "rid", r->rid);
5296 break;
5298 case NETR_DELTA_ALIAS_MEMBER:
5299 ndr_print_uint32(ndr, "rid", r->rid);
5300 break;
5302 case NETR_DELTA_POLICY:
5303 ndr_print_ptr(ndr, "sid", r->sid);
5304 ndr->depth++;
5305 if (r->sid) {
5306 ndr_print_dom_sid2(ndr, "sid", r->sid);
5308 ndr->depth--;
5309 break;
5311 case NETR_DELTA_TRUSTED_DOMAIN:
5312 ndr_print_ptr(ndr, "sid", r->sid);
5313 ndr->depth++;
5314 if (r->sid) {
5315 ndr_print_dom_sid2(ndr, "sid", r->sid);
5317 ndr->depth--;
5318 break;
5320 case NETR_DELTA_DELETE_TRUST:
5321 ndr_print_ptr(ndr, "sid", r->sid);
5322 ndr->depth++;
5323 if (r->sid) {
5324 ndr_print_dom_sid2(ndr, "sid", r->sid);
5326 ndr->depth--;
5327 break;
5329 case NETR_DELTA_ACCOUNT:
5330 ndr_print_ptr(ndr, "sid", r->sid);
5331 ndr->depth++;
5332 if (r->sid) {
5333 ndr_print_dom_sid2(ndr, "sid", r->sid);
5335 ndr->depth--;
5336 break;
5338 case NETR_DELTA_DELETE_ACCOUNT:
5339 ndr_print_ptr(ndr, "sid", r->sid);
5340 ndr->depth++;
5341 if (r->sid) {
5342 ndr_print_dom_sid2(ndr, "sid", r->sid);
5344 ndr->depth--;
5345 break;
5347 case NETR_DELTA_SECRET:
5348 ndr_print_ptr(ndr, "name", r->name);
5349 ndr->depth++;
5350 if (r->name) {
5351 ndr_print_string(ndr, "name", r->name);
5353 ndr->depth--;
5354 break;
5356 case NETR_DELTA_DELETE_SECRET:
5357 ndr_print_ptr(ndr, "name", r->name);
5358 ndr->depth++;
5359 if (r->name) {
5360 ndr_print_string(ndr, "name", r->name);
5362 ndr->depth--;
5363 break;
5365 case NETR_DELTA_DELETE_GROUP2:
5366 ndr_print_uint32(ndr, "rid", r->rid);
5367 break;
5369 case NETR_DELTA_DELETE_USER2:
5370 ndr_print_uint32(ndr, "rid", r->rid);
5371 break;
5373 case NETR_DELTA_MODIFY_COUNT:
5374 break;
5376 default:
5377 ndr_print_bad_level(ndr, name, level);
5381 static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5383 if (ndr_flags & NDR_SCALARS) {
5384 NDR_CHECK(ndr_push_align(ndr, 5));
5385 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5386 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5387 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5388 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5389 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5391 if (ndr_flags & NDR_BUFFERS) {
5392 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5393 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5395 return NDR_ERR_SUCCESS;
5398 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5400 if (ndr_flags & NDR_SCALARS) {
5401 NDR_CHECK(ndr_pull_align(ndr, 5));
5402 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5403 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5404 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5405 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5406 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5408 if (ndr_flags & NDR_BUFFERS) {
5409 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5410 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5412 return NDR_ERR_SUCCESS;
5415 _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5417 ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5418 ndr->depth++;
5419 ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5420 ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5421 ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5422 ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5423 ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5424 ndr->depth--;
5427 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)
5429 uint32_t cntr_delta_enum_1;
5430 if (ndr_flags & NDR_SCALARS) {
5431 NDR_CHECK(ndr_push_align(ndr, 5));
5432 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5433 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5435 if (ndr_flags & NDR_BUFFERS) {
5436 if (r->delta_enum) {
5437 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_deltas));
5438 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5439 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5441 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5442 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5446 return NDR_ERR_SUCCESS;
5449 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5451 uint32_t _ptr_delta_enum;
5452 uint32_t cntr_delta_enum_1;
5453 TALLOC_CTX *_mem_save_delta_enum_0;
5454 TALLOC_CTX *_mem_save_delta_enum_1;
5455 if (ndr_flags & NDR_SCALARS) {
5456 NDR_CHECK(ndr_pull_align(ndr, 5));
5457 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5458 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5459 if (_ptr_delta_enum) {
5460 NDR_PULL_ALLOC(ndr, r->delta_enum);
5461 } else {
5462 r->delta_enum = NULL;
5465 if (ndr_flags & NDR_BUFFERS) {
5466 if (r->delta_enum) {
5467 _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5468 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5469 NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5470 NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
5471 _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5472 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5473 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5474 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5476 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5477 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5479 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5482 if (r->delta_enum) {
5483 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5486 return NDR_ERR_SUCCESS;
5489 _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5491 uint32_t cntr_delta_enum_1;
5492 ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5493 ndr->depth++;
5494 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5495 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5496 ndr->depth++;
5497 if (r->delta_enum) {
5498 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
5499 ndr->depth++;
5500 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5501 char *idx_1=NULL;
5502 if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) {
5503 ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5504 free(idx_1);
5507 ndr->depth--;
5509 ndr->depth--;
5510 ndr->depth--;
5513 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)
5516 uint32_t _flags_save_STRUCT = ndr->flags;
5517 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5518 if (ndr_flags & NDR_SCALARS) {
5519 NDR_CHECK(ndr_push_align(ndr, 4));
5520 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5521 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5522 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5524 if (ndr_flags & NDR_BUFFERS) {
5526 ndr->flags = _flags_save_STRUCT;
5528 return NDR_ERR_SUCCESS;
5531 static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5534 uint32_t _flags_save_STRUCT = ndr->flags;
5535 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5536 if (ndr_flags & NDR_SCALARS) {
5537 NDR_CHECK(ndr_pull_align(ndr, 4));
5538 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5539 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5540 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5542 if (ndr_flags & NDR_BUFFERS) {
5544 ndr->flags = _flags_save_STRUCT;
5546 return NDR_ERR_SUCCESS;
5549 _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5551 ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5553 uint32_t _flags_save_STRUCT = ndr->flags;
5554 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5555 ndr->depth++;
5556 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5557 ndr_print_uint32(ndr, "timecreated", r->timecreated);
5558 ndr_print_uint32(ndr, "serial_number", r->serial_number);
5559 ndr->depth--;
5560 ndr->flags = _flags_save_STRUCT;
5564 static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5566 if (ndr_flags & NDR_SCALARS) {
5567 NDR_CHECK(ndr_push_align(ndr, 4));
5569 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5570 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5571 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5572 ndr->flags = _flags_save_DATA_BLOB;
5575 if (ndr_flags & NDR_BUFFERS) {
5577 return NDR_ERR_SUCCESS;
5580 static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5582 if (ndr_flags & NDR_SCALARS) {
5583 NDR_CHECK(ndr_pull_align(ndr, 4));
5585 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5586 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5587 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5588 ndr->flags = _flags_save_DATA_BLOB;
5591 if (ndr_flags & NDR_BUFFERS) {
5593 return NDR_ERR_SUCCESS;
5596 _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5598 ndr_print_struct(ndr, name, "netr_AccountBuffer");
5599 ndr->depth++;
5600 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5601 ndr->depth--;
5604 static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5606 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5607 return NDR_ERR_SUCCESS;
5610 static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5612 uint32_t v;
5613 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5614 *r = v;
5615 return NDR_ERR_SUCCESS;
5618 _PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5620 ndr_print_uint32(ndr, name, r);
5621 ndr->depth++;
5622 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_NEEDED", NETLOGON_REPLICATION_NEEDED, r);
5623 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_IN_PROGRESS", NETLOGON_REPLICATION_IN_PROGRESS, r);
5624 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_FULL_SYNC_REPLICATION", NETLOGON_FULL_SYNC_REPLICATION, r);
5625 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REDO_NEEDED", NETLOGON_REDO_NEEDED, r);
5626 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_IP", NETLOGON_HAS_IP, r);
5627 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_TIMESERV", NETLOGON_HAS_TIMESERV, r);
5628 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_DNS_UPDATE_FAILURE", NETLOGON_DNS_UPDATE_FAILURE, r);
5629 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERIFY_STATUS_RETURNED", NETLOGON_VERIFY_STATUS_RETURNED, r);
5630 ndr->depth--;
5633 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)
5635 if (ndr_flags & NDR_SCALARS) {
5636 NDR_CHECK(ndr_push_align(ndr, 4));
5637 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5638 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status));
5640 if (ndr_flags & NDR_BUFFERS) {
5642 return NDR_ERR_SUCCESS;
5645 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5647 if (ndr_flags & NDR_SCALARS) {
5648 NDR_CHECK(ndr_pull_align(ndr, 4));
5649 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5650 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status));
5652 if (ndr_flags & NDR_BUFFERS) {
5654 return NDR_ERR_SUCCESS;
5657 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5659 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5660 ndr->depth++;
5661 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5662 ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status);
5663 ndr->depth--;
5666 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)
5668 if (ndr_flags & NDR_SCALARS) {
5669 NDR_CHECK(ndr_push_align(ndr, 5));
5670 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5671 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status));
5672 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5673 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->tc_connection_status));
5675 if (ndr_flags & NDR_BUFFERS) {
5676 if (r->trusted_dc_name) {
5677 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5678 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5679 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5680 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));
5683 return NDR_ERR_SUCCESS;
5686 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5688 uint32_t _ptr_trusted_dc_name;
5689 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5690 if (ndr_flags & NDR_SCALARS) {
5691 NDR_CHECK(ndr_pull_align(ndr, 5));
5692 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5693 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status));
5694 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5695 if (_ptr_trusted_dc_name) {
5696 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5697 } else {
5698 r->trusted_dc_name = NULL;
5700 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->tc_connection_status));
5702 if (ndr_flags & NDR_BUFFERS) {
5703 if (r->trusted_dc_name) {
5704 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5705 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5706 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5707 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5708 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5709 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));
5711 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5712 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));
5713 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5716 return NDR_ERR_SUCCESS;
5719 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5721 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5722 ndr->depth++;
5723 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5724 ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status);
5725 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5726 ndr->depth++;
5727 if (r->trusted_dc_name) {
5728 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5730 ndr->depth--;
5731 ndr_print_WERROR(ndr, "tc_connection_status", r->tc_connection_status);
5732 ndr->depth--;
5735 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)
5737 if (ndr_flags & NDR_SCALARS) {
5738 NDR_CHECK(ndr_push_align(ndr, 4));
5739 NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5747 if (ndr_flags & NDR_BUFFERS) {
5749 return NDR_ERR_SUCCESS;
5752 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5754 if (ndr_flags & NDR_SCALARS) {
5755 NDR_CHECK(ndr_pull_align(ndr, 4));
5756 NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5757 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5758 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5759 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5760 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5762 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5764 if (ndr_flags & NDR_BUFFERS) {
5766 return NDR_ERR_SUCCESS;
5769 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5771 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5772 ndr->depth++;
5773 ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5774 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5775 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5776 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5777 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5778 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5779 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5780 ndr->depth--;
5783 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)
5785 if (ndr_flags & NDR_SCALARS) {
5786 NDR_CHECK(ndr_push_align(ndr, 5));
5787 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5788 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain_name));
5790 if (ndr_flags & NDR_BUFFERS) {
5791 if (r->trusted_dc_name) {
5792 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5793 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5794 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5795 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));
5797 if (r->trusted_domain_name) {
5798 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5799 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5800 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5801 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));
5804 return NDR_ERR_SUCCESS;
5807 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_4(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_4 *r)
5809 uint32_t _ptr_trusted_dc_name;
5810 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5811 uint32_t _ptr_trusted_domain_name;
5812 TALLOC_CTX *_mem_save_trusted_domain_name_0;
5813 if (ndr_flags & NDR_SCALARS) {
5814 NDR_CHECK(ndr_pull_align(ndr, 5));
5815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5816 if (_ptr_trusted_dc_name) {
5817 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5818 } else {
5819 r->trusted_dc_name = NULL;
5821 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
5822 if (_ptr_trusted_domain_name) {
5823 NDR_PULL_ALLOC(ndr, r->trusted_domain_name);
5824 } else {
5825 r->trusted_domain_name = NULL;
5828 if (ndr_flags & NDR_BUFFERS) {
5829 if (r->trusted_dc_name) {
5830 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5831 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5832 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5833 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5834 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5835 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));
5837 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5838 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));
5839 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5841 if (r->trusted_domain_name) {
5842 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5843 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain_name, 0);
5844 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domain_name));
5845 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_domain_name));
5846 if (ndr_get_array_length(ndr, &r->trusted_domain_name) > ndr_get_array_size(ndr, &r->trusted_domain_name)) {
5847 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));
5849 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_domain_name), sizeof(uint16_t)));
5850 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));
5851 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
5854 return NDR_ERR_SUCCESS;
5857 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_4(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_4 *r)
5859 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_4");
5860 ndr->depth++;
5861 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5862 ndr->depth++;
5863 if (r->trusted_dc_name) {
5864 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5866 ndr->depth--;
5867 ndr_print_ptr(ndr, "trusted_domain_name", r->trusted_domain_name);
5868 ndr->depth++;
5869 if (r->trusted_domain_name) {
5870 ndr_print_string(ndr, "trusted_domain_name", r->trusted_domain_name);
5872 ndr->depth--;
5873 ndr->depth--;
5876 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)
5878 if (ndr_flags & NDR_SCALARS) {
5879 int level = ndr_push_get_switch_value(ndr, r);
5880 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5881 NDR_CHECK(ndr_push_union_align(ndr, 5));
5882 switch (level) {
5883 case 1: {
5884 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5885 break; }
5887 case 2: {
5888 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5889 break; }
5891 case 3: {
5892 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5893 break; }
5895 case 4: {
5896 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
5897 break; }
5899 default: {
5900 break; }
5904 if (ndr_flags & NDR_BUFFERS) {
5905 int level = ndr_push_get_switch_value(ndr, r);
5906 switch (level) {
5907 case 1:
5908 if (r->info1) {
5909 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5911 break;
5913 case 2:
5914 if (r->info2) {
5915 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5917 break;
5919 case 3:
5920 if (r->info3) {
5921 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5923 break;
5925 case 4:
5926 if (r->info4) {
5927 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
5929 break;
5931 default:
5932 break;
5936 return NDR_ERR_SUCCESS;
5939 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5941 int level;
5942 uint32_t _level;
5943 TALLOC_CTX *_mem_save_info1_0;
5944 TALLOC_CTX *_mem_save_info2_0;
5945 TALLOC_CTX *_mem_save_info3_0;
5946 TALLOC_CTX *_mem_save_info4_0;
5947 level = ndr_pull_get_switch_value(ndr, r);
5948 if (ndr_flags & NDR_SCALARS) {
5949 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5950 if (_level != level) {
5951 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5953 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5954 switch (level) {
5955 case 1: {
5956 uint32_t _ptr_info1;
5957 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5958 if (_ptr_info1) {
5959 NDR_PULL_ALLOC(ndr, r->info1);
5960 } else {
5961 r->info1 = NULL;
5963 break; }
5965 case 2: {
5966 uint32_t _ptr_info2;
5967 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5968 if (_ptr_info2) {
5969 NDR_PULL_ALLOC(ndr, r->info2);
5970 } else {
5971 r->info2 = NULL;
5973 break; }
5975 case 3: {
5976 uint32_t _ptr_info3;
5977 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5978 if (_ptr_info3) {
5979 NDR_PULL_ALLOC(ndr, r->info3);
5980 } else {
5981 r->info3 = NULL;
5983 break; }
5985 case 4: {
5986 uint32_t _ptr_info4;
5987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
5988 if (_ptr_info4) {
5989 NDR_PULL_ALLOC(ndr, r->info4);
5990 } else {
5991 r->info4 = NULL;
5993 break; }
5995 default: {
5996 break; }
6000 if (ndr_flags & NDR_BUFFERS) {
6001 switch (level) {
6002 case 1:
6003 if (r->info1) {
6004 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6005 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
6006 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
6007 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
6009 break;
6011 case 2:
6012 if (r->info2) {
6013 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6014 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
6015 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6016 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
6018 break;
6020 case 3:
6021 if (r->info3) {
6022 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6023 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
6024 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
6025 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
6027 break;
6029 case 4:
6030 if (r->info4) {
6031 _mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6032 NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
6033 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
6036 break;
6038 default:
6039 break;
6043 return NDR_ERR_SUCCESS;
6046 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
6048 int level;
6049 level = ndr_print_get_switch_value(ndr, r);
6050 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
6051 switch (level) {
6052 case 1:
6053 ndr_print_ptr(ndr, "info1", r->info1);
6054 ndr->depth++;
6055 if (r->info1) {
6056 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
6058 ndr->depth--;
6059 break;
6061 case 2:
6062 ndr_print_ptr(ndr, "info2", r->info2);
6063 ndr->depth++;
6064 if (r->info2) {
6065 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
6067 ndr->depth--;
6068 break;
6070 case 3:
6071 ndr_print_ptr(ndr, "info3", r->info3);
6072 ndr->depth++;
6073 if (r->info3) {
6074 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
6076 ndr->depth--;
6077 break;
6079 case 4:
6080 ndr_print_ptr(ndr, "info4", r->info4);
6081 ndr->depth++;
6082 if (r->info4) {
6083 ndr_print_netr_NETLOGON_INFO_4(ndr, "info4", r->info4);
6085 ndr->depth--;
6086 break;
6088 default:
6089 break;
6094 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
6096 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6097 return NDR_ERR_SUCCESS;
6100 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
6102 uint32_t v;
6103 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6104 *r = v;
6105 return NDR_ERR_SUCCESS;
6108 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
6110 const char *val = NULL;
6112 switch (r) {
6113 case NETLOGON_CONTROL_QUERY: val = "NETLOGON_CONTROL_QUERY"; break;
6114 case NETLOGON_CONTROL_REPLICATE: val = "NETLOGON_CONTROL_REPLICATE"; break;
6115 case NETLOGON_CONTROL_SYNCHRONIZE: val = "NETLOGON_CONTROL_SYNCHRONIZE"; break;
6116 case NETLOGON_CONTROL_PDC_REPLICATE: val = "NETLOGON_CONTROL_PDC_REPLICATE"; break;
6117 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
6118 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
6119 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
6120 case NETLOGON_CONTROL_FIND_USER: val = "NETLOGON_CONTROL_FIND_USER"; break;
6121 case NETLOGON_CONTROL_CHANGE_PASSWORD: val = "NETLOGON_CONTROL_CHANGE_PASSWORD"; break;
6122 case NETLOGON_CONTROL_TC_VERIFY: val = "NETLOGON_CONTROL_TC_VERIFY"; break;
6123 case NETLOGON_CONTROL_FORCE_DNS_REG: val = "NETLOGON_CONTROL_FORCE_DNS_REG"; break;
6124 case NETLOGON_CONTROL_QUERY_DNS_REG: val = "NETLOGON_CONTROL_QUERY_DNS_REG"; break;
6125 case NETLOGON_CONTROL_BACKUP_CHANGE_LOG: val = "NETLOGON_CONTROL_BACKUP_CHANGE_LOG"; break;
6126 case NETLOGON_CONTROL_TRUNCATE_LOG: val = "NETLOGON_CONTROL_TRUNCATE_LOG"; break;
6127 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
6128 case NETLOGON_CONTROL_BREAKPOINT: val = "NETLOGON_CONTROL_BREAKPOINT"; break;
6130 ndr_print_enum(ndr, name, "ENUM", val, r);
6133 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)
6135 if (ndr_flags & NDR_SCALARS) {
6136 int level = ndr_push_get_switch_value(ndr, r);
6137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6138 NDR_CHECK(ndr_push_union_align(ndr, 5));
6139 switch (level) {
6140 case NETLOGON_CONTROL_REDISCOVER: {
6141 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6142 break; }
6144 case NETLOGON_CONTROL_TC_QUERY: {
6145 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6146 break; }
6148 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6149 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6150 break; }
6152 case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6153 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6154 break; }
6156 case NETLOGON_CONTROL_TC_VERIFY: {
6157 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6158 break; }
6160 case NETLOGON_CONTROL_FIND_USER: {
6161 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
6162 break; }
6164 case NETLOGON_CONTROL_SET_DBFLAG: {
6165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
6166 break; }
6168 default: {
6169 break; }
6173 if (ndr_flags & NDR_BUFFERS) {
6174 int level = ndr_push_get_switch_value(ndr, r);
6175 switch (level) {
6176 case NETLOGON_CONTROL_REDISCOVER:
6177 if (r->domain) {
6178 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6179 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6180 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6181 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6183 break;
6185 case NETLOGON_CONTROL_TC_QUERY:
6186 if (r->domain) {
6187 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6188 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6189 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6190 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6192 break;
6194 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6195 if (r->domain) {
6196 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6197 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6198 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6199 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6201 break;
6203 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6204 if (r->domain) {
6205 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6206 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6207 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6208 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6210 break;
6212 case NETLOGON_CONTROL_TC_VERIFY:
6213 if (r->domain) {
6214 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6215 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6216 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6217 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6219 break;
6221 case NETLOGON_CONTROL_FIND_USER:
6222 if (r->user) {
6223 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6224 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6225 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6226 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6228 break;
6230 case NETLOGON_CONTROL_SET_DBFLAG:
6231 break;
6233 default:
6234 break;
6238 return NDR_ERR_SUCCESS;
6241 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
6243 int level;
6244 uint32_t _level;
6245 TALLOC_CTX *_mem_save_domain_0;
6246 TALLOC_CTX *_mem_save_user_0;
6247 level = ndr_pull_get_switch_value(ndr, r);
6248 if (ndr_flags & NDR_SCALARS) {
6249 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6250 if (_level != level) {
6251 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6253 NDR_CHECK(ndr_pull_union_align(ndr, 5));
6254 switch (level) {
6255 case NETLOGON_CONTROL_REDISCOVER: {
6256 uint32_t _ptr_domain;
6257 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6258 if (_ptr_domain) {
6259 NDR_PULL_ALLOC(ndr, r->domain);
6260 } else {
6261 r->domain = NULL;
6263 break; }
6265 case NETLOGON_CONTROL_TC_QUERY: {
6266 uint32_t _ptr_domain;
6267 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6268 if (_ptr_domain) {
6269 NDR_PULL_ALLOC(ndr, r->domain);
6270 } else {
6271 r->domain = NULL;
6273 break; }
6275 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6276 uint32_t _ptr_domain;
6277 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6278 if (_ptr_domain) {
6279 NDR_PULL_ALLOC(ndr, r->domain);
6280 } else {
6281 r->domain = NULL;
6283 break; }
6285 case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6286 uint32_t _ptr_domain;
6287 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6288 if (_ptr_domain) {
6289 NDR_PULL_ALLOC(ndr, r->domain);
6290 } else {
6291 r->domain = NULL;
6293 break; }
6295 case NETLOGON_CONTROL_TC_VERIFY: {
6296 uint32_t _ptr_domain;
6297 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6298 if (_ptr_domain) {
6299 NDR_PULL_ALLOC(ndr, r->domain);
6300 } else {
6301 r->domain = NULL;
6303 break; }
6305 case NETLOGON_CONTROL_FIND_USER: {
6306 uint32_t _ptr_user;
6307 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
6308 if (_ptr_user) {
6309 NDR_PULL_ALLOC(ndr, r->user);
6310 } else {
6311 r->user = NULL;
6313 break; }
6315 case NETLOGON_CONTROL_SET_DBFLAG: {
6316 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
6317 break; }
6319 default: {
6320 break; }
6324 if (ndr_flags & NDR_BUFFERS) {
6325 switch (level) {
6326 case NETLOGON_CONTROL_REDISCOVER:
6327 if (r->domain) {
6328 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6329 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6330 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6331 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6332 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6333 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));
6335 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6336 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6337 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6339 break;
6341 case NETLOGON_CONTROL_TC_QUERY:
6342 if (r->domain) {
6343 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6344 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6345 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6346 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6347 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6348 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));
6350 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6351 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6354 break;
6356 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6357 if (r->domain) {
6358 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6359 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6360 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6361 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6362 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6363 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));
6365 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6366 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6367 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6369 break;
6371 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6372 if (r->domain) {
6373 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6374 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6375 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6376 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6377 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6378 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));
6380 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6381 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6384 break;
6386 case NETLOGON_CONTROL_TC_VERIFY:
6387 if (r->domain) {
6388 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6389 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6390 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6391 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6392 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6393 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));
6395 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6396 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6397 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6399 break;
6401 case NETLOGON_CONTROL_FIND_USER:
6402 if (r->user) {
6403 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
6404 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
6405 NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
6406 NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
6407 if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
6408 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));
6410 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
6411 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
6412 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
6414 break;
6416 case NETLOGON_CONTROL_SET_DBFLAG:
6417 break;
6419 default:
6420 break;
6424 return NDR_ERR_SUCCESS;
6427 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
6429 int level;
6430 level = ndr_print_get_switch_value(ndr, r);
6431 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
6432 switch (level) {
6433 case NETLOGON_CONTROL_REDISCOVER:
6434 ndr_print_ptr(ndr, "domain", r->domain);
6435 ndr->depth++;
6436 if (r->domain) {
6437 ndr_print_string(ndr, "domain", r->domain);
6439 ndr->depth--;
6440 break;
6442 case NETLOGON_CONTROL_TC_QUERY:
6443 ndr_print_ptr(ndr, "domain", r->domain);
6444 ndr->depth++;
6445 if (r->domain) {
6446 ndr_print_string(ndr, "domain", r->domain);
6448 ndr->depth--;
6449 break;
6451 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6452 ndr_print_ptr(ndr, "domain", r->domain);
6453 ndr->depth++;
6454 if (r->domain) {
6455 ndr_print_string(ndr, "domain", r->domain);
6457 ndr->depth--;
6458 break;
6460 case NETLOGON_CONTROL_CHANGE_PASSWORD:
6461 ndr_print_ptr(ndr, "domain", r->domain);
6462 ndr->depth++;
6463 if (r->domain) {
6464 ndr_print_string(ndr, "domain", r->domain);
6466 ndr->depth--;
6467 break;
6469 case NETLOGON_CONTROL_TC_VERIFY:
6470 ndr_print_ptr(ndr, "domain", r->domain);
6471 ndr->depth++;
6472 if (r->domain) {
6473 ndr_print_string(ndr, "domain", r->domain);
6475 ndr->depth--;
6476 break;
6478 case NETLOGON_CONTROL_FIND_USER:
6479 ndr_print_ptr(ndr, "user", r->user);
6480 ndr->depth++;
6481 if (r->user) {
6482 ndr_print_string(ndr, "user", r->user);
6484 ndr->depth--;
6485 break;
6487 case NETLOGON_CONTROL_SET_DBFLAG:
6488 ndr_print_uint32(ndr, "debug_level", r->debug_level);
6489 break;
6491 default:
6492 break;
6497 _PUBLIC_ enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6500 return NDR_ERR_SUCCESS;
6503 _PUBLIC_ enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6505 uint32_t v;
6506 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6507 *r = v;
6508 return NDR_ERR_SUCCESS;
6511 _PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6513 ndr_print_uint32(ndr, name, r);
6514 ndr->depth++;
6515 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
6516 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
6517 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
6518 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
6519 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
6520 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
6521 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
6522 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
6523 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
6524 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
6525 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
6526 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
6527 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
6528 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
6529 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_STRONG_KEYS", NETLOGON_NEG_STRONG_KEYS, r);
6530 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
6531 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
6532 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
6533 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
6534 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
6535 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
6536 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
6537 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES_SHA2", NETLOGON_NEG_SUPPORTS_AES_SHA2, r);
6538 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES", NETLOGON_NEG_SUPPORTS_AES, r);
6539 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
6540 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC", NETLOGON_NEG_AUTHENTICATED_RPC, r);
6541 ndr->depth--;
6544 static enum ndr_err_code ndr_push_SyncStateEnum(struct ndr_push *ndr, int ndr_flags, enum SyncStateEnum r)
6546 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
6547 return NDR_ERR_SUCCESS;
6550 static enum ndr_err_code ndr_pull_SyncStateEnum(struct ndr_pull *ndr, int ndr_flags, enum SyncStateEnum *r)
6552 uint16_t v;
6553 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
6554 *r = v;
6555 return NDR_ERR_SUCCESS;
6558 _PUBLIC_ void ndr_print_SyncStateEnum(struct ndr_print *ndr, const char *name, enum SyncStateEnum r)
6560 const char *val = NULL;
6562 switch (r) {
6563 case SYNCSTATE_NORMAL_STATE: val = "SYNCSTATE_NORMAL_STATE"; break;
6564 case SYNCSTATE_DOMAIN_STATE: val = "SYNCSTATE_DOMAIN_STATE"; break;
6565 case SYNCSTATE_GROUP_STATE: val = "SYNCSTATE_GROUP_STATE"; break;
6566 case SYNCSTATE_UAS_BUILT_IN_GROUP_STATE: val = "SYNCSTATE_UAS_BUILT_IN_GROUP_STATE"; break;
6567 case SYNCSTATE_USER_STATE: val = "SYNCSTATE_USER_STATE"; break;
6568 case SYNCSTATE_GROUP_MEMBER_STATE: val = "SYNCSTATE_GROUP_MEMBER_STATE"; break;
6569 case SYNCSTATE_ALIAS_STATE: val = "SYNCSTATE_ALIAS_STATE"; break;
6570 case SYNCSTATE_ALIAS_MEMBER_STATE: val = "SYNCSTATE_ALIAS_MEMBER_STATE"; break;
6571 case SYNCSTATE_SAM_DONE_STATE: val = "SYNCSTATE_SAM_DONE_STATE"; break;
6573 ndr_print_enum(ndr, name, "ENUM", val, r);
6576 static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
6578 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6579 return NDR_ERR_SUCCESS;
6582 static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
6584 uint16_t v;
6585 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6586 *r = v;
6587 return NDR_ERR_SUCCESS;
6590 _PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r)
6592 ndr_print_uint16(ndr, name, r);
6593 ndr->depth++;
6594 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r);
6595 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r);
6596 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r);
6597 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r);
6598 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r);
6599 ndr->depth--;
6602 static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r)
6604 if (ndr_flags & NDR_SCALARS) {
6605 int level = ndr_push_get_switch_value(ndr, r);
6606 NDR_CHECK(ndr_push_union_align(ndr, 4));
6607 switch (level) {
6608 case NETR_CHANGELOG_SID_INCLUDED: {
6609 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6610 break; }
6612 case NETR_CHANGELOG_NAME_INCLUDED: {
6614 uint32_t _flags_save_string = ndr->flags;
6615 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6616 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name));
6617 ndr->flags = _flags_save_string;
6619 break; }
6621 default: {
6622 break; }
6626 if (ndr_flags & NDR_BUFFERS) {
6627 int level = ndr_push_get_switch_value(ndr, r);
6628 switch (level) {
6629 case NETR_CHANGELOG_SID_INCLUDED:
6630 break;
6632 case NETR_CHANGELOG_NAME_INCLUDED:
6633 break;
6635 default:
6636 break;
6640 return NDR_ERR_SUCCESS;
6643 static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r)
6645 int level;
6646 level = ndr_pull_get_switch_value(ndr, r);
6647 if (ndr_flags & NDR_SCALARS) {
6648 NDR_CHECK(ndr_pull_union_align(ndr, 4));
6649 switch (level) {
6650 case NETR_CHANGELOG_SID_INCLUDED: {
6651 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6652 break; }
6654 case NETR_CHANGELOG_NAME_INCLUDED: {
6656 uint32_t _flags_save_string = ndr->flags;
6657 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
6658 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name));
6659 ndr->flags = _flags_save_string;
6661 break; }
6663 default: {
6664 break; }
6668 if (ndr_flags & NDR_BUFFERS) {
6669 switch (level) {
6670 case NETR_CHANGELOG_SID_INCLUDED:
6671 break;
6673 case NETR_CHANGELOG_NAME_INCLUDED:
6674 break;
6676 default:
6677 break;
6681 return NDR_ERR_SUCCESS;
6684 _PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r)
6686 int level;
6687 level = ndr_print_get_switch_value(ndr, r);
6688 ndr_print_union(ndr, name, level, "netr_ChangeLogObject");
6689 switch (level) {
6690 case NETR_CHANGELOG_SID_INCLUDED:
6691 ndr_print_dom_sid(ndr, "object_sid", &r->object_sid);
6692 break;
6694 case NETR_CHANGELOG_NAME_INCLUDED:
6695 ndr_print_string(ndr, "object_name", r->object_name);
6696 break;
6698 default:
6699 break;
6704 _PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r)
6706 if (ndr_flags & NDR_SCALARS) {
6707 NDR_CHECK(ndr_push_align(ndr, 4));
6708 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1));
6709 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2));
6710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid));
6711 NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
6712 NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index));
6713 NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type));
6714 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6715 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6717 if (ndr_flags & NDR_BUFFERS) {
6718 NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6720 return NDR_ERR_SUCCESS;
6723 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r)
6725 if (ndr_flags & NDR_SCALARS) {
6726 NDR_CHECK(ndr_pull_align(ndr, 4));
6727 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1));
6728 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2));
6729 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid));
6730 NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
6731 NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index));
6732 NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type));
6733 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6734 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6736 if (ndr_flags & NDR_BUFFERS) {
6737 NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6739 return NDR_ERR_SUCCESS;
6742 _PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r)
6744 ndr_print_struct(ndr, name, "netr_ChangeLogEntry");
6745 ndr->depth++;
6746 ndr_print_uint32(ndr, "serial_number1", r->serial_number1);
6747 ndr_print_uint32(ndr, "serial_number2", r->serial_number2);
6748 ndr_print_uint32(ndr, "object_rid", r->object_rid);
6749 ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags);
6750 ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index);
6751 ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type);
6752 ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED));
6753 ndr_print_netr_ChangeLogObject(ndr, "object", &r->object);
6754 ndr->depth--;
6757 _PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, struct smb_iconv_convenience *ic, int flags)
6759 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry, ic);
6762 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
6764 if (ndr_flags & NDR_SCALARS) {
6765 NDR_CHECK(ndr_push_align(ndr, 5));
6766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6767 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6769 if (ndr_flags & NDR_BUFFERS) {
6770 if (r->data) {
6771 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
6772 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
6775 return NDR_ERR_SUCCESS;
6778 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
6780 uint32_t _ptr_data;
6781 TALLOC_CTX *_mem_save_data_0;
6782 if (ndr_flags & NDR_SCALARS) {
6783 NDR_CHECK(ndr_pull_align(ndr, 5));
6784 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
6785 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6786 if (_ptr_data) {
6787 NDR_PULL_ALLOC(ndr, r->data);
6788 } else {
6789 r->data = NULL;
6792 if (ndr_flags & NDR_BUFFERS) {
6793 if (r->data) {
6794 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6795 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6796 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6797 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6798 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
6799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6801 if (r->data) {
6802 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6805 return NDR_ERR_SUCCESS;
6808 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6810 ndr_print_struct(ndr, name, "netr_Blob");
6811 ndr->depth++;
6812 ndr_print_uint32(ndr, "length", r->length);
6813 ndr_print_ptr(ndr, "data", r->data);
6814 ndr->depth++;
6815 if (r->data) {
6816 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6818 ndr->depth--;
6819 ndr->depth--;
6822 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6825 return NDR_ERR_SUCCESS;
6828 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6830 uint32_t v;
6831 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6832 *r = v;
6833 return NDR_ERR_SUCCESS;
6836 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6838 ndr_print_uint32(ndr, name, r);
6839 ndr->depth++;
6840 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6841 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6842 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6843 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6844 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6845 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6846 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6847 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6848 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6849 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6850 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6851 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6852 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6853 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6854 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6855 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6856 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6857 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WEB_SERVICE_REQUIRED", DS_WEB_SERVICE_REQUIRED, r);
6858 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6859 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6860 ndr->depth--;
6863 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6865 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6866 return NDR_ERR_SUCCESS;
6869 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6871 uint32_t v;
6872 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6873 *r = v;
6874 return NDR_ERR_SUCCESS;
6877 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6879 const char *val = NULL;
6881 switch (r) {
6882 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6883 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6885 ndr_print_enum(ndr, name, "ENUM", val, r);
6888 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6890 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6891 return NDR_ERR_SUCCESS;
6894 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6896 uint32_t v;
6897 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6898 *r = v;
6899 return NDR_ERR_SUCCESS;
6902 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6904 ndr_print_uint32(ndr, name, r);
6905 ndr->depth++;
6906 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6907 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6908 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6909 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6910 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6911 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6912 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6913 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6914 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6915 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6916 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6917 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6918 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6919 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6920 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6921 ndr->depth--;
6924 _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6926 if (ndr_flags & NDR_SCALARS) {
6927 NDR_CHECK(ndr_push_align(ndr, 5));
6928 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6929 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6930 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6931 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6932 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6933 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6934 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6935 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6936 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6938 if (ndr_flags & NDR_BUFFERS) {
6939 if (r->dc_unc) {
6940 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6941 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6942 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6943 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6945 if (r->dc_address) {
6946 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6947 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6948 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6949 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6951 if (r->domain_name) {
6952 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6953 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6954 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6955 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6957 if (r->forest_name) {
6958 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6959 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6960 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6961 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6963 if (r->dc_site_name) {
6964 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6965 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6966 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6967 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));
6969 if (r->client_site_name) {
6970 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6971 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6972 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6973 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));
6976 return NDR_ERR_SUCCESS;
6979 _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6981 uint32_t _ptr_dc_unc;
6982 TALLOC_CTX *_mem_save_dc_unc_0;
6983 uint32_t _ptr_dc_address;
6984 TALLOC_CTX *_mem_save_dc_address_0;
6985 uint32_t _ptr_domain_name;
6986 TALLOC_CTX *_mem_save_domain_name_0;
6987 uint32_t _ptr_forest_name;
6988 TALLOC_CTX *_mem_save_forest_name_0;
6989 uint32_t _ptr_dc_site_name;
6990 TALLOC_CTX *_mem_save_dc_site_name_0;
6991 uint32_t _ptr_client_site_name;
6992 TALLOC_CTX *_mem_save_client_site_name_0;
6993 if (ndr_flags & NDR_SCALARS) {
6994 NDR_CHECK(ndr_pull_align(ndr, 5));
6995 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6996 if (_ptr_dc_unc) {
6997 NDR_PULL_ALLOC(ndr, r->dc_unc);
6998 } else {
6999 r->dc_unc = NULL;
7001 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
7002 if (_ptr_dc_address) {
7003 NDR_PULL_ALLOC(ndr, r->dc_address);
7004 } else {
7005 r->dc_address = NULL;
7007 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
7008 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
7009 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
7010 if (_ptr_domain_name) {
7011 NDR_PULL_ALLOC(ndr, r->domain_name);
7012 } else {
7013 r->domain_name = NULL;
7015 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
7016 if (_ptr_forest_name) {
7017 NDR_PULL_ALLOC(ndr, r->forest_name);
7018 } else {
7019 r->forest_name = NULL;
7021 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
7022 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
7023 if (_ptr_dc_site_name) {
7024 NDR_PULL_ALLOC(ndr, r->dc_site_name);
7025 } else {
7026 r->dc_site_name = NULL;
7028 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
7029 if (_ptr_client_site_name) {
7030 NDR_PULL_ALLOC(ndr, r->client_site_name);
7031 } else {
7032 r->client_site_name = NULL;
7035 if (ndr_flags & NDR_BUFFERS) {
7036 if (r->dc_unc) {
7037 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
7038 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
7039 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
7040 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
7041 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
7042 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));
7044 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
7045 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
7046 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
7048 if (r->dc_address) {
7049 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
7050 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
7051 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
7052 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
7053 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
7054 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));
7056 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
7057 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
7058 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
7060 if (r->domain_name) {
7061 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7062 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
7063 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
7064 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
7065 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
7066 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));
7068 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
7069 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
7070 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
7072 if (r->forest_name) {
7073 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7074 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
7075 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
7076 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
7077 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
7078 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));
7080 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
7081 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
7082 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
7084 if (r->dc_site_name) {
7085 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7086 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
7087 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
7088 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
7089 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
7090 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));
7092 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
7093 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));
7094 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
7096 if (r->client_site_name) {
7097 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7098 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
7099 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
7100 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
7101 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
7102 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));
7104 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
7105 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));
7106 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
7109 return NDR_ERR_SUCCESS;
7112 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
7114 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
7115 ndr->depth++;
7116 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
7117 ndr->depth++;
7118 if (r->dc_unc) {
7119 ndr_print_string(ndr, "dc_unc", r->dc_unc);
7121 ndr->depth--;
7122 ndr_print_ptr(ndr, "dc_address", r->dc_address);
7123 ndr->depth++;
7124 if (r->dc_address) {
7125 ndr_print_string(ndr, "dc_address", r->dc_address);
7127 ndr->depth--;
7128 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
7129 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
7130 ndr_print_ptr(ndr, "domain_name", r->domain_name);
7131 ndr->depth++;
7132 if (r->domain_name) {
7133 ndr_print_string(ndr, "domain_name", r->domain_name);
7135 ndr->depth--;
7136 ndr_print_ptr(ndr, "forest_name", r->forest_name);
7137 ndr->depth++;
7138 if (r->forest_name) {
7139 ndr_print_string(ndr, "forest_name", r->forest_name);
7141 ndr->depth--;
7142 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
7143 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
7144 ndr->depth++;
7145 if (r->dc_site_name) {
7146 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
7148 ndr->depth--;
7149 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
7150 ndr->depth++;
7151 if (r->client_site_name) {
7152 ndr_print_string(ndr, "client_site_name", r->client_site_name);
7154 ndr->depth--;
7155 ndr->depth--;
7158 static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r)
7160 if (ndr_flags & NDR_SCALARS) {
7161 int level = ndr_push_get_switch_value(ndr, r);
7162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7163 NDR_CHECK(ndr_push_union_align(ndr, 4));
7164 switch (level) {
7165 case 1: {
7166 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities));
7167 break; }
7169 default:
7170 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7173 if (ndr_flags & NDR_BUFFERS) {
7174 int level = ndr_push_get_switch_value(ndr, r);
7175 switch (level) {
7176 case 1:
7177 break;
7179 default:
7180 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7183 return NDR_ERR_SUCCESS;
7186 static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r)
7188 int level;
7189 uint32_t _level;
7190 level = ndr_pull_get_switch_value(ndr, r);
7191 if (ndr_flags & NDR_SCALARS) {
7192 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7193 if (_level != level) {
7194 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7196 NDR_CHECK(ndr_pull_union_align(ndr, 4));
7197 switch (level) {
7198 case 1: {
7199 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities));
7200 break; }
7202 default:
7203 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7206 if (ndr_flags & NDR_BUFFERS) {
7207 switch (level) {
7208 case 1:
7209 break;
7211 default:
7212 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7215 return NDR_ERR_SUCCESS;
7218 _PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r)
7220 int level;
7221 level = ndr_print_get_switch_value(ndr, r);
7222 ndr_print_union(ndr, name, level, "netr_Capabilities");
7223 switch (level) {
7224 case 1:
7225 ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities);
7226 break;
7228 default:
7229 ndr_print_bad_level(ndr, name, level);
7233 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7236 return NDR_ERR_SUCCESS;
7239 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7241 uint32_t v;
7242 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7243 *r = v;
7244 return NDR_ERR_SUCCESS;
7247 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7249 ndr_print_uint32(ndr, name, r);
7250 ndr->depth++;
7251 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7252 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7253 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7254 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7255 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7256 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7257 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_MIT_KRB5", NETR_TRUST_FLAG_MIT_KRB5, r);
7258 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_AES", NETR_TRUST_FLAG_AES, r);
7259 ndr->depth--;
7262 static enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7264 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7265 return NDR_ERR_SUCCESS;
7268 static enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7270 uint32_t v;
7271 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7272 *r = v;
7273 return NDR_ERR_SUCCESS;
7276 _PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7278 ndr_print_uint32(ndr, name, r);
7279 ndr->depth++;
7280 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
7281 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
7282 ndr->depth--;
7285 static enum ndr_err_code ndr_push_netr_SuiteMask(struct ndr_push *ndr, int ndr_flags, uint16_t r)
7287 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
7288 return NDR_ERR_SUCCESS;
7291 static enum ndr_err_code ndr_pull_netr_SuiteMask(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
7293 uint16_t v;
7294 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
7295 *r = v;
7296 return NDR_ERR_SUCCESS;
7299 _PUBLIC_ void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r)
7301 ndr_print_uint16(ndr, name, r);
7302 ndr->depth++;
7303 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BACKOFFICE", NETR_VER_SUITE_BACKOFFICE, r);
7304 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BLADE", NETR_VER_SUITE_BLADE, r);
7305 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_COMPUTE_SERVER", NETR_VER_SUITE_COMPUTE_SERVER, r);
7306 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_DATACENTER", NETR_VER_SUITE_DATACENTER, r);
7307 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_ENTERPRISE", NETR_VER_SUITE_ENTERPRISE, r);
7308 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_EMBEDDEDNT", NETR_VER_SUITE_EMBEDDEDNT, r);
7309 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_PERSONAL", NETR_VER_SUITE_PERSONAL, r);
7310 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SINGLEUSERTS", NETR_VER_SUITE_SINGLEUSERTS, r);
7311 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS", NETR_VER_SUITE_SMALLBUSINESS, r);
7312 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED", NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED, r);
7313 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_STORAGE_SERVER", NETR_VER_SUITE_STORAGE_SERVER, r);
7314 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_TERMINAL", NETR_VER_SUITE_TERMINAL, r);
7315 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_WH_SERVER", NETR_VER_SUITE_WH_SERVER, r);
7316 ndr->depth--;
7319 static enum ndr_err_code ndr_push_netr_ProductType(struct ndr_push *ndr, int ndr_flags, uint8_t r)
7321 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
7322 return NDR_ERR_SUCCESS;
7325 static enum ndr_err_code ndr_pull_netr_ProductType(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
7327 uint8_t v;
7328 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
7329 *r = v;
7330 return NDR_ERR_SUCCESS;
7333 _PUBLIC_ void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r)
7335 ndr_print_uint8(ndr, name, r);
7336 ndr->depth++;
7337 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_DOMAIN_CONTROLLER", NETR_VER_NT_DOMAIN_CONTROLLER, r);
7338 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_SERVER", NETR_VER_NT_SERVER, r);
7339 ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_WORKSTATION", NETR_VER_NT_WORKSTATION, r);
7340 ndr->depth--;
7343 static enum ndr_err_code ndr_push_netr_LsaPolicyInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInformation *r)
7345 if (ndr_flags & NDR_SCALARS) {
7346 NDR_CHECK(ndr_push_align(ndr, 5));
7347 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7348 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
7350 if (ndr_flags & NDR_BUFFERS) {
7351 if (r->policy) {
7352 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->policy_size));
7353 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
7356 return NDR_ERR_SUCCESS;
7359 static enum ndr_err_code ndr_pull_netr_LsaPolicyInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInformation *r)
7361 uint32_t _ptr_policy;
7362 TALLOC_CTX *_mem_save_policy_0;
7363 if (ndr_flags & NDR_SCALARS) {
7364 NDR_CHECK(ndr_pull_align(ndr, 5));
7365 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
7366 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
7367 if (_ptr_policy) {
7368 NDR_PULL_ALLOC(ndr, r->policy);
7369 } else {
7370 r->policy = NULL;
7373 if (ndr_flags & NDR_BUFFERS) {
7374 if (r->policy) {
7375 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
7376 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
7377 NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
7378 NDR_PULL_ALLOC_N(ndr, r->policy, ndr_get_array_size(ndr, &r->policy));
7379 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, ndr_get_array_size(ndr, &r->policy)));
7380 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
7382 if (r->policy) {
7383 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->policy, r->policy_size));
7386 return NDR_ERR_SUCCESS;
7389 _PUBLIC_ void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r)
7391 ndr_print_struct(ndr, name, "netr_LsaPolicyInformation");
7392 ndr->depth++;
7393 ndr_print_uint32(ndr, "policy_size", r->policy_size);
7394 ndr_print_ptr(ndr, "policy", r->policy);
7395 ndr->depth++;
7396 if (r->policy) {
7397 ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
7399 ndr->depth--;
7400 ndr->depth--;
7403 static enum ndr_err_code ndr_push_netr_OsVersionInfoEx(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionInfoEx *r)
7405 if (ndr_flags & NDR_SCALARS) {
7406 NDR_CHECK(ndr_push_align(ndr, 4));
7407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 284));
7408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MajorVersion));
7409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MinorVersion));
7410 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BuildNumber));
7411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PlatformId));
7413 uint32_t _flags_save_string = ndr->flags;
7414 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7416 struct ndr_push *_ndr_CSDVersion;
7417 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256));
7418 NDR_CHECK(ndr_push_string(_ndr_CSDVersion, NDR_SCALARS, r->CSDVersion));
7419 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_CSDVersion, 0, 256));
7421 ndr->flags = _flags_save_string;
7423 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMajor));
7424 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMinor));
7425 NDR_CHECK(ndr_push_netr_SuiteMask(ndr, NDR_SCALARS, r->SuiteMask));
7426 NDR_CHECK(ndr_push_netr_ProductType(ndr, NDR_SCALARS, r->ProductType));
7427 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Reserved));
7429 if (ndr_flags & NDR_BUFFERS) {
7431 return NDR_ERR_SUCCESS;
7434 static enum ndr_err_code ndr_pull_netr_OsVersionInfoEx(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionInfoEx *r)
7436 if (ndr_flags & NDR_SCALARS) {
7437 NDR_CHECK(ndr_pull_align(ndr, 4));
7438 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OSVersionInfoSize));
7439 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MajorVersion));
7440 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion));
7441 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BuildNumber));
7442 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PlatformId));
7444 uint32_t _flags_save_string = ndr->flags;
7445 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
7447 struct ndr_pull *_ndr_CSDVersion;
7448 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256));
7449 NDR_CHECK(ndr_pull_string(_ndr_CSDVersion, NDR_SCALARS, &r->CSDVersion));
7450 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_CSDVersion, 0, 256));
7452 ndr->flags = _flags_save_string;
7454 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMajor));
7455 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMinor));
7456 NDR_CHECK(ndr_pull_netr_SuiteMask(ndr, NDR_SCALARS, &r->SuiteMask));
7457 NDR_CHECK(ndr_pull_netr_ProductType(ndr, NDR_SCALARS, &r->ProductType));
7458 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Reserved));
7460 if (ndr_flags & NDR_BUFFERS) {
7462 return NDR_ERR_SUCCESS;
7465 _PUBLIC_ void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r)
7467 ndr_print_struct(ndr, name, "netr_OsVersionInfoEx");
7468 ndr->depth++;
7469 ndr_print_uint32(ndr, "OSVersionInfoSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?284:r->OSVersionInfoSize);
7470 ndr_print_uint32(ndr, "MajorVersion", r->MajorVersion);
7471 ndr_print_uint32(ndr, "MinorVersion", r->MinorVersion);
7472 ndr_print_uint32(ndr, "BuildNumber", r->BuildNumber);
7473 ndr_print_uint32(ndr, "PlatformId", r->PlatformId);
7474 ndr_print_string(ndr, "CSDVersion", r->CSDVersion);
7475 ndr_print_uint16(ndr, "ServicePackMajor", r->ServicePackMajor);
7476 ndr_print_uint16(ndr, "ServicePackMinor", r->ServicePackMinor);
7477 ndr_print_netr_SuiteMask(ndr, "SuiteMask", r->SuiteMask);
7478 ndr_print_netr_ProductType(ndr, "ProductType", r->ProductType);
7479 ndr_print_uint8(ndr, "Reserved", r->Reserved);
7480 ndr->depth--;
7483 static enum ndr_err_code ndr_push_netr_OsVersion(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersion *r)
7485 if (ndr_flags & NDR_SCALARS) {
7486 NDR_CHECK(ndr_push_align(ndr, 4));
7487 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
7488 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
7490 NDR_CHECK(ndr_push_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
7492 if (ndr_flags & NDR_BUFFERS) {
7494 return NDR_ERR_SUCCESS;
7497 static enum ndr_err_code ndr_pull_netr_OsVersion(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersion *r)
7499 if (ndr_flags & NDR_SCALARS) {
7500 NDR_CHECK(ndr_pull_align(ndr, 4));
7501 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7502 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7503 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7504 NDR_CHECK(ndr_pull_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
7506 if (ndr_flags & NDR_BUFFERS) {
7508 return NDR_ERR_SUCCESS;
7511 _PUBLIC_ void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r)
7513 ndr_print_struct(ndr, name, "netr_OsVersion");
7514 ndr->depth++;
7515 ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->length);
7516 ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7517 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->size);
7518 ndr_print_netr_OsVersionInfoEx(ndr, "os", &r->os);
7519 ndr->depth--;
7522 static enum ndr_err_code ndr_push_netr_OsVersionContainer(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionContainer *r)
7524 if (ndr_flags & NDR_SCALARS) {
7525 NDR_CHECK(ndr_push_align(ndr, 5));
7526 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
7527 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
7528 NDR_CHECK(ndr_push_unique_ptr(ndr, r->os));
7530 if (ndr_flags & NDR_BUFFERS) {
7531 if (r->os) {
7532 NDR_CHECK(ndr_push_netr_OsVersion(ndr, NDR_SCALARS, r->os));
7535 return NDR_ERR_SUCCESS;
7538 static enum ndr_err_code ndr_pull_netr_OsVersionContainer(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionContainer *r)
7540 uint32_t _ptr_os;
7541 TALLOC_CTX *_mem_save_os_0;
7542 if (ndr_flags & NDR_SCALARS) {
7543 NDR_CHECK(ndr_pull_align(ndr, 5));
7544 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
7545 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
7546 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_os));
7547 if (_ptr_os) {
7548 NDR_PULL_ALLOC(ndr, r->os);
7549 } else {
7550 r->os = NULL;
7553 if (ndr_flags & NDR_BUFFERS) {
7554 if (r->os) {
7555 _mem_save_os_0 = NDR_PULL_GET_MEM_CTX(ndr);
7556 NDR_PULL_SET_MEM_CTX(ndr, r->os, 0);
7557 NDR_CHECK(ndr_pull_netr_OsVersion(ndr, NDR_SCALARS, r->os));
7558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_os_0, 0);
7561 return NDR_ERR_SUCCESS;
7564 _PUBLIC_ void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r)
7566 ndr_print_struct(ndr, name, "netr_OsVersionContainer");
7567 ndr->depth++;
7568 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->length);
7569 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->size);
7570 ndr_print_ptr(ndr, "os", r->os);
7571 ndr->depth++;
7572 if (r->os) {
7573 ndr_print_netr_OsVersion(ndr, "os", r->os);
7575 ndr->depth--;
7576 ndr->depth--;
7579 static enum ndr_err_code ndr_push_netr_WorkstationInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_WorkstationInformation *r)
7581 if (ndr_flags & NDR_SCALARS) {
7582 NDR_CHECK(ndr_push_align(ndr, 5));
7583 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
7584 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_hostname));
7585 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7586 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy1));
7587 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy2));
7588 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy3));
7589 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy4));
7590 NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
7591 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->os_name));
7592 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
7593 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
7594 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
7595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
7596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
7597 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
7599 if (ndr_flags & NDR_BUFFERS) {
7600 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
7601 if (r->dns_hostname) {
7602 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
7603 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7604 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
7605 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_hostname, ndr_charset_length(r->dns_hostname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7607 if (r->sitename) {
7608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
7609 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7610 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
7611 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sitename, ndr_charset_length(r->sitename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7613 if (r->dummy1) {
7614 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
7615 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7616 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
7617 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy1, ndr_charset_length(r->dummy1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7619 if (r->dummy2) {
7620 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
7621 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7622 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
7623 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy2, ndr_charset_length(r->dummy2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7625 if (r->dummy3) {
7626 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
7627 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7628 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
7629 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy3, ndr_charset_length(r->dummy3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7631 if (r->dummy4) {
7632 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
7633 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7634 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
7635 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy4, ndr_charset_length(r->dummy4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7637 NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
7638 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
7639 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
7640 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
7642 return NDR_ERR_SUCCESS;
7645 static enum ndr_err_code ndr_pull_netr_WorkstationInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_WorkstationInformation *r)
7647 uint32_t _ptr_dns_hostname;
7648 TALLOC_CTX *_mem_save_dns_hostname_0;
7649 uint32_t _ptr_sitename;
7650 TALLOC_CTX *_mem_save_sitename_0;
7651 uint32_t _ptr_dummy1;
7652 TALLOC_CTX *_mem_save_dummy1_0;
7653 uint32_t _ptr_dummy2;
7654 TALLOC_CTX *_mem_save_dummy2_0;
7655 uint32_t _ptr_dummy3;
7656 TALLOC_CTX *_mem_save_dummy3_0;
7657 uint32_t _ptr_dummy4;
7658 TALLOC_CTX *_mem_save_dummy4_0;
7659 if (ndr_flags & NDR_SCALARS) {
7660 NDR_CHECK(ndr_pull_align(ndr, 5));
7661 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
7662 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_hostname));
7663 if (_ptr_dns_hostname) {
7664 NDR_PULL_ALLOC(ndr, r->dns_hostname);
7665 } else {
7666 r->dns_hostname = NULL;
7668 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7669 if (_ptr_sitename) {
7670 NDR_PULL_ALLOC(ndr, r->sitename);
7671 } else {
7672 r->sitename = NULL;
7674 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy1));
7675 if (_ptr_dummy1) {
7676 NDR_PULL_ALLOC(ndr, r->dummy1);
7677 } else {
7678 r->dummy1 = NULL;
7680 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy2));
7681 if (_ptr_dummy2) {
7682 NDR_PULL_ALLOC(ndr, r->dummy2);
7683 } else {
7684 r->dummy2 = NULL;
7686 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy3));
7687 if (_ptr_dummy3) {
7688 NDR_PULL_ALLOC(ndr, r->dummy3);
7689 } else {
7690 r->dummy3 = NULL;
7692 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy4));
7693 if (_ptr_dummy4) {
7694 NDR_PULL_ALLOC(ndr, r->dummy4);
7695 } else {
7696 r->dummy4 = NULL;
7698 NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
7699 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->os_name));
7700 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
7701 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
7702 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
7703 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
7704 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
7705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
7707 if (ndr_flags & NDR_BUFFERS) {
7708 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
7709 if (r->dns_hostname) {
7710 _mem_save_dns_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7711 NDR_PULL_SET_MEM_CTX(ndr, r->dns_hostname, 0);
7712 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_hostname));
7713 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_hostname));
7714 if (ndr_get_array_length(ndr, &r->dns_hostname) > ndr_get_array_size(ndr, &r->dns_hostname)) {
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->dns_hostname), ndr_get_array_length(ndr, &r->dns_hostname));
7717 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t)));
7718 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_hostname, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t), CH_UTF16));
7719 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_hostname_0, 0);
7721 if (r->sitename) {
7722 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7723 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7724 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7725 NDR_CHECK(ndr_pull_array_length(ndr, &r->sitename));
7726 if (ndr_get_array_length(ndr, &r->sitename) > ndr_get_array_size(ndr, &r->sitename)) {
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->sitename), ndr_get_array_length(ndr, &r->sitename));
7729 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t)));
7730 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sitename, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t), CH_UTF16));
7731 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7733 if (r->dummy1) {
7734 _mem_save_dummy1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7735 NDR_PULL_SET_MEM_CTX(ndr, r->dummy1, 0);
7736 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy1));
7737 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy1));
7738 if (ndr_get_array_length(ndr, &r->dummy1) > ndr_get_array_size(ndr, &r->dummy1)) {
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->dummy1), ndr_get_array_length(ndr, &r->dummy1));
7741 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t)));
7742 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy1, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t), CH_UTF16));
7743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy1_0, 0);
7745 if (r->dummy2) {
7746 _mem_save_dummy2_0 = NDR_PULL_GET_MEM_CTX(ndr);
7747 NDR_PULL_SET_MEM_CTX(ndr, r->dummy2, 0);
7748 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy2));
7749 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy2));
7750 if (ndr_get_array_length(ndr, &r->dummy2) > ndr_get_array_size(ndr, &r->dummy2)) {
7751 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));
7753 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t)));
7754 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy2, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t), CH_UTF16));
7755 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy2_0, 0);
7757 if (r->dummy3) {
7758 _mem_save_dummy3_0 = NDR_PULL_GET_MEM_CTX(ndr);
7759 NDR_PULL_SET_MEM_CTX(ndr, r->dummy3, 0);
7760 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy3));
7761 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy3));
7762 if (ndr_get_array_length(ndr, &r->dummy3) > ndr_get_array_size(ndr, &r->dummy3)) {
7763 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));
7765 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t)));
7766 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy3, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t), CH_UTF16));
7767 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy3_0, 0);
7769 if (r->dummy4) {
7770 _mem_save_dummy4_0 = NDR_PULL_GET_MEM_CTX(ndr);
7771 NDR_PULL_SET_MEM_CTX(ndr, r->dummy4, 0);
7772 NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy4));
7773 NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy4));
7774 if (ndr_get_array_length(ndr, &r->dummy4) > ndr_get_array_size(ndr, &r->dummy4)) {
7775 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));
7777 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t)));
7778 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy4, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t), CH_UTF16));
7779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy4_0, 0);
7781 NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
7782 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
7783 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
7784 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
7786 return NDR_ERR_SUCCESS;
7789 _PUBLIC_ void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r)
7791 ndr_print_struct(ndr, name, "netr_WorkstationInformation");
7792 ndr->depth++;
7793 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
7794 ndr_print_ptr(ndr, "dns_hostname", r->dns_hostname);
7795 ndr->depth++;
7796 if (r->dns_hostname) {
7797 ndr_print_string(ndr, "dns_hostname", r->dns_hostname);
7799 ndr->depth--;
7800 ndr_print_ptr(ndr, "sitename", r->sitename);
7801 ndr->depth++;
7802 if (r->sitename) {
7803 ndr_print_string(ndr, "sitename", r->sitename);
7805 ndr->depth--;
7806 ndr_print_ptr(ndr, "dummy1", r->dummy1);
7807 ndr->depth++;
7808 if (r->dummy1) {
7809 ndr_print_string(ndr, "dummy1", r->dummy1);
7811 ndr->depth--;
7812 ndr_print_ptr(ndr, "dummy2", r->dummy2);
7813 ndr->depth++;
7814 if (r->dummy2) {
7815 ndr_print_string(ndr, "dummy2", r->dummy2);
7817 ndr->depth--;
7818 ndr_print_ptr(ndr, "dummy3", r->dummy3);
7819 ndr->depth++;
7820 if (r->dummy3) {
7821 ndr_print_string(ndr, "dummy3", r->dummy3);
7823 ndr->depth--;
7824 ndr_print_ptr(ndr, "dummy4", r->dummy4);
7825 ndr->depth++;
7826 if (r->dummy4) {
7827 ndr_print_string(ndr, "dummy4", r->dummy4);
7829 ndr->depth--;
7830 ndr_print_netr_OsVersionContainer(ndr, "os_version", &r->os_version);
7831 ndr_print_lsa_String(ndr, "os_name", &r->os_name);
7832 ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
7833 ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
7834 ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
7835 ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
7836 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
7837 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
7838 ndr->depth--;
7841 static enum ndr_err_code ndr_push_netr_WorkstationInfo(struct ndr_push *ndr, int ndr_flags, const union netr_WorkstationInfo *r)
7843 if (ndr_flags & NDR_SCALARS) {
7844 int level = ndr_push_get_switch_value(ndr, r);
7845 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7846 NDR_CHECK(ndr_push_union_align(ndr, 5));
7847 switch (level) {
7848 case 1: {
7849 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_info));
7850 break; }
7852 case 2: {
7853 NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
7854 break; }
7856 default:
7857 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7860 if (ndr_flags & NDR_BUFFERS) {
7861 int level = ndr_push_get_switch_value(ndr, r);
7862 switch (level) {
7863 case 1:
7864 if (r->workstation_info) {
7865 NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
7867 break;
7869 case 2:
7870 if (r->lsa_policy_info) {
7871 NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
7873 break;
7875 default:
7876 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7879 return NDR_ERR_SUCCESS;
7882 static enum ndr_err_code ndr_pull_netr_WorkstationInfo(struct ndr_pull *ndr, int ndr_flags, union netr_WorkstationInfo *r)
7884 int level;
7885 uint32_t _level;
7886 TALLOC_CTX *_mem_save_workstation_info_0;
7887 TALLOC_CTX *_mem_save_lsa_policy_info_0;
7888 level = ndr_pull_get_switch_value(ndr, r);
7889 if (ndr_flags & NDR_SCALARS) {
7890 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7891 if (_level != level) {
7892 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7894 NDR_CHECK(ndr_pull_union_align(ndr, 5));
7895 switch (level) {
7896 case 1: {
7897 uint32_t _ptr_workstation_info;
7898 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_info));
7899 if (_ptr_workstation_info) {
7900 NDR_PULL_ALLOC(ndr, r->workstation_info);
7901 } else {
7902 r->workstation_info = NULL;
7904 break; }
7906 case 2: {
7907 uint32_t _ptr_lsa_policy_info;
7908 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
7909 if (_ptr_lsa_policy_info) {
7910 NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
7911 } else {
7912 r->lsa_policy_info = NULL;
7914 break; }
7916 default:
7917 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7920 if (ndr_flags & NDR_BUFFERS) {
7921 switch (level) {
7922 case 1:
7923 if (r->workstation_info) {
7924 _mem_save_workstation_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7925 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_info, 0);
7926 NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
7927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_info_0, 0);
7929 break;
7931 case 2:
7932 if (r->lsa_policy_info) {
7933 _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7934 NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
7935 NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
7936 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
7938 break;
7940 default:
7941 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7944 return NDR_ERR_SUCCESS;
7947 _PUBLIC_ void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r)
7949 int level;
7950 level = ndr_print_get_switch_value(ndr, r);
7951 ndr_print_union(ndr, name, level, "netr_WorkstationInfo");
7952 switch (level) {
7953 case 1:
7954 ndr_print_ptr(ndr, "workstation_info", r->workstation_info);
7955 ndr->depth++;
7956 if (r->workstation_info) {
7957 ndr_print_netr_WorkstationInformation(ndr, "workstation_info", r->workstation_info);
7959 ndr->depth--;
7960 break;
7962 case 2:
7963 ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
7964 ndr->depth++;
7965 if (r->lsa_policy_info) {
7966 ndr_print_netr_WorkstationInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
7968 ndr->depth--;
7969 break;
7971 default:
7972 ndr_print_bad_level(ndr, name, level);
7976 static enum ndr_err_code ndr_push_netr_trust_extension(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension *r)
7978 if (ndr_flags & NDR_SCALARS) {
7979 NDR_CHECK(ndr_push_align(ndr, 4));
7980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
7983 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->flags));
7984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_type));
7986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_attributes));
7988 if (ndr_flags & NDR_BUFFERS) {
7990 return NDR_ERR_SUCCESS;
7993 static enum ndr_err_code ndr_pull_netr_trust_extension(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension *r)
7995 if (ndr_flags & NDR_SCALARS) {
7996 NDR_CHECK(ndr_pull_align(ndr, 4));
7997 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7998 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7999 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8000 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->flags));
8001 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
8002 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_type));
8003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_attributes));
8005 if (ndr_flags & NDR_BUFFERS) {
8007 return NDR_ERR_SUCCESS;
8010 _PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r)
8012 ndr_print_struct(ndr, name, "netr_trust_extension");
8013 ndr->depth++;
8014 ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->length);
8015 ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
8016 ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->size);
8017 ndr_print_netr_TrustFlags(ndr, "flags", r->flags);
8018 ndr_print_uint32(ndr, "parent_index", r->parent_index);
8019 ndr_print_uint32(ndr, "trust_type", r->trust_type);
8020 ndr_print_uint32(ndr, "trust_attributes", r->trust_attributes);
8021 ndr->depth--;
8024 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)
8026 if (ndr_flags & NDR_SCALARS) {
8027 NDR_CHECK(ndr_push_align(ndr, 5));
8028 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
8029 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
8030 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8032 if (ndr_flags & NDR_BUFFERS) {
8033 if (r->info) {
8034 NDR_CHECK(ndr_push_netr_trust_extension(ndr, NDR_SCALARS, r->info));
8037 return NDR_ERR_SUCCESS;
8040 static enum ndr_err_code ndr_pull_netr_trust_extension_container(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_container *r)
8042 uint32_t _ptr_info;
8043 TALLOC_CTX *_mem_save_info_0;
8044 if (ndr_flags & NDR_SCALARS) {
8045 NDR_CHECK(ndr_pull_align(ndr, 5));
8046 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
8047 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
8048 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8049 if (_ptr_info) {
8050 NDR_PULL_ALLOC(ndr, r->info);
8051 } else {
8052 r->info = NULL;
8055 if (ndr_flags & NDR_BUFFERS) {
8056 if (r->info) {
8057 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8058 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8059 NDR_CHECK(ndr_pull_netr_trust_extension(ndr, NDR_SCALARS, r->info));
8060 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8063 return NDR_ERR_SUCCESS;
8066 _PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r)
8068 ndr_print_struct(ndr, name, "netr_trust_extension_container");
8069 ndr->depth++;
8070 ndr_print_uint16(ndr, "length", r->length);
8071 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
8072 ndr_print_ptr(ndr, "info", r->info);
8073 ndr->depth++;
8074 if (r->info) {
8075 ndr_print_netr_trust_extension(ndr, "info", r->info);
8077 ndr->depth--;
8078 ndr->depth--;
8081 static enum ndr_err_code ndr_push_netr_OneDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_OneDomainInfo *r)
8083 if (ndr_flags & NDR_SCALARS) {
8084 NDR_CHECK(ndr_push_align(ndr, 5));
8085 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domainname));
8086 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domainname));
8087 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forestname));
8088 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8089 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
8090 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8091 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8092 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8093 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8094 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long1));
8095 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
8096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8099 if (ndr_flags & NDR_BUFFERS) {
8100 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domainname));
8101 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domainname));
8102 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forestname));
8103 if (r->domain_sid) {
8104 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8106 NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8107 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8108 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8109 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8111 return NDR_ERR_SUCCESS;
8114 static enum ndr_err_code ndr_pull_netr_OneDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_OneDomainInfo *r)
8116 uint32_t _ptr_domain_sid;
8117 TALLOC_CTX *_mem_save_domain_sid_0;
8118 if (ndr_flags & NDR_SCALARS) {
8119 NDR_CHECK(ndr_pull_align(ndr, 5));
8120 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domainname));
8121 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domainname));
8122 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forestname));
8123 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8124 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
8125 if (_ptr_domain_sid) {
8126 NDR_PULL_ALLOC(ndr, r->domain_sid);
8127 } else {
8128 r->domain_sid = NULL;
8130 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8131 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8132 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8133 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8134 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long1));
8135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
8136 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8137 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8139 if (ndr_flags & NDR_BUFFERS) {
8140 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domainname));
8141 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domainname));
8142 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forestname));
8143 if (r->domain_sid) {
8144 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8145 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
8146 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
8149 NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8150 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8151 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8152 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8154 return NDR_ERR_SUCCESS;
8157 _PUBLIC_ void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r)
8159 ndr_print_struct(ndr, name, "netr_OneDomainInfo");
8160 ndr->depth++;
8161 ndr_print_lsa_StringLarge(ndr, "domainname", &r->domainname);
8162 ndr_print_lsa_StringLarge(ndr, "dns_domainname", &r->dns_domainname);
8163 ndr_print_lsa_StringLarge(ndr, "dns_forestname", &r->dns_forestname);
8164 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
8165 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
8166 ndr->depth++;
8167 if (r->domain_sid) {
8168 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
8170 ndr->depth--;
8171 ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
8172 ndr_print_lsa_StringLarge(ndr, "dummy_string2", &r->dummy_string2);
8173 ndr_print_lsa_StringLarge(ndr, "dummy_string3", &r->dummy_string3);
8174 ndr_print_lsa_StringLarge(ndr, "dummy_string4", &r->dummy_string4);
8175 ndr_print_uint32(ndr, "dummy_long1", r->dummy_long1);
8176 ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
8177 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8178 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8179 ndr->depth--;
8182 _PUBLIC_ enum ndr_err_code ndr_push_netr_SupportedEncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8185 return NDR_ERR_SUCCESS;
8188 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SupportedEncTypes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8190 uint32_t v;
8191 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8192 *r = v;
8193 return NDR_ERR_SUCCESS;
8196 _PUBLIC_ void ndr_print_netr_SupportedEncTypes(struct ndr_print *ndr, const char *name, uint32_t r)
8198 ndr_print_uint32(ndr, name, r);
8199 ndr->depth++;
8200 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_CRC32", ENC_CRC32, r);
8201 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_RSA_MD5", ENC_RSA_MD5, r);
8202 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_RC4_HMAC_MD5", ENC_RC4_HMAC_MD5, r);
8203 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_HMAC_SHA1_96_AES128", ENC_HMAC_SHA1_96_AES128, r);
8204 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_HMAC_SHA1_96_AES256", ENC_HMAC_SHA1_96_AES256, r);
8205 ndr->depth--;
8208 static enum ndr_err_code ndr_push_netr_DomainInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInformation *r)
8210 uint32_t cntr_trusted_domains_1;
8211 if (ndr_flags & NDR_SCALARS) {
8212 NDR_CHECK(ndr_push_align(ndr, 5));
8213 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
8215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domains));
8216 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8217 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_hostname));
8218 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8219 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8220 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8221 NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
8222 NDR_CHECK(ndr_push_netr_SupportedEncTypes(ndr, NDR_SCALARS, r->supported_enc_types));
8223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8226 if (ndr_flags & NDR_BUFFERS) {
8227 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8228 if (r->trusted_domains) {
8229 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->trusted_domain_count));
8230 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8231 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8233 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8234 NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8237 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8238 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_hostname));
8239 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8240 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8241 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8243 return NDR_ERR_SUCCESS;
8246 static enum ndr_err_code ndr_pull_netr_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInformation *r)
8248 uint32_t _ptr_trusted_domains;
8249 uint32_t cntr_trusted_domains_1;
8250 TALLOC_CTX *_mem_save_trusted_domains_0;
8251 TALLOC_CTX *_mem_save_trusted_domains_1;
8252 if (ndr_flags & NDR_SCALARS) {
8253 NDR_CHECK(ndr_pull_align(ndr, 5));
8254 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8255 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trusted_domain_count));
8256 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domains));
8257 if (_ptr_trusted_domains) {
8258 NDR_PULL_ALLOC(ndr, r->trusted_domains);
8259 } else {
8260 r->trusted_domains = NULL;
8262 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8263 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_hostname));
8264 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8265 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8266 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8267 NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
8268 NDR_CHECK(ndr_pull_netr_SupportedEncTypes(ndr, NDR_SCALARS, &r->supported_enc_types));
8269 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8270 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8272 if (ndr_flags & NDR_BUFFERS) {
8273 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8274 if (r->trusted_domains) {
8275 _mem_save_trusted_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
8276 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8277 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domains));
8278 NDR_PULL_ALLOC_N(ndr, r->trusted_domains, ndr_get_array_size(ndr, &r->trusted_domains));
8279 _mem_save_trusted_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
8280 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8281 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8282 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8284 for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8285 NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_1, 0);
8288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_0, 0);
8290 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8291 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_hostname));
8292 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8293 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8294 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8295 if (r->trusted_domains) {
8296 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusted_domains, r->trusted_domain_count));
8299 return NDR_ERR_SUCCESS;
8302 _PUBLIC_ void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r)
8304 uint32_t cntr_trusted_domains_1;
8305 ndr_print_struct(ndr, name, "netr_DomainInformation");
8306 ndr->depth++;
8307 ndr_print_netr_OneDomainInfo(ndr, "primary_domain", &r->primary_domain);
8308 ndr_print_uint32(ndr, "trusted_domain_count", r->trusted_domain_count);
8309 ndr_print_ptr(ndr, "trusted_domains", r->trusted_domains);
8310 ndr->depth++;
8311 if (r->trusted_domains) {
8312 ndr->print(ndr, "%s: ARRAY(%d)", "trusted_domains", (int)r->trusted_domain_count);
8313 ndr->depth++;
8314 for (cntr_trusted_domains_1=0;cntr_trusted_domains_1<r->trusted_domain_count;cntr_trusted_domains_1++) {
8315 char *idx_1=NULL;
8316 if (asprintf(&idx_1, "[%d]", cntr_trusted_domains_1) != -1) {
8317 ndr_print_netr_OneDomainInfo(ndr, "trusted_domains", &r->trusted_domains[cntr_trusted_domains_1]);
8318 free(idx_1);
8321 ndr->depth--;
8323 ndr->depth--;
8324 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
8325 ndr_print_lsa_StringLarge(ndr, "dns_hostname", &r->dns_hostname);
8326 ndr_print_lsa_StringLarge(ndr, "dummy_string2", &r->dummy_string2);
8327 ndr_print_lsa_StringLarge(ndr, "dummy_string3", &r->dummy_string3);
8328 ndr_print_lsa_StringLarge(ndr, "dummy_string4", &r->dummy_string4);
8329 ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
8330 ndr_print_netr_SupportedEncTypes(ndr, "supported_enc_types", r->supported_enc_types);
8331 ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8332 ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8333 ndr->depth--;
8336 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
8338 if (ndr_flags & NDR_SCALARS) {
8339 int level = ndr_push_get_switch_value(ndr, r);
8340 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8341 NDR_CHECK(ndr_push_union_align(ndr, 5));
8342 switch (level) {
8343 case 1: {
8344 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_info));
8345 break; }
8347 case 2: {
8348 NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
8349 break; }
8351 default:
8352 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8355 if (ndr_flags & NDR_BUFFERS) {
8356 int level = ndr_push_get_switch_value(ndr, r);
8357 switch (level) {
8358 case 1:
8359 if (r->domain_info) {
8360 NDR_CHECK(ndr_push_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8362 break;
8364 case 2:
8365 if (r->lsa_policy_info) {
8366 NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8368 break;
8370 default:
8371 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8374 return NDR_ERR_SUCCESS;
8377 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
8379 int level;
8380 uint32_t _level;
8381 TALLOC_CTX *_mem_save_domain_info_0;
8382 TALLOC_CTX *_mem_save_lsa_policy_info_0;
8383 level = ndr_pull_get_switch_value(ndr, r);
8384 if (ndr_flags & NDR_SCALARS) {
8385 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8386 if (_level != level) {
8387 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8389 NDR_CHECK(ndr_pull_union_align(ndr, 5));
8390 switch (level) {
8391 case 1: {
8392 uint32_t _ptr_domain_info;
8393 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_info));
8394 if (_ptr_domain_info) {
8395 NDR_PULL_ALLOC(ndr, r->domain_info);
8396 } else {
8397 r->domain_info = NULL;
8399 break; }
8401 case 2: {
8402 uint32_t _ptr_lsa_policy_info;
8403 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
8404 if (_ptr_lsa_policy_info) {
8405 NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
8406 } else {
8407 r->lsa_policy_info = NULL;
8409 break; }
8411 default:
8412 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8415 if (ndr_flags & NDR_BUFFERS) {
8416 switch (level) {
8417 case 1:
8418 if (r->domain_info) {
8419 _mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8420 NDR_PULL_SET_MEM_CTX(ndr, r->domain_info, 0);
8421 NDR_CHECK(ndr_pull_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, 0);
8424 break;
8426 case 2:
8427 if (r->lsa_policy_info) {
8428 _mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8429 NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
8430 NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8431 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
8433 break;
8435 default:
8436 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8439 return NDR_ERR_SUCCESS;
8442 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
8444 int level;
8445 level = ndr_print_get_switch_value(ndr, r);
8446 ndr_print_union(ndr, name, level, "netr_DomainInfo");
8447 switch (level) {
8448 case 1:
8449 ndr_print_ptr(ndr, "domain_info", r->domain_info);
8450 ndr->depth++;
8451 if (r->domain_info) {
8452 ndr_print_netr_DomainInformation(ndr, "domain_info", r->domain_info);
8454 ndr->depth--;
8455 break;
8457 case 2:
8458 ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
8459 ndr->depth++;
8460 if (r->lsa_policy_info) {
8461 ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
8463 ndr->depth--;
8464 break;
8466 default:
8467 ndr_print_bad_level(ndr, name, level);
8471 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
8474 uint32_t _flags_save_STRUCT = ndr->flags;
8475 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8476 if (ndr_flags & NDR_SCALARS) {
8477 NDR_CHECK(ndr_push_align(ndr, 4));
8478 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8479 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
8481 if (ndr_flags & NDR_BUFFERS) {
8483 ndr->flags = _flags_save_STRUCT;
8485 return NDR_ERR_SUCCESS;
8488 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
8491 uint32_t _flags_save_STRUCT = ndr->flags;
8492 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8493 if (ndr_flags & NDR_SCALARS) {
8494 NDR_CHECK(ndr_pull_align(ndr, 4));
8495 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8496 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
8498 if (ndr_flags & NDR_BUFFERS) {
8500 ndr->flags = _flags_save_STRUCT;
8502 return NDR_ERR_SUCCESS;
8505 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
8507 ndr_print_struct(ndr, name, "netr_CryptPassword");
8509 uint32_t _flags_save_STRUCT = ndr->flags;
8510 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8511 ndr->depth++;
8512 ndr_print_array_uint8(ndr, "data", r->data, 512);
8513 ndr_print_uint32(ndr, "length", r->length);
8514 ndr->depth--;
8515 ndr->flags = _flags_save_STRUCT;
8519 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
8521 uint32_t cntr_sitename_1;
8522 if (ndr_flags & NDR_SCALARS) {
8523 NDR_CHECK(ndr_push_align(ndr, 5));
8524 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8525 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8527 if (ndr_flags & NDR_BUFFERS) {
8528 if (r->sitename) {
8529 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8530 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8531 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8533 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8534 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8538 return NDR_ERR_SUCCESS;
8541 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
8543 uint32_t _ptr_sitename;
8544 uint32_t cntr_sitename_1;
8545 TALLOC_CTX *_mem_save_sitename_0;
8546 TALLOC_CTX *_mem_save_sitename_1;
8547 if (ndr_flags & NDR_SCALARS) {
8548 NDR_CHECK(ndr_pull_align(ndr, 5));
8549 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8550 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8551 if (_ptr_sitename) {
8552 NDR_PULL_ALLOC(ndr, r->sitename);
8553 } else {
8554 r->sitename = NULL;
8557 if (ndr_flags & NDR_BUFFERS) {
8558 if (r->sitename) {
8559 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8560 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8561 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8562 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8563 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8564 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8565 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8566 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8568 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8569 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8571 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8574 if (r->sitename) {
8575 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8578 return NDR_ERR_SUCCESS;
8581 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
8583 uint32_t cntr_sitename_1;
8584 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
8585 ndr->depth++;
8586 ndr_print_uint32(ndr, "count", r->count);
8587 ndr_print_ptr(ndr, "sitename", r->sitename);
8588 ndr->depth++;
8589 if (r->sitename) {
8590 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8591 ndr->depth++;
8592 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8593 char *idx_1=NULL;
8594 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8595 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8596 free(idx_1);
8599 ndr->depth--;
8601 ndr->depth--;
8602 ndr->depth--;
8605 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
8607 if (ndr_flags & NDR_SCALARS) {
8608 NDR_CHECK(ndr_push_align(ndr, 5));
8609 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
8610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8612 if (ndr_flags & NDR_BUFFERS) {
8613 if (r->buffer) {
8614 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8615 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
8618 return NDR_ERR_SUCCESS;
8621 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
8623 uint32_t _ptr_buffer;
8624 TALLOC_CTX *_mem_save_buffer_0;
8625 if (ndr_flags & NDR_SCALARS) {
8626 NDR_CHECK(ndr_pull_align(ndr, 5));
8627 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
8628 if (_ptr_buffer) {
8629 NDR_PULL_ALLOC(ndr, r->buffer);
8630 } else {
8631 r->buffer = NULL;
8633 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8635 if (ndr_flags & NDR_BUFFERS) {
8636 if (r->buffer) {
8637 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
8638 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
8639 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
8640 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
8641 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
8642 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
8644 if (r->buffer) {
8645 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
8648 return NDR_ERR_SUCCESS;
8651 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
8653 ndr_print_struct(ndr, name, "netr_DsRAddress");
8654 ndr->depth++;
8655 ndr_print_ptr(ndr, "buffer", r->buffer);
8656 ndr->depth++;
8657 if (r->buffer) {
8658 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
8660 ndr->depth--;
8661 ndr_print_uint32(ndr, "size", r->size);
8662 ndr->depth--;
8665 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
8667 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
8668 return NDR_ERR_SUCCESS;
8671 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
8673 uint32_t v;
8674 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
8675 *r = v;
8676 return NDR_ERR_SUCCESS;
8679 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
8681 const char *val = NULL;
8683 switch (r) {
8684 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
8685 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
8686 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
8687 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
8689 ndr_print_enum(ndr, name, "ENUM", val, r);
8692 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8695 return NDR_ERR_SUCCESS;
8698 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8700 uint32_t v;
8701 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8702 *r = v;
8703 return NDR_ERR_SUCCESS;
8706 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
8708 ndr_print_uint32(ndr, name, r);
8709 ndr->depth++;
8710 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
8711 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
8712 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
8713 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
8714 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
8715 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
8716 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
8717 ndr->depth--;
8720 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
8722 if (ndr_flags & NDR_SCALARS) {
8723 NDR_CHECK(ndr_push_align(ndr, 5));
8724 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
8725 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
8726 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
8727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
8728 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
8729 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
8730 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
8731 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8733 if (ndr_flags & NDR_BUFFERS) {
8734 if (r->netbios_name) {
8735 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8736 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8737 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8738 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8740 if (r->dns_name) {
8741 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8742 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8743 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8744 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8746 if (r->sid) {
8747 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8750 return NDR_ERR_SUCCESS;
8753 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
8755 uint32_t _ptr_netbios_name;
8756 TALLOC_CTX *_mem_save_netbios_name_0;
8757 uint32_t _ptr_dns_name;
8758 TALLOC_CTX *_mem_save_dns_name_0;
8759 uint32_t _ptr_sid;
8760 TALLOC_CTX *_mem_save_sid_0;
8761 if (ndr_flags & NDR_SCALARS) {
8762 NDR_CHECK(ndr_pull_align(ndr, 5));
8763 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
8764 if (_ptr_netbios_name) {
8765 NDR_PULL_ALLOC(ndr, r->netbios_name);
8766 } else {
8767 r->netbios_name = NULL;
8769 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
8770 if (_ptr_dns_name) {
8771 NDR_PULL_ALLOC(ndr, r->dns_name);
8772 } else {
8773 r->dns_name = NULL;
8775 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
8776 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
8777 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
8778 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
8779 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
8780 if (_ptr_sid) {
8781 NDR_PULL_ALLOC(ndr, r->sid);
8782 } else {
8783 r->sid = NULL;
8785 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8787 if (ndr_flags & NDR_BUFFERS) {
8788 if (r->netbios_name) {
8789 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8790 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
8791 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
8792 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
8793 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
8794 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));
8796 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
8797 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
8798 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
8800 if (r->dns_name) {
8801 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8802 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
8803 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
8804 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
8805 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
8806 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
8808 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
8809 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
8810 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
8812 if (r->sid) {
8813 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8814 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
8815 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8816 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
8819 return NDR_ERR_SUCCESS;
8822 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
8824 ndr_print_struct(ndr, name, "netr_DomainTrust");
8825 ndr->depth++;
8826 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
8827 ndr->depth++;
8828 if (r->netbios_name) {
8829 ndr_print_string(ndr, "netbios_name", r->netbios_name);
8831 ndr->depth--;
8832 ndr_print_ptr(ndr, "dns_name", r->dns_name);
8833 ndr->depth++;
8834 if (r->dns_name) {
8835 ndr_print_string(ndr, "dns_name", r->dns_name);
8837 ndr->depth--;
8838 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
8839 ndr_print_uint32(ndr, "parent_index", r->parent_index);
8840 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
8841 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
8842 ndr_print_ptr(ndr, "sid", r->sid);
8843 ndr->depth++;
8844 if (r->sid) {
8845 ndr_print_dom_sid2(ndr, "sid", r->sid);
8847 ndr->depth--;
8848 ndr_print_GUID(ndr, "guid", &r->guid);
8849 ndr->depth--;
8852 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
8854 uint32_t cntr_array_1;
8855 if (ndr_flags & NDR_SCALARS) {
8856 NDR_CHECK(ndr_push_align(ndr, 5));
8857 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8858 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8860 if (ndr_flags & NDR_BUFFERS) {
8861 if (r->array) {
8862 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8863 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8864 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8866 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8867 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8871 return NDR_ERR_SUCCESS;
8874 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
8876 uint32_t _ptr_array;
8877 uint32_t cntr_array_1;
8878 TALLOC_CTX *_mem_save_array_0;
8879 TALLOC_CTX *_mem_save_array_1;
8880 if (ndr_flags & NDR_SCALARS) {
8881 NDR_CHECK(ndr_pull_align(ndr, 5));
8882 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8883 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
8884 if (_ptr_array) {
8885 NDR_PULL_ALLOC(ndr, r->array);
8886 } else {
8887 r->array = NULL;
8890 if (ndr_flags & NDR_BUFFERS) {
8891 if (r->array) {
8892 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
8893 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8894 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
8895 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
8896 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
8897 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
8898 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8899 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8901 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8902 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
8904 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
8905 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
8907 if (r->array) {
8908 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
8911 return NDR_ERR_SUCCESS;
8914 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
8916 uint32_t cntr_array_1;
8917 ndr_print_struct(ndr, name, "netr_DomainTrustList");
8918 ndr->depth++;
8919 ndr_print_uint32(ndr, "count", r->count);
8920 ndr_print_ptr(ndr, "array", r->array);
8921 ndr->depth++;
8922 if (r->array) {
8923 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
8924 ndr->depth++;
8925 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
8926 char *idx_1=NULL;
8927 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
8928 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
8929 free(idx_1);
8932 ndr->depth--;
8934 ndr->depth--;
8935 ndr->depth--;
8938 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
8940 uint32_t cntr_sitename_1;
8941 uint32_t cntr_subnetname_1;
8942 if (ndr_flags & NDR_SCALARS) {
8943 NDR_CHECK(ndr_push_align(ndr, 5));
8944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8945 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8946 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
8948 if (ndr_flags & NDR_BUFFERS) {
8949 if (r->sitename) {
8950 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8951 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8952 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8954 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8955 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8958 if (r->subnetname) {
8959 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8960 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8961 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
8963 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
8964 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
8968 return NDR_ERR_SUCCESS;
8971 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
8973 uint32_t _ptr_sitename;
8974 uint32_t cntr_sitename_1;
8975 TALLOC_CTX *_mem_save_sitename_0;
8976 TALLOC_CTX *_mem_save_sitename_1;
8977 uint32_t _ptr_subnetname;
8978 uint32_t cntr_subnetname_1;
8979 TALLOC_CTX *_mem_save_subnetname_0;
8980 TALLOC_CTX *_mem_save_subnetname_1;
8981 if (ndr_flags & NDR_SCALARS) {
8982 NDR_CHECK(ndr_pull_align(ndr, 5));
8983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8984 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8985 if (_ptr_sitename) {
8986 NDR_PULL_ALLOC(ndr, r->sitename);
8987 } else {
8988 r->sitename = NULL;
8990 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
8991 if (_ptr_subnetname) {
8992 NDR_PULL_ALLOC(ndr, r->subnetname);
8993 } else {
8994 r->subnetname = NULL;
8997 if (ndr_flags & NDR_BUFFERS) {
8998 if (r->sitename) {
8999 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
9000 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
9001 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
9002 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
9003 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
9004 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
9005 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
9006 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
9008 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
9009 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
9011 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
9012 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
9014 if (r->subnetname) {
9015 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9016 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
9017 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
9018 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
9019 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
9020 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
9021 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
9022 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
9024 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
9025 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
9027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
9028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
9030 if (r->sitename) {
9031 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
9033 if (r->subnetname) {
9034 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
9037 return NDR_ERR_SUCCESS;
9040 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
9042 uint32_t cntr_sitename_1;
9043 uint32_t cntr_subnetname_1;
9044 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
9045 ndr->depth++;
9046 ndr_print_uint32(ndr, "count", r->count);
9047 ndr_print_ptr(ndr, "sitename", r->sitename);
9048 ndr->depth++;
9049 if (r->sitename) {
9050 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
9051 ndr->depth++;
9052 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
9053 char *idx_1=NULL;
9054 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
9055 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
9056 free(idx_1);
9059 ndr->depth--;
9061 ndr->depth--;
9062 ndr_print_ptr(ndr, "subnetname", r->subnetname);
9063 ndr->depth++;
9064 if (r->subnetname) {
9065 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
9066 ndr->depth++;
9067 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
9068 char *idx_1=NULL;
9069 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
9070 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
9071 free(idx_1);
9074 ndr->depth--;
9076 ndr->depth--;
9077 ndr->depth--;
9080 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
9082 uint32_t cntr_sites_1;
9083 if (ndr_flags & NDR_SCALARS) {
9084 NDR_CHECK(ndr_push_align(ndr, 5));
9085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
9086 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
9088 if (ndr_flags & NDR_BUFFERS) {
9089 if (r->sites) {
9090 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sites));
9091 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9092 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9094 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9095 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9099 return NDR_ERR_SUCCESS;
9102 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
9104 uint32_t _ptr_sites;
9105 uint32_t cntr_sites_1;
9106 TALLOC_CTX *_mem_save_sites_0;
9107 TALLOC_CTX *_mem_save_sites_1;
9108 if (ndr_flags & NDR_SCALARS) {
9109 NDR_CHECK(ndr_pull_align(ndr, 5));
9110 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
9111 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
9112 if (_ptr_sites) {
9113 NDR_PULL_ALLOC(ndr, r->sites);
9114 } else {
9115 r->sites = NULL;
9118 if (ndr_flags & NDR_BUFFERS) {
9119 if (r->sites) {
9120 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
9121 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9122 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
9123 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
9124 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
9125 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9126 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9127 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9129 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9130 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
9133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
9135 if (r->sites) {
9136 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
9139 return NDR_ERR_SUCCESS;
9142 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
9144 uint32_t cntr_sites_1;
9145 ndr_print_struct(ndr, name, "DcSitesCtr");
9146 ndr->depth++;
9147 ndr_print_uint32(ndr, "num_sites", r->num_sites);
9148 ndr_print_ptr(ndr, "sites", r->sites);
9149 ndr->depth++;
9150 if (r->sites) {
9151 ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
9152 ndr->depth++;
9153 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
9154 char *idx_1=NULL;
9155 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
9156 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
9157 free(idx_1);
9160 ndr->depth--;
9162 ndr->depth--;
9163 ndr->depth--;
9166 static enum ndr_err_code ndr_push_netr_TrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_TrustInfo *r)
9168 uint32_t cntr_data_1;
9169 uint32_t cntr_entries_1;
9170 if (ndr_flags & NDR_SCALARS) {
9171 NDR_CHECK(ndr_push_align(ndr, 5));
9172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9173 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
9174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entry_count));
9175 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
9177 if (ndr_flags & NDR_BUFFERS) {
9178 if (r->data) {
9179 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9180 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data[cntr_data_1]));
9184 if (r->entries) {
9185 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9186 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9187 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9189 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9190 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9194 return NDR_ERR_SUCCESS;
9197 static enum ndr_err_code ndr_pull_netr_TrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_TrustInfo *r)
9199 uint32_t _ptr_data;
9200 uint32_t cntr_data_1;
9201 TALLOC_CTX *_mem_save_data_0;
9202 TALLOC_CTX *_mem_save_data_1;
9203 uint32_t _ptr_entries;
9204 uint32_t cntr_entries_1;
9205 TALLOC_CTX *_mem_save_entries_0;
9206 TALLOC_CTX *_mem_save_entries_1;
9207 if (ndr_flags & NDR_SCALARS) {
9208 NDR_CHECK(ndr_pull_align(ndr, 5));
9209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9210 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
9211 if (_ptr_data) {
9212 NDR_PULL_ALLOC(ndr, r->data);
9213 } else {
9214 r->data = NULL;
9216 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entry_count));
9217 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
9218 if (_ptr_entries) {
9219 NDR_PULL_ALLOC(ndr, r->entries);
9220 } else {
9221 r->entries = NULL;
9224 if (ndr_flags & NDR_BUFFERS) {
9225 if (r->data) {
9226 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
9227 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9228 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
9229 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
9230 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
9231 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9232 for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9233 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
9235 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
9236 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
9238 if (r->entries) {
9239 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9240 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9241 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
9242 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
9243 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
9244 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9245 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9246 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9248 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9249 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9251 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
9252 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
9254 if (r->data) {
9255 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->count));
9257 if (r->entries) {
9258 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
9261 return NDR_ERR_SUCCESS;
9264 _PUBLIC_ void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r)
9266 uint32_t cntr_data_1;
9267 uint32_t cntr_entries_1;
9268 ndr_print_struct(ndr, name, "netr_TrustInfo");
9269 ndr->depth++;
9270 ndr_print_uint32(ndr, "count", r->count);
9271 ndr_print_ptr(ndr, "data", r->data);
9272 ndr->depth++;
9273 if (r->data) {
9274 ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->count);
9275 ndr->depth++;
9276 for (cntr_data_1=0;cntr_data_1<r->count;cntr_data_1++) {
9277 char *idx_1=NULL;
9278 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
9279 ndr_print_uint32(ndr, "data", r->data[cntr_data_1]);
9280 free(idx_1);
9283 ndr->depth--;
9285 ndr->depth--;
9286 ndr_print_uint32(ndr, "entry_count", r->entry_count);
9287 ndr_print_ptr(ndr, "entries", r->entries);
9288 ndr->depth++;
9289 if (r->entries) {
9290 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
9291 ndr->depth++;
9292 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
9293 char *idx_1=NULL;
9294 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
9295 ndr_print_lsa_String(ndr, "entries", &r->entries[cntr_entries_1]);
9296 free(idx_1);
9299 ndr->depth--;
9301 ndr->depth--;
9302 ndr->depth--;
9305 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
9307 if (flags & NDR_IN) {
9308 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9309 if (r->in.server_name) {
9310 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9311 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9312 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9313 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));
9315 if (r->in.account_name == NULL) {
9316 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9318 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9319 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9320 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9321 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));
9322 if (r->in.workstation == NULL) {
9323 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9325 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9326 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9327 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9328 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9330 if (flags & NDR_OUT) {
9331 if (r->out.info == NULL) {
9332 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9334 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9335 if (*r->out.info) {
9336 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9338 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9340 return NDR_ERR_SUCCESS;
9343 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
9345 uint32_t _ptr_server_name;
9346 uint32_t _ptr_info;
9347 TALLOC_CTX *_mem_save_server_name_0;
9348 TALLOC_CTX *_mem_save_info_0;
9349 TALLOC_CTX *_mem_save_info_1;
9350 if (flags & NDR_IN) {
9351 ZERO_STRUCT(r->out);
9353 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9354 if (_ptr_server_name) {
9355 NDR_PULL_ALLOC(ndr, r->in.server_name);
9356 } else {
9357 r->in.server_name = NULL;
9359 if (r->in.server_name) {
9360 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9361 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9362 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9363 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9364 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9365 return 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));
9367 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9368 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));
9369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9371 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9372 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9373 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9374 return 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));
9376 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9377 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));
9378 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9379 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9380 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
9381 return 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));
9383 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
9384 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
9385 NDR_PULL_ALLOC(ndr, r->out.info);
9386 ZERO_STRUCTP(r->out.info);
9388 if (flags & NDR_OUT) {
9389 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9390 NDR_PULL_ALLOC(ndr, r->out.info);
9392 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9393 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9394 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9395 if (_ptr_info) {
9396 NDR_PULL_ALLOC(ndr, *r->out.info);
9397 } else {
9398 *r->out.info = NULL;
9400 if (*r->out.info) {
9401 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9402 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9403 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9404 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9406 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9407 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9409 return NDR_ERR_SUCCESS;
9412 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
9414 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
9415 ndr->depth++;
9416 if (flags & NDR_SET_VALUES) {
9417 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9419 if (flags & NDR_IN) {
9420 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
9421 ndr->depth++;
9422 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9423 ndr->depth++;
9424 if (r->in.server_name) {
9425 ndr_print_string(ndr, "server_name", r->in.server_name);
9427 ndr->depth--;
9428 ndr_print_ptr(ndr, "account_name", r->in.account_name);
9429 ndr->depth++;
9430 ndr_print_string(ndr, "account_name", r->in.account_name);
9431 ndr->depth--;
9432 ndr_print_ptr(ndr, "workstation", r->in.workstation);
9433 ndr->depth++;
9434 ndr_print_string(ndr, "workstation", r->in.workstation);
9435 ndr->depth--;
9436 ndr->depth--;
9438 if (flags & NDR_OUT) {
9439 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
9440 ndr->depth++;
9441 ndr_print_ptr(ndr, "info", r->out.info);
9442 ndr->depth++;
9443 ndr_print_ptr(ndr, "info", *r->out.info);
9444 ndr->depth++;
9445 if (*r->out.info) {
9446 ndr_print_netr_UasInfo(ndr, "info", *r->out.info);
9448 ndr->depth--;
9449 ndr->depth--;
9450 ndr_print_WERROR(ndr, "result", r->out.result);
9451 ndr->depth--;
9453 ndr->depth--;
9456 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
9458 if (flags & NDR_IN) {
9459 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9460 if (r->in.server_name) {
9461 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9462 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9463 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9464 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));
9466 if (r->in.account_name == NULL) {
9467 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9469 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9470 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9471 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9472 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));
9473 if (r->in.workstation == NULL) {
9474 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9476 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9477 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9478 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9479 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9481 if (flags & NDR_OUT) {
9482 if (r->out.info == NULL) {
9483 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9485 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9486 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9488 return NDR_ERR_SUCCESS;
9491 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
9493 uint32_t _ptr_server_name;
9494 TALLOC_CTX *_mem_save_server_name_0;
9495 TALLOC_CTX *_mem_save_info_0;
9496 if (flags & NDR_IN) {
9497 ZERO_STRUCT(r->out);
9499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9500 if (_ptr_server_name) {
9501 NDR_PULL_ALLOC(ndr, r->in.server_name);
9502 } else {
9503 r->in.server_name = NULL;
9505 if (r->in.server_name) {
9506 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9507 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9508 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9509 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9510 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9511 return 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));
9513 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9514 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));
9515 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9517 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9518 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9519 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9520 return 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));
9522 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9523 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));
9524 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9525 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9526 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
9527 return 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));
9529 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
9530 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
9531 NDR_PULL_ALLOC(ndr, r->out.info);
9532 ZERO_STRUCTP(r->out.info);
9534 if (flags & NDR_OUT) {
9535 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9536 NDR_PULL_ALLOC(ndr, r->out.info);
9538 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9539 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9540 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9542 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9544 return NDR_ERR_SUCCESS;
9547 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
9549 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
9550 ndr->depth++;
9551 if (flags & NDR_SET_VALUES) {
9552 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9554 if (flags & NDR_IN) {
9555 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
9556 ndr->depth++;
9557 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9558 ndr->depth++;
9559 if (r->in.server_name) {
9560 ndr_print_string(ndr, "server_name", r->in.server_name);
9562 ndr->depth--;
9563 ndr_print_ptr(ndr, "account_name", r->in.account_name);
9564 ndr->depth++;
9565 ndr_print_string(ndr, "account_name", r->in.account_name);
9566 ndr->depth--;
9567 ndr_print_ptr(ndr, "workstation", r->in.workstation);
9568 ndr->depth++;
9569 ndr_print_string(ndr, "workstation", r->in.workstation);
9570 ndr->depth--;
9571 ndr->depth--;
9573 if (flags & NDR_OUT) {
9574 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
9575 ndr->depth++;
9576 ndr_print_ptr(ndr, "info", r->out.info);
9577 ndr->depth++;
9578 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
9579 ndr->depth--;
9580 ndr_print_WERROR(ndr, "result", r->out.result);
9581 ndr->depth--;
9583 ndr->depth--;
9586 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
9588 if (flags & NDR_IN) {
9589 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9590 if (r->in.server_name) {
9591 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9592 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9593 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9594 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));
9596 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9597 if (r->in.computer_name) {
9598 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9599 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9600 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9601 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));
9603 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9604 if (r->in.credential) {
9605 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9607 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9608 if (r->in.return_authenticator) {
9609 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9611 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9612 if (r->in.logon == NULL) {
9613 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9615 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9616 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9617 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
9619 if (flags & NDR_OUT) {
9620 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9621 if (r->out.return_authenticator) {
9622 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9624 if (r->out.validation == NULL) {
9625 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9627 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9628 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9629 if (r->out.authoritative == NULL) {
9630 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9632 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
9633 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9635 return NDR_ERR_SUCCESS;
9638 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
9640 uint32_t _ptr_server_name;
9641 uint32_t _ptr_computer_name;
9642 uint32_t _ptr_credential;
9643 uint32_t _ptr_return_authenticator;
9644 TALLOC_CTX *_mem_save_server_name_0;
9645 TALLOC_CTX *_mem_save_computer_name_0;
9646 TALLOC_CTX *_mem_save_credential_0;
9647 TALLOC_CTX *_mem_save_return_authenticator_0;
9648 TALLOC_CTX *_mem_save_logon_0;
9649 TALLOC_CTX *_mem_save_validation_0;
9650 TALLOC_CTX *_mem_save_authoritative_0;
9651 if (flags & NDR_IN) {
9652 ZERO_STRUCT(r->out);
9654 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9655 if (_ptr_server_name) {
9656 NDR_PULL_ALLOC(ndr, r->in.server_name);
9657 } else {
9658 r->in.server_name = NULL;
9660 if (r->in.server_name) {
9661 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9662 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9663 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9664 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9665 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9666 return 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));
9668 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9669 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));
9670 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9672 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9673 if (_ptr_computer_name) {
9674 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9675 } else {
9676 r->in.computer_name = NULL;
9678 if (r->in.computer_name) {
9679 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9680 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9681 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9682 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9683 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9684 return 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));
9686 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9687 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));
9688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9690 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9691 if (_ptr_credential) {
9692 NDR_PULL_ALLOC(ndr, r->in.credential);
9693 } else {
9694 r->in.credential = NULL;
9696 if (r->in.credential) {
9697 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9698 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9699 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9702 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9703 if (_ptr_return_authenticator) {
9704 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9705 } else {
9706 r->in.return_authenticator = NULL;
9708 if (r->in.return_authenticator) {
9709 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9710 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9711 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9714 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9715 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9716 NDR_PULL_ALLOC(ndr, r->in.logon);
9718 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
9719 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
9720 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9721 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9722 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
9723 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
9724 NDR_PULL_ALLOC(ndr, r->out.validation);
9725 ZERO_STRUCTP(r->out.validation);
9726 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9727 ZERO_STRUCTP(r->out.authoritative);
9729 if (flags & NDR_OUT) {
9730 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9731 if (_ptr_return_authenticator) {
9732 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9733 } else {
9734 r->out.return_authenticator = NULL;
9736 if (r->out.return_authenticator) {
9737 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9738 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9739 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9740 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9742 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9743 NDR_PULL_ALLOC(ndr, r->out.validation);
9745 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
9746 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
9747 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9748 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9749 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
9750 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9751 NDR_PULL_ALLOC(ndr, r->out.authoritative);
9753 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
9754 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
9755 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
9756 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
9757 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9759 return NDR_ERR_SUCCESS;
9762 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
9764 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
9765 ndr->depth++;
9766 if (flags & NDR_SET_VALUES) {
9767 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9769 if (flags & NDR_IN) {
9770 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
9771 ndr->depth++;
9772 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9773 ndr->depth++;
9774 if (r->in.server_name) {
9775 ndr_print_string(ndr, "server_name", r->in.server_name);
9777 ndr->depth--;
9778 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9779 ndr->depth++;
9780 if (r->in.computer_name) {
9781 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9783 ndr->depth--;
9784 ndr_print_ptr(ndr, "credential", r->in.credential);
9785 ndr->depth++;
9786 if (r->in.credential) {
9787 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9789 ndr->depth--;
9790 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9791 ndr->depth++;
9792 if (r->in.return_authenticator) {
9793 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9795 ndr->depth--;
9796 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9797 ndr_print_ptr(ndr, "logon", r->in.logon);
9798 ndr->depth++;
9799 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
9800 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
9801 ndr->depth--;
9802 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
9803 ndr->depth--;
9805 if (flags & NDR_OUT) {
9806 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
9807 ndr->depth++;
9808 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9809 ndr->depth++;
9810 if (r->out.return_authenticator) {
9811 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9813 ndr->depth--;
9814 ndr_print_ptr(ndr, "validation", r->out.validation);
9815 ndr->depth++;
9816 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
9817 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
9818 ndr->depth--;
9819 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
9820 ndr->depth++;
9821 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
9822 ndr->depth--;
9823 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9824 ndr->depth--;
9826 ndr->depth--;
9829 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
9831 if (flags & NDR_IN) {
9832 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9833 if (r->in.server_name) {
9834 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9835 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9836 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9837 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));
9839 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9840 if (r->in.computer_name) {
9841 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9842 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9843 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9844 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));
9846 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9847 if (r->in.credential) {
9848 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9850 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9851 if (r->in.return_authenticator) {
9852 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9854 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9855 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9856 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9858 if (flags & NDR_OUT) {
9859 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9860 if (r->out.return_authenticator) {
9861 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9863 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9865 return NDR_ERR_SUCCESS;
9868 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
9870 uint32_t _ptr_server_name;
9871 uint32_t _ptr_computer_name;
9872 uint32_t _ptr_credential;
9873 uint32_t _ptr_return_authenticator;
9874 TALLOC_CTX *_mem_save_server_name_0;
9875 TALLOC_CTX *_mem_save_computer_name_0;
9876 TALLOC_CTX *_mem_save_credential_0;
9877 TALLOC_CTX *_mem_save_return_authenticator_0;
9878 if (flags & NDR_IN) {
9879 ZERO_STRUCT(r->out);
9881 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9882 if (_ptr_server_name) {
9883 NDR_PULL_ALLOC(ndr, r->in.server_name);
9884 } else {
9885 r->in.server_name = NULL;
9887 if (r->in.server_name) {
9888 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9889 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9890 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9891 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9892 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9893 return 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));
9895 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9896 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));
9897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9899 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9900 if (_ptr_computer_name) {
9901 NDR_PULL_ALLOC(ndr, r->in.computer_name);
9902 } else {
9903 r->in.computer_name = NULL;
9905 if (r->in.computer_name) {
9906 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9907 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9908 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9909 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9910 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9911 return 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));
9913 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9914 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));
9915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9917 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9918 if (_ptr_credential) {
9919 NDR_PULL_ALLOC(ndr, r->in.credential);
9920 } else {
9921 r->in.credential = NULL;
9923 if (r->in.credential) {
9924 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9925 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9926 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9929 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9930 if (_ptr_return_authenticator) {
9931 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9932 } else {
9933 r->in.return_authenticator = NULL;
9935 if (r->in.return_authenticator) {
9936 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9937 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9938 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9939 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9941 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9942 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9943 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9945 if (flags & NDR_OUT) {
9946 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9947 if (_ptr_return_authenticator) {
9948 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9949 } else {
9950 r->out.return_authenticator = NULL;
9952 if (r->out.return_authenticator) {
9953 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9954 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9955 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9956 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9958 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9960 return NDR_ERR_SUCCESS;
9963 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
9965 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
9966 ndr->depth++;
9967 if (flags & NDR_SET_VALUES) {
9968 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9970 if (flags & NDR_IN) {
9971 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
9972 ndr->depth++;
9973 ndr_print_ptr(ndr, "server_name", r->in.server_name);
9974 ndr->depth++;
9975 if (r->in.server_name) {
9976 ndr_print_string(ndr, "server_name", r->in.server_name);
9978 ndr->depth--;
9979 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9980 ndr->depth++;
9981 if (r->in.computer_name) {
9982 ndr_print_string(ndr, "computer_name", r->in.computer_name);
9984 ndr->depth--;
9985 ndr_print_ptr(ndr, "credential", r->in.credential);
9986 ndr->depth++;
9987 if (r->in.credential) {
9988 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9990 ndr->depth--;
9991 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9992 ndr->depth++;
9993 if (r->in.return_authenticator) {
9994 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9996 ndr->depth--;
9997 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9998 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
9999 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
10000 ndr->depth--;
10002 if (flags & NDR_OUT) {
10003 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
10004 ndr->depth++;
10005 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10006 ndr->depth++;
10007 if (r->out.return_authenticator) {
10008 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10010 ndr->depth--;
10011 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10012 ndr->depth--;
10014 ndr->depth--;
10017 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
10019 if (flags & NDR_IN) {
10020 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10021 if (r->in.server_name) {
10022 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10023 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10024 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10025 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));
10027 if (r->in.computer_name == NULL) {
10028 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10030 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10031 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10032 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10033 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));
10034 if (r->in.credentials == NULL) {
10035 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10037 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10039 if (flags & NDR_OUT) {
10040 if (r->out.return_credentials == NULL) {
10041 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10043 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10044 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10046 return NDR_ERR_SUCCESS;
10049 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
10051 uint32_t _ptr_server_name;
10052 TALLOC_CTX *_mem_save_server_name_0;
10053 TALLOC_CTX *_mem_save_credentials_0;
10054 TALLOC_CTX *_mem_save_return_credentials_0;
10055 if (flags & NDR_IN) {
10056 ZERO_STRUCT(r->out);
10058 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10059 if (_ptr_server_name) {
10060 NDR_PULL_ALLOC(ndr, r->in.server_name);
10061 } else {
10062 r->in.server_name = NULL;
10064 if (r->in.server_name) {
10065 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10066 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10067 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10068 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10069 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10070 return 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));
10072 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10073 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));
10074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10076 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10077 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10078 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10079 return 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));
10081 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10082 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));
10083 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10084 NDR_PULL_ALLOC(ndr, r->in.credentials);
10086 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10087 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10088 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10090 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10091 ZERO_STRUCTP(r->out.return_credentials);
10093 if (flags & NDR_OUT) {
10094 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10095 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10097 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10098 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10099 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10100 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10101 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10103 return NDR_ERR_SUCCESS;
10106 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
10108 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
10109 ndr->depth++;
10110 if (flags & NDR_SET_VALUES) {
10111 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10113 if (flags & NDR_IN) {
10114 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
10115 ndr->depth++;
10116 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10117 ndr->depth++;
10118 if (r->in.server_name) {
10119 ndr_print_string(ndr, "server_name", r->in.server_name);
10121 ndr->depth--;
10122 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10123 ndr->depth++;
10124 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10125 ndr->depth--;
10126 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10127 ndr->depth++;
10128 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10129 ndr->depth--;
10130 ndr->depth--;
10132 if (flags & NDR_OUT) {
10133 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
10134 ndr->depth++;
10135 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10136 ndr->depth++;
10137 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10138 ndr->depth--;
10139 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10140 ndr->depth--;
10142 ndr->depth--;
10145 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
10147 if (flags & NDR_IN) {
10148 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10149 if (r->in.server_name) {
10150 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10151 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10152 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10153 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));
10155 if (r->in.account_name == NULL) {
10156 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10158 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10159 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10160 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10161 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));
10162 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10163 if (r->in.computer_name == NULL) {
10164 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10166 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10167 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10168 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10169 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));
10170 if (r->in.credentials == NULL) {
10171 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10173 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10175 if (flags & NDR_OUT) {
10176 if (r->out.return_credentials == NULL) {
10177 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10179 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10180 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10182 return NDR_ERR_SUCCESS;
10185 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
10187 uint32_t _ptr_server_name;
10188 TALLOC_CTX *_mem_save_server_name_0;
10189 TALLOC_CTX *_mem_save_credentials_0;
10190 TALLOC_CTX *_mem_save_return_credentials_0;
10191 if (flags & NDR_IN) {
10192 ZERO_STRUCT(r->out);
10194 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10195 if (_ptr_server_name) {
10196 NDR_PULL_ALLOC(ndr, r->in.server_name);
10197 } else {
10198 r->in.server_name = NULL;
10200 if (r->in.server_name) {
10201 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10202 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10203 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10204 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10205 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10206 return 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));
10208 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10209 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));
10210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10212 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10213 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10214 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10215 return 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));
10217 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10218 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));
10219 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10220 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10221 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10222 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10223 return 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));
10225 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10226 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));
10227 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10228 NDR_PULL_ALLOC(ndr, r->in.credentials);
10230 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10231 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10232 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10233 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10234 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10235 ZERO_STRUCTP(r->out.return_credentials);
10237 if (flags & NDR_OUT) {
10238 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10239 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10241 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10242 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10243 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10244 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10245 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10247 return NDR_ERR_SUCCESS;
10250 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
10252 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
10253 ndr->depth++;
10254 if (flags & NDR_SET_VALUES) {
10255 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10257 if (flags & NDR_IN) {
10258 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
10259 ndr->depth++;
10260 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10261 ndr->depth++;
10262 if (r->in.server_name) {
10263 ndr_print_string(ndr, "server_name", r->in.server_name);
10265 ndr->depth--;
10266 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10267 ndr->depth++;
10268 ndr_print_string(ndr, "account_name", r->in.account_name);
10269 ndr->depth--;
10270 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10271 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10272 ndr->depth++;
10273 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10274 ndr->depth--;
10275 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10276 ndr->depth++;
10277 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10278 ndr->depth--;
10279 ndr->depth--;
10281 if (flags & NDR_OUT) {
10282 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
10283 ndr->depth++;
10284 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10285 ndr->depth++;
10286 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10287 ndr->depth--;
10288 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10289 ndr->depth--;
10291 ndr->depth--;
10294 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
10296 if (flags & NDR_IN) {
10297 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10298 if (r->in.server_name) {
10299 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10300 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10301 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10302 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));
10304 if (r->in.account_name == NULL) {
10305 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10307 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10308 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10309 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10310 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));
10311 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10312 if (r->in.computer_name == NULL) {
10313 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10315 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10316 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10317 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10318 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));
10319 if (r->in.credential == NULL) {
10320 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10322 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10323 if (r->in.new_password == NULL) {
10324 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10326 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10328 if (flags & NDR_OUT) {
10329 if (r->out.return_authenticator == NULL) {
10330 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10332 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10333 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10335 return NDR_ERR_SUCCESS;
10338 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
10340 uint32_t _ptr_server_name;
10341 TALLOC_CTX *_mem_save_server_name_0;
10342 TALLOC_CTX *_mem_save_credential_0;
10343 TALLOC_CTX *_mem_save_return_authenticator_0;
10344 TALLOC_CTX *_mem_save_new_password_0;
10345 if (flags & NDR_IN) {
10346 ZERO_STRUCT(r->out);
10348 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10349 if (_ptr_server_name) {
10350 NDR_PULL_ALLOC(ndr, r->in.server_name);
10351 } else {
10352 r->in.server_name = NULL;
10354 if (r->in.server_name) {
10355 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10356 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10357 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10358 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10359 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10360 return 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));
10362 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10363 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));
10364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10366 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10367 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10368 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10369 return 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));
10371 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10372 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));
10373 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10374 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10375 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10376 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10377 return 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));
10379 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10380 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));
10381 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10382 NDR_PULL_ALLOC(ndr, r->in.credential);
10384 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10385 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10386 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10388 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10389 NDR_PULL_ALLOC(ndr, r->in.new_password);
10391 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10392 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
10393 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10394 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
10395 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10396 ZERO_STRUCTP(r->out.return_authenticator);
10398 if (flags & NDR_OUT) {
10399 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10400 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10402 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10403 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10404 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10405 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10406 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10408 return NDR_ERR_SUCCESS;
10411 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
10413 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
10414 ndr->depth++;
10415 if (flags & NDR_SET_VALUES) {
10416 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10418 if (flags & NDR_IN) {
10419 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
10420 ndr->depth++;
10421 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10422 ndr->depth++;
10423 if (r->in.server_name) {
10424 ndr_print_string(ndr, "server_name", r->in.server_name);
10426 ndr->depth--;
10427 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10428 ndr->depth++;
10429 ndr_print_string(ndr, "account_name", r->in.account_name);
10430 ndr->depth--;
10431 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10432 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10433 ndr->depth++;
10434 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10435 ndr->depth--;
10436 ndr_print_ptr(ndr, "credential", r->in.credential);
10437 ndr->depth++;
10438 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10439 ndr->depth--;
10440 ndr_print_ptr(ndr, "new_password", r->in.new_password);
10441 ndr->depth++;
10442 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
10443 ndr->depth--;
10444 ndr->depth--;
10446 if (flags & NDR_OUT) {
10447 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
10448 ndr->depth++;
10449 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10450 ndr->depth++;
10451 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10452 ndr->depth--;
10453 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10454 ndr->depth--;
10456 ndr->depth--;
10459 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
10461 if (flags & NDR_IN) {
10462 if (r->in.logon_server == NULL) {
10463 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10465 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10466 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10467 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10468 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));
10469 if (r->in.computername == NULL) {
10470 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10472 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10473 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10474 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10475 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10476 if (r->in.credential == NULL) {
10477 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10479 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10480 if (r->in.return_authenticator == NULL) {
10481 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10483 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10484 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10485 if (r->in.sequence_num == NULL) {
10486 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10488 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
10489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10491 if (flags & NDR_OUT) {
10492 if (r->out.return_authenticator == NULL) {
10493 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10495 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10496 if (r->out.sequence_num == NULL) {
10497 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10499 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
10500 if (r->out.delta_enum_array == NULL) {
10501 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10503 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10504 if (*r->out.delta_enum_array) {
10505 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10507 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10509 return NDR_ERR_SUCCESS;
10512 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
10514 uint32_t _ptr_delta_enum_array;
10515 TALLOC_CTX *_mem_save_credential_0;
10516 TALLOC_CTX *_mem_save_return_authenticator_0;
10517 TALLOC_CTX *_mem_save_sequence_num_0;
10518 TALLOC_CTX *_mem_save_delta_enum_array_0;
10519 TALLOC_CTX *_mem_save_delta_enum_array_1;
10520 if (flags & NDR_IN) {
10521 ZERO_STRUCT(r->out);
10523 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10524 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10525 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10526 return 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));
10528 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10529 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));
10530 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10531 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10532 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10533 return 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));
10535 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10536 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10537 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10538 NDR_PULL_ALLOC(ndr, r->in.credential);
10540 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10541 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10542 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10544 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10545 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10547 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10548 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10549 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10550 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10551 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10552 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10553 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
10555 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10556 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10557 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
10558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10559 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10560 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10561 *r->out.return_authenticator = *r->in.return_authenticator;
10562 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10563 *r->out.sequence_num = *r->in.sequence_num;
10564 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10565 ZERO_STRUCTP(r->out.delta_enum_array);
10567 if (flags & NDR_OUT) {
10568 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10569 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10571 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10572 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10573 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10575 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10576 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10578 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10579 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10580 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
10581 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10582 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10583 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10585 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10586 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10587 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10588 if (_ptr_delta_enum_array) {
10589 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10590 } else {
10591 *r->out.delta_enum_array = NULL;
10593 if (*r->out.delta_enum_array) {
10594 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10595 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10596 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10597 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10599 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10600 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10602 return NDR_ERR_SUCCESS;
10605 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
10607 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
10608 ndr->depth++;
10609 if (flags & NDR_SET_VALUES) {
10610 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10612 if (flags & NDR_IN) {
10613 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
10614 ndr->depth++;
10615 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10616 ndr->depth++;
10617 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10618 ndr->depth--;
10619 ndr_print_ptr(ndr, "computername", r->in.computername);
10620 ndr->depth++;
10621 ndr_print_string(ndr, "computername", r->in.computername);
10622 ndr->depth--;
10623 ndr_print_ptr(ndr, "credential", r->in.credential);
10624 ndr->depth++;
10625 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10626 ndr->depth--;
10627 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10628 ndr->depth++;
10629 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10630 ndr->depth--;
10631 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10632 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
10633 ndr->depth++;
10634 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
10635 ndr->depth--;
10636 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10637 ndr->depth--;
10639 if (flags & NDR_OUT) {
10640 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
10641 ndr->depth++;
10642 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10643 ndr->depth++;
10644 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10645 ndr->depth--;
10646 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
10647 ndr->depth++;
10648 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
10649 ndr->depth--;
10650 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10651 ndr->depth++;
10652 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10653 ndr->depth++;
10654 if (*r->out.delta_enum_array) {
10655 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10657 ndr->depth--;
10658 ndr->depth--;
10659 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10660 ndr->depth--;
10662 ndr->depth--;
10665 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
10667 if (flags & NDR_IN) {
10668 if (r->in.logon_server == NULL) {
10669 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10671 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10672 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10673 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10674 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));
10675 if (r->in.computername == NULL) {
10676 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10678 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10679 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10680 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10681 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10682 if (r->in.credential == NULL) {
10683 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10685 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10686 if (r->in.return_authenticator == NULL) {
10687 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10689 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10690 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10691 if (r->in.sync_context == NULL) {
10692 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10694 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10695 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10697 if (flags & NDR_OUT) {
10698 if (r->out.return_authenticator == NULL) {
10699 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10701 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10702 if (r->out.sync_context == NULL) {
10703 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10705 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10706 if (r->out.delta_enum_array == NULL) {
10707 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10709 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10710 if (*r->out.delta_enum_array) {
10711 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10713 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10715 return NDR_ERR_SUCCESS;
10718 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
10720 uint32_t _ptr_delta_enum_array;
10721 TALLOC_CTX *_mem_save_credential_0;
10722 TALLOC_CTX *_mem_save_return_authenticator_0;
10723 TALLOC_CTX *_mem_save_sync_context_0;
10724 TALLOC_CTX *_mem_save_delta_enum_array_0;
10725 TALLOC_CTX *_mem_save_delta_enum_array_1;
10726 if (flags & NDR_IN) {
10727 ZERO_STRUCT(r->out);
10729 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10730 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10731 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10732 return 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));
10734 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10735 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));
10736 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10737 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10738 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10739 return 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));
10741 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10742 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10743 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10744 NDR_PULL_ALLOC(ndr, r->in.credential);
10746 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10747 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10748 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10749 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10750 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10751 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10753 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10754 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10755 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10756 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10757 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10758 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10759 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10761 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10762 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10764 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10765 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10766 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10767 *r->out.return_authenticator = *r->in.return_authenticator;
10768 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10769 *r->out.sync_context = *r->in.sync_context;
10770 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10771 ZERO_STRUCTP(r->out.delta_enum_array);
10773 if (flags & NDR_OUT) {
10774 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10775 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10777 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10778 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10779 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10781 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10782 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10784 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10785 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10786 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10788 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10789 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10791 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10792 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10793 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10794 if (_ptr_delta_enum_array) {
10795 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10796 } else {
10797 *r->out.delta_enum_array = NULL;
10799 if (*r->out.delta_enum_array) {
10800 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10801 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10802 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10803 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10805 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10806 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10808 return NDR_ERR_SUCCESS;
10811 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
10813 ndr_print_struct(ndr, name, "netr_DatabaseSync");
10814 ndr->depth++;
10815 if (flags & NDR_SET_VALUES) {
10816 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10818 if (flags & NDR_IN) {
10819 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
10820 ndr->depth++;
10821 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10822 ndr->depth++;
10823 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10824 ndr->depth--;
10825 ndr_print_ptr(ndr, "computername", r->in.computername);
10826 ndr->depth++;
10827 ndr_print_string(ndr, "computername", r->in.computername);
10828 ndr->depth--;
10829 ndr_print_ptr(ndr, "credential", r->in.credential);
10830 ndr->depth++;
10831 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10832 ndr->depth--;
10833 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10834 ndr->depth++;
10835 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10836 ndr->depth--;
10837 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10838 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10839 ndr->depth++;
10840 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10841 ndr->depth--;
10842 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10843 ndr->depth--;
10845 if (flags & NDR_OUT) {
10846 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
10847 ndr->depth++;
10848 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10849 ndr->depth++;
10850 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10851 ndr->depth--;
10852 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10853 ndr->depth++;
10854 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10855 ndr->depth--;
10856 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10857 ndr->depth++;
10858 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10859 ndr->depth++;
10860 if (*r->out.delta_enum_array) {
10861 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10863 ndr->depth--;
10864 ndr->depth--;
10865 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10866 ndr->depth--;
10868 ndr->depth--;
10871 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
10873 if (flags & NDR_IN) {
10874 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10875 if (r->in.logon_server) {
10876 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10877 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10878 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10879 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));
10881 if (r->in.computername == NULL) {
10882 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10884 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10885 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10886 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10887 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10888 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10889 if (r->in.return_authenticator == NULL) {
10890 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10892 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10893 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10894 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
10895 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10896 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
10898 if (flags & NDR_OUT) {
10899 if (r->out.return_authenticator == NULL) {
10900 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10902 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10903 if (r->out.buffer == NULL) {
10904 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10907 struct ndr_push *_ndr_buffer;
10908 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
10909 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
10910 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
10912 if (r->out.count_returned == NULL) {
10913 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10915 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
10916 if (r->out.total_entries == NULL) {
10917 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
10920 if (r->out.recordid == NULL) {
10921 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10923 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
10924 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10926 return NDR_ERR_SUCCESS;
10929 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
10931 uint32_t _ptr_logon_server;
10932 TALLOC_CTX *_mem_save_logon_server_0;
10933 TALLOC_CTX *_mem_save_return_authenticator_0;
10934 TALLOC_CTX *_mem_save_buffer_0;
10935 TALLOC_CTX *_mem_save_count_returned_0;
10936 TALLOC_CTX *_mem_save_total_entries_0;
10937 TALLOC_CTX *_mem_save_recordid_0;
10938 if (flags & NDR_IN) {
10939 ZERO_STRUCT(r->out);
10941 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10942 if (_ptr_logon_server) {
10943 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10944 } else {
10945 r->in.logon_server = NULL;
10947 if (r->in.logon_server) {
10948 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10949 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10950 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10951 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10952 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10953 return 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));
10955 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10956 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));
10957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10959 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10960 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10961 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10962 return 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));
10964 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10965 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10966 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10967 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10968 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10970 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10971 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10972 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10973 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10974 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
10975 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
10976 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10977 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
10978 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10979 *r->out.return_authenticator = *r->in.return_authenticator;
10980 NDR_PULL_ALLOC(ndr, r->out.buffer);
10981 ZERO_STRUCTP(r->out.buffer);
10982 NDR_PULL_ALLOC(ndr, r->out.count_returned);
10983 ZERO_STRUCTP(r->out.count_returned);
10984 NDR_PULL_ALLOC(ndr, r->out.total_entries);
10985 ZERO_STRUCTP(r->out.total_entries);
10986 NDR_PULL_ALLOC(ndr, r->out.recordid);
10987 ZERO_STRUCTP(r->out.recordid);
10989 if (flags & NDR_OUT) {
10990 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10991 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10993 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10994 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10995 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10996 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10997 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10998 NDR_PULL_ALLOC(ndr, r->out.buffer);
11000 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
11001 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
11003 struct ndr_pull *_ndr_buffer;
11004 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11005 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11006 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
11008 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
11009 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11010 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11012 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
11013 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
11014 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
11015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
11016 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11017 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11019 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
11020 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
11021 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
11022 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
11023 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11024 NDR_PULL_ALLOC(ndr, r->out.recordid);
11026 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11027 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
11028 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11030 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11032 return NDR_ERR_SUCCESS;
11035 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
11037 ndr_print_struct(ndr, name, "netr_AccountDeltas");
11038 ndr->depth++;
11039 if (flags & NDR_SET_VALUES) {
11040 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11042 if (flags & NDR_IN) {
11043 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
11044 ndr->depth++;
11045 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11046 ndr->depth++;
11047 if (r->in.logon_server) {
11048 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11050 ndr->depth--;
11051 ndr_print_ptr(ndr, "computername", r->in.computername);
11052 ndr->depth++;
11053 ndr_print_string(ndr, "computername", r->in.computername);
11054 ndr->depth--;
11055 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
11056 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11057 ndr->depth++;
11058 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11059 ndr->depth--;
11060 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
11061 ndr_print_uint32(ndr, "count", r->in.count);
11062 ndr_print_uint32(ndr, "level", r->in.level);
11063 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
11064 ndr->depth--;
11066 if (flags & NDR_OUT) {
11067 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
11068 ndr->depth++;
11069 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11070 ndr->depth++;
11071 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11072 ndr->depth--;
11073 ndr_print_ptr(ndr, "buffer", r->out.buffer);
11074 ndr->depth++;
11075 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
11076 ndr->depth--;
11077 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
11078 ndr->depth++;
11079 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
11080 ndr->depth--;
11081 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
11082 ndr->depth++;
11083 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
11084 ndr->depth--;
11085 ndr_print_ptr(ndr, "recordid", r->out.recordid);
11086 ndr->depth++;
11087 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
11088 ndr->depth--;
11089 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11090 ndr->depth--;
11092 ndr->depth--;
11095 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
11097 if (flags & NDR_IN) {
11098 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11099 if (r->in.logon_server) {
11100 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11101 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11102 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11103 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));
11105 if (r->in.computername == NULL) {
11106 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11108 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11109 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11110 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11111 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11112 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11113 if (r->in.return_authenticator == NULL) {
11114 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11116 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
11118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
11120 if (r->in.recordid == NULL) {
11121 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11123 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11125 if (flags & NDR_OUT) {
11126 if (r->out.return_authenticator == NULL) {
11127 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11129 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11130 if (r->out.buffer == NULL) {
11131 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11134 struct ndr_push *_ndr_buffer;
11135 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11136 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11137 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
11139 if (r->out.count_returned == NULL) {
11140 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
11143 if (r->out.total_entries == NULL) {
11144 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11146 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
11147 if (r->out.next_reference == NULL) {
11148 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11150 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
11151 if (r->out.recordid == NULL) {
11152 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11154 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11155 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11157 return NDR_ERR_SUCCESS;
11160 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
11162 uint32_t _ptr_logon_server;
11163 TALLOC_CTX *_mem_save_logon_server_0;
11164 TALLOC_CTX *_mem_save_return_authenticator_0;
11165 TALLOC_CTX *_mem_save_buffer_0;
11166 TALLOC_CTX *_mem_save_count_returned_0;
11167 TALLOC_CTX *_mem_save_total_entries_0;
11168 TALLOC_CTX *_mem_save_next_reference_0;
11169 TALLOC_CTX *_mem_save_recordid_0;
11170 if (flags & NDR_IN) {
11171 ZERO_STRUCT(r->out);
11173 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11174 if (_ptr_logon_server) {
11175 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11176 } else {
11177 r->in.logon_server = NULL;
11179 if (r->in.logon_server) {
11180 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11181 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11182 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11183 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11184 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11185 return 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));
11187 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11188 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));
11189 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11191 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11192 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11193 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
11194 return 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));
11196 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
11197 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
11198 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11199 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11200 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11202 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11203 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11204 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11206 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
11207 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11208 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
11209 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11210 NDR_PULL_ALLOC(ndr, r->in.recordid);
11212 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11213 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
11214 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11216 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11217 *r->out.return_authenticator = *r->in.return_authenticator;
11218 NDR_PULL_ALLOC(ndr, r->out.buffer);
11219 ZERO_STRUCTP(r->out.buffer);
11220 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11221 ZERO_STRUCTP(r->out.count_returned);
11222 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11223 ZERO_STRUCTP(r->out.total_entries);
11224 NDR_PULL_ALLOC(ndr, r->out.next_reference);
11225 ZERO_STRUCTP(r->out.next_reference);
11226 NDR_PULL_ALLOC(ndr, r->out.recordid);
11227 *r->out.recordid = *r->in.recordid;
11229 if (flags & NDR_OUT) {
11230 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11231 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11233 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11234 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11235 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11236 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11237 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11238 NDR_PULL_ALLOC(ndr, r->out.buffer);
11240 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
11241 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
11243 struct ndr_pull *_ndr_buffer;
11244 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11245 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11246 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
11248 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
11249 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11250 NDR_PULL_ALLOC(ndr, r->out.count_returned);
11252 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
11253 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
11254 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
11255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
11256 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11257 NDR_PULL_ALLOC(ndr, r->out.total_entries);
11259 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
11260 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
11261 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
11262 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
11263 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11264 NDR_PULL_ALLOC(ndr, r->out.next_reference);
11266 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
11267 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
11268 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
11269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
11270 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11271 NDR_PULL_ALLOC(ndr, r->out.recordid);
11273 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11274 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
11275 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11276 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11277 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11279 return NDR_ERR_SUCCESS;
11282 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
11284 ndr_print_struct(ndr, name, "netr_AccountSync");
11285 ndr->depth++;
11286 if (flags & NDR_SET_VALUES) {
11287 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11289 if (flags & NDR_IN) {
11290 ndr_print_struct(ndr, "in", "netr_AccountSync");
11291 ndr->depth++;
11292 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11293 ndr->depth++;
11294 if (r->in.logon_server) {
11295 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11297 ndr->depth--;
11298 ndr_print_ptr(ndr, "computername", r->in.computername);
11299 ndr->depth++;
11300 ndr_print_string(ndr, "computername", r->in.computername);
11301 ndr->depth--;
11302 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
11303 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11304 ndr->depth++;
11305 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11306 ndr->depth--;
11307 ndr_print_uint32(ndr, "reference", r->in.reference);
11308 ndr_print_uint32(ndr, "level", r->in.level);
11309 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
11310 ndr_print_ptr(ndr, "recordid", r->in.recordid);
11311 ndr->depth++;
11312 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
11313 ndr->depth--;
11314 ndr->depth--;
11316 if (flags & NDR_OUT) {
11317 ndr_print_struct(ndr, "out", "netr_AccountSync");
11318 ndr->depth++;
11319 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11320 ndr->depth++;
11321 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11322 ndr->depth--;
11323 ndr_print_ptr(ndr, "buffer", r->out.buffer);
11324 ndr->depth++;
11325 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
11326 ndr->depth--;
11327 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
11328 ndr->depth++;
11329 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
11330 ndr->depth--;
11331 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
11332 ndr->depth++;
11333 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
11334 ndr->depth--;
11335 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
11336 ndr->depth++;
11337 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
11338 ndr->depth--;
11339 ndr_print_ptr(ndr, "recordid", r->out.recordid);
11340 ndr->depth++;
11341 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
11342 ndr->depth--;
11343 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11344 ndr->depth--;
11346 ndr->depth--;
11349 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
11351 if (flags & NDR_IN) {
11352 if (r->in.logon_server == NULL) {
11353 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11355 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11356 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11357 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11358 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));
11359 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11360 if (r->in.domainname) {
11361 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11362 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11363 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11364 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11367 if (flags & NDR_OUT) {
11368 if (r->out.dcname == NULL) {
11369 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11371 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11372 if (*r->out.dcname) {
11373 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11374 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11375 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11376 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11378 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11380 return NDR_ERR_SUCCESS;
11383 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
11385 uint32_t _ptr_domainname;
11386 uint32_t _ptr_dcname;
11387 TALLOC_CTX *_mem_save_domainname_0;
11388 TALLOC_CTX *_mem_save_dcname_0;
11389 TALLOC_CTX *_mem_save_dcname_1;
11390 if (flags & NDR_IN) {
11391 ZERO_STRUCT(r->out);
11393 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11394 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11395 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11396 return 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));
11398 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11399 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));
11400 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11401 if (_ptr_domainname) {
11402 NDR_PULL_ALLOC(ndr, r->in.domainname);
11403 } else {
11404 r->in.domainname = NULL;
11406 if (r->in.domainname) {
11407 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11408 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11409 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11410 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11411 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11412 return 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));
11414 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11415 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11418 NDR_PULL_ALLOC(ndr, r->out.dcname);
11419 ZERO_STRUCTP(r->out.dcname);
11421 if (flags & NDR_OUT) {
11422 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11423 NDR_PULL_ALLOC(ndr, r->out.dcname);
11425 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11426 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11427 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11428 if (_ptr_dcname) {
11429 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11430 } else {
11431 *r->out.dcname = NULL;
11433 if (*r->out.dcname) {
11434 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11435 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11436 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11437 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11438 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11439 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));
11441 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11442 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11445 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11446 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11448 return NDR_ERR_SUCCESS;
11451 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
11453 ndr_print_struct(ndr, name, "netr_GetDcName");
11454 ndr->depth++;
11455 if (flags & NDR_SET_VALUES) {
11456 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11458 if (flags & NDR_IN) {
11459 ndr_print_struct(ndr, "in", "netr_GetDcName");
11460 ndr->depth++;
11461 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11462 ndr->depth++;
11463 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11464 ndr->depth--;
11465 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11466 ndr->depth++;
11467 if (r->in.domainname) {
11468 ndr_print_string(ndr, "domainname", r->in.domainname);
11470 ndr->depth--;
11471 ndr->depth--;
11473 if (flags & NDR_OUT) {
11474 ndr_print_struct(ndr, "out", "netr_GetDcName");
11475 ndr->depth++;
11476 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11477 ndr->depth++;
11478 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11479 ndr->depth++;
11480 if (*r->out.dcname) {
11481 ndr_print_string(ndr, "dcname", *r->out.dcname);
11483 ndr->depth--;
11484 ndr->depth--;
11485 ndr_print_WERROR(ndr, "result", r->out.result);
11486 ndr->depth--;
11488 ndr->depth--;
11491 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
11493 if (flags & NDR_IN) {
11494 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11495 if (r->in.logon_server) {
11496 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11497 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11498 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11499 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));
11501 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11504 if (flags & NDR_OUT) {
11505 if (r->out.query == NULL) {
11506 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11508 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11509 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11510 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11512 return NDR_ERR_SUCCESS;
11515 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
11517 uint32_t _ptr_logon_server;
11518 TALLOC_CTX *_mem_save_logon_server_0;
11519 TALLOC_CTX *_mem_save_query_0;
11520 if (flags & NDR_IN) {
11521 ZERO_STRUCT(r->out);
11523 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11524 if (_ptr_logon_server) {
11525 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11526 } else {
11527 r->in.logon_server = NULL;
11529 if (r->in.logon_server) {
11530 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11531 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11532 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11533 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11534 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11535 return 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));
11537 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11538 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));
11539 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11541 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11542 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11543 NDR_PULL_ALLOC(ndr, r->out.query);
11544 ZERO_STRUCTP(r->out.query);
11546 if (flags & NDR_OUT) {
11547 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11548 NDR_PULL_ALLOC(ndr, r->out.query);
11550 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11551 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11552 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11553 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11555 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11557 return NDR_ERR_SUCCESS;
11560 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
11562 ndr_print_struct(ndr, name, "netr_LogonControl");
11563 ndr->depth++;
11564 if (flags & NDR_SET_VALUES) {
11565 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11567 if (flags & NDR_IN) {
11568 ndr_print_struct(ndr, "in", "netr_LogonControl");
11569 ndr->depth++;
11570 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11571 ndr->depth++;
11572 if (r->in.logon_server) {
11573 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11575 ndr->depth--;
11576 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11577 ndr_print_uint32(ndr, "level", r->in.level);
11578 ndr->depth--;
11580 if (flags & NDR_OUT) {
11581 ndr_print_struct(ndr, "out", "netr_LogonControl");
11582 ndr->depth++;
11583 ndr_print_ptr(ndr, "query", r->out.query);
11584 ndr->depth++;
11585 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11586 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11587 ndr->depth--;
11588 ndr_print_WERROR(ndr, "result", r->out.result);
11589 ndr->depth--;
11591 ndr->depth--;
11594 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
11596 if (flags & NDR_IN) {
11597 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11598 if (r->in.logon_server) {
11599 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11600 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11601 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11602 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));
11604 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11605 if (r->in.domainname) {
11606 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11607 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11608 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11609 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11612 if (flags & NDR_OUT) {
11613 if (r->out.dcname == NULL) {
11614 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11616 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11617 if (*r->out.dcname) {
11618 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11619 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11620 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11621 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11623 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11625 return NDR_ERR_SUCCESS;
11628 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
11630 uint32_t _ptr_logon_server;
11631 uint32_t _ptr_domainname;
11632 uint32_t _ptr_dcname;
11633 TALLOC_CTX *_mem_save_logon_server_0;
11634 TALLOC_CTX *_mem_save_domainname_0;
11635 TALLOC_CTX *_mem_save_dcname_0;
11636 TALLOC_CTX *_mem_save_dcname_1;
11637 if (flags & NDR_IN) {
11638 ZERO_STRUCT(r->out);
11640 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11641 if (_ptr_logon_server) {
11642 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11643 } else {
11644 r->in.logon_server = NULL;
11646 if (r->in.logon_server) {
11647 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11648 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11649 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11650 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11651 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11652 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
11654 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11655 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));
11656 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11658 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11659 if (_ptr_domainname) {
11660 NDR_PULL_ALLOC(ndr, r->in.domainname);
11661 } else {
11662 r->in.domainname = NULL;
11664 if (r->in.domainname) {
11665 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11666 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11667 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11668 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11669 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11670 return 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));
11672 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11673 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11676 NDR_PULL_ALLOC(ndr, r->out.dcname);
11677 ZERO_STRUCTP(r->out.dcname);
11679 if (flags & NDR_OUT) {
11680 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11681 NDR_PULL_ALLOC(ndr, r->out.dcname);
11683 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11684 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11685 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11686 if (_ptr_dcname) {
11687 NDR_PULL_ALLOC(ndr, *r->out.dcname);
11688 } else {
11689 *r->out.dcname = NULL;
11691 if (*r->out.dcname) {
11692 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11693 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11694 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11695 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11696 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11697 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));
11699 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11700 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11701 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11703 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11704 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11706 return NDR_ERR_SUCCESS;
11709 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
11711 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
11712 ndr->depth++;
11713 if (flags & NDR_SET_VALUES) {
11714 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11716 if (flags & NDR_IN) {
11717 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
11718 ndr->depth++;
11719 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11720 ndr->depth++;
11721 if (r->in.logon_server) {
11722 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11724 ndr->depth--;
11725 ndr_print_ptr(ndr, "domainname", r->in.domainname);
11726 ndr->depth++;
11727 if (r->in.domainname) {
11728 ndr_print_string(ndr, "domainname", r->in.domainname);
11730 ndr->depth--;
11731 ndr->depth--;
11733 if (flags & NDR_OUT) {
11734 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
11735 ndr->depth++;
11736 ndr_print_ptr(ndr, "dcname", r->out.dcname);
11737 ndr->depth++;
11738 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11739 ndr->depth++;
11740 if (*r->out.dcname) {
11741 ndr_print_string(ndr, "dcname", *r->out.dcname);
11743 ndr->depth--;
11744 ndr->depth--;
11745 ndr_print_WERROR(ndr, "result", r->out.result);
11746 ndr->depth--;
11748 ndr->depth--;
11751 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
11753 if (flags & NDR_IN) {
11754 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11755 if (r->in.logon_server) {
11756 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11757 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11758 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11759 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));
11761 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11762 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11763 if (r->in.data == NULL) {
11764 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11766 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
11767 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11769 if (flags & NDR_OUT) {
11770 if (r->out.query == NULL) {
11771 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11773 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11774 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11775 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11777 return NDR_ERR_SUCCESS;
11780 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
11782 uint32_t _ptr_logon_server;
11783 TALLOC_CTX *_mem_save_logon_server_0;
11784 TALLOC_CTX *_mem_save_data_0;
11785 TALLOC_CTX *_mem_save_query_0;
11786 if (flags & NDR_IN) {
11787 ZERO_STRUCT(r->out);
11789 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11790 if (_ptr_logon_server) {
11791 NDR_PULL_ALLOC(ndr, r->in.logon_server);
11792 } else {
11793 r->in.logon_server = NULL;
11795 if (r->in.logon_server) {
11796 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11797 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11798 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11799 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11800 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11801 return 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));
11803 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11804 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));
11805 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11807 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11808 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11809 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11810 NDR_PULL_ALLOC(ndr, r->in.data);
11812 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
11813 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
11814 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
11815 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11816 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
11817 NDR_PULL_ALLOC(ndr, r->out.query);
11818 ZERO_STRUCTP(r->out.query);
11820 if (flags & NDR_OUT) {
11821 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11822 NDR_PULL_ALLOC(ndr, r->out.query);
11824 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11825 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11826 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11827 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11829 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11831 return NDR_ERR_SUCCESS;
11834 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
11836 ndr_print_struct(ndr, name, "netr_LogonControl2");
11837 ndr->depth++;
11838 if (flags & NDR_SET_VALUES) {
11839 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11841 if (flags & NDR_IN) {
11842 ndr_print_struct(ndr, "in", "netr_LogonControl2");
11843 ndr->depth++;
11844 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11845 ndr->depth++;
11846 if (r->in.logon_server) {
11847 ndr_print_string(ndr, "logon_server", r->in.logon_server);
11849 ndr->depth--;
11850 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11851 ndr_print_uint32(ndr, "level", r->in.level);
11852 ndr_print_ptr(ndr, "data", r->in.data);
11853 ndr->depth++;
11854 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
11855 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
11856 ndr->depth--;
11857 ndr->depth--;
11859 if (flags & NDR_OUT) {
11860 ndr_print_struct(ndr, "out", "netr_LogonControl2");
11861 ndr->depth++;
11862 ndr_print_ptr(ndr, "query", r->out.query);
11863 ndr->depth++;
11864 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11865 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11866 ndr->depth--;
11867 ndr_print_WERROR(ndr, "result", r->out.result);
11868 ndr->depth--;
11870 ndr->depth--;
11873 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
11875 if (flags & NDR_IN) {
11876 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11877 if (r->in.server_name) {
11878 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11879 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11880 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11881 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));
11883 if (r->in.account_name == NULL) {
11884 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11886 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11887 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11888 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11889 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));
11890 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11891 if (r->in.computer_name == NULL) {
11892 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11894 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11895 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11896 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11897 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));
11898 if (r->in.credentials == NULL) {
11899 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11901 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11902 if (r->in.negotiate_flags == NULL) {
11903 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11905 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11907 if (flags & NDR_OUT) {
11908 if (r->out.return_credentials == NULL) {
11909 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11911 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11912 if (r->out.negotiate_flags == NULL) {
11913 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11915 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11916 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11918 return NDR_ERR_SUCCESS;
11921 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
11923 uint32_t _ptr_server_name;
11924 TALLOC_CTX *_mem_save_server_name_0;
11925 TALLOC_CTX *_mem_save_credentials_0;
11926 TALLOC_CTX *_mem_save_return_credentials_0;
11927 TALLOC_CTX *_mem_save_negotiate_flags_0;
11928 if (flags & NDR_IN) {
11929 ZERO_STRUCT(r->out);
11931 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11932 if (_ptr_server_name) {
11933 NDR_PULL_ALLOC(ndr, r->in.server_name);
11934 } else {
11935 r->in.server_name = NULL;
11937 if (r->in.server_name) {
11938 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11939 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11940 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11941 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11942 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11943 return 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));
11945 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11946 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));
11947 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11949 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11950 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11951 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11952 return 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));
11954 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11955 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));
11956 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11957 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11958 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11959 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11960 return 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));
11962 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11963 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));
11964 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11965 NDR_PULL_ALLOC(ndr, r->in.credentials);
11967 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11968 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11969 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11970 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11971 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11972 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11974 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11975 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11976 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
11977 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11978 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11979 ZERO_STRUCTP(r->out.return_credentials);
11980 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11981 *r->out.negotiate_flags = *r->in.negotiate_flags;
11983 if (flags & NDR_OUT) {
11984 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11985 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
11987 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11988 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
11989 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
11990 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11991 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11992 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11994 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11995 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11996 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
11997 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11998 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12000 return NDR_ERR_SUCCESS;
12003 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
12005 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
12006 ndr->depth++;
12007 if (flags & NDR_SET_VALUES) {
12008 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12010 if (flags & NDR_IN) {
12011 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
12012 ndr->depth++;
12013 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12014 ndr->depth++;
12015 if (r->in.server_name) {
12016 ndr_print_string(ndr, "server_name", r->in.server_name);
12018 ndr->depth--;
12019 ndr_print_ptr(ndr, "account_name", r->in.account_name);
12020 ndr->depth++;
12021 ndr_print_string(ndr, "account_name", r->in.account_name);
12022 ndr->depth--;
12023 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12024 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12025 ndr->depth++;
12026 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12027 ndr->depth--;
12028 ndr_print_ptr(ndr, "credentials", r->in.credentials);
12029 ndr->depth++;
12030 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
12031 ndr->depth--;
12032 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
12033 ndr->depth++;
12034 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
12035 ndr->depth--;
12036 ndr->depth--;
12038 if (flags & NDR_OUT) {
12039 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
12040 ndr->depth++;
12041 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
12042 ndr->depth++;
12043 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
12044 ndr->depth--;
12045 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
12046 ndr->depth++;
12047 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
12048 ndr->depth--;
12049 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12050 ndr->depth--;
12052 ndr->depth--;
12055 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
12057 if (flags & NDR_IN) {
12058 if (r->in.logon_server == NULL) {
12059 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12061 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12062 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12063 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12064 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));
12065 if (r->in.computername == NULL) {
12066 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12068 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12069 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12070 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12071 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12072 if (r->in.credential == NULL) {
12073 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12075 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12076 if (r->in.return_authenticator == NULL) {
12077 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12079 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12080 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
12081 NDR_CHECK(ndr_push_SyncStateEnum(ndr, NDR_SCALARS, r->in.restart_state));
12082 if (r->in.sync_context == NULL) {
12083 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
12086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
12088 if (flags & NDR_OUT) {
12089 if (r->out.return_authenticator == NULL) {
12090 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12092 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12093 if (r->out.sync_context == NULL) {
12094 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
12097 if (r->out.delta_enum_array == NULL) {
12098 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12100 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12101 if (*r->out.delta_enum_array) {
12102 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12104 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12106 return NDR_ERR_SUCCESS;
12109 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
12111 uint32_t _ptr_delta_enum_array;
12112 TALLOC_CTX *_mem_save_credential_0;
12113 TALLOC_CTX *_mem_save_return_authenticator_0;
12114 TALLOC_CTX *_mem_save_sync_context_0;
12115 TALLOC_CTX *_mem_save_delta_enum_array_0;
12116 TALLOC_CTX *_mem_save_delta_enum_array_1;
12117 if (flags & NDR_IN) {
12118 ZERO_STRUCT(r->out);
12120 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12121 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12122 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12123 return 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));
12125 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12126 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));
12127 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12128 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12129 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
12130 return 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));
12132 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
12133 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
12134 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12135 NDR_PULL_ALLOC(ndr, r->in.credential);
12137 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12138 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12139 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12141 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12142 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12144 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12145 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12146 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12148 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
12149 NDR_CHECK(ndr_pull_SyncStateEnum(ndr, NDR_SCALARS, &r->in.restart_state));
12150 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12151 NDR_PULL_ALLOC(ndr, r->in.sync_context);
12153 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12154 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
12155 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
12156 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12157 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
12158 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12159 *r->out.return_authenticator = *r->in.return_authenticator;
12160 NDR_PULL_ALLOC(ndr, r->out.sync_context);
12161 *r->out.sync_context = *r->in.sync_context;
12162 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12163 ZERO_STRUCTP(r->out.delta_enum_array);
12165 if (flags & NDR_OUT) {
12166 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12167 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12169 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12170 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12171 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12173 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12174 NDR_PULL_ALLOC(ndr, r->out.sync_context);
12176 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12177 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
12178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
12179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12180 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12181 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12183 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12184 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12185 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12186 if (_ptr_delta_enum_array) {
12187 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12188 } else {
12189 *r->out.delta_enum_array = NULL;
12191 if (*r->out.delta_enum_array) {
12192 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12193 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12194 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12197 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12198 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12200 return NDR_ERR_SUCCESS;
12203 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
12205 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
12206 ndr->depth++;
12207 if (flags & NDR_SET_VALUES) {
12208 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12210 if (flags & NDR_IN) {
12211 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
12212 ndr->depth++;
12213 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12214 ndr->depth++;
12215 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12216 ndr->depth--;
12217 ndr_print_ptr(ndr, "computername", r->in.computername);
12218 ndr->depth++;
12219 ndr_print_string(ndr, "computername", r->in.computername);
12220 ndr->depth--;
12221 ndr_print_ptr(ndr, "credential", r->in.credential);
12222 ndr->depth++;
12223 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12224 ndr->depth--;
12225 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12226 ndr->depth++;
12227 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12228 ndr->depth--;
12229 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
12230 ndr_print_SyncStateEnum(ndr, "restart_state", r->in.restart_state);
12231 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
12232 ndr->depth++;
12233 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
12234 ndr->depth--;
12235 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
12236 ndr->depth--;
12238 if (flags & NDR_OUT) {
12239 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
12240 ndr->depth++;
12241 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12242 ndr->depth++;
12243 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12244 ndr->depth--;
12245 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
12246 ndr->depth++;
12247 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
12248 ndr->depth--;
12249 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12250 ndr->depth++;
12251 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12252 ndr->depth++;
12253 if (*r->out.delta_enum_array) {
12254 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12256 ndr->depth--;
12257 ndr->depth--;
12258 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12259 ndr->depth--;
12261 ndr->depth--;
12264 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
12266 if (flags & NDR_IN) {
12267 if (r->in.logon_server == NULL) {
12268 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12270 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12271 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12272 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12273 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));
12274 if (r->in.computername == NULL) {
12275 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12277 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12278 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12279 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12280 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12281 if (r->in.credential == NULL) {
12282 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12284 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12285 if (r->in.return_authenticator == NULL) {
12286 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12288 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12290 struct ndr_push *_ndr_change_log_entry;
12291 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)));
12292 NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12293 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)));
12295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12297 if (flags & NDR_OUT) {
12298 if (r->out.return_authenticator == NULL) {
12299 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12301 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12302 if (r->out.delta_enum_array == NULL) {
12303 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12305 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12306 if (*r->out.delta_enum_array) {
12307 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12309 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12311 return NDR_ERR_SUCCESS;
12314 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
12316 uint32_t _ptr_delta_enum_array;
12317 TALLOC_CTX *_mem_save_credential_0;
12318 TALLOC_CTX *_mem_save_return_authenticator_0;
12319 TALLOC_CTX *_mem_save_delta_enum_array_0;
12320 TALLOC_CTX *_mem_save_delta_enum_array_1;
12321 if (flags & NDR_IN) {
12322 ZERO_STRUCT(r->out);
12324 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12325 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12326 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12327 return 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));
12329 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12330 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));
12331 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12332 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12333 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
12334 return 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));
12336 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
12337 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
12338 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12339 NDR_PULL_ALLOC(ndr, r->in.credential);
12341 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12342 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12343 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12344 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12345 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12346 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12348 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12349 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12350 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12353 struct ndr_pull *_ndr_change_log_entry;
12354 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, r->in.change_log_entry_size));
12355 NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12356 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, r->in.change_log_entry_size));
12358 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
12359 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12360 *r->out.return_authenticator = *r->in.return_authenticator;
12361 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12362 ZERO_STRUCTP(r->out.delta_enum_array);
12364 if (flags & NDR_OUT) {
12365 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12366 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12368 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12369 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12370 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12371 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12372 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12373 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12375 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12376 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12377 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12378 if (_ptr_delta_enum_array) {
12379 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12380 } else {
12381 *r->out.delta_enum_array = NULL;
12383 if (*r->out.delta_enum_array) {
12384 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12385 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12386 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12390 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12392 return NDR_ERR_SUCCESS;
12395 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
12397 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
12398 ndr->depth++;
12399 if (flags & NDR_SET_VALUES) {
12400 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12402 if (flags & NDR_IN) {
12403 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
12404 ndr->depth++;
12405 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12406 ndr->depth++;
12407 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12408 ndr->depth--;
12409 ndr_print_ptr(ndr, "computername", r->in.computername);
12410 ndr->depth++;
12411 ndr_print_string(ndr, "computername", r->in.computername);
12412 ndr->depth--;
12413 ndr_print_ptr(ndr, "credential", r->in.credential);
12414 ndr->depth++;
12415 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12416 ndr->depth--;
12417 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12418 ndr->depth++;
12419 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12420 ndr->depth--;
12421 ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry);
12422 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);
12423 ndr->depth--;
12425 if (flags & NDR_OUT) {
12426 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
12427 ndr->depth++;
12428 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12429 ndr->depth++;
12430 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12431 ndr->depth--;
12432 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12433 ndr->depth++;
12434 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12435 ndr->depth++;
12436 if (*r->out.delta_enum_array) {
12437 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12439 ndr->depth--;
12440 ndr->depth--;
12441 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12442 ndr->depth--;
12444 ndr->depth--;
12447 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
12449 if (flags & NDR_IN) {
12450 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
12451 if (r->in.logon_server) {
12452 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12453 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12454 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12455 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));
12457 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
12458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12459 if (r->in.data == NULL) {
12460 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12462 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
12463 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12465 if (flags & NDR_OUT) {
12466 if (r->out.query == NULL) {
12467 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12469 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
12470 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12471 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12473 return NDR_ERR_SUCCESS;
12476 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
12478 uint32_t _ptr_logon_server;
12479 TALLOC_CTX *_mem_save_logon_server_0;
12480 TALLOC_CTX *_mem_save_data_0;
12481 TALLOC_CTX *_mem_save_query_0;
12482 if (flags & NDR_IN) {
12483 ZERO_STRUCT(r->out);
12485 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
12486 if (_ptr_logon_server) {
12487 NDR_PULL_ALLOC(ndr, r->in.logon_server);
12488 } else {
12489 r->in.logon_server = NULL;
12491 if (r->in.logon_server) {
12492 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12493 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
12494 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12495 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12496 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12497 return 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));
12499 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12500 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));
12501 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
12503 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
12504 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12505 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12506 NDR_PULL_ALLOC(ndr, r->in.data);
12508 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
12509 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
12510 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
12511 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
12513 NDR_PULL_ALLOC(ndr, r->out.query);
12514 ZERO_STRUCTP(r->out.query);
12516 if (flags & NDR_OUT) {
12517 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12518 NDR_PULL_ALLOC(ndr, r->out.query);
12520 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
12521 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
12522 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
12523 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
12525 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12527 return NDR_ERR_SUCCESS;
12530 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
12532 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
12533 ndr->depth++;
12534 if (flags & NDR_SET_VALUES) {
12535 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12537 if (flags & NDR_IN) {
12538 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
12539 ndr->depth++;
12540 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12541 ndr->depth++;
12542 if (r->in.logon_server) {
12543 ndr_print_string(ndr, "logon_server", r->in.logon_server);
12545 ndr->depth--;
12546 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
12547 ndr_print_uint32(ndr, "level", r->in.level);
12548 ndr_print_ptr(ndr, "data", r->in.data);
12549 ndr->depth++;
12550 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
12551 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
12552 ndr->depth--;
12553 ndr->depth--;
12555 if (flags & NDR_OUT) {
12556 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
12557 ndr->depth++;
12558 ndr_print_ptr(ndr, "query", r->out.query);
12559 ndr->depth++;
12560 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
12561 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
12562 ndr->depth--;
12563 ndr_print_WERROR(ndr, "result", r->out.result);
12564 ndr->depth--;
12566 ndr->depth--;
12569 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12571 if (flags & NDR_IN) {
12572 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12573 if (r->in.server_name) {
12574 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12575 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12576 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12577 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));
12580 if (flags & NDR_OUT) {
12581 if (r->out.trusted_domains_blob == NULL) {
12582 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12584 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12585 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12587 return NDR_ERR_SUCCESS;
12590 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
12592 uint32_t _ptr_server_name;
12593 TALLOC_CTX *_mem_save_server_name_0;
12594 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
12595 if (flags & NDR_IN) {
12596 ZERO_STRUCT(r->out);
12598 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12599 if (_ptr_server_name) {
12600 NDR_PULL_ALLOC(ndr, r->in.server_name);
12601 } else {
12602 r->in.server_name = NULL;
12604 if (r->in.server_name) {
12605 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12606 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12607 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12608 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12609 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12610 return 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));
12612 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12613 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));
12614 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12616 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12617 ZERO_STRUCTP(r->out.trusted_domains_blob);
12619 if (flags & NDR_OUT) {
12620 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12621 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12623 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
12624 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
12625 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
12627 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12629 return NDR_ERR_SUCCESS;
12632 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12634 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
12635 ndr->depth++;
12636 if (flags & NDR_SET_VALUES) {
12637 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12639 if (flags & NDR_IN) {
12640 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
12641 ndr->depth++;
12642 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12643 ndr->depth++;
12644 if (r->in.server_name) {
12645 ndr_print_string(ndr, "server_name", r->in.server_name);
12647 ndr->depth--;
12648 ndr->depth--;
12650 if (flags & NDR_OUT) {
12651 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
12652 ndr->depth++;
12653 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12654 ndr->depth++;
12655 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12656 ndr->depth--;
12657 ndr_print_WERROR(ndr, "result", r->out.result);
12658 ndr->depth--;
12660 ndr->depth--;
12663 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
12665 if (flags & NDR_IN) {
12666 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12667 if (r->in.server_unc) {
12668 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12669 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12670 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12671 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));
12673 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12674 if (r->in.domain_name) {
12675 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12676 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12677 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12678 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));
12680 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12681 if (r->in.domain_guid) {
12682 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12684 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
12685 if (r->in.site_guid) {
12686 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12688 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12690 if (flags & NDR_OUT) {
12691 if (r->out.info == NULL) {
12692 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12694 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12695 if (*r->out.info) {
12696 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12698 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12700 return NDR_ERR_SUCCESS;
12703 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
12705 uint32_t _ptr_server_unc;
12706 uint32_t _ptr_domain_name;
12707 uint32_t _ptr_domain_guid;
12708 uint32_t _ptr_site_guid;
12709 uint32_t _ptr_info;
12710 TALLOC_CTX *_mem_save_server_unc_0;
12711 TALLOC_CTX *_mem_save_domain_name_0;
12712 TALLOC_CTX *_mem_save_domain_guid_0;
12713 TALLOC_CTX *_mem_save_site_guid_0;
12714 TALLOC_CTX *_mem_save_info_0;
12715 TALLOC_CTX *_mem_save_info_1;
12716 if (flags & NDR_IN) {
12717 ZERO_STRUCT(r->out);
12719 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12720 if (_ptr_server_unc) {
12721 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12722 } else {
12723 r->in.server_unc = NULL;
12725 if (r->in.server_unc) {
12726 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12727 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12728 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12729 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12730 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12731 return 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));
12733 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12734 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));
12735 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12737 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12738 if (_ptr_domain_name) {
12739 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12740 } else {
12741 r->in.domain_name = NULL;
12743 if (r->in.domain_name) {
12744 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12745 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12746 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12747 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12748 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12749 return 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));
12751 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12752 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));
12753 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12755 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12756 if (_ptr_domain_guid) {
12757 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12758 } else {
12759 r->in.domain_guid = NULL;
12761 if (r->in.domain_guid) {
12762 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12763 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12764 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12765 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12767 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
12768 if (_ptr_site_guid) {
12769 NDR_PULL_ALLOC(ndr, r->in.site_guid);
12770 } else {
12771 r->in.site_guid = NULL;
12773 if (r->in.site_guid) {
12774 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12775 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
12776 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
12779 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12780 NDR_PULL_ALLOC(ndr, r->out.info);
12781 ZERO_STRUCTP(r->out.info);
12783 if (flags & NDR_OUT) {
12784 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12785 NDR_PULL_ALLOC(ndr, r->out.info);
12787 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12788 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12789 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12790 if (_ptr_info) {
12791 NDR_PULL_ALLOC(ndr, *r->out.info);
12792 } else {
12793 *r->out.info = NULL;
12795 if (*r->out.info) {
12796 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12797 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12798 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12801 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12802 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12804 return NDR_ERR_SUCCESS;
12807 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
12809 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
12810 ndr->depth++;
12811 if (flags & NDR_SET_VALUES) {
12812 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12814 if (flags & NDR_IN) {
12815 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
12816 ndr->depth++;
12817 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12818 ndr->depth++;
12819 if (r->in.server_unc) {
12820 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12822 ndr->depth--;
12823 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12824 ndr->depth++;
12825 if (r->in.domain_name) {
12826 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12828 ndr->depth--;
12829 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12830 ndr->depth++;
12831 if (r->in.domain_guid) {
12832 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12834 ndr->depth--;
12835 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
12836 ndr->depth++;
12837 if (r->in.site_guid) {
12838 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
12840 ndr->depth--;
12841 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12842 ndr->depth--;
12844 if (flags & NDR_OUT) {
12845 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
12846 ndr->depth++;
12847 ndr_print_ptr(ndr, "info", r->out.info);
12848 ndr->depth++;
12849 ndr_print_ptr(ndr, "info", *r->out.info);
12850 ndr->depth++;
12851 if (*r->out.info) {
12852 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12854 ndr->depth--;
12855 ndr->depth--;
12856 ndr_print_WERROR(ndr, "result", r->out.result);
12857 ndr->depth--;
12859 ndr->depth--;
12862 static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
12864 if (flags & NDR_IN) {
12865 if (r->in.server_name == NULL) {
12866 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12868 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12869 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12870 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12871 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));
12872 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12873 if (r->in.computer_name) {
12874 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12875 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12876 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12877 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));
12879 if (r->in.credential == NULL) {
12880 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12882 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12883 if (r->in.return_authenticator == NULL) {
12884 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12886 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12887 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level));
12889 if (flags & NDR_OUT) {
12890 if (r->out.return_authenticator == NULL) {
12891 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12893 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12894 if (r->out.capabilities == NULL) {
12895 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12897 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
12898 NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
12899 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12901 return NDR_ERR_SUCCESS;
12904 static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
12906 uint32_t _ptr_computer_name;
12907 TALLOC_CTX *_mem_save_computer_name_0;
12908 TALLOC_CTX *_mem_save_credential_0;
12909 TALLOC_CTX *_mem_save_return_authenticator_0;
12910 TALLOC_CTX *_mem_save_capabilities_0;
12911 if (flags & NDR_IN) {
12912 ZERO_STRUCT(r->out);
12914 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12915 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12916 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12917 return 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));
12919 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12920 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));
12921 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12922 if (_ptr_computer_name) {
12923 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12924 } else {
12925 r->in.computer_name = NULL;
12927 if (r->in.computer_name) {
12928 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12929 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12930 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12931 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12932 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12933 return 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));
12935 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12936 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));
12937 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12939 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12940 NDR_PULL_ALLOC(ndr, r->in.credential);
12942 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12943 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12944 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12945 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12946 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12947 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12949 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12950 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12951 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12953 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level));
12954 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12955 *r->out.return_authenticator = *r->in.return_authenticator;
12956 NDR_PULL_ALLOC(ndr, r->out.capabilities);
12957 ZERO_STRUCTP(r->out.capabilities);
12959 if (flags & NDR_OUT) {
12960 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12961 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12963 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12964 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12965 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12966 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12967 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12968 NDR_PULL_ALLOC(ndr, r->out.capabilities);
12970 _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr);
12971 NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC);
12972 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
12973 NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
12974 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC);
12975 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12977 return NDR_ERR_SUCCESS;
12980 _PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r)
12982 ndr_print_struct(ndr, name, "netr_LogonGetCapabilities");
12983 ndr->depth++;
12984 if (flags & NDR_SET_VALUES) {
12985 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12987 if (flags & NDR_IN) {
12988 ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
12989 ndr->depth++;
12990 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12991 ndr->depth++;
12992 ndr_print_string(ndr, "server_name", r->in.server_name);
12993 ndr->depth--;
12994 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12995 ndr->depth++;
12996 if (r->in.computer_name) {
12997 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12999 ndr->depth--;
13000 ndr_print_ptr(ndr, "credential", r->in.credential);
13001 ndr->depth++;
13002 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13003 ndr->depth--;
13004 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
13005 ndr->depth++;
13006 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
13007 ndr->depth--;
13008 ndr_print_uint32(ndr, "query_level", r->in.query_level);
13009 ndr->depth--;
13011 if (flags & NDR_OUT) {
13012 ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities");
13013 ndr->depth++;
13014 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13015 ndr->depth++;
13016 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13017 ndr->depth--;
13018 ndr_print_ptr(ndr, "capabilities", r->out.capabilities);
13019 ndr->depth++;
13020 ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level);
13021 ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities);
13022 ndr->depth--;
13023 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13024 ndr->depth--;
13026 ndr->depth--;
13029 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
13031 if (flags & NDR_IN) {
13033 if (flags & NDR_OUT) {
13034 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13036 return NDR_ERR_SUCCESS;
13039 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
13041 if (flags & NDR_IN) {
13043 if (flags & NDR_OUT) {
13044 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13046 return NDR_ERR_SUCCESS;
13049 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
13051 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
13052 ndr->depth++;
13053 if (flags & NDR_SET_VALUES) {
13054 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13056 if (flags & NDR_IN) {
13057 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
13058 ndr->depth++;
13059 ndr->depth--;
13061 if (flags & NDR_OUT) {
13062 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
13063 ndr->depth++;
13064 ndr_print_WERROR(ndr, "result", r->out.result);
13065 ndr->depth--;
13067 ndr->depth--;
13070 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
13072 if (flags & NDR_IN) {
13073 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13074 if (r->in.server_name) {
13075 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13076 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13077 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13078 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));
13080 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13081 if (r->in.domain_name) {
13082 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13083 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13084 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13085 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));
13088 if (flags & NDR_OUT) {
13089 if (r->out.rid == NULL) {
13090 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13093 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13095 return NDR_ERR_SUCCESS;
13098 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
13100 uint32_t _ptr_server_name;
13101 uint32_t _ptr_domain_name;
13102 TALLOC_CTX *_mem_save_server_name_0;
13103 TALLOC_CTX *_mem_save_domain_name_0;
13104 TALLOC_CTX *_mem_save_rid_0;
13105 if (flags & NDR_IN) {
13106 ZERO_STRUCT(r->out);
13108 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13109 if (_ptr_server_name) {
13110 NDR_PULL_ALLOC(ndr, r->in.server_name);
13111 } else {
13112 r->in.server_name = NULL;
13114 if (r->in.server_name) {
13115 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13116 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13117 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13118 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13119 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13120 return 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));
13122 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13123 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));
13124 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13126 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13127 if (_ptr_domain_name) {
13128 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13129 } else {
13130 r->in.domain_name = NULL;
13132 if (r->in.domain_name) {
13133 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13134 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13135 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13136 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13137 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13138 return 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));
13140 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13141 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));
13142 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13144 NDR_PULL_ALLOC(ndr, r->out.rid);
13145 ZERO_STRUCTP(r->out.rid);
13147 if (flags & NDR_OUT) {
13148 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13149 NDR_PULL_ALLOC(ndr, r->out.rid);
13151 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13152 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13154 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13155 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13157 return NDR_ERR_SUCCESS;
13160 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
13162 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
13163 ndr->depth++;
13164 if (flags & NDR_SET_VALUES) {
13165 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13167 if (flags & NDR_IN) {
13168 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
13169 ndr->depth++;
13170 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13171 ndr->depth++;
13172 if (r->in.server_name) {
13173 ndr_print_string(ndr, "server_name", r->in.server_name);
13175 ndr->depth--;
13176 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13177 ndr->depth++;
13178 if (r->in.domain_name) {
13179 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13181 ndr->depth--;
13182 ndr->depth--;
13184 if (flags & NDR_OUT) {
13185 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
13186 ndr->depth++;
13187 ndr_print_ptr(ndr, "rid", r->out.rid);
13188 ndr->depth++;
13189 ndr_print_uint32(ndr, "rid", *r->out.rid);
13190 ndr->depth--;
13191 ndr_print_WERROR(ndr, "result", r->out.result);
13192 ndr->depth--;
13194 ndr->depth--;
13197 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13199 if (flags & NDR_IN) {
13201 if (flags & NDR_OUT) {
13202 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13204 return NDR_ERR_SUCCESS;
13207 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13209 if (flags & NDR_IN) {
13211 if (flags & NDR_OUT) {
13212 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13214 return NDR_ERR_SUCCESS;
13217 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13219 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
13220 ndr->depth++;
13221 if (flags & NDR_SET_VALUES) {
13222 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13224 if (flags & NDR_IN) {
13225 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13226 ndr->depth++;
13227 ndr->depth--;
13229 if (flags & NDR_OUT) {
13230 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13231 ndr->depth++;
13232 ndr_print_WERROR(ndr, "result", r->out.result);
13233 ndr->depth--;
13235 ndr->depth--;
13238 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13240 if (flags & NDR_IN) {
13242 if (flags & NDR_OUT) {
13243 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13245 return NDR_ERR_SUCCESS;
13248 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13250 if (flags & NDR_IN) {
13252 if (flags & NDR_OUT) {
13253 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13255 return NDR_ERR_SUCCESS;
13258 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13260 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13261 ndr->depth++;
13262 if (flags & NDR_SET_VALUES) {
13263 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13265 if (flags & NDR_IN) {
13266 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13267 ndr->depth++;
13268 ndr->depth--;
13270 if (flags & NDR_OUT) {
13271 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13272 ndr->depth++;
13273 ndr_print_WERROR(ndr, "result", r->out.result);
13274 ndr->depth--;
13276 ndr->depth--;
13279 _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
13281 if (flags & NDR_IN) {
13282 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13283 if (r->in.server_name) {
13284 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13285 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13286 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13287 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));
13289 if (r->in.account_name == NULL) {
13290 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13292 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13293 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13294 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13295 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));
13296 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13297 if (r->in.computer_name == NULL) {
13298 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13300 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13301 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13302 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13303 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));
13304 if (r->in.credentials == NULL) {
13305 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13307 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13308 if (r->in.negotiate_flags == NULL) {
13309 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13311 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
13313 if (flags & NDR_OUT) {
13314 if (r->out.return_credentials == NULL) {
13315 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13317 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13318 if (r->out.negotiate_flags == NULL) {
13319 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13321 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
13322 if (r->out.rid == NULL) {
13323 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13326 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13328 return NDR_ERR_SUCCESS;
13331 _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
13333 uint32_t _ptr_server_name;
13334 TALLOC_CTX *_mem_save_server_name_0;
13335 TALLOC_CTX *_mem_save_credentials_0;
13336 TALLOC_CTX *_mem_save_return_credentials_0;
13337 TALLOC_CTX *_mem_save_negotiate_flags_0;
13338 TALLOC_CTX *_mem_save_rid_0;
13339 if (flags & NDR_IN) {
13340 ZERO_STRUCT(r->out);
13342 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13343 if (_ptr_server_name) {
13344 NDR_PULL_ALLOC(ndr, r->in.server_name);
13345 } else {
13346 r->in.server_name = NULL;
13348 if (r->in.server_name) {
13349 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13350 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13351 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13352 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13353 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13354 return 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));
13356 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13357 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));
13358 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13360 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13361 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13362 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13363 return 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));
13365 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13366 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));
13367 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13368 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13369 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13370 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13371 return 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));
13373 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13374 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));
13375 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13376 NDR_PULL_ALLOC(ndr, r->in.credentials);
13378 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13379 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
13380 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13381 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13382 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13383 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
13385 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13386 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13387 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
13388 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13389 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13390 ZERO_STRUCTP(r->out.return_credentials);
13391 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13392 *r->out.negotiate_flags = *r->in.negotiate_flags;
13393 NDR_PULL_ALLOC(ndr, r->out.rid);
13394 ZERO_STRUCTP(r->out.rid);
13396 if (flags & NDR_OUT) {
13397 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13398 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13400 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13401 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
13402 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13403 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13404 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13405 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13407 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13408 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13409 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
13410 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13411 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13412 NDR_PULL_ALLOC(ndr, r->out.rid);
13414 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13415 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13416 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13417 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13418 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13420 return NDR_ERR_SUCCESS;
13423 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
13425 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
13426 ndr->depth++;
13427 if (flags & NDR_SET_VALUES) {
13428 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13430 if (flags & NDR_IN) {
13431 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
13432 ndr->depth++;
13433 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13434 ndr->depth++;
13435 if (r->in.server_name) {
13436 ndr_print_string(ndr, "server_name", r->in.server_name);
13438 ndr->depth--;
13439 ndr_print_ptr(ndr, "account_name", r->in.account_name);
13440 ndr->depth++;
13441 ndr_print_string(ndr, "account_name", r->in.account_name);
13442 ndr->depth--;
13443 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13444 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13445 ndr->depth++;
13446 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13447 ndr->depth--;
13448 ndr_print_ptr(ndr, "credentials", r->in.credentials);
13449 ndr->depth++;
13450 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
13451 ndr->depth--;
13452 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
13453 ndr->depth++;
13454 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
13455 ndr->depth--;
13456 ndr->depth--;
13458 if (flags & NDR_OUT) {
13459 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
13460 ndr->depth++;
13461 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
13462 ndr->depth++;
13463 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
13464 ndr->depth--;
13465 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
13466 ndr->depth++;
13467 ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
13468 ndr->depth--;
13469 ndr_print_ptr(ndr, "rid", r->out.rid);
13470 ndr->depth++;
13471 ndr_print_uint32(ndr, "rid", *r->out.rid);
13472 ndr->depth--;
13473 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13474 ndr->depth--;
13476 ndr->depth--;
13479 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
13481 if (flags & NDR_IN) {
13482 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
13483 if (r->in.server_unc) {
13484 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13485 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13486 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13487 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));
13489 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13490 if (r->in.domain_name) {
13491 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13492 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13493 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13494 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));
13496 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13497 if (r->in.domain_guid) {
13498 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13500 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
13501 if (r->in.site_name) {
13502 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13503 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13504 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13505 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));
13507 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
13509 if (flags & NDR_OUT) {
13510 if (r->out.info == NULL) {
13511 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13513 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
13514 if (*r->out.info) {
13515 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13517 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13519 return NDR_ERR_SUCCESS;
13522 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
13524 uint32_t _ptr_server_unc;
13525 uint32_t _ptr_domain_name;
13526 uint32_t _ptr_domain_guid;
13527 uint32_t _ptr_site_name;
13528 uint32_t _ptr_info;
13529 TALLOC_CTX *_mem_save_server_unc_0;
13530 TALLOC_CTX *_mem_save_domain_name_0;
13531 TALLOC_CTX *_mem_save_domain_guid_0;
13532 TALLOC_CTX *_mem_save_site_name_0;
13533 TALLOC_CTX *_mem_save_info_0;
13534 TALLOC_CTX *_mem_save_info_1;
13535 if (flags & NDR_IN) {
13536 ZERO_STRUCT(r->out);
13538 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
13539 if (_ptr_server_unc) {
13540 NDR_PULL_ALLOC(ndr, r->in.server_unc);
13541 } else {
13542 r->in.server_unc = NULL;
13544 if (r->in.server_unc) {
13545 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
13546 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
13547 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
13548 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
13549 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
13550 return 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));
13552 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
13553 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));
13554 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
13556 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13557 if (_ptr_domain_name) {
13558 NDR_PULL_ALLOC(ndr, r->in.domain_name);
13559 } else {
13560 r->in.domain_name = NULL;
13562 if (r->in.domain_name) {
13563 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13564 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13565 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13566 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13567 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13568 return 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));
13570 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13571 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));
13572 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13574 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13575 if (_ptr_domain_guid) {
13576 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13577 } else {
13578 r->in.domain_guid = NULL;
13580 if (r->in.domain_guid) {
13581 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13582 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13583 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13586 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
13587 if (_ptr_site_name) {
13588 NDR_PULL_ALLOC(ndr, r->in.site_name);
13589 } else {
13590 r->in.site_name = NULL;
13592 if (r->in.site_name) {
13593 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13594 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
13595 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
13596 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
13597 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
13598 return 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));
13600 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
13601 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));
13602 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
13604 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
13605 NDR_PULL_ALLOC(ndr, r->out.info);
13606 ZERO_STRUCTP(r->out.info);
13608 if (flags & NDR_OUT) {
13609 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13610 NDR_PULL_ALLOC(ndr, r->out.info);
13612 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13613 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13614 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13615 if (_ptr_info) {
13616 NDR_PULL_ALLOC(ndr, *r->out.info);
13617 } else {
13618 *r->out.info = NULL;
13620 if (*r->out.info) {
13621 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13622 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
13623 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13624 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13627 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13629 return NDR_ERR_SUCCESS;
13632 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
13634 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
13635 ndr->depth++;
13636 if (flags & NDR_SET_VALUES) {
13637 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13639 if (flags & NDR_IN) {
13640 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
13641 ndr->depth++;
13642 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
13643 ndr->depth++;
13644 if (r->in.server_unc) {
13645 ndr_print_string(ndr, "server_unc", r->in.server_unc);
13647 ndr->depth--;
13648 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13649 ndr->depth++;
13650 if (r->in.domain_name) {
13651 ndr_print_string(ndr, "domain_name", r->in.domain_name);
13653 ndr->depth--;
13654 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13655 ndr->depth++;
13656 if (r->in.domain_guid) {
13657 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13659 ndr->depth--;
13660 ndr_print_ptr(ndr, "site_name", r->in.site_name);
13661 ndr->depth++;
13662 if (r->in.site_name) {
13663 ndr_print_string(ndr, "site_name", r->in.site_name);
13665 ndr->depth--;
13666 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13667 ndr->depth--;
13669 if (flags & NDR_OUT) {
13670 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
13671 ndr->depth++;
13672 ndr_print_ptr(ndr, "info", r->out.info);
13673 ndr->depth++;
13674 ndr_print_ptr(ndr, "info", *r->out.info);
13675 ndr->depth++;
13676 if (*r->out.info) {
13677 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13679 ndr->depth--;
13680 ndr->depth--;
13681 ndr_print_WERROR(ndr, "result", r->out.result);
13682 ndr->depth--;
13684 ndr->depth--;
13687 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
13689 if (flags & NDR_IN) {
13690 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13691 if (r->in.computer_name) {
13692 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13693 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13694 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13695 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));
13698 if (flags & NDR_OUT) {
13699 if (r->out.site == NULL) {
13700 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13702 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
13703 if (*r->out.site) {
13704 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13705 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13706 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13707 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13709 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13711 return NDR_ERR_SUCCESS;
13714 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
13716 uint32_t _ptr_computer_name;
13717 uint32_t _ptr_site;
13718 TALLOC_CTX *_mem_save_computer_name_0;
13719 TALLOC_CTX *_mem_save_site_0;
13720 TALLOC_CTX *_mem_save_site_1;
13721 if (flags & NDR_IN) {
13722 ZERO_STRUCT(r->out);
13724 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13725 if (_ptr_computer_name) {
13726 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13727 } else {
13728 r->in.computer_name = NULL;
13730 if (r->in.computer_name) {
13731 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13732 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13733 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13734 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13735 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13736 return 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));
13738 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13739 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));
13740 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13742 NDR_PULL_ALLOC(ndr, r->out.site);
13743 ZERO_STRUCTP(r->out.site);
13745 if (flags & NDR_OUT) {
13746 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13747 NDR_PULL_ALLOC(ndr, r->out.site);
13749 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
13750 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
13751 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
13752 if (_ptr_site) {
13753 NDR_PULL_ALLOC(ndr, *r->out.site);
13754 } else {
13755 *r->out.site = NULL;
13757 if (*r->out.site) {
13758 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
13759 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
13760 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
13761 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
13762 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
13763 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.site), ndr_get_array_length(ndr, r->out.site));
13765 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
13766 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
13767 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
13769 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
13770 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13772 return NDR_ERR_SUCCESS;
13775 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
13777 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
13778 ndr->depth++;
13779 if (flags & NDR_SET_VALUES) {
13780 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13782 if (flags & NDR_IN) {
13783 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
13784 ndr->depth++;
13785 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13786 ndr->depth++;
13787 if (r->in.computer_name) {
13788 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13790 ndr->depth--;
13791 ndr->depth--;
13793 if (flags & NDR_OUT) {
13794 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
13795 ndr->depth++;
13796 ndr_print_ptr(ndr, "site", r->out.site);
13797 ndr->depth++;
13798 ndr_print_ptr(ndr, "site", *r->out.site);
13799 ndr->depth++;
13800 if (*r->out.site) {
13801 ndr_print_string(ndr, "site", *r->out.site);
13803 ndr->depth--;
13804 ndr->depth--;
13805 ndr_print_WERROR(ndr, "result", r->out.result);
13806 ndr->depth--;
13808 ndr->depth--;
13811 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
13813 if (flags & NDR_IN) {
13814 if (r->in.server_name == NULL) {
13815 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13817 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13818 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13819 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13820 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));
13821 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13822 if (r->in.computer_name) {
13823 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13824 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13825 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13826 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));
13828 if (r->in.credential == NULL) {
13829 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13831 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13832 if (r->in.return_authenticator == NULL) {
13833 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13835 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13837 if (r->in.query == NULL) {
13838 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13840 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.query, r->in.level));
13841 NDR_CHECK(ndr_push_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
13843 if (flags & NDR_OUT) {
13844 if (r->out.return_authenticator == NULL) {
13845 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13847 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13848 if (r->out.info == NULL) {
13849 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13851 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
13852 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13853 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13855 return NDR_ERR_SUCCESS;
13858 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
13860 uint32_t _ptr_computer_name;
13861 TALLOC_CTX *_mem_save_computer_name_0;
13862 TALLOC_CTX *_mem_save_credential_0;
13863 TALLOC_CTX *_mem_save_return_authenticator_0;
13864 TALLOC_CTX *_mem_save_query_0;
13865 TALLOC_CTX *_mem_save_info_0;
13866 if (flags & NDR_IN) {
13867 ZERO_STRUCT(r->out);
13869 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13870 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13871 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13872 return 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));
13874 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13875 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));
13876 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13877 if (_ptr_computer_name) {
13878 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13879 } else {
13880 r->in.computer_name = NULL;
13882 if (r->in.computer_name) {
13883 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13884 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13885 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13886 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13887 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13888 return 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));
13890 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13891 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));
13892 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13894 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13895 NDR_PULL_ALLOC(ndr, r->in.credential);
13897 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13898 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13899 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13900 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13901 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13902 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13904 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13905 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13906 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13907 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13908 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
13909 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13910 NDR_PULL_ALLOC(ndr, r->in.query);
13912 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
13913 NDR_PULL_SET_MEM_CTX(ndr, r->in.query, LIBNDR_FLAG_REF_ALLOC);
13914 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.query, r->in.level));
13915 NDR_CHECK(ndr_pull_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
13916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
13917 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13918 *r->out.return_authenticator = *r->in.return_authenticator;
13919 NDR_PULL_ALLOC(ndr, r->out.info);
13920 ZERO_STRUCTP(r->out.info);
13922 if (flags & NDR_OUT) {
13923 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13924 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13926 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13927 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13928 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13929 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13930 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13931 NDR_PULL_ALLOC(ndr, r->out.info);
13933 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13934 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13935 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
13936 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13937 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13938 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13940 return NDR_ERR_SUCCESS;
13943 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
13945 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
13946 ndr->depth++;
13947 if (flags & NDR_SET_VALUES) {
13948 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13950 if (flags & NDR_IN) {
13951 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
13952 ndr->depth++;
13953 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13954 ndr->depth++;
13955 ndr_print_string(ndr, "server_name", r->in.server_name);
13956 ndr->depth--;
13957 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13958 ndr->depth++;
13959 if (r->in.computer_name) {
13960 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13962 ndr->depth--;
13963 ndr_print_ptr(ndr, "credential", r->in.credential);
13964 ndr->depth++;
13965 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13966 ndr->depth--;
13967 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
13968 ndr->depth++;
13969 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
13970 ndr->depth--;
13971 ndr_print_uint32(ndr, "level", r->in.level);
13972 ndr_print_ptr(ndr, "query", r->in.query);
13973 ndr->depth++;
13974 ndr_print_set_switch_value(ndr, r->in.query, r->in.level);
13975 ndr_print_netr_WorkstationInfo(ndr, "query", r->in.query);
13976 ndr->depth--;
13977 ndr->depth--;
13979 if (flags & NDR_OUT) {
13980 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
13981 ndr->depth++;
13982 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13983 ndr->depth++;
13984 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13985 ndr->depth--;
13986 ndr_print_ptr(ndr, "info", r->out.info);
13987 ndr->depth++;
13988 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
13989 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
13990 ndr->depth--;
13991 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13992 ndr->depth--;
13994 ndr->depth--;
13997 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
13999 if (flags & NDR_IN) {
14000 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14001 if (r->in.server_name) {
14002 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14003 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14004 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14005 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));
14007 if (r->in.account_name == NULL) {
14008 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14010 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14011 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14012 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14013 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));
14014 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14015 if (r->in.computer_name == NULL) {
14016 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14018 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14019 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14020 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14021 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));
14022 if (r->in.credential == NULL) {
14023 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14025 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14026 if (r->in.new_password == NULL) {
14027 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14029 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
14031 if (flags & NDR_OUT) {
14032 if (r->out.return_authenticator == NULL) {
14033 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14035 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14036 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14038 return NDR_ERR_SUCCESS;
14041 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
14043 uint32_t _ptr_server_name;
14044 TALLOC_CTX *_mem_save_server_name_0;
14045 TALLOC_CTX *_mem_save_credential_0;
14046 TALLOC_CTX *_mem_save_return_authenticator_0;
14047 TALLOC_CTX *_mem_save_new_password_0;
14048 if (flags & NDR_IN) {
14049 ZERO_STRUCT(r->out);
14051 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14052 if (_ptr_server_name) {
14053 NDR_PULL_ALLOC(ndr, r->in.server_name);
14054 } else {
14055 r->in.server_name = NULL;
14057 if (r->in.server_name) {
14058 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14059 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14060 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14061 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14062 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14063 return 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));
14065 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14066 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));
14067 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14069 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14070 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14071 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
14072 return 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));
14074 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
14075 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));
14076 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14077 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14078 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14079 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14080 return 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));
14082 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14083 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));
14084 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14085 NDR_PULL_ALLOC(ndr, r->in.credential);
14087 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14088 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14089 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14090 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14092 NDR_PULL_ALLOC(ndr, r->in.new_password);
14094 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14095 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
14096 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
14097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
14098 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14099 ZERO_STRUCTP(r->out.return_authenticator);
14101 if (flags & NDR_OUT) {
14102 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14103 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14105 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14106 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14107 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14109 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14111 return NDR_ERR_SUCCESS;
14114 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
14116 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
14117 ndr->depth++;
14118 if (flags & NDR_SET_VALUES) {
14119 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14121 if (flags & NDR_IN) {
14122 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
14123 ndr->depth++;
14124 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14125 ndr->depth++;
14126 if (r->in.server_name) {
14127 ndr_print_string(ndr, "server_name", r->in.server_name);
14129 ndr->depth--;
14130 ndr_print_ptr(ndr, "account_name", r->in.account_name);
14131 ndr->depth++;
14132 ndr_print_string(ndr, "account_name", r->in.account_name);
14133 ndr->depth--;
14134 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14135 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14136 ndr->depth++;
14137 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14138 ndr->depth--;
14139 ndr_print_ptr(ndr, "credential", r->in.credential);
14140 ndr->depth++;
14141 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14142 ndr->depth--;
14143 ndr_print_ptr(ndr, "new_password", r->in.new_password);
14144 ndr->depth++;
14145 ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
14146 ndr->depth--;
14147 ndr->depth--;
14149 if (flags & NDR_OUT) {
14150 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
14151 ndr->depth++;
14152 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14153 ndr->depth++;
14154 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14155 ndr->depth--;
14156 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14157 ndr->depth--;
14159 ndr->depth--;
14162 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
14164 if (flags & NDR_IN) {
14165 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14166 if (r->in.server_name) {
14167 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14168 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14169 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14170 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));
14172 if (r->in.account_name == NULL) {
14173 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14175 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14176 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14177 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14178 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));
14179 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14180 if (r->in.computer_name == NULL) {
14181 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14183 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14184 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14185 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14186 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));
14187 if (r->in.credential == NULL) {
14188 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14190 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14192 if (flags & NDR_OUT) {
14193 if (r->out.return_authenticator == NULL) {
14194 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14196 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14197 if (r->out.password == NULL) {
14198 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14200 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
14201 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14203 return NDR_ERR_SUCCESS;
14206 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
14208 uint32_t _ptr_server_name;
14209 TALLOC_CTX *_mem_save_server_name_0;
14210 TALLOC_CTX *_mem_save_credential_0;
14211 TALLOC_CTX *_mem_save_return_authenticator_0;
14212 TALLOC_CTX *_mem_save_password_0;
14213 if (flags & NDR_IN) {
14214 ZERO_STRUCT(r->out);
14216 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14217 if (_ptr_server_name) {
14218 NDR_PULL_ALLOC(ndr, r->in.server_name);
14219 } else {
14220 r->in.server_name = NULL;
14222 if (r->in.server_name) {
14223 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14224 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14225 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14226 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14227 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14228 return 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));
14230 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14231 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));
14232 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14234 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14235 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14236 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
14237 return 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));
14239 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
14240 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));
14241 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14242 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14243 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14244 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14245 return 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));
14247 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14248 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));
14249 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14250 NDR_PULL_ALLOC(ndr, r->in.credential);
14252 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14253 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14254 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14256 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14257 ZERO_STRUCTP(r->out.return_authenticator);
14258 NDR_PULL_ALLOC(ndr, r->out.password);
14259 ZERO_STRUCTP(r->out.password);
14261 if (flags & NDR_OUT) {
14262 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14263 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14265 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14266 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14267 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14268 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14269 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14270 NDR_PULL_ALLOC(ndr, r->out.password);
14272 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14273 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14274 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
14275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14276 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14278 return NDR_ERR_SUCCESS;
14281 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
14283 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
14284 ndr->depth++;
14285 if (flags & NDR_SET_VALUES) {
14286 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14288 if (flags & NDR_IN) {
14289 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
14290 ndr->depth++;
14291 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14292 ndr->depth++;
14293 if (r->in.server_name) {
14294 ndr_print_string(ndr, "server_name", r->in.server_name);
14296 ndr->depth--;
14297 ndr_print_ptr(ndr, "account_name", r->in.account_name);
14298 ndr->depth++;
14299 ndr_print_string(ndr, "account_name", r->in.account_name);
14300 ndr->depth--;
14301 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14302 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14303 ndr->depth++;
14304 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14305 ndr->depth--;
14306 ndr_print_ptr(ndr, "credential", r->in.credential);
14307 ndr->depth++;
14308 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14309 ndr->depth--;
14310 ndr->depth--;
14312 if (flags & NDR_OUT) {
14313 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
14314 ndr->depth++;
14315 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14316 ndr->depth++;
14317 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14318 ndr->depth--;
14319 ndr_print_ptr(ndr, "password", r->out.password);
14320 ndr->depth++;
14321 ndr_print_samr_Password(ndr, "password", r->out.password);
14322 ndr->depth--;
14323 ndr_print_WERROR(ndr, "result", r->out.result);
14324 ndr->depth--;
14326 ndr->depth--;
14329 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14331 if (flags & NDR_IN) {
14333 if (flags & NDR_OUT) {
14334 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14336 return NDR_ERR_SUCCESS;
14339 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
14341 if (flags & NDR_IN) {
14343 if (flags & NDR_OUT) {
14344 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14346 return NDR_ERR_SUCCESS;
14349 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14351 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
14352 ndr->depth++;
14353 if (flags & NDR_SET_VALUES) {
14354 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14356 if (flags & NDR_IN) {
14357 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
14358 ndr->depth++;
14359 ndr->depth--;
14361 if (flags & NDR_OUT) {
14362 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
14363 ndr->depth++;
14364 ndr_print_WERROR(ndr, "result", r->out.result);
14365 ndr->depth--;
14367 ndr->depth--;
14370 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
14372 uint32_t cntr_addresses_1;
14373 if (flags & NDR_IN) {
14374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14375 if (r->in.server_name) {
14376 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14377 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14378 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14379 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));
14381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14382 if (r->in.addresses == NULL) {
14383 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14385 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.count));
14386 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14387 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14389 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14390 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14393 if (flags & NDR_OUT) {
14394 if (r->out.ctr == NULL) {
14395 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14397 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14398 if (*r->out.ctr) {
14399 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14401 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14403 return NDR_ERR_SUCCESS;
14406 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
14408 uint32_t _ptr_server_name;
14409 uint32_t cntr_addresses_1;
14410 uint32_t _ptr_ctr;
14411 TALLOC_CTX *_mem_save_server_name_0;
14412 TALLOC_CTX *_mem_save_addresses_1;
14413 TALLOC_CTX *_mem_save_ctr_0;
14414 TALLOC_CTX *_mem_save_ctr_1;
14415 if (flags & NDR_IN) {
14416 ZERO_STRUCT(r->out);
14418 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14419 if (_ptr_server_name) {
14420 NDR_PULL_ALLOC(ndr, r->in.server_name);
14421 } else {
14422 r->in.server_name = NULL;
14424 if (r->in.server_name) {
14425 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14426 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14427 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14428 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14429 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14430 return 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));
14432 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14433 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));
14434 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14436 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14437 if (r->in.count > 32000) {
14438 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14440 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14441 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14442 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
14444 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14445 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14446 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14447 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14449 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14450 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14452 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14453 NDR_PULL_ALLOC(ndr, r->out.ctr);
14454 ZERO_STRUCTP(r->out.ctr);
14455 if (r->in.addresses) {
14456 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14459 if (flags & NDR_OUT) {
14460 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14461 NDR_PULL_ALLOC(ndr, r->out.ctr);
14463 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14464 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14465 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14466 if (_ptr_ctr) {
14467 NDR_PULL_ALLOC(ndr, *r->out.ctr);
14468 } else {
14469 *r->out.ctr = NULL;
14471 if (*r->out.ctr) {
14472 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14473 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14474 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14478 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14480 return NDR_ERR_SUCCESS;
14483 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
14485 uint32_t cntr_addresses_1;
14486 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
14487 ndr->depth++;
14488 if (flags & NDR_SET_VALUES) {
14489 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14491 if (flags & NDR_IN) {
14492 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
14493 ndr->depth++;
14494 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14495 ndr->depth++;
14496 if (r->in.server_name) {
14497 ndr_print_string(ndr, "server_name", r->in.server_name);
14499 ndr->depth--;
14500 ndr_print_uint32(ndr, "count", r->in.count);
14501 ndr_print_ptr(ndr, "addresses", r->in.addresses);
14502 ndr->depth++;
14503 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
14504 ndr->depth++;
14505 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
14506 char *idx_1=NULL;
14507 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
14508 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
14509 free(idx_1);
14512 ndr->depth--;
14513 ndr->depth--;
14514 ndr->depth--;
14516 if (flags & NDR_OUT) {
14517 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
14518 ndr->depth++;
14519 ndr_print_ptr(ndr, "ctr", r->out.ctr);
14520 ndr->depth++;
14521 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
14522 ndr->depth++;
14523 if (*r->out.ctr) {
14524 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
14526 ndr->depth--;
14527 ndr->depth--;
14528 ndr_print_WERROR(ndr, "result", r->out.result);
14529 ndr->depth--;
14531 ndr->depth--;
14534 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
14536 if (flags & NDR_IN) {
14537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
14538 if (r->in.server_unc) {
14539 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14540 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14541 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14542 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));
14544 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
14545 if (r->in.client_account) {
14546 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14547 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14548 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14549 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));
14551 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
14552 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
14553 if (r->in.domain_name) {
14554 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14555 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14556 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14557 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));
14559 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
14560 if (r->in.domain_guid) {
14561 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14563 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
14564 if (r->in.site_name) {
14565 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14566 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14567 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14568 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));
14570 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
14572 if (flags & NDR_OUT) {
14573 if (r->out.info == NULL) {
14574 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14576 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
14577 if (*r->out.info) {
14578 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14580 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14582 return NDR_ERR_SUCCESS;
14585 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
14587 uint32_t _ptr_server_unc;
14588 uint32_t _ptr_client_account;
14589 uint32_t _ptr_domain_name;
14590 uint32_t _ptr_domain_guid;
14591 uint32_t _ptr_site_name;
14592 uint32_t _ptr_info;
14593 TALLOC_CTX *_mem_save_server_unc_0;
14594 TALLOC_CTX *_mem_save_client_account_0;
14595 TALLOC_CTX *_mem_save_domain_name_0;
14596 TALLOC_CTX *_mem_save_domain_guid_0;
14597 TALLOC_CTX *_mem_save_site_name_0;
14598 TALLOC_CTX *_mem_save_info_0;
14599 TALLOC_CTX *_mem_save_info_1;
14600 if (flags & NDR_IN) {
14601 ZERO_STRUCT(r->out);
14603 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
14604 if (_ptr_server_unc) {
14605 NDR_PULL_ALLOC(ndr, r->in.server_unc);
14606 } else {
14607 r->in.server_unc = NULL;
14609 if (r->in.server_unc) {
14610 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
14611 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
14612 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
14613 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
14614 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
14615 return 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));
14617 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
14618 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));
14619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
14621 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
14622 if (_ptr_client_account) {
14623 NDR_PULL_ALLOC(ndr, r->in.client_account);
14624 } else {
14625 r->in.client_account = NULL;
14627 if (r->in.client_account) {
14628 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
14629 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
14630 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
14631 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
14632 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
14633 return 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));
14635 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
14636 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));
14637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
14639 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
14640 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
14641 if (_ptr_domain_name) {
14642 NDR_PULL_ALLOC(ndr, r->in.domain_name);
14643 } else {
14644 r->in.domain_name = NULL;
14646 if (r->in.domain_name) {
14647 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14648 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
14649 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
14650 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
14651 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
14652 return 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));
14654 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
14655 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));
14656 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
14658 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
14659 if (_ptr_domain_guid) {
14660 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
14661 } else {
14662 r->in.domain_guid = NULL;
14664 if (r->in.domain_guid) {
14665 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14666 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
14667 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
14670 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
14671 if (_ptr_site_name) {
14672 NDR_PULL_ALLOC(ndr, r->in.site_name);
14673 } else {
14674 r->in.site_name = NULL;
14676 if (r->in.site_name) {
14677 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14678 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
14679 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
14680 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
14681 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
14682 return 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));
14684 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
14685 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));
14686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
14688 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
14689 NDR_PULL_ALLOC(ndr, r->out.info);
14690 ZERO_STRUCTP(r->out.info);
14692 if (flags & NDR_OUT) {
14693 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14694 NDR_PULL_ALLOC(ndr, r->out.info);
14696 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14697 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14698 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14699 if (_ptr_info) {
14700 NDR_PULL_ALLOC(ndr, *r->out.info);
14701 } else {
14702 *r->out.info = NULL;
14704 if (*r->out.info) {
14705 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14706 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
14707 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14708 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
14710 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14711 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14713 return NDR_ERR_SUCCESS;
14716 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
14718 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
14719 ndr->depth++;
14720 if (flags & NDR_SET_VALUES) {
14721 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14723 if (flags & NDR_IN) {
14724 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
14725 ndr->depth++;
14726 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
14727 ndr->depth++;
14728 if (r->in.server_unc) {
14729 ndr_print_string(ndr, "server_unc", r->in.server_unc);
14731 ndr->depth--;
14732 ndr_print_ptr(ndr, "client_account", r->in.client_account);
14733 ndr->depth++;
14734 if (r->in.client_account) {
14735 ndr_print_string(ndr, "client_account", r->in.client_account);
14737 ndr->depth--;
14738 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
14739 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
14740 ndr->depth++;
14741 if (r->in.domain_name) {
14742 ndr_print_string(ndr, "domain_name", r->in.domain_name);
14744 ndr->depth--;
14745 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
14746 ndr->depth++;
14747 if (r->in.domain_guid) {
14748 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
14750 ndr->depth--;
14751 ndr_print_ptr(ndr, "site_name", r->in.site_name);
14752 ndr->depth++;
14753 if (r->in.site_name) {
14754 ndr_print_string(ndr, "site_name", r->in.site_name);
14756 ndr->depth--;
14757 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
14758 ndr->depth--;
14760 if (flags & NDR_OUT) {
14761 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
14762 ndr->depth++;
14763 ndr_print_ptr(ndr, "info", r->out.info);
14764 ndr->depth++;
14765 ndr_print_ptr(ndr, "info", *r->out.info);
14766 ndr->depth++;
14767 if (*r->out.info) {
14768 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
14770 ndr->depth--;
14771 ndr->depth--;
14772 ndr_print_WERROR(ndr, "result", r->out.result);
14773 ndr->depth--;
14775 ndr->depth--;
14778 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14780 if (flags & NDR_IN) {
14782 if (flags & NDR_OUT) {
14783 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14785 return NDR_ERR_SUCCESS;
14788 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14790 if (flags & NDR_IN) {
14792 if (flags & NDR_OUT) {
14793 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14795 return NDR_ERR_SUCCESS;
14798 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14800 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14801 ndr->depth++;
14802 if (flags & NDR_SET_VALUES) {
14803 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14805 if (flags & NDR_IN) {
14806 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14807 ndr->depth++;
14808 ndr->depth--;
14810 if (flags & NDR_OUT) {
14811 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14812 ndr->depth++;
14813 ndr_print_WERROR(ndr, "result", r->out.result);
14814 ndr->depth--;
14816 ndr->depth--;
14819 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14821 if (flags & NDR_IN) {
14822 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14823 if (r->in.server_name) {
14824 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14825 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14826 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14827 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));
14830 if (flags & NDR_OUT) {
14831 if (r->out.dom_trust_list == NULL) {
14832 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14834 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14835 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14837 return NDR_ERR_SUCCESS;
14840 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
14842 uint32_t _ptr_server_name;
14843 TALLOC_CTX *_mem_save_server_name_0;
14844 TALLOC_CTX *_mem_save_dom_trust_list_0;
14845 if (flags & NDR_IN) {
14846 ZERO_STRUCT(r->out);
14848 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14849 if (_ptr_server_name) {
14850 NDR_PULL_ALLOC(ndr, r->in.server_name);
14851 } else {
14852 r->in.server_name = NULL;
14854 if (r->in.server_name) {
14855 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14856 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14857 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14858 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14859 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14860 return 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));
14862 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14863 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));
14864 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14866 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14867 ZERO_STRUCTP(r->out.dom_trust_list);
14869 if (flags & NDR_OUT) {
14870 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14871 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
14873 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
14874 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
14875 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14876 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
14877 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14879 return NDR_ERR_SUCCESS;
14882 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14884 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
14885 ndr->depth++;
14886 if (flags & NDR_SET_VALUES) {
14887 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14889 if (flags & NDR_IN) {
14890 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
14891 ndr->depth++;
14892 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14893 ndr->depth++;
14894 if (r->in.server_name) {
14895 ndr_print_string(ndr, "server_name", r->in.server_name);
14897 ndr->depth--;
14898 ndr->depth--;
14900 if (flags & NDR_OUT) {
14901 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
14902 ndr->depth++;
14903 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
14904 ndr->depth++;
14905 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
14906 ndr->depth--;
14907 ndr_print_WERROR(ndr, "result", r->out.result);
14908 ndr->depth--;
14910 ndr->depth--;
14913 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
14915 uint32_t cntr_addresses_1;
14916 if (flags & NDR_IN) {
14917 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14918 if (r->in.server_name) {
14919 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14920 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14921 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14922 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));
14924 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14925 if (r->in.addresses == NULL) {
14926 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14928 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.count));
14929 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14930 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14932 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14933 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14936 if (flags & NDR_OUT) {
14937 if (r->out.ctr == NULL) {
14938 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14940 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14941 if (*r->out.ctr) {
14942 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14944 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14946 return NDR_ERR_SUCCESS;
14949 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
14951 uint32_t _ptr_server_name;
14952 uint32_t cntr_addresses_1;
14953 uint32_t _ptr_ctr;
14954 TALLOC_CTX *_mem_save_server_name_0;
14955 TALLOC_CTX *_mem_save_addresses_1;
14956 TALLOC_CTX *_mem_save_ctr_0;
14957 TALLOC_CTX *_mem_save_ctr_1;
14958 if (flags & NDR_IN) {
14959 ZERO_STRUCT(r->out);
14961 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14962 if (_ptr_server_name) {
14963 NDR_PULL_ALLOC(ndr, r->in.server_name);
14964 } else {
14965 r->in.server_name = NULL;
14967 if (r->in.server_name) {
14968 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14969 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14970 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14971 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14972 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14973 return 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));
14975 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14976 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));
14977 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14979 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14980 if (r->in.count > 32000) {
14981 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14983 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14984 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14985 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
14987 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14988 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14989 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14990 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14992 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14993 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14995 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14996 NDR_PULL_ALLOC(ndr, r->out.ctr);
14997 ZERO_STRUCTP(r->out.ctr);
14998 if (r->in.addresses) {
14999 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
15002 if (flags & NDR_OUT) {
15003 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15004 NDR_PULL_ALLOC(ndr, r->out.ctr);
15006 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15007 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15008 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
15009 if (_ptr_ctr) {
15010 NDR_PULL_ALLOC(ndr, *r->out.ctr);
15011 } else {
15012 *r->out.ctr = NULL;
15014 if (*r->out.ctr) {
15015 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
15016 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
15017 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
15020 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15021 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15023 return NDR_ERR_SUCCESS;
15026 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
15028 uint32_t cntr_addresses_1;
15029 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
15030 ndr->depth++;
15031 if (flags & NDR_SET_VALUES) {
15032 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15034 if (flags & NDR_IN) {
15035 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
15036 ndr->depth++;
15037 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15038 ndr->depth++;
15039 if (r->in.server_name) {
15040 ndr_print_string(ndr, "server_name", r->in.server_name);
15042 ndr->depth--;
15043 ndr_print_uint32(ndr, "count", r->in.count);
15044 ndr_print_ptr(ndr, "addresses", r->in.addresses);
15045 ndr->depth++;
15046 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
15047 ndr->depth++;
15048 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
15049 char *idx_1=NULL;
15050 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
15051 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
15052 free(idx_1);
15055 ndr->depth--;
15056 ndr->depth--;
15057 ndr->depth--;
15059 if (flags & NDR_OUT) {
15060 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
15061 ndr->depth++;
15062 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15063 ndr->depth++;
15064 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
15065 ndr->depth++;
15066 if (*r->out.ctr) {
15067 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
15069 ndr->depth--;
15070 ndr->depth--;
15071 ndr_print_WERROR(ndr, "result", r->out.result);
15072 ndr->depth--;
15074 ndr->depth--;
15077 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
15079 if (flags & NDR_IN) {
15080 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15081 if (r->in.server_name) {
15082 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15083 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15084 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15085 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));
15088 if (flags & NDR_OUT) {
15089 if (r->out.ctr == NULL) {
15090 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15092 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
15093 if (*r->out.ctr) {
15094 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15096 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15098 return NDR_ERR_SUCCESS;
15101 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
15103 uint32_t _ptr_server_name;
15104 uint32_t _ptr_ctr;
15105 TALLOC_CTX *_mem_save_server_name_0;
15106 TALLOC_CTX *_mem_save_ctr_0;
15107 TALLOC_CTX *_mem_save_ctr_1;
15108 if (flags & NDR_IN) {
15109 ZERO_STRUCT(r->out);
15111 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15112 if (_ptr_server_name) {
15113 NDR_PULL_ALLOC(ndr, r->in.server_name);
15114 } else {
15115 r->in.server_name = NULL;
15117 if (r->in.server_name) {
15118 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15119 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15120 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15121 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15122 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15123 return 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));
15125 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15126 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));
15127 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15129 NDR_PULL_ALLOC(ndr, r->out.ctr);
15130 ZERO_STRUCTP(r->out.ctr);
15132 if (flags & NDR_OUT) {
15133 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15134 NDR_PULL_ALLOC(ndr, r->out.ctr);
15136 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15137 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15138 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
15139 if (_ptr_ctr) {
15140 NDR_PULL_ALLOC(ndr, *r->out.ctr);
15141 } else {
15142 *r->out.ctr = NULL;
15144 if (*r->out.ctr) {
15145 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
15146 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
15147 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
15150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15151 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15153 return NDR_ERR_SUCCESS;
15156 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
15158 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
15159 ndr->depth++;
15160 if (flags & NDR_SET_VALUES) {
15161 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15163 if (flags & NDR_IN) {
15164 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
15165 ndr->depth++;
15166 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15167 ndr->depth++;
15168 if (r->in.server_name) {
15169 ndr_print_string(ndr, "server_name", r->in.server_name);
15171 ndr->depth--;
15172 ndr->depth--;
15174 if (flags & NDR_OUT) {
15175 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
15176 ndr->depth++;
15177 ndr_print_ptr(ndr, "ctr", r->out.ctr);
15178 ndr->depth++;
15179 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
15180 ndr->depth++;
15181 if (*r->out.ctr) {
15182 ndr_print_DcSitesCtr(ndr, "ctr", *r->out.ctr);
15184 ndr->depth--;
15185 ndr->depth--;
15186 ndr_print_WERROR(ndr, "result", r->out.result);
15187 ndr->depth--;
15189 ndr->depth--;
15192 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
15194 if (flags & NDR_IN) {
15195 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15196 if (r->in.server_name) {
15197 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15198 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15199 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15200 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));
15202 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
15203 if (r->in.computer_name) {
15204 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15205 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15206 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15207 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));
15209 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
15210 if (r->in.logon == NULL) {
15211 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15213 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15214 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15215 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
15216 if (r->in.flags == NULL) {
15217 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
15221 if (flags & NDR_OUT) {
15222 if (r->out.validation == NULL) {
15223 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15225 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15226 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15227 if (r->out.authoritative == NULL) {
15228 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15230 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
15231 if (r->out.flags == NULL) {
15232 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15234 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
15235 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15237 return NDR_ERR_SUCCESS;
15240 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
15242 uint32_t _ptr_server_name;
15243 uint32_t _ptr_computer_name;
15244 TALLOC_CTX *_mem_save_server_name_0;
15245 TALLOC_CTX *_mem_save_computer_name_0;
15246 TALLOC_CTX *_mem_save_logon_0;
15247 TALLOC_CTX *_mem_save_validation_0;
15248 TALLOC_CTX *_mem_save_authoritative_0;
15249 TALLOC_CTX *_mem_save_flags_0;
15250 if (flags & NDR_IN) {
15251 ZERO_STRUCT(r->out);
15253 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15254 if (_ptr_server_name) {
15255 NDR_PULL_ALLOC(ndr, r->in.server_name);
15256 } else {
15257 r->in.server_name = NULL;
15259 if (r->in.server_name) {
15260 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15261 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15262 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15263 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15264 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15265 return 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));
15267 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15268 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));
15269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15271 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
15272 if (_ptr_computer_name) {
15273 NDR_PULL_ALLOC(ndr, r->in.computer_name);
15274 } else {
15275 r->in.computer_name = NULL;
15277 if (r->in.computer_name) {
15278 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15279 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
15280 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15281 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15282 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15283 return 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));
15285 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15286 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));
15287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
15289 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
15290 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15291 NDR_PULL_ALLOC(ndr, r->in.logon);
15293 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
15294 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
15295 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15296 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
15298 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
15299 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15300 NDR_PULL_ALLOC(ndr, r->in.flags);
15302 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15303 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
15304 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
15305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15306 NDR_PULL_ALLOC(ndr, r->out.validation);
15307 ZERO_STRUCTP(r->out.validation);
15308 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15309 ZERO_STRUCTP(r->out.authoritative);
15310 NDR_PULL_ALLOC(ndr, r->out.flags);
15311 *r->out.flags = *r->in.flags;
15313 if (flags & NDR_OUT) {
15314 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15315 NDR_PULL_ALLOC(ndr, r->out.validation);
15317 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
15318 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
15319 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15320 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
15322 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15323 NDR_PULL_ALLOC(ndr, r->out.authoritative);
15325 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
15326 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
15327 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
15328 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
15329 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15330 NDR_PULL_ALLOC(ndr, r->out.flags);
15332 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15333 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
15334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
15335 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15336 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15338 return NDR_ERR_SUCCESS;
15341 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
15343 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
15344 ndr->depth++;
15345 if (flags & NDR_SET_VALUES) {
15346 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15348 if (flags & NDR_IN) {
15349 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
15350 ndr->depth++;
15351 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15352 ndr->depth++;
15353 if (r->in.server_name) {
15354 ndr_print_string(ndr, "server_name", r->in.server_name);
15356 ndr->depth--;
15357 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15358 ndr->depth++;
15359 if (r->in.computer_name) {
15360 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15362 ndr->depth--;
15363 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
15364 ndr_print_ptr(ndr, "logon", r->in.logon);
15365 ndr->depth++;
15366 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
15367 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
15368 ndr->depth--;
15369 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
15370 ndr_print_ptr(ndr, "flags", r->in.flags);
15371 ndr->depth++;
15372 ndr_print_uint32(ndr, "flags", *r->in.flags);
15373 ndr->depth--;
15374 ndr->depth--;
15376 if (flags & NDR_OUT) {
15377 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
15378 ndr->depth++;
15379 ndr_print_ptr(ndr, "validation", r->out.validation);
15380 ndr->depth++;
15381 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
15382 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
15383 ndr->depth--;
15384 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
15385 ndr->depth++;
15386 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
15387 ndr->depth--;
15388 ndr_print_ptr(ndr, "flags", r->out.flags);
15389 ndr->depth++;
15390 ndr_print_uint32(ndr, "flags", *r->out.flags);
15391 ndr->depth--;
15392 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15393 ndr->depth--;
15395 ndr->depth--;
15398 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15400 if (flags & NDR_IN) {
15401 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15402 if (r->in.server_name) {
15403 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15404 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15405 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15406 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));
15408 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
15410 if (flags & NDR_OUT) {
15411 if (r->out.trusts == NULL) {
15412 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15414 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15415 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15417 return NDR_ERR_SUCCESS;
15420 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
15422 uint32_t _ptr_server_name;
15423 TALLOC_CTX *_mem_save_server_name_0;
15424 TALLOC_CTX *_mem_save_trusts_0;
15425 if (flags & NDR_IN) {
15426 ZERO_STRUCT(r->out);
15428 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15429 if (_ptr_server_name) {
15430 NDR_PULL_ALLOC(ndr, r->in.server_name);
15431 } else {
15432 r->in.server_name = NULL;
15434 if (r->in.server_name) {
15435 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15436 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15437 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15438 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15439 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15440 return 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));
15442 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15443 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));
15444 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15446 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
15447 NDR_PULL_ALLOC(ndr, r->out.trusts);
15448 ZERO_STRUCTP(r->out.trusts);
15450 if (flags & NDR_OUT) {
15451 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15452 NDR_PULL_ALLOC(ndr, r->out.trusts);
15454 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
15455 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
15456 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
15458 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15460 return NDR_ERR_SUCCESS;
15463 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15465 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
15466 ndr->depth++;
15467 if (flags & NDR_SET_VALUES) {
15468 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15470 if (flags & NDR_IN) {
15471 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
15472 ndr->depth++;
15473 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15474 ndr->depth++;
15475 if (r->in.server_name) {
15476 ndr_print_string(ndr, "server_name", r->in.server_name);
15478 ndr->depth--;
15479 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
15480 ndr->depth--;
15482 if (flags & NDR_OUT) {
15483 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
15484 ndr->depth++;
15485 ndr_print_ptr(ndr, "trusts", r->out.trusts);
15486 ndr->depth++;
15487 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
15488 ndr->depth--;
15489 ndr_print_WERROR(ndr, "result", r->out.result);
15490 ndr->depth--;
15492 ndr->depth--;
15495 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15497 if (flags & NDR_IN) {
15498 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15499 if (r->in.server_name) {
15500 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15501 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15502 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15503 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));
15505 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
15506 if (r->in.domain) {
15507 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15508 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15509 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15510 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15512 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
15513 if (r->in.domain_guid) {
15514 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15516 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
15517 if (r->in.dsa_guid) {
15518 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15520 if (r->in.dns_host == NULL) {
15521 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15523 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15524 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15525 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15526 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));
15528 if (flags & NDR_OUT) {
15529 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15531 return NDR_ERR_SUCCESS;
15534 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
15536 uint32_t _ptr_server_name;
15537 uint32_t _ptr_domain;
15538 uint32_t _ptr_domain_guid;
15539 uint32_t _ptr_dsa_guid;
15540 TALLOC_CTX *_mem_save_server_name_0;
15541 TALLOC_CTX *_mem_save_domain_0;
15542 TALLOC_CTX *_mem_save_domain_guid_0;
15543 TALLOC_CTX *_mem_save_dsa_guid_0;
15544 if (flags & NDR_IN) {
15545 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15546 if (_ptr_server_name) {
15547 NDR_PULL_ALLOC(ndr, r->in.server_name);
15548 } else {
15549 r->in.server_name = NULL;
15551 if (r->in.server_name) {
15552 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15553 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15554 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15555 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15556 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15557 return 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));
15559 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15560 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));
15561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15563 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
15564 if (_ptr_domain) {
15565 NDR_PULL_ALLOC(ndr, r->in.domain);
15566 } else {
15567 r->in.domain = NULL;
15569 if (r->in.domain) {
15570 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
15571 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
15572 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
15573 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
15574 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
15575 return 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));
15577 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
15578 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
15579 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
15581 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
15582 if (_ptr_domain_guid) {
15583 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
15584 } else {
15585 r->in.domain_guid = NULL;
15587 if (r->in.domain_guid) {
15588 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15589 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
15590 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
15593 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
15594 if (_ptr_dsa_guid) {
15595 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
15596 } else {
15597 r->in.dsa_guid = NULL;
15599 if (r->in.dsa_guid) {
15600 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15601 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
15602 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
15605 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
15606 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
15607 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
15608 return 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));
15610 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
15611 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));
15613 if (flags & NDR_OUT) {
15614 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15616 return NDR_ERR_SUCCESS;
15619 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15621 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
15622 ndr->depth++;
15623 if (flags & NDR_SET_VALUES) {
15624 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15626 if (flags & NDR_IN) {
15627 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
15628 ndr->depth++;
15629 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15630 ndr->depth++;
15631 if (r->in.server_name) {
15632 ndr_print_string(ndr, "server_name", r->in.server_name);
15634 ndr->depth--;
15635 ndr_print_ptr(ndr, "domain", r->in.domain);
15636 ndr->depth++;
15637 if (r->in.domain) {
15638 ndr_print_string(ndr, "domain", r->in.domain);
15640 ndr->depth--;
15641 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
15642 ndr->depth++;
15643 if (r->in.domain_guid) {
15644 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
15646 ndr->depth--;
15647 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
15648 ndr->depth++;
15649 if (r->in.dsa_guid) {
15650 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
15652 ndr->depth--;
15653 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
15654 ndr->depth++;
15655 ndr_print_string(ndr, "dns_host", r->in.dns_host);
15656 ndr->depth--;
15657 ndr->depth--;
15659 if (flags & NDR_OUT) {
15660 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
15661 ndr->depth++;
15662 ndr_print_WERROR(ndr, "result", r->out.result);
15663 ndr->depth--;
15665 ndr->depth--;
15668 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
15670 if (flags & NDR_IN) {
15671 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15672 if (r->in.server_name) {
15673 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15674 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15675 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15676 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));
15678 if (r->in.account_name == NULL) {
15679 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15681 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15682 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15683 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15684 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));
15685 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
15686 if (r->in.computer_name == NULL) {
15687 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15689 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15690 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15691 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15692 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));
15693 if (r->in.credential == NULL) {
15694 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15696 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15698 if (flags & NDR_OUT) {
15699 if (r->out.return_authenticator == NULL) {
15700 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15702 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15703 if (r->out.password == NULL) {
15704 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15706 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
15707 if (r->out.password2 == NULL) {
15708 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15710 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15711 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15713 return NDR_ERR_SUCCESS;
15716 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
15718 uint32_t _ptr_server_name;
15719 TALLOC_CTX *_mem_save_server_name_0;
15720 TALLOC_CTX *_mem_save_credential_0;
15721 TALLOC_CTX *_mem_save_return_authenticator_0;
15722 TALLOC_CTX *_mem_save_password_0;
15723 TALLOC_CTX *_mem_save_password2_0;
15724 if (flags & NDR_IN) {
15725 ZERO_STRUCT(r->out);
15727 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15728 if (_ptr_server_name) {
15729 NDR_PULL_ALLOC(ndr, r->in.server_name);
15730 } else {
15731 r->in.server_name = NULL;
15733 if (r->in.server_name) {
15734 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15735 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15736 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15737 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15738 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15739 return 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));
15741 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15742 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));
15743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15745 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
15746 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
15747 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
15748 return 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));
15750 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
15751 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));
15752 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
15753 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15754 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15755 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15756 return 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));
15758 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15759 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));
15760 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15761 NDR_PULL_ALLOC(ndr, r->in.credential);
15763 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15764 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15765 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15766 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15767 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15768 ZERO_STRUCTP(r->out.return_authenticator);
15769 NDR_PULL_ALLOC(ndr, r->out.password);
15770 ZERO_STRUCTP(r->out.password);
15771 NDR_PULL_ALLOC(ndr, r->out.password2);
15772 ZERO_STRUCTP(r->out.password2);
15774 if (flags & NDR_OUT) {
15775 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15776 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15778 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15779 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15780 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15782 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15783 NDR_PULL_ALLOC(ndr, r->out.password);
15785 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
15786 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
15787 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
15788 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
15789 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15790 NDR_PULL_ALLOC(ndr, r->out.password2);
15792 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
15793 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
15794 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15795 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
15796 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15798 return NDR_ERR_SUCCESS;
15801 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
15803 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
15804 ndr->depth++;
15805 if (flags & NDR_SET_VALUES) {
15806 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15808 if (flags & NDR_IN) {
15809 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
15810 ndr->depth++;
15811 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15812 ndr->depth++;
15813 if (r->in.server_name) {
15814 ndr_print_string(ndr, "server_name", r->in.server_name);
15816 ndr->depth--;
15817 ndr_print_ptr(ndr, "account_name", r->in.account_name);
15818 ndr->depth++;
15819 ndr_print_string(ndr, "account_name", r->in.account_name);
15820 ndr->depth--;
15821 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
15822 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15823 ndr->depth++;
15824 ndr_print_string(ndr, "computer_name", r->in.computer_name);
15825 ndr->depth--;
15826 ndr_print_ptr(ndr, "credential", r->in.credential);
15827 ndr->depth++;
15828 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15829 ndr->depth--;
15830 ndr->depth--;
15832 if (flags & NDR_OUT) {
15833 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
15834 ndr->depth++;
15835 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15836 ndr->depth++;
15837 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15838 ndr->depth--;
15839 ndr_print_ptr(ndr, "password", r->out.password);
15840 ndr->depth++;
15841 ndr_print_samr_Password(ndr, "password", r->out.password);
15842 ndr->depth--;
15843 ndr_print_ptr(ndr, "password2", r->out.password2);
15844 ndr->depth++;
15845 ndr_print_samr_Password(ndr, "password2", r->out.password2);
15846 ndr->depth--;
15847 ndr_print_NTSTATUS(ndr, "result", r->out.result);
15848 ndr->depth--;
15850 ndr->depth--;
15853 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
15855 if (flags & NDR_IN) {
15856 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15857 if (r->in.server_name) {
15858 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15859 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15860 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15861 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));
15863 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
15864 if (r->in.trusted_domain_name) {
15865 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15866 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15867 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
15868 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));
15870 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
15872 if (flags & NDR_OUT) {
15873 if (r->out.forest_trust_info == NULL) {
15874 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15876 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
15877 if (*r->out.forest_trust_info) {
15878 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15880 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15882 return NDR_ERR_SUCCESS;
15885 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
15887 uint32_t _ptr_server_name;
15888 uint32_t _ptr_trusted_domain_name;
15889 uint32_t _ptr_forest_trust_info;
15890 TALLOC_CTX *_mem_save_server_name_0;
15891 TALLOC_CTX *_mem_save_trusted_domain_name_0;
15892 TALLOC_CTX *_mem_save_forest_trust_info_0;
15893 TALLOC_CTX *_mem_save_forest_trust_info_1;
15894 if (flags & NDR_IN) {
15895 ZERO_STRUCT(r->out);
15897 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15898 if (_ptr_server_name) {
15899 NDR_PULL_ALLOC(ndr, r->in.server_name);
15900 } else {
15901 r->in.server_name = NULL;
15903 if (r->in.server_name) {
15904 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15905 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15906 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15907 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15908 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15909 return 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));
15911 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15912 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));
15913 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15915 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
15916 if (_ptr_trusted_domain_name) {
15917 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
15918 } else {
15919 r->in.trusted_domain_name = NULL;
15921 if (r->in.trusted_domain_name) {
15922 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15923 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
15924 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
15925 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
15926 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
15927 return 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));
15929 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
15930 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));
15931 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
15933 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
15934 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15935 ZERO_STRUCTP(r->out.forest_trust_info);
15937 if (flags & NDR_OUT) {
15938 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15939 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
15941 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
15942 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
15943 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
15944 if (_ptr_forest_trust_info) {
15945 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
15946 } else {
15947 *r->out.forest_trust_info = NULL;
15949 if (*r->out.forest_trust_info) {
15950 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
15951 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
15952 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
15953 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
15955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
15956 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15958 return NDR_ERR_SUCCESS;
15961 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
15963 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
15964 ndr->depth++;
15965 if (flags & NDR_SET_VALUES) {
15966 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15968 if (flags & NDR_IN) {
15969 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
15970 ndr->depth++;
15971 ndr_print_ptr(ndr, "server_name", r->in.server_name);
15972 ndr->depth++;
15973 if (r->in.server_name) {
15974 ndr_print_string(ndr, "server_name", r->in.server_name);
15976 ndr->depth--;
15977 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15978 ndr->depth++;
15979 if (r->in.trusted_domain_name) {
15980 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
15982 ndr->depth--;
15983 ndr_print_uint32(ndr, "flags", r->in.flags);
15984 ndr->depth--;
15986 if (flags & NDR_OUT) {
15987 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
15988 ndr->depth++;
15989 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
15990 ndr->depth++;
15991 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
15992 ndr->depth++;
15993 if (*r->out.forest_trust_info) {
15994 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
15996 ndr->depth--;
15997 ndr->depth--;
15998 ndr_print_WERROR(ndr, "result", r->out.result);
15999 ndr->depth--;
16001 ndr->depth--;
16004 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
16006 if (flags & NDR_IN) {
16007 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16008 if (r->in.server_name) {
16009 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16010 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16011 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16012 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));
16014 if (r->in.trusted_domain_name == NULL) {
16015 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16017 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
16018 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16019 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
16020 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));
16021 if (r->in.credential == NULL) {
16022 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16024 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16025 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
16027 if (flags & NDR_OUT) {
16028 if (r->out.return_authenticator == NULL) {
16029 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16031 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16032 if (r->out.forest_trust_info == NULL) {
16033 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16035 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
16036 if (*r->out.forest_trust_info) {
16037 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16039 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16041 return NDR_ERR_SUCCESS;
16044 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
16046 uint32_t _ptr_server_name;
16047 uint32_t _ptr_forest_trust_info;
16048 TALLOC_CTX *_mem_save_server_name_0;
16049 TALLOC_CTX *_mem_save_credential_0;
16050 TALLOC_CTX *_mem_save_return_authenticator_0;
16051 TALLOC_CTX *_mem_save_forest_trust_info_0;
16052 TALLOC_CTX *_mem_save_forest_trust_info_1;
16053 if (flags & NDR_IN) {
16054 ZERO_STRUCT(r->out);
16056 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16057 if (_ptr_server_name) {
16058 NDR_PULL_ALLOC(ndr, r->in.server_name);
16059 } else {
16060 r->in.server_name = NULL;
16062 if (r->in.server_name) {
16063 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16064 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16065 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16066 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16067 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16068 return 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));
16070 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16071 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));
16072 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16074 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
16075 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
16076 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
16077 return 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));
16079 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
16080 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));
16081 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16082 NDR_PULL_ALLOC(ndr, r->in.credential);
16084 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16085 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16086 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16087 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16088 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
16089 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16090 ZERO_STRUCTP(r->out.return_authenticator);
16091 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16092 ZERO_STRUCTP(r->out.forest_trust_info);
16094 if (flags & NDR_OUT) {
16095 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16096 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16098 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16099 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16100 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16101 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16102 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16103 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16105 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16106 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
16107 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
16108 if (_ptr_forest_trust_info) {
16109 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
16110 } else {
16111 *r->out.forest_trust_info = NULL;
16113 if (*r->out.forest_trust_info) {
16114 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16115 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
16116 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
16119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16120 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16122 return NDR_ERR_SUCCESS;
16125 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
16127 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
16128 ndr->depth++;
16129 if (flags & NDR_SET_VALUES) {
16130 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16132 if (flags & NDR_IN) {
16133 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
16134 ndr->depth++;
16135 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16136 ndr->depth++;
16137 if (r->in.server_name) {
16138 ndr_print_string(ndr, "server_name", r->in.server_name);
16140 ndr->depth--;
16141 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16142 ndr->depth++;
16143 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16144 ndr->depth--;
16145 ndr_print_ptr(ndr, "credential", r->in.credential);
16146 ndr->depth++;
16147 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16148 ndr->depth--;
16149 ndr_print_uint32(ndr, "flags", r->in.flags);
16150 ndr->depth--;
16152 if (flags & NDR_OUT) {
16153 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
16154 ndr->depth++;
16155 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16156 ndr->depth++;
16157 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16158 ndr->depth--;
16159 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
16160 ndr->depth++;
16161 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
16162 ndr->depth++;
16163 if (*r->out.forest_trust_info) {
16164 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
16166 ndr->depth--;
16167 ndr->depth--;
16168 ndr_print_WERROR(ndr, "result", r->out.result);
16169 ndr->depth--;
16171 ndr->depth--;
16174 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
16176 if (flags & NDR_IN) {
16177 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16178 if (r->in.server_name) {
16179 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16180 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16181 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16182 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));
16184 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
16185 if (r->in.computer_name) {
16186 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16187 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16188 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16189 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));
16191 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
16192 if (r->in.credential) {
16193 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16195 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
16196 if (r->in.return_authenticator) {
16197 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16199 NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
16200 if (r->in.logon == NULL) {
16201 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16203 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16204 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16205 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
16206 if (r->in.flags == NULL) {
16207 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
16211 if (flags & NDR_OUT) {
16212 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
16213 if (r->out.return_authenticator) {
16214 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16216 if (r->out.validation == NULL) {
16217 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16219 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16220 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16221 if (r->out.authoritative == NULL) {
16222 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16224 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
16225 if (r->out.flags == NULL) {
16226 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16228 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
16229 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16231 return NDR_ERR_SUCCESS;
16234 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
16236 uint32_t _ptr_server_name;
16237 uint32_t _ptr_computer_name;
16238 uint32_t _ptr_credential;
16239 uint32_t _ptr_return_authenticator;
16240 TALLOC_CTX *_mem_save_server_name_0;
16241 TALLOC_CTX *_mem_save_computer_name_0;
16242 TALLOC_CTX *_mem_save_credential_0;
16243 TALLOC_CTX *_mem_save_return_authenticator_0;
16244 TALLOC_CTX *_mem_save_logon_0;
16245 TALLOC_CTX *_mem_save_validation_0;
16246 TALLOC_CTX *_mem_save_authoritative_0;
16247 TALLOC_CTX *_mem_save_flags_0;
16248 if (flags & NDR_IN) {
16249 ZERO_STRUCT(r->out);
16251 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16252 if (_ptr_server_name) {
16253 NDR_PULL_ALLOC(ndr, r->in.server_name);
16254 } else {
16255 r->in.server_name = NULL;
16257 if (r->in.server_name) {
16258 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16259 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16260 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16261 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16262 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16263 return 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));
16265 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16266 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));
16267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16269 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
16270 if (_ptr_computer_name) {
16271 NDR_PULL_ALLOC(ndr, r->in.computer_name);
16272 } else {
16273 r->in.computer_name = NULL;
16275 if (r->in.computer_name) {
16276 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16277 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
16278 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16279 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16280 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
16281 return 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));
16283 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
16284 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));
16285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
16287 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
16288 if (_ptr_credential) {
16289 NDR_PULL_ALLOC(ndr, r->in.credential);
16290 } else {
16291 r->in.credential = NULL;
16293 if (r->in.credential) {
16294 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16295 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
16296 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
16299 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16300 if (_ptr_return_authenticator) {
16301 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
16302 } else {
16303 r->in.return_authenticator = NULL;
16305 if (r->in.return_authenticator) {
16306 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16307 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
16308 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16311 NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
16312 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16313 NDR_PULL_ALLOC(ndr, r->in.logon);
16315 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
16316 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
16317 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16318 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16319 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
16320 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
16321 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16322 NDR_PULL_ALLOC(ndr, r->in.flags);
16324 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16325 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
16326 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
16327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16328 NDR_PULL_ALLOC(ndr, r->out.validation);
16329 ZERO_STRUCTP(r->out.validation);
16330 NDR_PULL_ALLOC(ndr, r->out.authoritative);
16331 ZERO_STRUCTP(r->out.authoritative);
16332 NDR_PULL_ALLOC(ndr, r->out.flags);
16333 *r->out.flags = *r->in.flags;
16335 if (flags & NDR_OUT) {
16336 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16337 if (_ptr_return_authenticator) {
16338 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16339 } else {
16340 r->out.return_authenticator = NULL;
16342 if (r->out.return_authenticator) {
16343 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16344 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
16345 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16346 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16348 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16349 NDR_PULL_ALLOC(ndr, r->out.validation);
16351 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
16352 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
16353 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16354 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16355 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
16356 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16357 NDR_PULL_ALLOC(ndr, r->out.authoritative);
16359 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
16360 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
16361 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
16362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
16363 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16364 NDR_PULL_ALLOC(ndr, r->out.flags);
16366 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16367 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
16368 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
16369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16370 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16372 return NDR_ERR_SUCCESS;
16375 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
16377 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
16378 ndr->depth++;
16379 if (flags & NDR_SET_VALUES) {
16380 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16382 if (flags & NDR_IN) {
16383 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
16384 ndr->depth++;
16385 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16386 ndr->depth++;
16387 if (r->in.server_name) {
16388 ndr_print_string(ndr, "server_name", r->in.server_name);
16390 ndr->depth--;
16391 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16392 ndr->depth++;
16393 if (r->in.computer_name) {
16394 ndr_print_string(ndr, "computer_name", r->in.computer_name);
16396 ndr->depth--;
16397 ndr_print_ptr(ndr, "credential", r->in.credential);
16398 ndr->depth++;
16399 if (r->in.credential) {
16400 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16402 ndr->depth--;
16403 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
16404 ndr->depth++;
16405 if (r->in.return_authenticator) {
16406 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
16408 ndr->depth--;
16409 ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
16410 ndr_print_ptr(ndr, "logon", r->in.logon);
16411 ndr->depth++;
16412 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
16413 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
16414 ndr->depth--;
16415 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
16416 ndr_print_ptr(ndr, "flags", r->in.flags);
16417 ndr->depth++;
16418 ndr_print_uint32(ndr, "flags", *r->in.flags);
16419 ndr->depth--;
16420 ndr->depth--;
16422 if (flags & NDR_OUT) {
16423 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
16424 ndr->depth++;
16425 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16426 ndr->depth++;
16427 if (r->out.return_authenticator) {
16428 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16430 ndr->depth--;
16431 ndr_print_ptr(ndr, "validation", r->out.validation);
16432 ndr->depth++;
16433 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
16434 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
16435 ndr->depth--;
16436 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
16437 ndr->depth++;
16438 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
16439 ndr->depth--;
16440 ndr_print_ptr(ndr, "flags", r->out.flags);
16441 ndr->depth++;
16442 ndr_print_uint32(ndr, "flags", *r->out.flags);
16443 ndr->depth--;
16444 ndr_print_NTSTATUS(ndr, "result", r->out.result);
16445 ndr->depth--;
16447 ndr->depth--;
16450 static enum ndr_err_code ndr_push_netr_ServerGetTrustInfo(struct ndr_push *ndr, int flags, const struct netr_ServerGetTrustInfo *r)
16452 if (flags & NDR_IN) {
16453 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16454 if (r->in.server_name) {
16455 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16456 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16457 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16458 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));
16460 if (r->in.account_name == NULL) {
16461 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16463 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16464 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16465 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16466 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));
16467 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
16468 if (r->in.computer_name == NULL) {
16469 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16471 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16472 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16473 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16474 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));
16475 if (r->in.credential == NULL) {
16476 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16478 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16480 if (flags & NDR_OUT) {
16481 if (r->out.return_authenticator == NULL) {
16482 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16484 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16485 if (r->out.new_owf_password == NULL) {
16486 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16488 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16489 if (r->out.old_owf_password == NULL) {
16490 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16492 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16493 if (r->out.trust_info == NULL) {
16494 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16496 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.trust_info));
16497 if (*r->out.trust_info) {
16498 NDR_CHECK(ndr_push_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16500 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16502 return NDR_ERR_SUCCESS;
16505 static enum ndr_err_code ndr_pull_netr_ServerGetTrustInfo(struct ndr_pull *ndr, int flags, struct netr_ServerGetTrustInfo *r)
16507 uint32_t _ptr_server_name;
16508 uint32_t _ptr_trust_info;
16509 TALLOC_CTX *_mem_save_server_name_0;
16510 TALLOC_CTX *_mem_save_credential_0;
16511 TALLOC_CTX *_mem_save_return_authenticator_0;
16512 TALLOC_CTX *_mem_save_new_owf_password_0;
16513 TALLOC_CTX *_mem_save_old_owf_password_0;
16514 TALLOC_CTX *_mem_save_trust_info_0;
16515 TALLOC_CTX *_mem_save_trust_info_1;
16516 if (flags & NDR_IN) {
16517 ZERO_STRUCT(r->out);
16519 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16520 if (_ptr_server_name) {
16521 NDR_PULL_ALLOC(ndr, r->in.server_name);
16522 } else {
16523 r->in.server_name = NULL;
16525 if (r->in.server_name) {
16526 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16527 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16528 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16529 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16530 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16531 return 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));
16533 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16534 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));
16535 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16537 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
16538 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
16539 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
16540 return 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));
16542 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
16543 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));
16544 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
16545 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16546 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16547 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
16548 return 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));
16550 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
16551 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));
16552 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16553 NDR_PULL_ALLOC(ndr, r->in.credential);
16555 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16556 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16557 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16559 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16560 ZERO_STRUCTP(r->out.return_authenticator);
16561 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16562 ZERO_STRUCTP(r->out.new_owf_password);
16563 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16564 ZERO_STRUCTP(r->out.old_owf_password);
16565 NDR_PULL_ALLOC(ndr, r->out.trust_info);
16566 ZERO_STRUCTP(r->out.trust_info);
16568 if (flags & NDR_OUT) {
16569 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16570 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16572 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16573 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16574 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16576 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16577 NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16579 _mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16580 NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
16581 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16582 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16583 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16584 NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16586 _mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16587 NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
16588 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16589 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16590 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16591 NDR_PULL_ALLOC(ndr, r->out.trust_info);
16593 _mem_save_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16594 NDR_PULL_SET_MEM_CTX(ndr, r->out.trust_info, LIBNDR_FLAG_REF_ALLOC);
16595 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trust_info));
16596 if (_ptr_trust_info) {
16597 NDR_PULL_ALLOC(ndr, *r->out.trust_info);
16598 } else {
16599 *r->out.trust_info = NULL;
16601 if (*r->out.trust_info) {
16602 _mem_save_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16603 NDR_PULL_SET_MEM_CTX(ndr, *r->out.trust_info, 0);
16604 NDR_CHECK(ndr_pull_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16605 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_1, 0);
16607 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16608 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16610 return NDR_ERR_SUCCESS;
16613 _PUBLIC_ void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r)
16615 ndr_print_struct(ndr, name, "netr_ServerGetTrustInfo");
16616 ndr->depth++;
16617 if (flags & NDR_SET_VALUES) {
16618 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16620 if (flags & NDR_IN) {
16621 ndr_print_struct(ndr, "in", "netr_ServerGetTrustInfo");
16622 ndr->depth++;
16623 ndr_print_ptr(ndr, "server_name", r->in.server_name);
16624 ndr->depth++;
16625 if (r->in.server_name) {
16626 ndr_print_string(ndr, "server_name", r->in.server_name);
16628 ndr->depth--;
16629 ndr_print_ptr(ndr, "account_name", r->in.account_name);
16630 ndr->depth++;
16631 ndr_print_string(ndr, "account_name", r->in.account_name);
16632 ndr->depth--;
16633 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
16634 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16635 ndr->depth++;
16636 ndr_print_string(ndr, "computer_name", r->in.computer_name);
16637 ndr->depth--;
16638 ndr_print_ptr(ndr, "credential", r->in.credential);
16639 ndr->depth++;
16640 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16641 ndr->depth--;
16642 ndr->depth--;
16644 if (flags & NDR_OUT) {
16645 ndr_print_struct(ndr, "out", "netr_ServerGetTrustInfo");
16646 ndr->depth++;
16647 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16648 ndr->depth++;
16649 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16650 ndr->depth--;
16651 ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
16652 ndr->depth++;
16653 ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
16654 ndr->depth--;
16655 ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
16656 ndr->depth++;
16657 ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
16658 ndr->depth--;
16659 ndr_print_ptr(ndr, "trust_info", r->out.trust_info);
16660 ndr->depth++;
16661 ndr_print_ptr(ndr, "trust_info", *r->out.trust_info);
16662 ndr->depth++;
16663 if (*r->out.trust_info) {
16664 ndr_print_netr_TrustInfo(ndr, "trust_info", *r->out.trust_info);
16666 ndr->depth--;
16667 ndr->depth--;
16668 ndr_print_NTSTATUS(ndr, "result", r->out.result);
16669 ndr->depth--;
16671 ndr->depth--;
16674 static const struct ndr_interface_call netlogon_calls[] = {
16676 "netr_LogonUasLogon",
16677 sizeof(struct netr_LogonUasLogon),
16678 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
16679 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
16680 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
16681 false,
16684 "netr_LogonUasLogoff",
16685 sizeof(struct netr_LogonUasLogoff),
16686 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
16687 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
16688 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
16689 false,
16692 "netr_LogonSamLogon",
16693 sizeof(struct netr_LogonSamLogon),
16694 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
16695 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
16696 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
16697 false,
16700 "netr_LogonSamLogoff",
16701 sizeof(struct netr_LogonSamLogoff),
16702 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
16703 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
16704 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
16705 false,
16708 "netr_ServerReqChallenge",
16709 sizeof(struct netr_ServerReqChallenge),
16710 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
16711 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
16712 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
16713 false,
16716 "netr_ServerAuthenticate",
16717 sizeof(struct netr_ServerAuthenticate),
16718 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
16719 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
16720 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
16721 false,
16724 "netr_ServerPasswordSet",
16725 sizeof(struct netr_ServerPasswordSet),
16726 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
16727 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
16728 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
16729 false,
16732 "netr_DatabaseDeltas",
16733 sizeof(struct netr_DatabaseDeltas),
16734 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
16735 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
16736 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
16737 false,
16740 "netr_DatabaseSync",
16741 sizeof(struct netr_DatabaseSync),
16742 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
16743 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
16744 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
16745 false,
16748 "netr_AccountDeltas",
16749 sizeof(struct netr_AccountDeltas),
16750 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
16751 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
16752 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
16753 false,
16756 "netr_AccountSync",
16757 sizeof(struct netr_AccountSync),
16758 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
16759 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
16760 (ndr_print_function_t) ndr_print_netr_AccountSync,
16761 false,
16764 "netr_GetDcName",
16765 sizeof(struct netr_GetDcName),
16766 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
16767 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
16768 (ndr_print_function_t) ndr_print_netr_GetDcName,
16769 false,
16772 "netr_LogonControl",
16773 sizeof(struct netr_LogonControl),
16774 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
16775 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
16776 (ndr_print_function_t) ndr_print_netr_LogonControl,
16777 false,
16780 "netr_GetAnyDCName",
16781 sizeof(struct netr_GetAnyDCName),
16782 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
16783 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
16784 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
16785 false,
16788 "netr_LogonControl2",
16789 sizeof(struct netr_LogonControl2),
16790 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
16791 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
16792 (ndr_print_function_t) ndr_print_netr_LogonControl2,
16793 false,
16796 "netr_ServerAuthenticate2",
16797 sizeof(struct netr_ServerAuthenticate2),
16798 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
16799 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
16800 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
16801 false,
16804 "netr_DatabaseSync2",
16805 sizeof(struct netr_DatabaseSync2),
16806 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
16807 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
16808 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
16809 false,
16812 "netr_DatabaseRedo",
16813 sizeof(struct netr_DatabaseRedo),
16814 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
16815 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
16816 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
16817 false,
16820 "netr_LogonControl2Ex",
16821 sizeof(struct netr_LogonControl2Ex),
16822 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
16823 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
16824 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
16825 false,
16828 "netr_NetrEnumerateTrustedDomains",
16829 sizeof(struct netr_NetrEnumerateTrustedDomains),
16830 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
16831 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
16832 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
16833 false,
16836 "netr_DsRGetDCName",
16837 sizeof(struct netr_DsRGetDCName),
16838 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
16839 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
16840 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
16841 false,
16844 "netr_LogonGetCapabilities",
16845 sizeof(struct netr_LogonGetCapabilities),
16846 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities,
16847 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities,
16848 (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities,
16849 false,
16852 "netr_NETRLOGONSETSERVICEBITS",
16853 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
16854 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
16855 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
16856 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
16857 false,
16860 "netr_LogonGetTrustRid",
16861 sizeof(struct netr_LogonGetTrustRid),
16862 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
16863 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
16864 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
16865 false,
16868 "netr_NETRLOGONCOMPUTESERVERDIGEST",
16869 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
16870 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
16871 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
16872 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
16873 false,
16876 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
16877 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
16878 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16879 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16880 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
16881 false,
16884 "netr_ServerAuthenticate3",
16885 sizeof(struct netr_ServerAuthenticate3),
16886 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
16887 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
16888 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
16889 false,
16892 "netr_DsRGetDCNameEx",
16893 sizeof(struct netr_DsRGetDCNameEx),
16894 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
16895 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
16896 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
16897 false,
16900 "netr_DsRGetSiteName",
16901 sizeof(struct netr_DsRGetSiteName),
16902 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
16903 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
16904 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
16905 false,
16908 "netr_LogonGetDomainInfo",
16909 sizeof(struct netr_LogonGetDomainInfo),
16910 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
16911 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
16912 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
16913 false,
16916 "netr_ServerPasswordSet2",
16917 sizeof(struct netr_ServerPasswordSet2),
16918 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
16919 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
16920 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
16921 false,
16924 "netr_ServerPasswordGet",
16925 sizeof(struct netr_ServerPasswordGet),
16926 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
16927 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
16928 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
16929 false,
16932 "netr_NETRLOGONSENDTOSAM",
16933 sizeof(struct netr_NETRLOGONSENDTOSAM),
16934 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
16935 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
16936 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
16937 false,
16940 "netr_DsRAddressToSitenamesW",
16941 sizeof(struct netr_DsRAddressToSitenamesW),
16942 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
16943 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
16944 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
16945 false,
16948 "netr_DsRGetDCNameEx2",
16949 sizeof(struct netr_DsRGetDCNameEx2),
16950 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
16951 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
16952 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
16953 false,
16956 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
16957 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
16958 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16959 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16960 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
16961 false,
16964 "netr_NetrEnumerateTrustedDomainsEx",
16965 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
16966 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
16967 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
16968 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
16969 false,
16972 "netr_DsRAddressToSitenamesExW",
16973 sizeof(struct netr_DsRAddressToSitenamesExW),
16974 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
16975 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
16976 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
16977 false,
16980 "netr_DsrGetDcSiteCoverageW",
16981 sizeof(struct netr_DsrGetDcSiteCoverageW),
16982 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
16983 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
16984 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
16985 false,
16988 "netr_LogonSamLogonEx",
16989 sizeof(struct netr_LogonSamLogonEx),
16990 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
16991 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
16992 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
16993 false,
16996 "netr_DsrEnumerateDomainTrusts",
16997 sizeof(struct netr_DsrEnumerateDomainTrusts),
16998 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
16999 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
17000 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
17001 false,
17004 "netr_DsrDeregisterDNSHostRecords",
17005 sizeof(struct netr_DsrDeregisterDNSHostRecords),
17006 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
17007 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
17008 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
17009 false,
17012 "netr_ServerTrustPasswordsGet",
17013 sizeof(struct netr_ServerTrustPasswordsGet),
17014 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
17015 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
17016 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
17017 false,
17020 "netr_DsRGetForestTrustInformation",
17021 sizeof(struct netr_DsRGetForestTrustInformation),
17022 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
17023 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
17024 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
17025 false,
17028 "netr_GetForestTrustInformation",
17029 sizeof(struct netr_GetForestTrustInformation),
17030 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
17031 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
17032 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
17033 false,
17036 "netr_LogonSamLogonWithFlags",
17037 sizeof(struct netr_LogonSamLogonWithFlags),
17038 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
17039 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
17040 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
17041 false,
17044 "netr_ServerGetTrustInfo",
17045 sizeof(struct netr_ServerGetTrustInfo),
17046 (ndr_push_flags_fn_t) ndr_push_netr_ServerGetTrustInfo,
17047 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerGetTrustInfo,
17048 (ndr_print_function_t) ndr_print_netr_ServerGetTrustInfo,
17049 false,
17051 { NULL, 0, NULL, NULL, NULL, false }
17054 static const char * const netlogon_endpoint_strings[] = {
17055 "ncacn_np:[\\pipe\\netlogon]",
17056 "ncacn_ip_tcp:",
17057 "ncalrpc:",
17060 static const struct ndr_interface_string_array netlogon_endpoints = {
17061 .count = 3,
17062 .names = netlogon_endpoint_strings
17065 static const char * const netlogon_authservice_strings[] = {
17066 "host",
17069 static const struct ndr_interface_string_array netlogon_authservices = {
17070 .count = 1,
17071 .names = netlogon_authservice_strings
17075 const struct ndr_interface_table ndr_table_netlogon = {
17076 .name = "netlogon",
17077 .syntax_id = {
17078 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
17079 NDR_NETLOGON_VERSION
17081 .helpstring = NDR_NETLOGON_HELPSTRING,
17082 .num_calls = 47,
17083 .calls = netlogon_calls,
17084 .endpoints = &netlogon_endpoints,
17085 .authservices = &netlogon_authservices