1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_netlogon.h"
6 #include "librpc/gen_ndr/ndr_lsa.h"
7 #include "librpc/gen_ndr/ndr_samr.h"
8 #include "librpc/gen_ndr/ndr_security.h"
9 static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
11 if (ndr_flags & NDR_SCALARS) {
12 NDR_CHECK(ndr_push_align(ndr, 4));
13 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
14 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
15 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
16 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
17 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
18 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
19 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
20 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
21 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
22 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
23 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
24 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
25 NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
26 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
27 NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
28 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
30 if (ndr_flags & NDR_BUFFERS) {
31 if (r->account_name) {
32 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
33 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
34 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
35 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
38 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
39 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
40 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
41 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
44 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
45 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
46 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
47 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
50 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
51 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
52 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
53 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
56 return NDR_ERR_SUCCESS;
59 static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
61 uint32_t _ptr_account_name;
62 TALLOC_CTX *_mem_save_account_name_0;
63 uint32_t _ptr_computer;
64 TALLOC_CTX *_mem_save_computer_0;
66 TALLOC_CTX *_mem_save_domain_0;
67 uint32_t _ptr_script_path;
68 TALLOC_CTX *_mem_save_script_path_0;
69 if (ndr_flags & NDR_SCALARS) {
70 NDR_CHECK(ndr_pull_align(ndr, 4));
71 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
72 if (_ptr_account_name) {
73 NDR_PULL_ALLOC(ndr, r->account_name);
75 r->account_name = NULL;
77 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
78 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
79 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
80 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
81 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
82 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
83 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
84 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
85 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
86 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
87 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
88 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
90 NDR_PULL_ALLOC(ndr, r->computer);
94 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
96 NDR_PULL_ALLOC(ndr, r->domain);
100 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
101 if (_ptr_script_path) {
102 NDR_PULL_ALLOC(ndr, r->script_path);
104 r->script_path = NULL;
106 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
108 if (ndr_flags & NDR_BUFFERS) {
109 if (r->account_name) {
110 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
111 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
112 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
113 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
114 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
115 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));
117 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
118 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
119 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
122 _mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
123 NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
124 NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
125 NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
126 if (ndr_get_array_length(ndr, &r->computer) > ndr_get_array_size(ndr, &r->computer)) {
127 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));
129 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t)));
130 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t), CH_UTF16));
131 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
134 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
135 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
136 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
137 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
138 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
139 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));
141 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
142 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
143 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
145 if (r->script_path) {
146 _mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
147 NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
148 NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
149 NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
150 if (ndr_get_array_length(ndr, &r->script_path) > ndr_get_array_size(ndr, &r->script_path)) {
151 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));
153 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t)));
154 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t), CH_UTF16));
155 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
158 return NDR_ERR_SUCCESS;
161 _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
163 ndr_print_struct(ndr, name, "netr_UasInfo");
165 ndr_print_ptr(ndr, "account_name", r->account_name);
167 if (r->account_name) {
168 ndr_print_string(ndr, "account_name", r->account_name);
171 ndr_print_uint32(ndr, "priv", r->priv);
172 ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
173 ndr_print_uint32(ndr, "logon_count", r->logon_count);
174 ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
175 ndr_print_time_t(ndr, "last_logon", r->last_logon);
176 ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
177 ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
178 ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
179 ndr_print_uint32(ndr, "password_age", r->password_age);
180 ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
181 ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
182 ndr_print_ptr(ndr, "computer", r->computer);
185 ndr_print_string(ndr, "computer", r->computer);
188 ndr_print_ptr(ndr, "domain", r->domain);
191 ndr_print_string(ndr, "domain", r->domain);
194 ndr_print_ptr(ndr, "script_path", r->script_path);
196 if (r->script_path) {
197 ndr_print_string(ndr, "script_path", r->script_path);
200 ndr_print_uint32(ndr, "unknown", r->unknown);
204 static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
206 if (ndr_flags & NDR_SCALARS) {
207 NDR_CHECK(ndr_push_align(ndr, 4));
208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
209 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
211 if (ndr_flags & NDR_BUFFERS) {
213 return NDR_ERR_SUCCESS;
216 static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
218 if (ndr_flags & NDR_SCALARS) {
219 NDR_CHECK(ndr_pull_align(ndr, 4));
220 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
221 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
223 if (ndr_flags & NDR_BUFFERS) {
225 return NDR_ERR_SUCCESS;
228 _PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
230 ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
232 ndr_print_uint32(ndr, "duration", r->duration);
233 ndr_print_uint16(ndr, "logon_count", r->logon_count);
237 static enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
239 uint32_t cntr_bindata_1;
240 if (ndr_flags & NDR_SCALARS) {
241 NDR_CHECK(ndr_push_align(ndr, 4));
242 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
243 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
244 NDR_CHECK(ndr_push_unique_ptr(ndr, r->bindata));
246 if (ndr_flags & NDR_BUFFERS) {
248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
249 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
250 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
251 for (cntr_bindata_1 = 0; cntr_bindata_1 < r->length / 2; cntr_bindata_1++) {
252 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bindata[cntr_bindata_1]));
256 return NDR_ERR_SUCCESS;
259 static enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
261 uint32_t _ptr_bindata;
262 uint32_t cntr_bindata_1;
263 TALLOC_CTX *_mem_save_bindata_0;
264 TALLOC_CTX *_mem_save_bindata_1;
265 if (ndr_flags & NDR_SCALARS) {
266 NDR_CHECK(ndr_pull_align(ndr, 4));
267 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
268 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
269 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bindata));
271 NDR_PULL_ALLOC(ndr, r->bindata);
276 if (ndr_flags & NDR_BUFFERS) {
278 _mem_save_bindata_0 = NDR_PULL_GET_MEM_CTX(ndr);
279 NDR_PULL_SET_MEM_CTX(ndr, r->bindata, 0);
280 NDR_CHECK(ndr_pull_array_size(ndr, &r->bindata));
281 NDR_CHECK(ndr_pull_array_length(ndr, &r->bindata));
282 if (ndr_get_array_length(ndr, &r->bindata) > ndr_get_array_size(ndr, &r->bindata)) {
283 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->bindata), ndr_get_array_length(ndr, &r->bindata));
285 NDR_PULL_ALLOC_N(ndr, r->bindata, ndr_get_array_size(ndr, &r->bindata));
286 _mem_save_bindata_1 = NDR_PULL_GET_MEM_CTX(ndr);
287 NDR_PULL_SET_MEM_CTX(ndr, r->bindata, 0);
288 for (cntr_bindata_1 = 0; cntr_bindata_1 < r->length / 2; cntr_bindata_1++) {
289 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bindata[cntr_bindata_1]));
291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bindata_1, 0);
292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bindata_0, 0);
295 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->bindata, r->size / 2));
298 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->bindata, r->length / 2));
301 return NDR_ERR_SUCCESS;
304 _PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
306 uint32_t cntr_bindata_1;
307 ndr_print_struct(ndr, name, "netr_AcctLockStr");
309 ndr_print_uint16(ndr, "size", r->size);
310 ndr_print_uint16(ndr, "length", r->length);
311 ndr_print_ptr(ndr, "bindata", r->bindata);
314 ndr->print(ndr, "%s: ARRAY(%d)", "bindata", r->length / 2);
316 for (cntr_bindata_1=0;cntr_bindata_1<r->length / 2;cntr_bindata_1++) {
318 if (asprintf(&idx_1, "[%d]", cntr_bindata_1) != -1) {
319 ndr_print_uint16(ndr, "bindata", r->bindata[cntr_bindata_1]);
329 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
332 return NDR_ERR_SUCCESS;
335 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
338 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
340 return NDR_ERR_SUCCESS;
343 _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
345 ndr_print_uint32(ndr, name, r);
347 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
348 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
349 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
350 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
351 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
352 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
356 static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
358 if (ndr_flags & NDR_SCALARS) {
359 NDR_CHECK(ndr_push_align(ndr, 4));
360 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
361 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low));
363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high));
364 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
365 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
367 if (ndr_flags & NDR_BUFFERS) {
368 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
369 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
370 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
372 return NDR_ERR_SUCCESS;
375 static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
377 if (ndr_flags & NDR_SCALARS) {
378 NDR_CHECK(ndr_pull_align(ndr, 4));
379 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
380 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low));
382 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high));
383 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
384 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
386 if (ndr_flags & NDR_BUFFERS) {
387 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
388 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
389 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
391 return NDR_ERR_SUCCESS;
394 _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
396 ndr_print_struct(ndr, name, "netr_IdentityInfo");
398 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
399 ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
400 ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low);
401 ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high);
402 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
403 ndr_print_lsa_String(ndr, "workstation", &r->workstation);
407 static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
409 if (ndr_flags & NDR_SCALARS) {
410 NDR_CHECK(ndr_push_align(ndr, 4));
411 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
412 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
413 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
415 if (ndr_flags & NDR_BUFFERS) {
416 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
417 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
418 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
420 return NDR_ERR_SUCCESS;
423 static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
425 if (ndr_flags & NDR_SCALARS) {
426 NDR_CHECK(ndr_pull_align(ndr, 4));
427 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
428 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
429 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
431 if (ndr_flags & NDR_BUFFERS) {
432 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
433 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
434 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
436 return NDR_ERR_SUCCESS;
439 _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
441 ndr_print_struct(ndr, name, "netr_PasswordInfo");
443 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
444 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
445 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
449 static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
452 uint32_t _flags_save_STRUCT = ndr->flags;
453 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
454 if (ndr_flags & NDR_SCALARS) {
455 NDR_CHECK(ndr_push_align(ndr, 4));
456 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
457 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
458 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
460 if (ndr_flags & NDR_BUFFERS) {
462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
465 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
468 ndr->flags = _flags_save_STRUCT;
470 return NDR_ERR_SUCCESS;
473 static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
476 TALLOC_CTX *_mem_save_data_0;
478 uint32_t _flags_save_STRUCT = ndr->flags;
479 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
480 if (ndr_flags & NDR_SCALARS) {
481 NDR_CHECK(ndr_pull_align(ndr, 4));
482 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
483 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
484 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
486 NDR_PULL_ALLOC(ndr, r->data);
491 if (ndr_flags & NDR_BUFFERS) {
493 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
494 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
495 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
496 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
497 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
498 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));
500 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
501 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
502 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
505 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
508 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
511 ndr->flags = _flags_save_STRUCT;
513 return NDR_ERR_SUCCESS;
516 _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
518 ndr_print_struct(ndr, name, "netr_ChallengeResponse");
520 uint32_t _flags_save_STRUCT = ndr->flags;
521 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
523 ndr_print_uint16(ndr, "length", r->length);
524 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
525 ndr_print_ptr(ndr, "data", r->data);
528 ndr_print_array_uint8(ndr, "data", r->data, r->length);
532 ndr->flags = _flags_save_STRUCT;
536 static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
539 uint32_t _flags_save_STRUCT = ndr->flags;
540 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
541 if (ndr_flags & NDR_SCALARS) {
542 NDR_CHECK(ndr_push_align(ndr, 4));
543 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
544 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
545 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
546 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
548 if (ndr_flags & NDR_BUFFERS) {
549 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
550 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
551 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
553 ndr->flags = _flags_save_STRUCT;
555 return NDR_ERR_SUCCESS;
558 static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
561 uint32_t _flags_save_STRUCT = ndr->flags;
562 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
563 if (ndr_flags & NDR_SCALARS) {
564 NDR_CHECK(ndr_pull_align(ndr, 4));
565 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
566 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
567 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
568 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
570 if (ndr_flags & NDR_BUFFERS) {
571 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
572 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
573 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
575 ndr->flags = _flags_save_STRUCT;
577 return NDR_ERR_SUCCESS;
580 _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
582 ndr_print_struct(ndr, name, "netr_NetworkInfo");
584 uint32_t _flags_save_STRUCT = ndr->flags;
585 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
587 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
588 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
589 ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
590 ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
592 ndr->flags = _flags_save_STRUCT;
596 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r)
598 if (ndr_flags & NDR_SCALARS) {
599 int level = ndr_push_get_switch_value(ndr, r);
600 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
603 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
607 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
611 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
615 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
619 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
623 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
626 if (ndr_flags & NDR_BUFFERS) {
627 int level = ndr_push_get_switch_value(ndr, r);
631 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
637 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
643 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
649 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
655 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
660 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
663 return NDR_ERR_SUCCESS;
666 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
670 TALLOC_CTX *_mem_save_password_0;
671 TALLOC_CTX *_mem_save_network_0;
672 level = ndr_pull_get_switch_value(ndr, r);
673 if (ndr_flags & NDR_SCALARS) {
674 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
675 if (_level != level) {
676 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
680 uint32_t _ptr_password;
681 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
683 NDR_PULL_ALLOC(ndr, r->password);
690 uint32_t _ptr_network;
691 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
693 NDR_PULL_ALLOC(ndr, r->network);
700 uint32_t _ptr_password;
701 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
703 NDR_PULL_ALLOC(ndr, r->password);
710 uint32_t _ptr_password;
711 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
713 NDR_PULL_ALLOC(ndr, r->password);
720 uint32_t _ptr_network;
721 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
723 NDR_PULL_ALLOC(ndr, r->network);
730 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
733 if (ndr_flags & NDR_BUFFERS) {
737 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
738 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
739 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
740 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
746 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
747 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
748 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
749 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
755 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
756 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
757 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
764 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
765 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
766 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
767 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
773 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
774 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
775 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
776 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
781 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
784 return NDR_ERR_SUCCESS;
787 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
790 level = ndr_print_get_switch_value(ndr, r);
791 ndr_print_union(ndr, name, level, "netr_LogonLevel");
794 ndr_print_ptr(ndr, "password", r->password);
797 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
803 ndr_print_ptr(ndr, "network", r->network);
806 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
812 ndr_print_ptr(ndr, "password", r->password);
815 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
821 ndr_print_ptr(ndr, "password", r->password);
824 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
830 ndr_print_ptr(ndr, "network", r->network);
833 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
839 ndr_print_bad_level(ndr, name, level);
843 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
846 uint32_t _flags_save_STRUCT = ndr->flags;
847 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
848 if (ndr_flags & NDR_SCALARS) {
849 NDR_CHECK(ndr_push_align(ndr, 1));
850 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
852 if (ndr_flags & NDR_BUFFERS) {
854 ndr->flags = _flags_save_STRUCT;
856 return NDR_ERR_SUCCESS;
859 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
862 uint32_t _flags_save_STRUCT = ndr->flags;
863 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
864 if (ndr_flags & NDR_SCALARS) {
865 NDR_CHECK(ndr_pull_align(ndr, 1));
866 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
868 if (ndr_flags & NDR_BUFFERS) {
870 ndr->flags = _flags_save_STRUCT;
872 return NDR_ERR_SUCCESS;
875 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
877 ndr_print_struct(ndr, name, "netr_UserSessionKey");
879 uint32_t _flags_save_STRUCT = ndr->flags;
880 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
882 ndr_print_array_uint8(ndr, "key", r->key, 16);
884 ndr->flags = _flags_save_STRUCT;
888 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
891 uint32_t _flags_save_STRUCT = ndr->flags;
892 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
893 if (ndr_flags & NDR_SCALARS) {
894 NDR_CHECK(ndr_push_align(ndr, 1));
895 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
897 if (ndr_flags & NDR_BUFFERS) {
899 ndr->flags = _flags_save_STRUCT;
901 return NDR_ERR_SUCCESS;
904 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
907 uint32_t _flags_save_STRUCT = ndr->flags;
908 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
909 if (ndr_flags & NDR_SCALARS) {
910 NDR_CHECK(ndr_pull_align(ndr, 1));
911 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
913 if (ndr_flags & NDR_BUFFERS) {
915 ndr->flags = _flags_save_STRUCT;
917 return NDR_ERR_SUCCESS;
920 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
922 ndr_print_struct(ndr, name, "netr_LMSessionKey");
924 uint32_t _flags_save_STRUCT = ndr->flags;
925 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
927 ndr_print_array_uint8(ndr, "key", r->key, 8);
929 ndr->flags = _flags_save_STRUCT;
933 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
935 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
936 return NDR_ERR_SUCCESS;
939 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
942 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
944 return NDR_ERR_SUCCESS;
947 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
949 ndr_print_uint32(ndr, name, r);
951 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
952 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
953 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
954 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
955 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
956 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
957 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
958 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
959 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
960 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
961 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
965 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
967 uint32_t cntr_unknown_0;
968 if (ndr_flags & NDR_SCALARS) {
969 NDR_CHECK(ndr_push_align(ndr, 4));
970 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
971 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
972 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
973 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
974 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
975 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
976 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
977 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
978 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
979 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
980 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
981 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
982 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
983 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
986 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
987 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
988 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
989 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
990 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
991 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
992 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
993 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
994 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
998 if (ndr_flags & NDR_BUFFERS) {
999 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1000 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1001 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1002 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1003 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1004 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1005 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1006 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1007 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1008 if (r->domain_sid) {
1009 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1012 return NDR_ERR_SUCCESS;
1015 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
1017 uint32_t _ptr_domain_sid;
1018 TALLOC_CTX *_mem_save_domain_sid_0;
1019 uint32_t cntr_unknown_0;
1020 if (ndr_flags & NDR_SCALARS) {
1021 NDR_CHECK(ndr_pull_align(ndr, 4));
1022 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
1023 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
1024 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
1025 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
1026 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
1027 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
1028 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1029 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1030 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1031 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1032 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1033 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1034 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
1035 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
1036 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1037 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1038 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1039 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
1040 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1041 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1042 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1043 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1044 if (_ptr_domain_sid) {
1045 NDR_PULL_ALLOC(ndr, r->domain_sid);
1047 r->domain_sid = NULL;
1049 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1050 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
1051 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1052 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1055 if (ndr_flags & NDR_BUFFERS) {
1056 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1057 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1058 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1059 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1060 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1061 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1062 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1063 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1064 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1065 if (r->domain_sid) {
1066 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1067 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1068 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1072 return NDR_ERR_SUCCESS;
1075 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1077 uint32_t cntr_unknown_0;
1078 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1080 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1081 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1082 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1083 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1084 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1085 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1086 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1087 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1088 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1089 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1090 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1091 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1092 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1093 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1094 ndr_print_uint32(ndr, "rid", r->rid);
1095 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1096 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1097 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1098 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1099 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1100 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1101 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1103 if (r->domain_sid) {
1104 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1107 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1108 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1109 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 7);
1111 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1113 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1114 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1122 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1124 if (ndr_flags & NDR_SCALARS) {
1125 NDR_CHECK(ndr_push_align(ndr, 4));
1126 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1128 if (ndr_flags & NDR_BUFFERS) {
1129 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1131 return NDR_ERR_SUCCESS;
1134 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1136 if (ndr_flags & NDR_SCALARS) {
1137 NDR_CHECK(ndr_pull_align(ndr, 4));
1138 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1140 if (ndr_flags & NDR_BUFFERS) {
1141 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1143 return NDR_ERR_SUCCESS;
1146 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1148 ndr_print_struct(ndr, name, "netr_SamInfo2");
1150 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1154 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1156 if (ndr_flags & NDR_SCALARS) {
1157 NDR_CHECK(ndr_push_align(ndr, 4));
1158 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1159 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1161 if (ndr_flags & NDR_BUFFERS) {
1163 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1166 return NDR_ERR_SUCCESS;
1169 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1172 TALLOC_CTX *_mem_save_sid_0;
1173 if (ndr_flags & NDR_SCALARS) {
1174 NDR_CHECK(ndr_pull_align(ndr, 4));
1175 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1177 NDR_PULL_ALLOC(ndr, r->sid);
1181 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1183 if (ndr_flags & NDR_BUFFERS) {
1185 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1186 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1187 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1188 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1191 return NDR_ERR_SUCCESS;
1194 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1196 ndr_print_struct(ndr, name, "netr_SidAttr");
1198 ndr_print_ptr(ndr, "sid", r->sid);
1201 ndr_print_dom_sid2(ndr, "sid", r->sid);
1204 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1208 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1210 uint32_t cntr_sids_1;
1211 if (ndr_flags & NDR_SCALARS) {
1212 NDR_CHECK(ndr_push_align(ndr, 4));
1213 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1215 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1217 if (ndr_flags & NDR_BUFFERS) {
1218 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1221 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1222 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1224 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1225 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1229 return NDR_ERR_SUCCESS;
1232 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1235 uint32_t cntr_sids_1;
1236 TALLOC_CTX *_mem_save_sids_0;
1237 TALLOC_CTX *_mem_save_sids_1;
1238 if (ndr_flags & NDR_SCALARS) {
1239 NDR_CHECK(ndr_pull_align(ndr, 4));
1240 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1241 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1242 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1244 NDR_PULL_ALLOC(ndr, r->sids);
1249 if (ndr_flags & NDR_BUFFERS) {
1250 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1252 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1253 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1254 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1255 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1256 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1257 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1258 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1259 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1261 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1262 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1268 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1271 return NDR_ERR_SUCCESS;
1274 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1276 uint32_t cntr_sids_1;
1277 ndr_print_struct(ndr, name, "netr_SamInfo3");
1279 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1280 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1281 ndr_print_ptr(ndr, "sids", r->sids);
1284 ndr->print(ndr, "%s: ARRAY(%d)", "sids", r->sidcount);
1286 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1288 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1289 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1299 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1301 uint32_t cntr_sids_1;
1302 uint32_t cntr_unknown4_0;
1303 if (ndr_flags & NDR_SCALARS) {
1304 NDR_CHECK(ndr_push_align(ndr, 4));
1305 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1306 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1307 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1308 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1309 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1310 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1311 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1314 if (ndr_flags & NDR_BUFFERS) {
1315 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1318 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1319 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1321 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1322 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1325 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1326 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1328 return NDR_ERR_SUCCESS;
1331 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1334 uint32_t cntr_sids_1;
1335 TALLOC_CTX *_mem_save_sids_0;
1336 TALLOC_CTX *_mem_save_sids_1;
1337 uint32_t cntr_unknown4_0;
1338 if (ndr_flags & NDR_SCALARS) {
1339 NDR_CHECK(ndr_pull_align(ndr, 4));
1340 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1341 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1342 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1344 NDR_PULL_ALLOC(ndr, r->sids);
1348 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1349 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1350 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1351 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1354 if (ndr_flags & NDR_BUFFERS) {
1355 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1357 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1358 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1359 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1360 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1361 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1362 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1363 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1364 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1366 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1367 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1370 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1372 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1373 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1375 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1378 return NDR_ERR_SUCCESS;
1381 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1383 uint32_t cntr_sids_1;
1384 uint32_t cntr_unknown4_0;
1385 ndr_print_struct(ndr, name, "netr_SamInfo6");
1387 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1388 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1389 ndr_print_ptr(ndr, "sids", r->sids);
1392 ndr->print(ndr, "%s: ARRAY(%d)", "sids", r->sidcount);
1394 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1396 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1397 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1404 ndr_print_lsa_String(ndr, "forest", &r->forest);
1405 ndr_print_lsa_String(ndr, "principle", &r->principle);
1406 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", 20);
1408 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1410 if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1411 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1419 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1421 uint32_t cntr_expansionroom_0;
1422 if (ndr_flags & NDR_SCALARS) {
1423 NDR_CHECK(ndr_push_align(ndr, 4));
1424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1425 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1426 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1427 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1428 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1430 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1431 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1432 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1435 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1436 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1437 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1438 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1440 if (ndr_flags & NDR_BUFFERS) {
1442 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1443 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1445 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1446 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1447 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1449 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1450 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1452 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1453 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1454 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1455 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1457 return NDR_ERR_SUCCESS;
1460 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1463 TALLOC_CTX *_mem_save_pac_0;
1465 TALLOC_CTX *_mem_save_auth_0;
1466 uint32_t cntr_expansionroom_0;
1467 if (ndr_flags & NDR_SCALARS) {
1468 NDR_CHECK(ndr_pull_align(ndr, 4));
1469 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1470 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1472 NDR_PULL_ALLOC(ndr, r->pac);
1476 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1477 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1478 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1479 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1480 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1482 NDR_PULL_ALLOC(ndr, r->auth);
1486 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1487 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1490 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1491 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1492 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1493 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1495 if (ndr_flags & NDR_BUFFERS) {
1497 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1498 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1499 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1500 NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1501 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1502 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1504 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1505 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1506 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1508 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1509 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1510 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1511 NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1512 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1513 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1515 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1516 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1517 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1518 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1520 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1523 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1526 return NDR_ERR_SUCCESS;
1529 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1531 uint32_t cntr_expansionroom_0;
1532 ndr_print_struct(ndr, name, "netr_PacInfo");
1534 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1535 ndr_print_ptr(ndr, "pac", r->pac);
1538 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1541 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1542 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1543 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1544 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1545 ndr_print_ptr(ndr, "auth", r->auth);
1548 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1551 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1552 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", 10);
1554 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1556 if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1557 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1562 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1563 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1564 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1565 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1569 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1571 if (ndr_flags & NDR_SCALARS) {
1572 int level = ndr_push_get_switch_value(ndr, r);
1573 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1576 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1580 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1584 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1588 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1592 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1596 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1599 if (ndr_flags & NDR_BUFFERS) {
1600 int level = ndr_push_get_switch_value(ndr, r);
1604 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1610 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1616 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1622 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1628 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1633 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1636 return NDR_ERR_SUCCESS;
1639 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1643 TALLOC_CTX *_mem_save_sam2_0;
1644 TALLOC_CTX *_mem_save_sam3_0;
1645 TALLOC_CTX *_mem_save_pac_0;
1646 TALLOC_CTX *_mem_save_sam6_0;
1647 level = ndr_pull_get_switch_value(ndr, r);
1648 if (ndr_flags & NDR_SCALARS) {
1649 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1650 if (_level != level) {
1651 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1656 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1658 NDR_PULL_ALLOC(ndr, r->sam2);
1666 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1668 NDR_PULL_ALLOC(ndr, r->sam3);
1676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1678 NDR_PULL_ALLOC(ndr, r->pac);
1686 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1688 NDR_PULL_ALLOC(ndr, r->pac);
1696 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1698 NDR_PULL_ALLOC(ndr, r->sam6);
1705 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1708 if (ndr_flags & NDR_BUFFERS) {
1712 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1713 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1714 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1715 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1721 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1722 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1723 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1730 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1731 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1732 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1733 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1739 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1740 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1741 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1742 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1748 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
1749 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
1750 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1751 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
1756 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1759 return NDR_ERR_SUCCESS;
1762 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
1765 level = ndr_print_get_switch_value(ndr, r);
1766 ndr_print_union(ndr, name, level, "netr_Validation");
1769 ndr_print_ptr(ndr, "sam2", r->sam2);
1772 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
1778 ndr_print_ptr(ndr, "sam3", r->sam3);
1781 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
1787 ndr_print_ptr(ndr, "pac", r->pac);
1790 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1796 ndr_print_ptr(ndr, "pac", r->pac);
1799 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1805 ndr_print_ptr(ndr, "sam6", r->sam6);
1808 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
1814 ndr_print_bad_level(ndr, name, level);
1818 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
1821 uint32_t _flags_save_STRUCT = ndr->flags;
1822 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1823 if (ndr_flags & NDR_SCALARS) {
1824 NDR_CHECK(ndr_push_align(ndr, 1));
1825 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1827 if (ndr_flags & NDR_BUFFERS) {
1829 ndr->flags = _flags_save_STRUCT;
1831 return NDR_ERR_SUCCESS;
1834 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
1837 uint32_t _flags_save_STRUCT = ndr->flags;
1838 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1839 if (ndr_flags & NDR_SCALARS) {
1840 NDR_CHECK(ndr_pull_align(ndr, 1));
1841 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1843 if (ndr_flags & NDR_BUFFERS) {
1845 ndr->flags = _flags_save_STRUCT;
1847 return NDR_ERR_SUCCESS;
1850 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
1852 ndr_print_struct(ndr, name, "netr_Credential");
1854 uint32_t _flags_save_STRUCT = ndr->flags;
1855 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1857 ndr_print_array_uint8(ndr, "data", r->data, 8);
1859 ndr->flags = _flags_save_STRUCT;
1863 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
1865 if (ndr_flags & NDR_SCALARS) {
1866 NDR_CHECK(ndr_push_align(ndr, 4));
1867 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1868 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
1870 if (ndr_flags & NDR_BUFFERS) {
1872 return NDR_ERR_SUCCESS;
1875 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
1877 if (ndr_flags & NDR_SCALARS) {
1878 NDR_CHECK(ndr_pull_align(ndr, 4));
1879 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1880 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
1882 if (ndr_flags & NDR_BUFFERS) {
1884 return NDR_ERR_SUCCESS;
1887 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
1889 ndr_print_struct(ndr, name, "netr_Authenticator");
1891 ndr_print_netr_Credential(ndr, "cred", &r->cred);
1892 ndr_print_time_t(ndr, "timestamp", r->timestamp);
1896 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)
1898 if (ndr_flags & NDR_SCALARS) {
1899 NDR_CHECK(ndr_push_align(ndr, 4));
1900 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
1901 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1902 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1903 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1904 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1905 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
1906 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
1907 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
1908 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
1910 if (ndr_flags & NDR_BUFFERS) {
1911 if (r->account_name) {
1912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1915 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
1917 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1918 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1919 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1920 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1922 return NDR_ERR_SUCCESS;
1925 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
1927 uint32_t _ptr_account_name;
1928 TALLOC_CTX *_mem_save_account_name_0;
1929 if (ndr_flags & NDR_SCALARS) {
1930 NDR_CHECK(ndr_pull_align(ndr, 4));
1931 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
1932 if (_ptr_account_name) {
1933 NDR_PULL_ALLOC(ndr, r->account_name);
1935 r->account_name = NULL;
1937 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1938 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1939 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1940 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1941 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
1942 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
1943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
1944 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
1946 if (ndr_flags & NDR_BUFFERS) {
1947 if (r->account_name) {
1948 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1949 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
1950 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
1951 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
1952 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
1953 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));
1955 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
1956 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
1957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
1959 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1960 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1961 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1962 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1964 return NDR_ERR_SUCCESS;
1967 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
1969 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
1971 ndr_print_ptr(ndr, "account_name", r->account_name);
1973 if (r->account_name) {
1974 ndr_print_string(ndr, "account_name", r->account_name);
1977 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1978 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1979 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1980 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1981 ndr_print_uint32(ndr, "unknown5", r->unknown5);
1982 ndr_print_uint32(ndr, "unknown6", r->unknown6);
1983 ndr_print_uint32(ndr, "unknown7", r->unknown7);
1984 ndr_print_uint32(ndr, "unknown8", r->unknown8);
1988 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
1990 if (ndr_flags & NDR_SCALARS) {
1991 NDR_CHECK(ndr_push_align(ndr, 4));
1992 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1993 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
1995 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
1997 if (ndr_flags & NDR_BUFFERS) {
1998 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->pwd));
2000 return NDR_ERR_SUCCESS;
2003 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
2005 if (ndr_flags & NDR_SCALARS) {
2006 NDR_CHECK(ndr_pull_align(ndr, 4));
2007 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
2008 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
2009 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
2010 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2012 if (ndr_flags & NDR_BUFFERS) {
2013 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->pwd));
2015 return NDR_ERR_SUCCESS;
2018 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
2020 ndr_print_struct(ndr, name, "netr_USER_KEY16");
2022 ndr_print_uint16(ndr, "length", r->length);
2023 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
2024 ndr_print_uint32(ndr, "flags", r->flags);
2025 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
2029 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
2031 if (ndr_flags & NDR_SCALARS) {
2032 NDR_CHECK(ndr_push_align(ndr, 4));
2033 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2034 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2036 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2037 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2039 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2040 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2042 if (ndr_flags & NDR_BUFFERS) {
2044 return NDR_ERR_SUCCESS;
2047 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2049 if (ndr_flags & NDR_SCALARS) {
2050 NDR_CHECK(ndr_pull_align(ndr, 4));
2051 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2052 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2053 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2054 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2055 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2056 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2057 NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2058 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2059 NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2060 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2062 if (ndr_flags & NDR_BUFFERS) {
2064 return NDR_ERR_SUCCESS;
2067 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2069 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2071 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2072 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2073 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2074 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2075 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2076 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2077 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2078 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2082 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2084 if (ndr_flags & NDR_SCALARS) {
2085 NDR_CHECK(ndr_push_align(ndr, 4));
2086 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2087 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2088 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2090 if (ndr_flags & NDR_BUFFERS) {
2091 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->lmpassword));
2092 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->ntpassword));
2094 return NDR_ERR_SUCCESS;
2097 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2099 if (ndr_flags & NDR_SCALARS) {
2100 NDR_CHECK(ndr_pull_align(ndr, 4));
2101 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2102 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2103 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2105 if (ndr_flags & NDR_BUFFERS) {
2106 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->lmpassword));
2107 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->ntpassword));
2109 return NDR_ERR_SUCCESS;
2112 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2114 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2116 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2117 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2118 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2122 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)
2124 if (ndr_flags & NDR_SCALARS) {
2125 NDR_CHECK(ndr_push_align(ndr, 4));
2126 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2128 if (ndr_flags & NDR_BUFFERS) {
2129 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_BUFFERS, &r->keys2));
2131 return NDR_ERR_SUCCESS;
2134 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2136 if (ndr_flags & NDR_SCALARS) {
2137 NDR_CHECK(ndr_pull_align(ndr, 4));
2138 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2140 if (ndr_flags & NDR_BUFFERS) {
2141 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_BUFFERS, &r->keys2));
2143 return NDR_ERR_SUCCESS;
2146 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2148 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2150 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2154 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2156 if (ndr_flags & NDR_SCALARS) {
2157 NDR_CHECK(ndr_push_align(ndr, 4));
2158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2159 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2161 if (ndr_flags & NDR_BUFFERS) {
2162 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_BUFFERS, &r->keys));
2164 return NDR_ERR_SUCCESS;
2167 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2169 if (ndr_flags & NDR_SCALARS) {
2170 NDR_CHECK(ndr_pull_align(ndr, 4));
2171 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2172 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2174 if (ndr_flags & NDR_BUFFERS) {
2175 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_BUFFERS, &r->keys));
2177 return NDR_ERR_SUCCESS;
2180 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2182 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2184 ndr_print_uint32(ndr, "version", r->version);
2185 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2189 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)
2191 if (ndr_flags & NDR_SCALARS) {
2192 NDR_CHECK(ndr_push_align(ndr, 4));
2193 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2196 uint32_t _flags_save_uint8 = ndr->flags;
2197 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2198 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2199 ndr->flags = _flags_save_uint8;
2202 if (ndr_flags & NDR_BUFFERS) {
2204 uint32_t _flags_save_uint8 = ndr->flags;
2205 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2206 if (r->SensitiveData) {
2207 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2208 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2210 ndr->flags = _flags_save_uint8;
2213 return NDR_ERR_SUCCESS;
2216 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2218 uint32_t _ptr_SensitiveData;
2219 TALLOC_CTX *_mem_save_SensitiveData_0;
2220 if (ndr_flags & NDR_SCALARS) {
2221 NDR_CHECK(ndr_pull_align(ndr, 4));
2222 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2223 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2225 uint32_t _flags_save_uint8 = ndr->flags;
2226 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2227 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2228 if (_ptr_SensitiveData) {
2229 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2231 r->SensitiveData = NULL;
2233 ndr->flags = _flags_save_uint8;
2236 if (ndr_flags & NDR_BUFFERS) {
2238 uint32_t _flags_save_uint8 = ndr->flags;
2239 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2240 if (r->SensitiveData) {
2241 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2242 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2243 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2244 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2245 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2248 ndr->flags = _flags_save_uint8;
2250 if (r->SensitiveData) {
2251 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2254 return NDR_ERR_SUCCESS;
2257 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2259 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2261 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2262 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2263 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2265 if (r->SensitiveData) {
2266 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2272 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2274 if (ndr_flags & NDR_SCALARS) {
2275 NDR_CHECK(ndr_push_align(ndr, 4));
2276 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2277 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2279 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2280 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2281 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2282 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2283 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2284 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2285 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2286 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2287 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2288 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2289 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2290 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2291 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2292 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2293 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2294 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2295 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2296 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2297 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2298 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2299 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->parameters));
2300 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2301 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2302 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2303 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2304 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2305 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2306 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2307 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2308 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2310 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2311 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2312 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2314 if (ndr_flags & NDR_BUFFERS) {
2315 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2316 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2317 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2318 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2319 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2320 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2321 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2322 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2323 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
2324 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
2325 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2326 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
2327 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2328 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2329 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2330 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2331 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2332 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2334 return NDR_ERR_SUCCESS;
2337 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2339 if (ndr_flags & NDR_SCALARS) {
2340 NDR_CHECK(ndr_pull_align(ndr, 4));
2341 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2342 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2343 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2344 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2345 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2346 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2347 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2348 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2349 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2350 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2351 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2352 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2353 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2354 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2355 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2356 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2357 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2358 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2359 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2360 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2361 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2362 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2363 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2364 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->parameters));
2365 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2366 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2367 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2368 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2369 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2370 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2371 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2372 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2373 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2374 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2375 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2376 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2377 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2379 if (ndr_flags & NDR_BUFFERS) {
2380 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2381 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2382 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2383 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2384 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2385 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2386 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2387 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2388 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
2389 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
2390 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2391 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
2392 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2393 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2394 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2395 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2396 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2397 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2399 return NDR_ERR_SUCCESS;
2402 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2404 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2406 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2407 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2408 ndr_print_uint32(ndr, "rid", r->rid);
2409 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2410 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2411 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2412 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2413 ndr_print_lsa_String(ndr, "description", &r->description);
2414 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2415 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2416 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2417 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2418 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2419 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2420 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2421 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2422 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2423 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2424 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2425 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2426 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2427 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2428 ndr_print_lsa_String(ndr, "comment", &r->comment);
2429 ndr_print_lsa_String(ndr, "parameters", &r->parameters);
2430 ndr_print_uint16(ndr, "country_code", r->country_code);
2431 ndr_print_uint16(ndr, "code_page", r->code_page);
2432 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2433 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2434 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2435 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2436 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2437 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2438 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2439 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2440 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2441 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2442 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2446 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2448 if (ndr_flags & NDR_SCALARS) {
2449 NDR_CHECK(ndr_push_align(ndr, 4));
2450 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2451 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2452 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2453 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2454 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2455 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2456 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2457 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2458 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2459 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2460 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2461 NDR_CHECK(ndr_push_netr_AcctLockStr(ndr, NDR_SCALARS, &r->account_lockout));
2462 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2463 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2464 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2466 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2468 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2470 if (ndr_flags & NDR_BUFFERS) {
2471 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2472 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2473 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2474 NDR_CHECK(ndr_push_netr_AcctLockStr(ndr, NDR_BUFFERS, &r->account_lockout));
2475 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2476 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2477 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2479 return NDR_ERR_SUCCESS;
2482 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2484 if (ndr_flags & NDR_SCALARS) {
2485 NDR_CHECK(ndr_pull_align(ndr, 4));
2486 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2487 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2488 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2489 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2490 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2491 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2492 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2493 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2494 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2496 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2497 NDR_CHECK(ndr_pull_netr_AcctLockStr(ndr, NDR_SCALARS, &r->account_lockout));
2498 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2499 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2500 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2501 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2502 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2503 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2504 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2506 if (ndr_flags & NDR_BUFFERS) {
2507 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2508 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2509 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2510 NDR_CHECK(ndr_pull_netr_AcctLockStr(ndr, NDR_BUFFERS, &r->account_lockout));
2511 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2512 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2513 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2515 return NDR_ERR_SUCCESS;
2518 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2520 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2522 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2523 ndr_print_lsa_String(ndr, "comment", &r->comment);
2524 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2525 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2526 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2527 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2528 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2529 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2530 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2531 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2532 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2533 ndr_print_netr_AcctLockStr(ndr, "account_lockout", &r->account_lockout);
2534 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2535 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2536 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2537 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2538 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2539 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2540 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2544 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2546 if (ndr_flags & NDR_SCALARS) {
2547 NDR_CHECK(ndr_push_align(ndr, 4));
2548 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2551 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2553 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2554 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2555 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2556 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2557 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2558 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2561 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2563 if (ndr_flags & NDR_BUFFERS) {
2564 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2565 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2566 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2567 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2568 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2569 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2570 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2572 return NDR_ERR_SUCCESS;
2575 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2577 if (ndr_flags & NDR_SCALARS) {
2578 NDR_CHECK(ndr_pull_align(ndr, 4));
2579 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2580 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2581 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2582 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2583 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2584 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2585 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2586 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2587 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2588 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2589 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2590 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2591 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2592 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2594 if (ndr_flags & NDR_BUFFERS) {
2595 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2596 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2597 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2598 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2599 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2600 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2601 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2603 return NDR_ERR_SUCCESS;
2606 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2608 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2610 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2611 ndr_print_uint32(ndr, "rid", r->rid);
2612 ndr_print_uint32(ndr, "attributes", r->attributes);
2613 ndr_print_lsa_String(ndr, "description", &r->description);
2614 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2615 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2616 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2617 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2618 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2619 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2620 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2621 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2622 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2623 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2627 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2629 if (ndr_flags & NDR_SCALARS) {
2630 NDR_CHECK(ndr_push_align(ndr, 4));
2631 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2632 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2633 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2634 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2635 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2636 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2637 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2638 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2639 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2640 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2642 if (ndr_flags & NDR_BUFFERS) {
2643 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2644 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2645 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2646 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2647 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2648 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2650 return NDR_ERR_SUCCESS;
2653 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2655 if (ndr_flags & NDR_SCALARS) {
2656 NDR_CHECK(ndr_pull_align(ndr, 4));
2657 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2658 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2659 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2660 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2661 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2662 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2663 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2664 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2665 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2666 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2668 if (ndr_flags & NDR_BUFFERS) {
2669 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2670 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2671 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2672 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2673 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2674 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2676 return NDR_ERR_SUCCESS;
2679 _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2681 ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2683 ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2684 ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2685 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2686 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2687 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2688 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2689 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2690 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2691 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2692 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2696 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)
2698 uint32_t cntr_rids_1;
2699 uint32_t cntr_attribs_1;
2700 if (ndr_flags & NDR_SCALARS) {
2701 NDR_CHECK(ndr_push_align(ndr, 4));
2702 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2703 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2704 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2705 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2706 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2707 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2708 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2710 if (ndr_flags & NDR_BUFFERS) {
2712 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2713 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2719 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
2724 return NDR_ERR_SUCCESS;
2727 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
2730 uint32_t cntr_rids_1;
2731 TALLOC_CTX *_mem_save_rids_0;
2732 TALLOC_CTX *_mem_save_rids_1;
2733 uint32_t _ptr_attribs;
2734 uint32_t cntr_attribs_1;
2735 TALLOC_CTX *_mem_save_attribs_0;
2736 TALLOC_CTX *_mem_save_attribs_1;
2737 if (ndr_flags & NDR_SCALARS) {
2738 NDR_CHECK(ndr_pull_align(ndr, 4));
2739 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
2741 NDR_PULL_ALLOC(ndr, r->rids);
2745 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2747 NDR_PULL_ALLOC(ndr, r->attribs);
2751 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
2752 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2753 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2754 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2755 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2757 if (ndr_flags & NDR_BUFFERS) {
2759 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2760 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2761 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
2762 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
2763 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2764 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2765 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2766 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
2768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
2769 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
2772 _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
2773 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2774 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
2775 NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
2776 _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
2777 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2778 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
2781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
2782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
2785 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
2788 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
2791 return NDR_ERR_SUCCESS;
2794 _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
2796 uint32_t cntr_rids_1;
2797 uint32_t cntr_attribs_1;
2798 ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
2800 ndr_print_ptr(ndr, "rids", r->rids);
2803 ndr->print(ndr, "%s: ARRAY(%d)", "rids", r->num_rids);
2805 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
2807 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
2808 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
2815 ndr_print_ptr(ndr, "attribs", r->attribs);
2818 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", r->num_rids);
2820 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
2822 if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
2823 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
2830 ndr_print_uint32(ndr, "num_rids", r->num_rids);
2831 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2832 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2833 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2834 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2838 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
2840 if (ndr_flags & NDR_SCALARS) {
2841 NDR_CHECK(ndr_push_align(ndr, 4));
2842 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2844 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2845 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2846 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2847 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2848 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2849 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2853 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2855 if (ndr_flags & NDR_BUFFERS) {
2856 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2857 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2858 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2859 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2860 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2861 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2863 return NDR_ERR_SUCCESS;
2866 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
2868 if (ndr_flags & NDR_SCALARS) {
2869 NDR_CHECK(ndr_pull_align(ndr, 4));
2870 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2871 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2872 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2873 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2874 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2875 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2876 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2877 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2878 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2879 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2880 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2881 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2883 if (ndr_flags & NDR_BUFFERS) {
2884 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2885 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2886 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2887 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2888 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2889 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2891 return NDR_ERR_SUCCESS;
2894 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
2896 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
2898 ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
2899 ndr_print_uint32(ndr, "rid", r->rid);
2900 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2901 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2902 ndr_print_lsa_String(ndr, "description", &r->description);
2903 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2904 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2905 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2906 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2907 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2908 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2909 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2913 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)
2915 if (ndr_flags & NDR_SCALARS) {
2916 NDR_CHECK(ndr_push_align(ndr, 4));
2917 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2923 if (ndr_flags & NDR_BUFFERS) {
2924 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2926 return NDR_ERR_SUCCESS;
2929 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
2931 if (ndr_flags & NDR_SCALARS) {
2932 NDR_CHECK(ndr_pull_align(ndr, 4));
2933 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2934 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2936 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2937 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2939 if (ndr_flags & NDR_BUFFERS) {
2940 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2942 return NDR_ERR_SUCCESS;
2945 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
2947 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
2949 ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
2950 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2951 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2952 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2953 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2957 static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
2959 if (ndr_flags & NDR_SCALARS) {
2960 NDR_CHECK(ndr_push_align(ndr, 4));
2961 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
2962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
2963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
2964 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
2965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
2966 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
2968 if (ndr_flags & NDR_BUFFERS) {
2970 return NDR_ERR_SUCCESS;
2973 static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
2975 if (ndr_flags & NDR_SCALARS) {
2976 NDR_CHECK(ndr_pull_align(ndr, 4));
2977 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
2978 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
2979 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
2980 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
2981 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
2982 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
2984 if (ndr_flags & NDR_BUFFERS) {
2986 return NDR_ERR_SUCCESS;
2989 _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
2991 ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
2993 ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
2994 ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
2995 ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
2996 ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
2997 ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
2998 ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
3002 static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
3004 uint32_t cntr_eventauditoptions_1;
3005 if (ndr_flags & NDR_SCALARS) {
3006 NDR_CHECK(ndr_push_align(ndr, 4));
3007 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
3008 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
3009 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
3010 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
3011 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
3012 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3013 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3014 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3015 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
3016 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
3017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3018 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3019 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3020 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3021 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3022 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3024 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3025 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3028 if (ndr_flags & NDR_BUFFERS) {
3029 if (r->eventauditoptions) {
3030 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
3031 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3032 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
3035 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3037 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3039 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3040 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3041 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3042 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3043 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3045 return NDR_ERR_SUCCESS;
3048 static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3050 uint32_t _ptr_eventauditoptions;
3051 uint32_t cntr_eventauditoptions_1;
3052 TALLOC_CTX *_mem_save_eventauditoptions_0;
3053 TALLOC_CTX *_mem_save_eventauditoptions_1;
3055 TALLOC_CTX *_mem_save_sid_0;
3056 if (ndr_flags & NDR_SCALARS) {
3057 NDR_CHECK(ndr_pull_align(ndr, 4));
3058 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3059 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3060 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3061 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3062 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3063 if (_ptr_eventauditoptions) {
3064 NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3066 r->eventauditoptions = NULL;
3068 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3069 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3071 NDR_PULL_ALLOC(ndr, r->sid);
3075 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3076 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3077 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3078 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3079 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3080 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3081 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3082 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3083 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3084 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3085 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3086 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3089 if (ndr_flags & NDR_BUFFERS) {
3090 if (r->eventauditoptions) {
3091 _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3092 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3093 NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3094 NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
3095 _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3096 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3097 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3098 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3100 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3101 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3103 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3105 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3106 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3107 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3110 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3111 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3112 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3113 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3114 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3115 if (r->eventauditoptions) {
3116 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3119 return NDR_ERR_SUCCESS;
3122 _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3124 uint32_t cntr_eventauditoptions_1;
3125 ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3127 ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3128 ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3129 ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3130 ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3131 ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3133 if (r->eventauditoptions) {
3134 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", r->maxauditeventcount + 1);
3136 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3138 if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3139 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3146 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3147 ndr_print_ptr(ndr, "sid", r->sid);
3150 ndr_print_dom_sid2(ndr, "sid", r->sid);
3153 ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3154 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3155 ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3156 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3157 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3158 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3159 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3160 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3161 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3162 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3163 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3164 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3165 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3169 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)
3171 uint32_t cntr_controller_names_1;
3172 if (ndr_flags & NDR_SCALARS) {
3173 NDR_CHECK(ndr_push_align(ndr, 4));
3174 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3176 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3178 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3179 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3180 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3181 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3182 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3188 if (ndr_flags & NDR_BUFFERS) {
3189 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3190 if (r->controller_names) {
3191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3192 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3193 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3195 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3196 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3199 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3200 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3201 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3202 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3203 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3205 return NDR_ERR_SUCCESS;
3208 static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3210 uint32_t _ptr_controller_names;
3211 uint32_t cntr_controller_names_1;
3212 TALLOC_CTX *_mem_save_controller_names_0;
3213 TALLOC_CTX *_mem_save_controller_names_1;
3214 if (ndr_flags & NDR_SCALARS) {
3215 NDR_CHECK(ndr_pull_align(ndr, 4));
3216 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3217 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3218 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3219 if (_ptr_controller_names) {
3220 NDR_PULL_ALLOC(ndr, r->controller_names);
3222 r->controller_names = NULL;
3224 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3225 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3226 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3227 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3228 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3229 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3230 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3231 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3233 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3235 if (ndr_flags & NDR_BUFFERS) {
3236 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3237 if (r->controller_names) {
3238 _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3239 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3240 NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3241 NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
3242 _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3243 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3244 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3245 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3247 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3248 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3250 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3251 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3253 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3254 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3255 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3256 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3257 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3258 if (r->controller_names) {
3259 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3262 return NDR_ERR_SUCCESS;
3265 _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3267 uint32_t cntr_controller_names_1;
3268 ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3270 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3271 ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3272 ndr_print_ptr(ndr, "controller_names", r->controller_names);
3274 if (r->controller_names) {
3275 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", r->num_controllers);
3277 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3279 if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) {
3280 ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3287 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3288 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3289 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3290 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3291 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3292 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3293 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3294 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3295 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3296 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3300 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)
3302 if (ndr_flags & NDR_SCALARS) {
3303 NDR_CHECK(ndr_push_align(ndr, 2));
3304 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3306 if (ndr_flags & NDR_BUFFERS) {
3308 return NDR_ERR_SUCCESS;
3311 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3313 if (ndr_flags & NDR_SCALARS) {
3314 NDR_CHECK(ndr_pull_align(ndr, 2));
3315 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3317 if (ndr_flags & NDR_BUFFERS) {
3319 return NDR_ERR_SUCCESS;
3322 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3324 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3326 ndr_print_uint16(ndr, "unknown", r->unknown);
3330 static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3332 uint32_t cntr_privilege_attrib_1;
3333 uint32_t cntr_privilege_name_1;
3334 if (ndr_flags & NDR_SCALARS) {
3335 NDR_CHECK(ndr_push_align(ndr, 4));
3336 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3338 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3339 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3340 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3341 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3342 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3343 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3344 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3345 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3346 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3347 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3348 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3350 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3351 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3353 if (ndr_flags & NDR_BUFFERS) {
3354 if (r->privilege_attrib) {
3355 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3356 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3360 if (r->privilege_name) {
3361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3362 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3363 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3365 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3366 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3369 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3370 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3371 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3372 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3373 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3375 return NDR_ERR_SUCCESS;
3378 static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3380 uint32_t _ptr_privilege_attrib;
3381 uint32_t cntr_privilege_attrib_1;
3382 TALLOC_CTX *_mem_save_privilege_attrib_0;
3383 TALLOC_CTX *_mem_save_privilege_attrib_1;
3384 uint32_t _ptr_privilege_name;
3385 uint32_t cntr_privilege_name_1;
3386 TALLOC_CTX *_mem_save_privilege_name_0;
3387 TALLOC_CTX *_mem_save_privilege_name_1;
3388 if (ndr_flags & NDR_SCALARS) {
3389 NDR_CHECK(ndr_pull_align(ndr, 4));
3390 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3391 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3392 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3393 if (_ptr_privilege_attrib) {
3394 NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3396 r->privilege_attrib = NULL;
3398 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3399 if (_ptr_privilege_name) {
3400 NDR_PULL_ALLOC(ndr, r->privilege_name);
3402 r->privilege_name = NULL;
3404 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3405 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3406 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3407 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3408 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3409 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3410 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3411 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3412 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3414 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3415 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3417 if (ndr_flags & NDR_BUFFERS) {
3418 if (r->privilege_attrib) {
3419 _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3420 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3421 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3422 NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
3423 _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3424 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3425 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3426 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3428 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3429 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3431 if (r->privilege_name) {
3432 _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3433 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3434 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3435 NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
3436 _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3437 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3438 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3439 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3441 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3442 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3444 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3445 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3447 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3448 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3449 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3450 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3451 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3452 if (r->privilege_attrib) {
3453 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3455 if (r->privilege_name) {
3456 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3459 return NDR_ERR_SUCCESS;
3462 _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3464 uint32_t cntr_privilege_attrib_1;
3465 uint32_t cntr_privilege_name_1;
3466 ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3468 ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3469 ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3470 ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3472 if (r->privilege_attrib) {
3473 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", r->privilege_entries);
3475 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3477 if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) {
3478 ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3485 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3487 if (r->privilege_name) {
3488 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", r->privilege_entries);
3490 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3492 if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) {
3493 ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3500 ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3501 ndr_print_uint32(ndr, "system_flags", r->system_flags);
3502 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3503 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3504 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3505 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3506 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3507 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3508 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3509 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3510 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3511 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3515 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)
3517 if (ndr_flags & NDR_SCALARS) {
3518 NDR_CHECK(ndr_push_align(ndr, 2));
3519 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3521 if (ndr_flags & NDR_BUFFERS) {
3523 return NDR_ERR_SUCCESS;
3526 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3528 if (ndr_flags & NDR_SCALARS) {
3529 NDR_CHECK(ndr_pull_align(ndr, 2));
3530 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3532 if (ndr_flags & NDR_BUFFERS) {
3534 return NDR_ERR_SUCCESS;
3537 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3539 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3541 ndr_print_uint16(ndr, "unknown", r->unknown);
3545 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)
3547 if (ndr_flags & NDR_SCALARS) {
3548 NDR_CHECK(ndr_push_align(ndr, 2));
3549 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3551 if (ndr_flags & NDR_BUFFERS) {
3553 return NDR_ERR_SUCCESS;
3556 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3558 if (ndr_flags & NDR_SCALARS) {
3559 NDR_CHECK(ndr_pull_align(ndr, 2));
3560 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3562 if (ndr_flags & NDR_BUFFERS) {
3564 return NDR_ERR_SUCCESS;
3567 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3569 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3571 ndr_print_uint16(ndr, "unknown", r->unknown);
3575 static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3577 if (ndr_flags & NDR_SCALARS) {
3578 NDR_CHECK(ndr_push_align(ndr, 4));
3579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3581 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3583 if (ndr_flags & NDR_BUFFERS) {
3584 if (r->cipher_data) {
3585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3588 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3591 return NDR_ERR_SUCCESS;
3594 static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3596 uint32_t _ptr_cipher_data;
3597 TALLOC_CTX *_mem_save_cipher_data_0;
3598 if (ndr_flags & NDR_SCALARS) {
3599 NDR_CHECK(ndr_pull_align(ndr, 4));
3600 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3601 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3603 if (_ptr_cipher_data) {
3604 NDR_PULL_ALLOC(ndr, r->cipher_data);
3606 r->cipher_data = NULL;
3609 if (ndr_flags & NDR_BUFFERS) {
3610 if (r->cipher_data) {
3611 _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3612 NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3613 NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3614 NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3615 if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
3616 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));
3618 NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
3619 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
3620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3622 if (r->cipher_data) {
3623 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3625 if (r->cipher_data) {
3626 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3629 return NDR_ERR_SUCCESS;
3632 _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3634 ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3636 ndr_print_uint32(ndr, "len", r->len);
3637 ndr_print_uint32(ndr, "maxlen", r->maxlen);
3638 ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3640 if (r->cipher_data) {
3641 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3647 static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3649 if (ndr_flags & NDR_SCALARS) {
3650 NDR_CHECK(ndr_push_align(ndr, 4));
3651 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3652 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3653 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3654 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3656 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3657 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3658 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3659 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3660 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3661 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3662 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3663 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3664 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3666 if (ndr_flags & NDR_BUFFERS) {
3667 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3668 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3669 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3670 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3671 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3672 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3673 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3675 return NDR_ERR_SUCCESS;
3678 static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3680 if (ndr_flags & NDR_SCALARS) {
3681 NDR_CHECK(ndr_pull_align(ndr, 4));
3682 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3683 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3684 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3685 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3686 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3687 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3688 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3689 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3690 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3691 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3692 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3693 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3695 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3697 if (ndr_flags & NDR_BUFFERS) {
3698 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3699 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3700 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3701 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3702 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3703 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3704 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3706 return NDR_ERR_SUCCESS;
3709 _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
3711 ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
3713 ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
3714 ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
3715 ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
3716 ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
3717 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3718 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3719 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3720 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3721 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3722 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3723 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3724 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3725 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3726 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3730 static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
3732 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3733 return NDR_ERR_SUCCESS;
3736 static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
3739 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3741 return NDR_ERR_SUCCESS;
3744 _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
3746 const char *val = NULL;
3749 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
3750 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
3751 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
3752 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
3753 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
3754 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
3755 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
3756 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
3757 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
3758 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
3759 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
3760 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
3761 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
3762 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
3763 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
3764 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
3765 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
3766 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
3767 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
3768 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
3769 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
3770 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
3772 ndr_print_enum(ndr, name, "ENUM", val, r);
3775 static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
3777 if (ndr_flags & NDR_SCALARS) {
3778 int level = ndr_push_get_switch_value(ndr, r);
3779 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
3781 case NETR_DELTA_DOMAIN: {
3782 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
3785 case NETR_DELTA_GROUP: {
3786 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
3789 case NETR_DELTA_DELETE_GROUP: {
3792 case NETR_DELTA_RENAME_GROUP: {
3793 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
3796 case NETR_DELTA_USER: {
3797 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
3800 case NETR_DELTA_DELETE_USER: {
3803 case NETR_DELTA_RENAME_USER: {
3804 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
3807 case NETR_DELTA_GROUP_MEMBER: {
3808 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
3811 case NETR_DELTA_ALIAS: {
3812 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
3815 case NETR_DELTA_DELETE_ALIAS: {
3818 case NETR_DELTA_RENAME_ALIAS: {
3819 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
3822 case NETR_DELTA_ALIAS_MEMBER: {
3823 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
3826 case NETR_DELTA_POLICY: {
3827 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
3830 case NETR_DELTA_TRUSTED_DOMAIN: {
3831 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
3834 case NETR_DELTA_DELETE_TRUST: {
3835 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
3838 case NETR_DELTA_ACCOUNT: {
3839 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
3842 case NETR_DELTA_DELETE_ACCOUNT: {
3843 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
3846 case NETR_DELTA_SECRET: {
3847 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
3850 case NETR_DELTA_DELETE_SECRET: {
3851 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
3854 case NETR_DELTA_DELETE_GROUP2: {
3855 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
3858 case NETR_DELTA_DELETE_USER2: {
3859 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
3862 case NETR_DELTA_MODIFY_COUNT: {
3863 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
3867 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3870 if (ndr_flags & NDR_BUFFERS) {
3871 int level = ndr_push_get_switch_value(ndr, r);
3873 case NETR_DELTA_DOMAIN:
3875 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
3879 case NETR_DELTA_GROUP:
3881 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
3885 case NETR_DELTA_DELETE_GROUP:
3888 case NETR_DELTA_RENAME_GROUP:
3889 if (r->rename_group) {
3890 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
3894 case NETR_DELTA_USER:
3896 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
3900 case NETR_DELTA_DELETE_USER:
3903 case NETR_DELTA_RENAME_USER:
3904 if (r->rename_user) {
3905 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
3909 case NETR_DELTA_GROUP_MEMBER:
3910 if (r->group_member) {
3911 NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
3915 case NETR_DELTA_ALIAS:
3917 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
3921 case NETR_DELTA_DELETE_ALIAS:
3924 case NETR_DELTA_RENAME_ALIAS:
3925 if (r->rename_alias) {
3926 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
3930 case NETR_DELTA_ALIAS_MEMBER:
3931 if (r->alias_member) {
3932 NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
3936 case NETR_DELTA_POLICY:
3938 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
3942 case NETR_DELTA_TRUSTED_DOMAIN:
3943 if (r->trusted_domain) {
3944 NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
3948 case NETR_DELTA_DELETE_TRUST:
3951 case NETR_DELTA_ACCOUNT:
3953 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
3957 case NETR_DELTA_DELETE_ACCOUNT:
3960 case NETR_DELTA_SECRET:
3962 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
3966 case NETR_DELTA_DELETE_SECRET:
3969 case NETR_DELTA_DELETE_GROUP2:
3970 if (r->delete_group) {
3971 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
3975 case NETR_DELTA_DELETE_USER2:
3976 if (r->delete_user) {
3977 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
3981 case NETR_DELTA_MODIFY_COUNT:
3982 if (r->modified_count) {
3983 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
3988 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3991 return NDR_ERR_SUCCESS;
3994 static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
3998 TALLOC_CTX *_mem_save_domain_0;
3999 TALLOC_CTX *_mem_save_group_0;
4000 TALLOC_CTX *_mem_save_rename_group_0;
4001 TALLOC_CTX *_mem_save_user_0;
4002 TALLOC_CTX *_mem_save_rename_user_0;
4003 TALLOC_CTX *_mem_save_group_member_0;
4004 TALLOC_CTX *_mem_save_alias_0;
4005 TALLOC_CTX *_mem_save_rename_alias_0;
4006 TALLOC_CTX *_mem_save_alias_member_0;
4007 TALLOC_CTX *_mem_save_policy_0;
4008 TALLOC_CTX *_mem_save_trusted_domain_0;
4009 TALLOC_CTX *_mem_save_account_0;
4010 TALLOC_CTX *_mem_save_secret_0;
4011 TALLOC_CTX *_mem_save_delete_group_0;
4012 TALLOC_CTX *_mem_save_delete_user_0;
4013 TALLOC_CTX *_mem_save_modified_count_0;
4014 level = ndr_pull_get_switch_value(ndr, r);
4015 if (ndr_flags & NDR_SCALARS) {
4016 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4017 if (_level != level) {
4018 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4021 case NETR_DELTA_DOMAIN: {
4022 uint32_t _ptr_domain;
4023 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4025 NDR_PULL_ALLOC(ndr, r->domain);
4031 case NETR_DELTA_GROUP: {
4032 uint32_t _ptr_group;
4033 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
4035 NDR_PULL_ALLOC(ndr, r->group);
4041 case NETR_DELTA_DELETE_GROUP: {
4044 case NETR_DELTA_RENAME_GROUP: {
4045 uint32_t _ptr_rename_group;
4046 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4047 if (_ptr_rename_group) {
4048 NDR_PULL_ALLOC(ndr, r->rename_group);
4050 r->rename_group = NULL;
4054 case NETR_DELTA_USER: {
4056 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4058 NDR_PULL_ALLOC(ndr, r->user);
4064 case NETR_DELTA_DELETE_USER: {
4067 case NETR_DELTA_RENAME_USER: {
4068 uint32_t _ptr_rename_user;
4069 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4070 if (_ptr_rename_user) {
4071 NDR_PULL_ALLOC(ndr, r->rename_user);
4073 r->rename_user = NULL;
4077 case NETR_DELTA_GROUP_MEMBER: {
4078 uint32_t _ptr_group_member;
4079 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4080 if (_ptr_group_member) {
4081 NDR_PULL_ALLOC(ndr, r->group_member);
4083 r->group_member = NULL;
4087 case NETR_DELTA_ALIAS: {
4088 uint32_t _ptr_alias;
4089 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4091 NDR_PULL_ALLOC(ndr, r->alias);
4097 case NETR_DELTA_DELETE_ALIAS: {
4100 case NETR_DELTA_RENAME_ALIAS: {
4101 uint32_t _ptr_rename_alias;
4102 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4103 if (_ptr_rename_alias) {
4104 NDR_PULL_ALLOC(ndr, r->rename_alias);
4106 r->rename_alias = NULL;
4110 case NETR_DELTA_ALIAS_MEMBER: {
4111 uint32_t _ptr_alias_member;
4112 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4113 if (_ptr_alias_member) {
4114 NDR_PULL_ALLOC(ndr, r->alias_member);
4116 r->alias_member = NULL;
4120 case NETR_DELTA_POLICY: {
4121 uint32_t _ptr_policy;
4122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4124 NDR_PULL_ALLOC(ndr, r->policy);
4130 case NETR_DELTA_TRUSTED_DOMAIN: {
4131 uint32_t _ptr_trusted_domain;
4132 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4133 if (_ptr_trusted_domain) {
4134 NDR_PULL_ALLOC(ndr, r->trusted_domain);
4136 r->trusted_domain = NULL;
4140 case NETR_DELTA_DELETE_TRUST: {
4141 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4144 case NETR_DELTA_ACCOUNT: {
4145 uint32_t _ptr_account;
4146 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4148 NDR_PULL_ALLOC(ndr, r->account);
4154 case NETR_DELTA_DELETE_ACCOUNT: {
4155 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4158 case NETR_DELTA_SECRET: {
4159 uint32_t _ptr_secret;
4160 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4162 NDR_PULL_ALLOC(ndr, r->secret);
4168 case NETR_DELTA_DELETE_SECRET: {
4169 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4172 case NETR_DELTA_DELETE_GROUP2: {
4173 uint32_t _ptr_delete_group;
4174 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4175 if (_ptr_delete_group) {
4176 NDR_PULL_ALLOC(ndr, r->delete_group);
4178 r->delete_group = NULL;
4182 case NETR_DELTA_DELETE_USER2: {
4183 uint32_t _ptr_delete_user;
4184 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4185 if (_ptr_delete_user) {
4186 NDR_PULL_ALLOC(ndr, r->delete_user);
4188 r->delete_user = NULL;
4192 case NETR_DELTA_MODIFY_COUNT: {
4193 uint32_t _ptr_modified_count;
4194 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4195 if (_ptr_modified_count) {
4196 NDR_PULL_ALLOC(ndr, r->modified_count);
4198 r->modified_count = NULL;
4203 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4206 if (ndr_flags & NDR_BUFFERS) {
4208 case NETR_DELTA_DOMAIN:
4210 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4211 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4212 NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4213 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4217 case NETR_DELTA_GROUP:
4219 _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4220 NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4221 NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4222 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4226 case NETR_DELTA_DELETE_GROUP:
4229 case NETR_DELTA_RENAME_GROUP:
4230 if (r->rename_group) {
4231 _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4232 NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4233 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4238 case NETR_DELTA_USER:
4240 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4241 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4242 NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4247 case NETR_DELTA_DELETE_USER:
4250 case NETR_DELTA_RENAME_USER:
4251 if (r->rename_user) {
4252 _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4253 NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4254 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4259 case NETR_DELTA_GROUP_MEMBER:
4260 if (r->group_member) {
4261 _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4262 NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4263 NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4268 case NETR_DELTA_ALIAS:
4270 _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4271 NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4272 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4277 case NETR_DELTA_DELETE_ALIAS:
4280 case NETR_DELTA_RENAME_ALIAS:
4281 if (r->rename_alias) {
4282 _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4283 NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4284 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4289 case NETR_DELTA_ALIAS_MEMBER:
4290 if (r->alias_member) {
4291 _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4292 NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4293 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4298 case NETR_DELTA_POLICY:
4300 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4301 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4302 NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4307 case NETR_DELTA_TRUSTED_DOMAIN:
4308 if (r->trusted_domain) {
4309 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4310 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4311 NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4316 case NETR_DELTA_DELETE_TRUST:
4319 case NETR_DELTA_ACCOUNT:
4321 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4322 NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4323 NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4324 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4328 case NETR_DELTA_DELETE_ACCOUNT:
4331 case NETR_DELTA_SECRET:
4333 _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4334 NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4335 NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4336 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4340 case NETR_DELTA_DELETE_SECRET:
4343 case NETR_DELTA_DELETE_GROUP2:
4344 if (r->delete_group) {
4345 _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4346 NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4347 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4352 case NETR_DELTA_DELETE_USER2:
4353 if (r->delete_user) {
4354 _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4355 NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4356 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4357 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4361 case NETR_DELTA_MODIFY_COUNT:
4362 if (r->modified_count) {
4363 _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4364 NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4365 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4371 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4374 return NDR_ERR_SUCCESS;
4377 _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4380 level = ndr_print_get_switch_value(ndr, r);
4381 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4383 case NETR_DELTA_DOMAIN:
4384 ndr_print_ptr(ndr, "domain", r->domain);
4387 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4392 case NETR_DELTA_GROUP:
4393 ndr_print_ptr(ndr, "group", r->group);
4396 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4401 case NETR_DELTA_DELETE_GROUP:
4404 case NETR_DELTA_RENAME_GROUP:
4405 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4407 if (r->rename_group) {
4408 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4413 case NETR_DELTA_USER:
4414 ndr_print_ptr(ndr, "user", r->user);
4417 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4422 case NETR_DELTA_DELETE_USER:
4425 case NETR_DELTA_RENAME_USER:
4426 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4428 if (r->rename_user) {
4429 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4434 case NETR_DELTA_GROUP_MEMBER:
4435 ndr_print_ptr(ndr, "group_member", r->group_member);
4437 if (r->group_member) {
4438 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4443 case NETR_DELTA_ALIAS:
4444 ndr_print_ptr(ndr, "alias", r->alias);
4447 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4452 case NETR_DELTA_DELETE_ALIAS:
4455 case NETR_DELTA_RENAME_ALIAS:
4456 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4458 if (r->rename_alias) {
4459 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4464 case NETR_DELTA_ALIAS_MEMBER:
4465 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4467 if (r->alias_member) {
4468 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4473 case NETR_DELTA_POLICY:
4474 ndr_print_ptr(ndr, "policy", r->policy);
4477 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4482 case NETR_DELTA_TRUSTED_DOMAIN:
4483 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4485 if (r->trusted_domain) {
4486 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4491 case NETR_DELTA_DELETE_TRUST:
4492 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4495 case NETR_DELTA_ACCOUNT:
4496 ndr_print_ptr(ndr, "account", r->account);
4499 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4504 case NETR_DELTA_DELETE_ACCOUNT:
4505 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4508 case NETR_DELTA_SECRET:
4509 ndr_print_ptr(ndr, "secret", r->secret);
4512 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4517 case NETR_DELTA_DELETE_SECRET:
4518 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4521 case NETR_DELTA_DELETE_GROUP2:
4522 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4524 if (r->delete_group) {
4525 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4530 case NETR_DELTA_DELETE_USER2:
4531 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4533 if (r->delete_user) {
4534 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4539 case NETR_DELTA_MODIFY_COUNT:
4540 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4542 if (r->modified_count) {
4543 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4549 ndr_print_bad_level(ndr, name, level);
4553 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)
4555 if (ndr_flags & NDR_SCALARS) {
4556 int level = ndr_push_get_switch_value(ndr, r);
4557 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4559 case NETR_DELTA_DOMAIN: {
4560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4563 case NETR_DELTA_GROUP: {
4564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4567 case NETR_DELTA_DELETE_GROUP: {
4568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4571 case NETR_DELTA_RENAME_GROUP: {
4572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4575 case NETR_DELTA_USER: {
4576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4579 case NETR_DELTA_DELETE_USER: {
4580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4583 case NETR_DELTA_RENAME_USER: {
4584 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4587 case NETR_DELTA_GROUP_MEMBER: {
4588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4591 case NETR_DELTA_ALIAS: {
4592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4595 case NETR_DELTA_DELETE_ALIAS: {
4596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4599 case NETR_DELTA_RENAME_ALIAS: {
4600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4603 case NETR_DELTA_ALIAS_MEMBER: {
4604 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4607 case NETR_DELTA_POLICY: {
4608 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4611 case NETR_DELTA_TRUSTED_DOMAIN: {
4612 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4615 case NETR_DELTA_DELETE_TRUST: {
4616 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4619 case NETR_DELTA_ACCOUNT: {
4620 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4623 case NETR_DELTA_DELETE_ACCOUNT: {
4624 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4627 case NETR_DELTA_SECRET: {
4628 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4631 case NETR_DELTA_DELETE_SECRET: {
4632 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4635 case NETR_DELTA_DELETE_GROUP2: {
4636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4639 case NETR_DELTA_DELETE_USER2: {
4640 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4643 case NETR_DELTA_MODIFY_COUNT: {
4647 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4650 if (ndr_flags & NDR_BUFFERS) {
4651 int level = ndr_push_get_switch_value(ndr, r);
4653 case NETR_DELTA_DOMAIN:
4656 case NETR_DELTA_GROUP:
4659 case NETR_DELTA_DELETE_GROUP:
4662 case NETR_DELTA_RENAME_GROUP:
4665 case NETR_DELTA_USER:
4668 case NETR_DELTA_DELETE_USER:
4671 case NETR_DELTA_RENAME_USER:
4674 case NETR_DELTA_GROUP_MEMBER:
4677 case NETR_DELTA_ALIAS:
4680 case NETR_DELTA_DELETE_ALIAS:
4683 case NETR_DELTA_RENAME_ALIAS:
4686 case NETR_DELTA_ALIAS_MEMBER:
4689 case NETR_DELTA_POLICY:
4691 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4695 case NETR_DELTA_TRUSTED_DOMAIN:
4697 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4701 case NETR_DELTA_DELETE_TRUST:
4703 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4707 case NETR_DELTA_ACCOUNT:
4709 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4713 case NETR_DELTA_DELETE_ACCOUNT:
4715 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4719 case NETR_DELTA_SECRET:
4721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4722 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4723 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4724 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4728 case NETR_DELTA_DELETE_SECRET:
4730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4733 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4737 case NETR_DELTA_DELETE_GROUP2:
4740 case NETR_DELTA_DELETE_USER2:
4743 case NETR_DELTA_MODIFY_COUNT:
4747 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4750 return NDR_ERR_SUCCESS;
4753 static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
4757 TALLOC_CTX *_mem_save_sid_0;
4758 TALLOC_CTX *_mem_save_name_0;
4759 level = ndr_pull_get_switch_value(ndr, r);
4760 if (ndr_flags & NDR_SCALARS) {
4761 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4762 if (_level != level) {
4763 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4766 case NETR_DELTA_DOMAIN: {
4767 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4770 case NETR_DELTA_GROUP: {
4771 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4774 case NETR_DELTA_DELETE_GROUP: {
4775 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4778 case NETR_DELTA_RENAME_GROUP: {
4779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4782 case NETR_DELTA_USER: {
4783 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4786 case NETR_DELTA_DELETE_USER: {
4787 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4790 case NETR_DELTA_RENAME_USER: {
4791 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4794 case NETR_DELTA_GROUP_MEMBER: {
4795 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4798 case NETR_DELTA_ALIAS: {
4799 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4802 case NETR_DELTA_DELETE_ALIAS: {
4803 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4806 case NETR_DELTA_RENAME_ALIAS: {
4807 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4810 case NETR_DELTA_ALIAS_MEMBER: {
4811 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4814 case NETR_DELTA_POLICY: {
4816 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4818 NDR_PULL_ALLOC(ndr, r->sid);
4824 case NETR_DELTA_TRUSTED_DOMAIN: {
4826 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4828 NDR_PULL_ALLOC(ndr, r->sid);
4834 case NETR_DELTA_DELETE_TRUST: {
4836 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4838 NDR_PULL_ALLOC(ndr, r->sid);
4844 case NETR_DELTA_ACCOUNT: {
4846 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4848 NDR_PULL_ALLOC(ndr, r->sid);
4854 case NETR_DELTA_DELETE_ACCOUNT: {
4856 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4858 NDR_PULL_ALLOC(ndr, r->sid);
4864 case NETR_DELTA_SECRET: {
4866 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4868 NDR_PULL_ALLOC(ndr, r->name);
4874 case NETR_DELTA_DELETE_SECRET: {
4876 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4878 NDR_PULL_ALLOC(ndr, r->name);
4884 case NETR_DELTA_DELETE_GROUP2: {
4885 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4888 case NETR_DELTA_DELETE_USER2: {
4889 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4892 case NETR_DELTA_MODIFY_COUNT: {
4896 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4899 if (ndr_flags & NDR_BUFFERS) {
4901 case NETR_DELTA_DOMAIN:
4904 case NETR_DELTA_GROUP:
4907 case NETR_DELTA_DELETE_GROUP:
4910 case NETR_DELTA_RENAME_GROUP:
4913 case NETR_DELTA_USER:
4916 case NETR_DELTA_DELETE_USER:
4919 case NETR_DELTA_RENAME_USER:
4922 case NETR_DELTA_GROUP_MEMBER:
4925 case NETR_DELTA_ALIAS:
4928 case NETR_DELTA_DELETE_ALIAS:
4931 case NETR_DELTA_RENAME_ALIAS:
4934 case NETR_DELTA_ALIAS_MEMBER:
4937 case NETR_DELTA_POLICY:
4939 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4940 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4941 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4942 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4946 case NETR_DELTA_TRUSTED_DOMAIN:
4948 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4949 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4950 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4955 case NETR_DELTA_DELETE_TRUST:
4957 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4958 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4959 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4960 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4964 case NETR_DELTA_ACCOUNT:
4966 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4967 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4968 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4969 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4973 case NETR_DELTA_DELETE_ACCOUNT:
4975 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4976 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4977 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4982 case NETR_DELTA_SECRET:
4984 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4985 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
4986 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
4987 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
4988 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
4989 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));
4991 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
4992 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
4993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
4997 case NETR_DELTA_DELETE_SECRET:
4999 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5000 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5001 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5002 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5003 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5004 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));
5006 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5007 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5008 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5012 case NETR_DELTA_DELETE_GROUP2:
5015 case NETR_DELTA_DELETE_USER2:
5018 case NETR_DELTA_MODIFY_COUNT:
5022 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5025 return NDR_ERR_SUCCESS;
5028 _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
5031 level = ndr_print_get_switch_value(ndr, r);
5032 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
5034 case NETR_DELTA_DOMAIN:
5035 ndr_print_uint32(ndr, "rid", r->rid);
5038 case NETR_DELTA_GROUP:
5039 ndr_print_uint32(ndr, "rid", r->rid);
5042 case NETR_DELTA_DELETE_GROUP:
5043 ndr_print_uint32(ndr, "rid", r->rid);
5046 case NETR_DELTA_RENAME_GROUP:
5047 ndr_print_uint32(ndr, "rid", r->rid);
5050 case NETR_DELTA_USER:
5051 ndr_print_uint32(ndr, "rid", r->rid);
5054 case NETR_DELTA_DELETE_USER:
5055 ndr_print_uint32(ndr, "rid", r->rid);
5058 case NETR_DELTA_RENAME_USER:
5059 ndr_print_uint32(ndr, "rid", r->rid);
5062 case NETR_DELTA_GROUP_MEMBER:
5063 ndr_print_uint32(ndr, "rid", r->rid);
5066 case NETR_DELTA_ALIAS:
5067 ndr_print_uint32(ndr, "rid", r->rid);
5070 case NETR_DELTA_DELETE_ALIAS:
5071 ndr_print_uint32(ndr, "rid", r->rid);
5074 case NETR_DELTA_RENAME_ALIAS:
5075 ndr_print_uint32(ndr, "rid", r->rid);
5078 case NETR_DELTA_ALIAS_MEMBER:
5079 ndr_print_uint32(ndr, "rid", r->rid);
5082 case NETR_DELTA_POLICY:
5083 ndr_print_ptr(ndr, "sid", r->sid);
5086 ndr_print_dom_sid2(ndr, "sid", r->sid);
5091 case NETR_DELTA_TRUSTED_DOMAIN:
5092 ndr_print_ptr(ndr, "sid", r->sid);
5095 ndr_print_dom_sid2(ndr, "sid", r->sid);
5100 case NETR_DELTA_DELETE_TRUST:
5101 ndr_print_ptr(ndr, "sid", r->sid);
5104 ndr_print_dom_sid2(ndr, "sid", r->sid);
5109 case NETR_DELTA_ACCOUNT:
5110 ndr_print_ptr(ndr, "sid", r->sid);
5113 ndr_print_dom_sid2(ndr, "sid", r->sid);
5118 case NETR_DELTA_DELETE_ACCOUNT:
5119 ndr_print_ptr(ndr, "sid", r->sid);
5122 ndr_print_dom_sid2(ndr, "sid", r->sid);
5127 case NETR_DELTA_SECRET:
5128 ndr_print_ptr(ndr, "name", r->name);
5131 ndr_print_string(ndr, "name", r->name);
5136 case NETR_DELTA_DELETE_SECRET:
5137 ndr_print_ptr(ndr, "name", r->name);
5140 ndr_print_string(ndr, "name", r->name);
5145 case NETR_DELTA_DELETE_GROUP2:
5146 ndr_print_uint32(ndr, "rid", r->rid);
5149 case NETR_DELTA_DELETE_USER2:
5150 ndr_print_uint32(ndr, "rid", r->rid);
5153 case NETR_DELTA_MODIFY_COUNT:
5157 ndr_print_bad_level(ndr, name, level);
5161 static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5163 if (ndr_flags & NDR_SCALARS) {
5164 NDR_CHECK(ndr_push_align(ndr, 4));
5165 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5166 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5167 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5168 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5169 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5171 if (ndr_flags & NDR_BUFFERS) {
5172 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5173 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5175 return NDR_ERR_SUCCESS;
5178 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5180 if (ndr_flags & NDR_SCALARS) {
5181 NDR_CHECK(ndr_pull_align(ndr, 4));
5182 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5183 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5184 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5185 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5186 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5188 if (ndr_flags & NDR_BUFFERS) {
5189 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5190 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5192 return NDR_ERR_SUCCESS;
5195 _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5197 ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5199 ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5200 ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5201 ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5202 ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5203 ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5207 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)
5209 uint32_t cntr_delta_enum_1;
5210 if (ndr_flags & NDR_SCALARS) {
5211 NDR_CHECK(ndr_push_align(ndr, 4));
5212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5213 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5215 if (ndr_flags & NDR_BUFFERS) {
5216 if (r->delta_enum) {
5217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5218 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5219 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5221 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5222 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5226 return NDR_ERR_SUCCESS;
5229 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5231 uint32_t _ptr_delta_enum;
5232 uint32_t cntr_delta_enum_1;
5233 TALLOC_CTX *_mem_save_delta_enum_0;
5234 TALLOC_CTX *_mem_save_delta_enum_1;
5235 if (ndr_flags & NDR_SCALARS) {
5236 NDR_CHECK(ndr_pull_align(ndr, 4));
5237 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5238 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5239 if (_ptr_delta_enum) {
5240 NDR_PULL_ALLOC(ndr, r->delta_enum);
5242 r->delta_enum = NULL;
5245 if (ndr_flags & NDR_BUFFERS) {
5246 if (r->delta_enum) {
5247 _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5248 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5249 NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5250 NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
5251 _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5252 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5253 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5254 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5256 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5257 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5260 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5262 if (r->delta_enum) {
5263 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5266 return NDR_ERR_SUCCESS;
5269 _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5271 uint32_t cntr_delta_enum_1;
5272 ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5274 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5275 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5277 if (r->delta_enum) {
5278 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", r->num_deltas);
5280 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5282 if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) {
5283 ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5293 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)
5296 uint32_t _flags_save_STRUCT = ndr->flags;
5297 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5298 if (ndr_flags & NDR_SCALARS) {
5299 NDR_CHECK(ndr_push_align(ndr, 4));
5300 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5301 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5302 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5304 if (ndr_flags & NDR_BUFFERS) {
5306 ndr->flags = _flags_save_STRUCT;
5308 return NDR_ERR_SUCCESS;
5311 static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5314 uint32_t _flags_save_STRUCT = ndr->flags;
5315 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5316 if (ndr_flags & NDR_SCALARS) {
5317 NDR_CHECK(ndr_pull_align(ndr, 4));
5318 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5319 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5320 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5322 if (ndr_flags & NDR_BUFFERS) {
5324 ndr->flags = _flags_save_STRUCT;
5326 return NDR_ERR_SUCCESS;
5329 _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5331 ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5333 uint32_t _flags_save_STRUCT = ndr->flags;
5334 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5336 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5337 ndr_print_uint32(ndr, "timecreated", r->timecreated);
5338 ndr_print_uint32(ndr, "serial_number", r->serial_number);
5340 ndr->flags = _flags_save_STRUCT;
5344 static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5346 if (ndr_flags & NDR_SCALARS) {
5347 NDR_CHECK(ndr_push_align(ndr, 4));
5349 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5350 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5351 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5352 ndr->flags = _flags_save_DATA_BLOB;
5355 if (ndr_flags & NDR_BUFFERS) {
5357 return NDR_ERR_SUCCESS;
5360 static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5362 if (ndr_flags & NDR_SCALARS) {
5363 NDR_CHECK(ndr_pull_align(ndr, 4));
5365 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5366 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5367 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5368 ndr->flags = _flags_save_DATA_BLOB;
5371 if (ndr_flags & NDR_BUFFERS) {
5373 return NDR_ERR_SUCCESS;
5376 _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5378 ndr_print_struct(ndr, name, "netr_AccountBuffer");
5380 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5384 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)
5386 if (ndr_flags & NDR_SCALARS) {
5387 NDR_CHECK(ndr_push_align(ndr, 4));
5388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5391 if (ndr_flags & NDR_BUFFERS) {
5393 return NDR_ERR_SUCCESS;
5396 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5398 if (ndr_flags & NDR_SCALARS) {
5399 NDR_CHECK(ndr_pull_align(ndr, 4));
5400 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5401 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5403 if (ndr_flags & NDR_BUFFERS) {
5405 return NDR_ERR_SUCCESS;
5408 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5410 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5412 ndr_print_uint32(ndr, "flags", r->flags);
5413 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5417 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)
5419 if (ndr_flags & NDR_SCALARS) {
5420 NDR_CHECK(ndr_push_align(ndr, 4));
5421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5423 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tc_connection_status));
5426 if (ndr_flags & NDR_BUFFERS) {
5427 if (r->trusted_dc_name) {
5428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5431 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));
5434 return NDR_ERR_SUCCESS;
5437 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5439 uint32_t _ptr_trusted_dc_name;
5440 TALLOC_CTX *_mem_save_trusted_dc_name_0;
5441 if (ndr_flags & NDR_SCALARS) {
5442 NDR_CHECK(ndr_pull_align(ndr, 4));
5443 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5444 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5445 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5446 if (_ptr_trusted_dc_name) {
5447 NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5449 r->trusted_dc_name = NULL;
5451 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tc_connection_status));
5453 if (ndr_flags & NDR_BUFFERS) {
5454 if (r->trusted_dc_name) {
5455 _mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5456 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5457 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5458 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5459 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5460 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));
5462 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5463 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));
5464 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5467 return NDR_ERR_SUCCESS;
5470 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5472 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5474 ndr_print_uint32(ndr, "flags", r->flags);
5475 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5476 ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5478 if (r->trusted_dc_name) {
5479 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5482 ndr_print_uint32(ndr, "tc_connection_status", r->tc_connection_status);
5486 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)
5488 if (ndr_flags & NDR_SCALARS) {
5489 NDR_CHECK(ndr_push_align(ndr, 4));
5490 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5491 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5492 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5495 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5496 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5498 if (ndr_flags & NDR_BUFFERS) {
5500 return NDR_ERR_SUCCESS;
5503 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5505 if (ndr_flags & NDR_SCALARS) {
5506 NDR_CHECK(ndr_pull_align(ndr, 4));
5507 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5508 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5509 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5510 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5511 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5512 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5513 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5515 if (ndr_flags & NDR_BUFFERS) {
5517 return NDR_ERR_SUCCESS;
5520 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5522 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5524 ndr_print_uint32(ndr, "flags", r->flags);
5525 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5526 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5527 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5528 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5529 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5530 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5534 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)
5536 if (ndr_flags & NDR_SCALARS) {
5537 int level = ndr_push_get_switch_value(ndr, r);
5538 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5541 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5545 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5549 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5553 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5556 if (ndr_flags & NDR_BUFFERS) {
5557 int level = ndr_push_get_switch_value(ndr, r);
5561 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5567 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5573 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5578 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5581 return NDR_ERR_SUCCESS;
5584 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5588 TALLOC_CTX *_mem_save_info1_0;
5589 TALLOC_CTX *_mem_save_info2_0;
5590 TALLOC_CTX *_mem_save_info3_0;
5591 level = ndr_pull_get_switch_value(ndr, r);
5592 if (ndr_flags & NDR_SCALARS) {
5593 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5594 if (_level != level) {
5595 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5599 uint32_t _ptr_info1;
5600 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5602 NDR_PULL_ALLOC(ndr, r->info1);
5609 uint32_t _ptr_info2;
5610 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5612 NDR_PULL_ALLOC(ndr, r->info2);
5619 uint32_t _ptr_info3;
5620 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5622 NDR_PULL_ALLOC(ndr, r->info3);
5629 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5632 if (ndr_flags & NDR_BUFFERS) {
5636 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5637 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
5638 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
5645 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5646 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
5647 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
5648 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
5654 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
5655 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
5656 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
5662 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5665 return NDR_ERR_SUCCESS;
5668 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
5671 level = ndr_print_get_switch_value(ndr, r);
5672 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
5675 ndr_print_ptr(ndr, "info1", r->info1);
5678 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
5684 ndr_print_ptr(ndr, "info2", r->info2);
5687 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
5693 ndr_print_ptr(ndr, "info3", r->info3);
5696 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
5702 ndr_print_bad_level(ndr, name, level);
5706 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
5708 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5709 return NDR_ERR_SUCCESS;
5712 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
5715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5717 return NDR_ERR_SUCCESS;
5720 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
5722 const char *val = NULL;
5725 case NETLOGON_CONTROL_SYNC: val = "NETLOGON_CONTROL_SYNC"; break;
5726 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
5727 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
5728 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
5729 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
5731 ndr_print_enum(ndr, name, "ENUM", val, r);
5734 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)
5736 if (ndr_flags & NDR_SCALARS) {
5737 int level = ndr_push_get_switch_value(ndr, r);
5738 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5740 case NETLOGON_CONTROL_REDISCOVER: {
5741 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5744 case NETLOGON_CONTROL_TC_QUERY: {
5745 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5748 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5749 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5752 case NETLOGON_CONTROL_SET_DBFLAG: {
5753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
5757 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5760 if (ndr_flags & NDR_BUFFERS) {
5761 int level = ndr_push_get_switch_value(ndr, r);
5763 case NETLOGON_CONTROL_REDISCOVER:
5765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5768 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5772 case NETLOGON_CONTROL_TC_QUERY:
5774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5777 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5781 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5783 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5786 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5790 case NETLOGON_CONTROL_SET_DBFLAG:
5794 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5797 return NDR_ERR_SUCCESS;
5800 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
5804 TALLOC_CTX *_mem_save_domain_0;
5805 level = ndr_pull_get_switch_value(ndr, r);
5806 if (ndr_flags & NDR_SCALARS) {
5807 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5808 if (_level != level) {
5809 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5812 case NETLOGON_CONTROL_REDISCOVER: {
5813 uint32_t _ptr_domain;
5814 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5816 NDR_PULL_ALLOC(ndr, r->domain);
5822 case NETLOGON_CONTROL_TC_QUERY: {
5823 uint32_t _ptr_domain;
5824 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5826 NDR_PULL_ALLOC(ndr, r->domain);
5832 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5833 uint32_t _ptr_domain;
5834 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5836 NDR_PULL_ALLOC(ndr, r->domain);
5842 case NETLOGON_CONTROL_SET_DBFLAG: {
5843 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
5847 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5850 if (ndr_flags & NDR_BUFFERS) {
5852 case NETLOGON_CONTROL_REDISCOVER:
5854 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5855 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5856 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5857 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5858 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5859 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));
5861 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5862 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5863 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5867 case NETLOGON_CONTROL_TC_QUERY:
5869 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5870 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5871 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5872 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5873 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5874 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));
5876 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5877 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5878 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5882 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5884 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5885 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5886 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5887 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5888 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5889 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));
5891 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5892 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5893 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5897 case NETLOGON_CONTROL_SET_DBFLAG:
5901 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5904 return NDR_ERR_SUCCESS;
5907 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
5910 level = ndr_print_get_switch_value(ndr, r);
5911 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
5913 case NETLOGON_CONTROL_REDISCOVER:
5914 ndr_print_ptr(ndr, "domain", r->domain);
5917 ndr_print_string(ndr, "domain", r->domain);
5922 case NETLOGON_CONTROL_TC_QUERY:
5923 ndr_print_ptr(ndr, "domain", r->domain);
5926 ndr_print_string(ndr, "domain", r->domain);
5931 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5932 ndr_print_ptr(ndr, "domain", r->domain);
5935 ndr_print_string(ndr, "domain", r->domain);
5940 case NETLOGON_CONTROL_SET_DBFLAG:
5941 ndr_print_uint32(ndr, "debug_level", r->debug_level);
5945 ndr_print_bad_level(ndr, name, level);
5949 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
5951 if (ndr_flags & NDR_SCALARS) {
5952 NDR_CHECK(ndr_push_align(ndr, 4));
5953 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5954 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5956 if (ndr_flags & NDR_BUFFERS) {
5958 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5959 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5962 return NDR_ERR_SUCCESS;
5965 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
5968 TALLOC_CTX *_mem_save_data_0;
5969 if (ndr_flags & NDR_SCALARS) {
5970 NDR_CHECK(ndr_pull_align(ndr, 4));
5971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5972 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5974 NDR_PULL_ALLOC(ndr, r->data);
5979 if (ndr_flags & NDR_BUFFERS) {
5981 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5982 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5983 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5984 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5985 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5986 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5989 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5992 return NDR_ERR_SUCCESS;
5995 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
5997 ndr_print_struct(ndr, name, "netr_Blob");
5999 ndr_print_uint32(ndr, "length", r->length);
6000 ndr_print_ptr(ndr, "data", r->data);
6003 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6009 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6011 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6012 return NDR_ERR_SUCCESS;
6015 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6018 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6020 return NDR_ERR_SUCCESS;
6023 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6025 ndr_print_uint32(ndr, name, r);
6027 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6028 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6029 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6030 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6031 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6032 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6033 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6034 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6035 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6036 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6037 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6038 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6039 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6040 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6041 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6042 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6043 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6044 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6045 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6049 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6051 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6052 return NDR_ERR_SUCCESS;
6055 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6058 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6060 return NDR_ERR_SUCCESS;
6063 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6065 const char *val = NULL;
6068 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6069 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6071 ndr_print_enum(ndr, name, "ENUM", val, r);
6074 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6077 return NDR_ERR_SUCCESS;
6080 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6083 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6085 return NDR_ERR_SUCCESS;
6088 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6090 ndr_print_uint32(ndr, name, r);
6092 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6093 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6094 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6095 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6096 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6097 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6098 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6099 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6100 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6101 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6105 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6106 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6110 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6112 if (ndr_flags & NDR_SCALARS) {
6113 NDR_CHECK(ndr_push_align(ndr, 4));
6114 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6115 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6116 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6117 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6118 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6119 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6120 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6121 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6122 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6124 if (ndr_flags & NDR_BUFFERS) {
6126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6127 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6129 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6131 if (r->dc_address) {
6132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6134 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6135 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6137 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->domain_guid));
6138 if (r->domain_name) {
6139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6142 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6144 if (r->forest_name) {
6145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6146 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6148 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6150 if (r->dc_site_name) {
6151 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6152 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6153 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6154 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));
6156 if (r->client_site_name) {
6157 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6160 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));
6163 return NDR_ERR_SUCCESS;
6166 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6168 uint32_t _ptr_dc_unc;
6169 TALLOC_CTX *_mem_save_dc_unc_0;
6170 uint32_t _ptr_dc_address;
6171 TALLOC_CTX *_mem_save_dc_address_0;
6172 uint32_t _ptr_domain_name;
6173 TALLOC_CTX *_mem_save_domain_name_0;
6174 uint32_t _ptr_forest_name;
6175 TALLOC_CTX *_mem_save_forest_name_0;
6176 uint32_t _ptr_dc_site_name;
6177 TALLOC_CTX *_mem_save_dc_site_name_0;
6178 uint32_t _ptr_client_site_name;
6179 TALLOC_CTX *_mem_save_client_site_name_0;
6180 if (ndr_flags & NDR_SCALARS) {
6181 NDR_CHECK(ndr_pull_align(ndr, 4));
6182 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6184 NDR_PULL_ALLOC(ndr, r->dc_unc);
6188 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6189 if (_ptr_dc_address) {
6190 NDR_PULL_ALLOC(ndr, r->dc_address);
6192 r->dc_address = NULL;
6194 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6195 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6196 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6197 if (_ptr_domain_name) {
6198 NDR_PULL_ALLOC(ndr, r->domain_name);
6200 r->domain_name = NULL;
6202 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
6203 if (_ptr_forest_name) {
6204 NDR_PULL_ALLOC(ndr, r->forest_name);
6206 r->forest_name = NULL;
6208 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
6209 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
6210 if (_ptr_dc_site_name) {
6211 NDR_PULL_ALLOC(ndr, r->dc_site_name);
6213 r->dc_site_name = NULL;
6215 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
6216 if (_ptr_client_site_name) {
6217 NDR_PULL_ALLOC(ndr, r->client_site_name);
6219 r->client_site_name = NULL;
6222 if (ndr_flags & NDR_BUFFERS) {
6224 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
6225 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
6226 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
6227 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
6228 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
6229 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));
6231 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
6232 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
6233 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
6235 if (r->dc_address) {
6236 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
6237 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
6238 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
6239 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
6240 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
6241 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));
6243 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
6244 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
6245 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
6247 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->domain_guid));
6248 if (r->domain_name) {
6249 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6250 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6251 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6252 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6253 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6254 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));
6256 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6257 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6258 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6260 if (r->forest_name) {
6261 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6262 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
6263 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
6264 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
6265 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
6266 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));
6268 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
6269 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
6270 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
6272 if (r->dc_site_name) {
6273 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6274 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
6275 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
6276 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
6277 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
6278 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));
6280 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
6281 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));
6282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
6284 if (r->client_site_name) {
6285 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6286 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
6287 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
6288 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
6289 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
6290 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));
6292 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
6293 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));
6294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
6297 return NDR_ERR_SUCCESS;
6300 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
6302 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
6304 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
6307 ndr_print_string(ndr, "dc_unc", r->dc_unc);
6310 ndr_print_ptr(ndr, "dc_address", r->dc_address);
6312 if (r->dc_address) {
6313 ndr_print_string(ndr, "dc_address", r->dc_address);
6316 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
6317 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
6318 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6320 if (r->domain_name) {
6321 ndr_print_string(ndr, "domain_name", r->domain_name);
6324 ndr_print_ptr(ndr, "forest_name", r->forest_name);
6326 if (r->forest_name) {
6327 ndr_print_string(ndr, "forest_name", r->forest_name);
6330 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
6331 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
6333 if (r->dc_site_name) {
6334 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
6337 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
6339 if (r->client_site_name) {
6340 ndr_print_string(ndr, "client_site_name", r->client_site_name);
6346 static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct netr_BinaryString *r)
6348 uint32_t cntr_data_1;
6350 uint32_t _flags_save_STRUCT = ndr->flags;
6351 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6352 if (ndr_flags & NDR_SCALARS) {
6353 NDR_CHECK(ndr_push_align(ndr, 4));
6354 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
6355 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
6356 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6358 if (ndr_flags & NDR_BUFFERS) {
6360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
6361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
6363 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6364 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data[cntr_data_1]));
6368 ndr->flags = _flags_save_STRUCT;
6370 return NDR_ERR_SUCCESS;
6373 static enum ndr_err_code ndr_pull_netr_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct netr_BinaryString *r)
6376 uint32_t cntr_data_1;
6377 TALLOC_CTX *_mem_save_data_0;
6378 TALLOC_CTX *_mem_save_data_1;
6380 uint32_t _flags_save_STRUCT = ndr->flags;
6381 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6382 if (ndr_flags & NDR_SCALARS) {
6383 NDR_CHECK(ndr_pull_align(ndr, 4));
6384 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
6385 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
6386 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6388 NDR_PULL_ALLOC(ndr, r->data);
6393 if (ndr_flags & NDR_BUFFERS) {
6395 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6396 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6397 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6398 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
6399 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
6400 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));
6402 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6403 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
6404 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6405 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6406 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
6408 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
6409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6412 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size / 2));
6415 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length / 2));
6418 ndr->flags = _flags_save_STRUCT;
6420 return NDR_ERR_SUCCESS;
6423 _PUBLIC_ void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r)
6425 uint32_t cntr_data_1;
6426 ndr_print_struct(ndr, name, "netr_BinaryString");
6428 uint32_t _flags_save_STRUCT = ndr->flags;
6429 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6431 ndr_print_uint16(ndr, "length", r->length);
6432 ndr_print_uint16(ndr, "size", r->size);
6433 ndr_print_ptr(ndr, "data", r->data);
6436 ndr->print(ndr, "%s: ARRAY(%d)", "data", r->length / 2);
6438 for (cntr_data_1=0;cntr_data_1<r->length / 2;cntr_data_1++) {
6440 if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
6441 ndr_print_uint16(ndr, "data", r->data[cntr_data_1]);
6449 ndr->flags = _flags_save_STRUCT;
6453 static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainQuery1 *r)
6455 uint32_t cntr_unknown7_0;
6456 if (ndr_flags & NDR_SCALARS) {
6457 NDR_CHECK(ndr_push_align(ndr, 4));
6458 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6459 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_domain));
6460 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_site));
6461 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
6462 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
6463 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown3));
6464 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown4));
6465 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6466 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->product));
6467 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6468 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6469 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7[cntr_unknown7_0]));
6473 if (ndr_flags & NDR_BUFFERS) {
6474 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6475 if (r->workstation_domain) {
6476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6477 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6479 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_domain, ndr_charset_length(r->workstation_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6481 if (r->workstation_site) {
6482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6483 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6484 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6485 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_site, ndr_charset_length(r->workstation_site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6488 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6490 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6491 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6495 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6496 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6497 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6501 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6503 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown3, ndr_charset_length(r->unknown3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6506 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6507 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6509 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown4, ndr_charset_length(r->unknown4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6511 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6512 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->product));
6513 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6514 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6516 return NDR_ERR_SUCCESS;
6519 static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
6521 uint32_t _ptr_workstation_domain;
6522 TALLOC_CTX *_mem_save_workstation_domain_0;
6523 uint32_t _ptr_workstation_site;
6524 TALLOC_CTX *_mem_save_workstation_site_0;
6525 uint32_t _ptr_unknown1;
6526 TALLOC_CTX *_mem_save_unknown1_0;
6527 uint32_t _ptr_unknown2;
6528 TALLOC_CTX *_mem_save_unknown2_0;
6529 uint32_t _ptr_unknown3;
6530 TALLOC_CTX *_mem_save_unknown3_0;
6531 uint32_t _ptr_unknown4;
6532 TALLOC_CTX *_mem_save_unknown4_0;
6533 uint32_t cntr_unknown7_0;
6534 if (ndr_flags & NDR_SCALARS) {
6535 NDR_CHECK(ndr_pull_align(ndr, 4));
6536 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6537 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_domain));
6538 if (_ptr_workstation_domain) {
6539 NDR_PULL_ALLOC(ndr, r->workstation_domain);
6541 r->workstation_domain = NULL;
6543 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_site));
6544 if (_ptr_workstation_site) {
6545 NDR_PULL_ALLOC(ndr, r->workstation_site);
6547 r->workstation_site = NULL;
6549 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
6550 if (_ptr_unknown1) {
6551 NDR_PULL_ALLOC(ndr, r->unknown1);
6555 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
6556 if (_ptr_unknown2) {
6557 NDR_PULL_ALLOC(ndr, r->unknown2);
6561 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown3));
6562 if (_ptr_unknown3) {
6563 NDR_PULL_ALLOC(ndr, r->unknown3);
6567 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
6568 if (_ptr_unknown4) {
6569 NDR_PULL_ALLOC(ndr, r->unknown4);
6573 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6574 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
6575 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6576 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6577 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6578 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
6581 if (ndr_flags & NDR_BUFFERS) {
6582 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6583 if (r->workstation_domain) {
6584 _mem_save_workstation_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6585 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
6586 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
6587 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
6588 if (ndr_get_array_length(ndr, &r->workstation_domain) > ndr_get_array_size(ndr, &r->workstation_domain)) {
6589 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_domain), ndr_get_array_length(ndr, &r->workstation_domain));
6591 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t)));
6592 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t), CH_UTF16));
6593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
6595 if (r->workstation_site) {
6596 _mem_save_workstation_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
6597 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
6598 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
6599 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
6600 if (ndr_get_array_length(ndr, &r->workstation_site) > ndr_get_array_size(ndr, &r->workstation_site)) {
6601 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_site), ndr_get_array_length(ndr, &r->workstation_site));
6603 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t)));
6604 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t), CH_UTF16));
6605 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
6608 _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6609 NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
6610 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
6611 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
6612 if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
6613 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown1), ndr_get_array_length(ndr, &r->unknown1));
6615 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
6616 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
6617 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
6620 _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6621 NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
6622 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
6623 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
6624 if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
6625 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2));
6627 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
6628 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
6629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
6632 _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6633 NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
6634 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
6635 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
6636 if (ndr_get_array_length(ndr, &r->unknown3) > ndr_get_array_size(ndr, &r->unknown3)) {
6637 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown3), ndr_get_array_length(ndr, &r->unknown3));
6639 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t)));
6640 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t), CH_UTF16));
6641 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
6644 _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6645 NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
6646 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
6647 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
6648 if (ndr_get_array_length(ndr, &r->unknown4) > ndr_get_array_size(ndr, &r->unknown4)) {
6649 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown4), ndr_get_array_length(ndr, &r->unknown4));
6651 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t)));
6652 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t), CH_UTF16));
6653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
6655 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6656 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->product));
6657 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6658 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6660 return NDR_ERR_SUCCESS;
6663 _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r)
6665 uint32_t cntr_unknown7_0;
6666 ndr_print_struct(ndr, name, "netr_DomainQuery1");
6668 ndr_print_netr_Blob(ndr, "blob", &r->blob);
6669 ndr_print_ptr(ndr, "workstation_domain", r->workstation_domain);
6671 if (r->workstation_domain) {
6672 ndr_print_string(ndr, "workstation_domain", r->workstation_domain);
6675 ndr_print_ptr(ndr, "workstation_site", r->workstation_site);
6677 if (r->workstation_site) {
6678 ndr_print_string(ndr, "workstation_site", r->workstation_site);
6681 ndr_print_ptr(ndr, "unknown1", r->unknown1);
6684 ndr_print_string(ndr, "unknown1", r->unknown1);
6687 ndr_print_ptr(ndr, "unknown2", r->unknown2);
6690 ndr_print_string(ndr, "unknown2", r->unknown2);
6693 ndr_print_ptr(ndr, "unknown3", r->unknown3);
6696 ndr_print_string(ndr, "unknown3", r->unknown3);
6699 ndr_print_ptr(ndr, "unknown4", r->unknown4);
6702 ndr_print_string(ndr, "unknown4", r->unknown4);
6705 ndr_print_netr_BinaryString(ndr, "blob2", &r->blob2);
6706 ndr_print_lsa_String(ndr, "product", &r->product);
6707 ndr_print_lsa_String(ndr, "unknown5", &r->unknown5);
6708 ndr_print_lsa_String(ndr, "unknown6", &r->unknown6);
6709 ndr->print(ndr, "%s: ARRAY(%d)", "unknown7", 4);
6711 for (cntr_unknown7_0=0;cntr_unknown7_0<4;cntr_unknown7_0++) {
6713 if (asprintf(&idx_0, "[%d]", cntr_unknown7_0) != -1) {
6714 ndr_print_uint32(ndr, "unknown7", r->unknown7[cntr_unknown7_0]);
6722 static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr_flags, const union netr_DomainQuery *r)
6724 if (ndr_flags & NDR_SCALARS) {
6725 int level = ndr_push_get_switch_value(ndr, r);
6726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6729 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6733 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6737 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6740 if (ndr_flags & NDR_BUFFERS) {
6741 int level = ndr_push_get_switch_value(ndr, r);
6745 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6751 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6756 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6759 return NDR_ERR_SUCCESS;
6762 static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr_flags, union netr_DomainQuery *r)
6766 TALLOC_CTX *_mem_save_query1_0;
6767 level = ndr_pull_get_switch_value(ndr, r);
6768 if (ndr_flags & NDR_SCALARS) {
6769 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6770 if (_level != level) {
6771 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6775 uint32_t _ptr_query1;
6776 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6778 NDR_PULL_ALLOC(ndr, r->query1);
6785 uint32_t _ptr_query1;
6786 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6788 NDR_PULL_ALLOC(ndr, r->query1);
6795 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6798 if (ndr_flags & NDR_BUFFERS) {
6802 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6803 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6804 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6805 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6811 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6812 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6813 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6814 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6819 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6822 return NDR_ERR_SUCCESS;
6825 _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r)
6828 level = ndr_print_get_switch_value(ndr, r);
6829 ndr_print_union(ndr, name, level, "netr_DomainQuery");
6832 ndr_print_ptr(ndr, "query1", r->query1);
6835 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6841 ndr_print_ptr(ndr, "query1", r->query1);
6844 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6850 ndr_print_bad_level(ndr, name, level);
6854 static enum ndr_err_code ndr_push_netr_DomainTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustInfo *r)
6856 uint32_t cntr_unknown1_0;
6857 uint32_t cntr_unknown_0;
6858 if (ndr_flags & NDR_SCALARS) {
6859 NDR_CHECK(ndr_push_align(ndr, 4));
6860 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6861 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6862 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
6863 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
6864 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
6865 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6866 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6868 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
6872 if (ndr_flags & NDR_BUFFERS) {
6873 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6874 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6875 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6876 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->guid));
6878 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6880 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6881 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6884 return NDR_ERR_SUCCESS;
6887 static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustInfo *r)
6890 TALLOC_CTX *_mem_save_sid_0;
6891 uint32_t cntr_unknown1_0;
6892 uint32_t cntr_unknown_0;
6893 if (ndr_flags & NDR_SCALARS) {
6894 NDR_CHECK(ndr_pull_align(ndr, 4));
6895 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6896 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6897 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
6898 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
6899 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
6901 NDR_PULL_ALLOC(ndr, r->sid);
6905 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6906 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6908 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6909 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
6912 if (ndr_flags & NDR_BUFFERS) {
6913 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6914 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6915 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6916 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
6918 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6919 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
6920 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
6923 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6924 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6927 return NDR_ERR_SUCCESS;
6930 _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r)
6932 uint32_t cntr_unknown1_0;
6933 uint32_t cntr_unknown_0;
6934 ndr_print_struct(ndr, name, "netr_DomainTrustInfo");
6936 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
6937 ndr_print_lsa_String(ndr, "fulldomainname", &r->fulldomainname);
6938 ndr_print_lsa_String(ndr, "forest", &r->forest);
6939 ndr_print_GUID(ndr, "guid", &r->guid);
6940 ndr_print_ptr(ndr, "sid", r->sid);
6943 ndr_print_dom_sid2(ndr, "sid", r->sid);
6946 ndr->print(ndr, "%s: ARRAY(%d)", "unknown1", 4);
6948 for (cntr_unknown1_0=0;cntr_unknown1_0<4;cntr_unknown1_0++) {
6950 if (asprintf(&idx_0, "[%d]", cntr_unknown1_0) != -1) {
6951 ndr_print_netr_BinaryString(ndr, "unknown1", &r->unknown1[cntr_unknown1_0]);
6956 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 4);
6958 for (cntr_unknown_0=0;cntr_unknown_0<4;cntr_unknown_0++) {
6960 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
6961 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
6969 static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInfo1 *r)
6971 uint32_t cntr_trusts_1;
6972 uint32_t cntr_unknown_0;
6973 if (ndr_flags & NDR_SCALARS) {
6974 NDR_CHECK(ndr_push_align(ndr, 4));
6975 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
6976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
6977 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusts));
6978 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
6979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
6982 if (ndr_flags & NDR_BUFFERS) {
6983 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
6985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
6986 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
6987 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
6989 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
6990 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
6994 return NDR_ERR_SUCCESS;
6997 static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
6999 uint32_t _ptr_trusts;
7000 uint32_t cntr_trusts_1;
7001 TALLOC_CTX *_mem_save_trusts_0;
7002 TALLOC_CTX *_mem_save_trusts_1;
7003 uint32_t cntr_unknown_0;
7004 if (ndr_flags & NDR_SCALARS) {
7005 NDR_CHECK(ndr_pull_align(ndr, 4));
7006 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_trusts));
7008 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusts));
7010 NDR_PULL_ALLOC(ndr, r->trusts);
7014 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
7015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
7018 if (ndr_flags & NDR_BUFFERS) {
7019 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7021 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
7022 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7023 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
7024 NDR_PULL_ALLOC_N(ndr, r->trusts, ndr_get_array_size(ndr, &r->trusts));
7025 _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
7026 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7027 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7028 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7030 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7031 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7033 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
7034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, 0);
7037 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusts, r->num_trusts));
7040 return NDR_ERR_SUCCESS;
7043 _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r)
7045 uint32_t cntr_trusts_1;
7046 uint32_t cntr_unknown_0;
7047 ndr_print_struct(ndr, name, "netr_DomainInfo1");
7049 ndr_print_netr_DomainTrustInfo(ndr, "domaininfo", &r->domaininfo);
7050 ndr_print_uint32(ndr, "num_trusts", r->num_trusts);
7051 ndr_print_ptr(ndr, "trusts", r->trusts);
7054 ndr->print(ndr, "%s: ARRAY(%d)", "trusts", r->num_trusts);
7056 for (cntr_trusts_1=0;cntr_trusts_1<r->num_trusts;cntr_trusts_1++) {
7058 if (asprintf(&idx_1, "[%d]", cntr_trusts_1) != -1) {
7059 ndr_print_netr_DomainTrustInfo(ndr, "trusts", &r->trusts[cntr_trusts_1]);
7066 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 14);
7068 for (cntr_unknown_0=0;cntr_unknown_0<14;cntr_unknown_0++) {
7070 if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
7071 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
7079 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
7081 if (ndr_flags & NDR_SCALARS) {
7082 int level = ndr_push_get_switch_value(ndr, r);
7083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7086 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7090 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7094 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7097 if (ndr_flags & NDR_BUFFERS) {
7098 int level = ndr_push_get_switch_value(ndr, r);
7102 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7108 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7113 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7116 return NDR_ERR_SUCCESS;
7119 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
7123 TALLOC_CTX *_mem_save_info1_0;
7124 level = ndr_pull_get_switch_value(ndr, r);
7125 if (ndr_flags & NDR_SCALARS) {
7126 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7127 if (_level != level) {
7128 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7132 uint32_t _ptr_info1;
7133 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7135 NDR_PULL_ALLOC(ndr, r->info1);
7142 uint32_t _ptr_info1;
7143 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7145 NDR_PULL_ALLOC(ndr, r->info1);
7152 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7155 if (ndr_flags & NDR_BUFFERS) {
7159 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7160 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7161 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7168 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7169 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7170 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7176 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7179 return NDR_ERR_SUCCESS;
7182 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
7185 level = ndr_print_get_switch_value(ndr, r);
7186 ndr_print_union(ndr, name, level, "netr_DomainInfo");
7189 ndr_print_ptr(ndr, "info1", r->info1);
7192 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7198 ndr_print_ptr(ndr, "info1", r->info1);
7201 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7207 ndr_print_bad_level(ndr, name, level);
7211 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
7214 uint32_t _flags_save_STRUCT = ndr->flags;
7215 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7216 if (ndr_flags & NDR_SCALARS) {
7217 NDR_CHECK(ndr_push_align(ndr, 4));
7218 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
7221 if (ndr_flags & NDR_BUFFERS) {
7223 ndr->flags = _flags_save_STRUCT;
7225 return NDR_ERR_SUCCESS;
7228 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
7231 uint32_t _flags_save_STRUCT = ndr->flags;
7232 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7233 if (ndr_flags & NDR_SCALARS) {
7234 NDR_CHECK(ndr_pull_align(ndr, 4));
7235 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7236 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7238 if (ndr_flags & NDR_BUFFERS) {
7240 ndr->flags = _flags_save_STRUCT;
7242 return NDR_ERR_SUCCESS;
7245 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
7247 ndr_print_struct(ndr, name, "netr_CryptPassword");
7249 uint32_t _flags_save_STRUCT = ndr->flags;
7250 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7252 ndr_print_array_uint8(ndr, "data", r->data, 512);
7253 ndr_print_uint32(ndr, "length", r->length);
7255 ndr->flags = _flags_save_STRUCT;
7259 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
7261 uint32_t cntr_sitename_1;
7262 if (ndr_flags & NDR_SCALARS) {
7263 NDR_CHECK(ndr_push_align(ndr, 4));
7264 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7265 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7267 if (ndr_flags & NDR_BUFFERS) {
7269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7270 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7271 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7273 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7274 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7278 return NDR_ERR_SUCCESS;
7281 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
7283 uint32_t _ptr_sitename;
7284 uint32_t cntr_sitename_1;
7285 TALLOC_CTX *_mem_save_sitename_0;
7286 TALLOC_CTX *_mem_save_sitename_1;
7287 if (ndr_flags & NDR_SCALARS) {
7288 NDR_CHECK(ndr_pull_align(ndr, 4));
7289 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7290 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7291 if (_ptr_sitename) {
7292 NDR_PULL_ALLOC(ndr, r->sitename);
7297 if (ndr_flags & NDR_BUFFERS) {
7299 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7300 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7301 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7302 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7303 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7304 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7305 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7306 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7308 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7309 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7311 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7315 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7318 return NDR_ERR_SUCCESS;
7321 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
7323 uint32_t cntr_sitename_1;
7324 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
7326 ndr_print_uint32(ndr, "count", r->count);
7327 ndr_print_ptr(ndr, "sitename", r->sitename);
7330 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", r->count);
7332 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7334 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7335 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7345 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
7347 if (ndr_flags & NDR_SCALARS) {
7348 NDR_CHECK(ndr_push_align(ndr, 4));
7349 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
7350 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7352 if (ndr_flags & NDR_BUFFERS) {
7354 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7355 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
7358 return NDR_ERR_SUCCESS;
7361 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
7363 uint32_t _ptr_buffer;
7364 TALLOC_CTX *_mem_save_buffer_0;
7365 if (ndr_flags & NDR_SCALARS) {
7366 NDR_CHECK(ndr_pull_align(ndr, 4));
7367 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
7369 NDR_PULL_ALLOC(ndr, r->buffer);
7373 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7375 if (ndr_flags & NDR_BUFFERS) {
7377 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
7378 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
7379 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
7380 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
7381 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
7382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
7385 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
7388 return NDR_ERR_SUCCESS;
7391 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
7393 ndr_print_struct(ndr, name, "netr_DsRAddress");
7395 ndr_print_ptr(ndr, "buffer", r->buffer);
7398 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
7401 ndr_print_uint32(ndr, "size", r->size);
7405 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7408 return NDR_ERR_SUCCESS;
7411 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7414 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7416 return NDR_ERR_SUCCESS;
7419 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7421 ndr_print_uint32(ndr, name, r);
7423 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7424 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7425 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7426 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7427 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7428 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7432 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
7434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7435 return NDR_ERR_SUCCESS;
7438 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
7441 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7443 return NDR_ERR_SUCCESS;
7446 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
7448 const char *val = NULL;
7451 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
7452 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
7453 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
7454 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
7456 ndr_print_enum(ndr, name, "ENUM", val, r);
7459 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7461 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7462 return NDR_ERR_SUCCESS;
7465 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7470 return NDR_ERR_SUCCESS;
7473 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
7475 ndr_print_uint32(ndr, name, r);
7477 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
7478 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
7479 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
7480 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
7481 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
7482 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
7483 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
7487 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
7489 if (ndr_flags & NDR_SCALARS) {
7490 NDR_CHECK(ndr_push_align(ndr, 4));
7491 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7492 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7493 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
7494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7495 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
7496 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
7497 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
7498 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
7500 if (ndr_flags & NDR_BUFFERS) {
7501 if (r->netbios_name) {
7502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7503 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7504 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7505 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7509 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7510 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7511 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7514 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7516 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->guid));
7518 return NDR_ERR_SUCCESS;
7521 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
7523 uint32_t _ptr_netbios_name;
7524 TALLOC_CTX *_mem_save_netbios_name_0;
7525 uint32_t _ptr_dns_name;
7526 TALLOC_CTX *_mem_save_dns_name_0;
7528 TALLOC_CTX *_mem_save_sid_0;
7529 if (ndr_flags & NDR_SCALARS) {
7530 NDR_CHECK(ndr_pull_align(ndr, 4));
7531 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7532 if (_ptr_netbios_name) {
7533 NDR_PULL_ALLOC(ndr, r->netbios_name);
7535 r->netbios_name = NULL;
7537 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7538 if (_ptr_dns_name) {
7539 NDR_PULL_ALLOC(ndr, r->dns_name);
7543 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
7544 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7545 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
7546 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
7547 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
7549 NDR_PULL_ALLOC(ndr, r->sid);
7553 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
7555 if (ndr_flags & NDR_BUFFERS) {
7556 if (r->netbios_name) {
7557 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7558 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7559 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7560 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7561 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7562 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));
7564 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7565 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7566 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7569 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7570 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7571 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7572 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7573 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7574 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));
7576 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7577 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7578 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7581 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7582 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
7583 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
7586 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
7588 return NDR_ERR_SUCCESS;
7591 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
7593 ndr_print_struct(ndr, name, "netr_DomainTrust");
7595 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7597 if (r->netbios_name) {
7598 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7601 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7604 ndr_print_string(ndr, "dns_name", r->dns_name);
7607 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
7608 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7609 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
7610 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
7611 ndr_print_ptr(ndr, "sid", r->sid);
7614 ndr_print_dom_sid2(ndr, "sid", r->sid);
7617 ndr_print_GUID(ndr, "guid", &r->guid);
7621 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
7623 uint32_t cntr_array_1;
7624 if (ndr_flags & NDR_SCALARS) {
7625 NDR_CHECK(ndr_push_align(ndr, 4));
7626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7627 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7629 if (ndr_flags & NDR_BUFFERS) {
7631 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7632 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7633 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7635 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7636 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7640 return NDR_ERR_SUCCESS;
7643 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
7645 uint32_t _ptr_array;
7646 uint32_t cntr_array_1;
7647 TALLOC_CTX *_mem_save_array_0;
7648 TALLOC_CTX *_mem_save_array_1;
7649 if (ndr_flags & NDR_SCALARS) {
7650 NDR_CHECK(ndr_pull_align(ndr, 4));
7651 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7652 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7654 NDR_PULL_ALLOC(ndr, r->array);
7659 if (ndr_flags & NDR_BUFFERS) {
7661 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7662 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7663 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7664 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7665 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7666 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7667 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7668 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7670 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7671 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7677 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7680 return NDR_ERR_SUCCESS;
7683 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
7685 uint32_t cntr_array_1;
7686 ndr_print_struct(ndr, name, "netr_DomainTrustList");
7688 ndr_print_uint32(ndr, "count", r->count);
7689 ndr_print_ptr(ndr, "array", r->array);
7692 ndr->print(ndr, "%s: ARRAY(%d)", "array", r->count);
7694 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7696 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
7697 ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
7707 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
7709 uint32_t cntr_sitename_1;
7710 uint32_t cntr_subnetname_1;
7711 if (ndr_flags & NDR_SCALARS) {
7712 NDR_CHECK(ndr_push_align(ndr, 4));
7713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7714 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7715 NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
7717 if (ndr_flags & NDR_BUFFERS) {
7719 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7720 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7721 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7723 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7724 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7727 if (r->subnetname) {
7728 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7729 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7730 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
7732 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7733 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
7737 return NDR_ERR_SUCCESS;
7740 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
7742 uint32_t _ptr_sitename;
7743 uint32_t cntr_sitename_1;
7744 TALLOC_CTX *_mem_save_sitename_0;
7745 TALLOC_CTX *_mem_save_sitename_1;
7746 uint32_t _ptr_subnetname;
7747 uint32_t cntr_subnetname_1;
7748 TALLOC_CTX *_mem_save_subnetname_0;
7749 TALLOC_CTX *_mem_save_subnetname_1;
7750 if (ndr_flags & NDR_SCALARS) {
7751 NDR_CHECK(ndr_pull_align(ndr, 4));
7752 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7753 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7754 if (_ptr_sitename) {
7755 NDR_PULL_ALLOC(ndr, r->sitename);
7759 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
7760 if (_ptr_subnetname) {
7761 NDR_PULL_ALLOC(ndr, r->subnetname);
7763 r->subnetname = NULL;
7766 if (ndr_flags & NDR_BUFFERS) {
7768 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7769 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7770 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7771 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7772 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7773 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7774 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7775 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7777 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7778 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7783 if (r->subnetname) {
7784 _mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7785 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
7786 NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
7787 NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
7788 _mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
7789 NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
7790 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7791 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
7793 for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
7794 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
7796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
7797 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
7800 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7802 if (r->subnetname) {
7803 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
7806 return NDR_ERR_SUCCESS;
7809 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
7811 uint32_t cntr_sitename_1;
7812 uint32_t cntr_subnetname_1;
7813 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
7815 ndr_print_uint32(ndr, "count", r->count);
7816 ndr_print_ptr(ndr, "sitename", r->sitename);
7819 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", r->count);
7821 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7823 if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
7824 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7831 ndr_print_ptr(ndr, "subnetname", r->subnetname);
7833 if (r->subnetname) {
7834 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", r->count);
7836 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
7838 if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
7839 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
7849 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
7851 uint32_t cntr_sites_1;
7852 if (ndr_flags & NDR_SCALARS) {
7853 NDR_CHECK(ndr_push_align(ndr, 4));
7854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7855 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
7857 if (ndr_flags & NDR_BUFFERS) {
7859 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7860 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7861 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7863 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7864 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7868 return NDR_ERR_SUCCESS;
7871 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
7873 uint32_t _ptr_sites;
7874 uint32_t cntr_sites_1;
7875 TALLOC_CTX *_mem_save_sites_0;
7876 TALLOC_CTX *_mem_save_sites_1;
7877 if (ndr_flags & NDR_SCALARS) {
7878 NDR_CHECK(ndr_pull_align(ndr, 4));
7879 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
7880 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
7882 NDR_PULL_ALLOC(ndr, r->sites);
7887 if (ndr_flags & NDR_BUFFERS) {
7889 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
7890 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7891 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
7892 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
7893 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
7894 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7895 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7896 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7898 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7899 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7901 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
7902 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
7905 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
7908 return NDR_ERR_SUCCESS;
7911 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
7913 uint32_t cntr_sites_1;
7914 ndr_print_struct(ndr, name, "DcSitesCtr");
7916 ndr_print_uint32(ndr, "num_sites", r->num_sites);
7917 ndr_print_ptr(ndr, "sites", r->sites);
7920 ndr->print(ndr, "%s: ARRAY(%d)", "sites", r->num_sites);
7922 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
7924 if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
7925 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
7935 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
7937 if (flags & NDR_IN) {
7938 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
7939 if (r->in.server_name) {
7940 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7941 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7943 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));
7945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7946 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7948 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));
7949 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7950 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7951 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7952 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7954 if (flags & NDR_OUT) {
7955 if (r->out.info == NULL) {
7956 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7958 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
7959 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
7961 return NDR_ERR_SUCCESS;
7964 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
7966 uint32_t _ptr_server_name;
7967 TALLOC_CTX *_mem_save_server_name_0;
7968 TALLOC_CTX *_mem_save_info_0;
7969 if (flags & NDR_IN) {
7970 ZERO_STRUCT(r->out);
7972 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
7973 if (_ptr_server_name) {
7974 NDR_PULL_ALLOC(ndr, r->in.server_name);
7976 r->in.server_name = NULL;
7978 if (r->in.server_name) {
7979 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7980 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
7981 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
7982 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
7983 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
7984 return 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));
7986 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
7987 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));
7988 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
7990 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
7991 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
7992 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
7993 return 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));
7995 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
7996 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));
7997 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
7998 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
7999 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8000 return 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));
8002 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8003 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8004 NDR_PULL_ALLOC(ndr, r->out.info);
8005 ZERO_STRUCTP(r->out.info);
8007 if (flags & NDR_OUT) {
8008 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8009 NDR_PULL_ALLOC(ndr, r->out.info);
8011 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8012 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8013 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
8014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8015 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8017 return NDR_ERR_SUCCESS;
8020 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
8022 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
8024 if (flags & NDR_SET_VALUES) {
8025 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8027 if (flags & NDR_IN) {
8028 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
8030 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8032 if (r->in.server_name) {
8033 ndr_print_string(ndr, "server_name", r->in.server_name);
8036 ndr_print_string(ndr, "account_name", r->in.account_name);
8037 ndr_print_string(ndr, "workstation", r->in.workstation);
8040 if (flags & NDR_OUT) {
8041 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
8043 ndr_print_ptr(ndr, "info", r->out.info);
8045 ndr_print_netr_UasInfo(ndr, "info", r->out.info);
8047 ndr_print_WERROR(ndr, "result", r->out.result);
8053 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
8055 if (flags & NDR_IN) {
8056 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8057 if (r->in.server_name) {
8058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8059 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8060 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8061 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));
8063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8064 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8065 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8066 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));
8067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8069 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8070 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8072 if (flags & NDR_OUT) {
8073 if (r->out.info == NULL) {
8074 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8076 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8077 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8079 return NDR_ERR_SUCCESS;
8082 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
8084 uint32_t _ptr_server_name;
8085 TALLOC_CTX *_mem_save_server_name_0;
8086 TALLOC_CTX *_mem_save_info_0;
8087 if (flags & NDR_IN) {
8088 ZERO_STRUCT(r->out);
8090 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8091 if (_ptr_server_name) {
8092 NDR_PULL_ALLOC(ndr, r->in.server_name);
8094 r->in.server_name = NULL;
8096 if (r->in.server_name) {
8097 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8098 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8099 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8100 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8101 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8102 return 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));
8104 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8105 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));
8106 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8108 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8109 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8110 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8111 return 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));
8113 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8114 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));
8115 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8116 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8117 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8118 return 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));
8120 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8121 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8122 NDR_PULL_ALLOC(ndr, r->out.info);
8123 ZERO_STRUCTP(r->out.info);
8125 if (flags & NDR_OUT) {
8126 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8127 NDR_PULL_ALLOC(ndr, r->out.info);
8129 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8130 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8131 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8133 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8135 return NDR_ERR_SUCCESS;
8138 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
8140 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
8142 if (flags & NDR_SET_VALUES) {
8143 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8145 if (flags & NDR_IN) {
8146 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
8148 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8150 if (r->in.server_name) {
8151 ndr_print_string(ndr, "server_name", r->in.server_name);
8154 ndr_print_string(ndr, "account_name", r->in.account_name);
8155 ndr_print_string(ndr, "workstation", r->in.workstation);
8158 if (flags & NDR_OUT) {
8159 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
8161 ndr_print_ptr(ndr, "info", r->out.info);
8163 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
8165 ndr_print_WERROR(ndr, "result", r->out.result);
8171 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
8173 if (flags & NDR_IN) {
8174 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8175 if (r->in.server_name) {
8176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8179 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));
8181 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8182 if (r->in.computer_name) {
8183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8185 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8186 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));
8188 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8189 if (r->in.credential) {
8190 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8192 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8193 if (r->in.return_authenticator) {
8194 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8196 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
8197 if (r->in.logon == NULL) {
8198 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8200 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8201 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8202 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
8204 if (flags & NDR_OUT) {
8205 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8206 if (r->out.return_authenticator) {
8207 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8209 if (r->out.validation == NULL) {
8210 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8212 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8213 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8214 if (r->out.authoritative == NULL) {
8215 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8217 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
8218 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8220 return NDR_ERR_SUCCESS;
8223 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
8225 uint32_t _ptr_server_name;
8226 uint32_t _ptr_computer_name;
8227 uint32_t _ptr_credential;
8228 uint32_t _ptr_return_authenticator;
8229 TALLOC_CTX *_mem_save_server_name_0;
8230 TALLOC_CTX *_mem_save_computer_name_0;
8231 TALLOC_CTX *_mem_save_credential_0;
8232 TALLOC_CTX *_mem_save_return_authenticator_0;
8233 TALLOC_CTX *_mem_save_logon_0;
8234 TALLOC_CTX *_mem_save_validation_0;
8235 TALLOC_CTX *_mem_save_authoritative_0;
8236 if (flags & NDR_IN) {
8237 ZERO_STRUCT(r->out);
8239 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8240 if (_ptr_server_name) {
8241 NDR_PULL_ALLOC(ndr, r->in.server_name);
8243 r->in.server_name = NULL;
8245 if (r->in.server_name) {
8246 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8247 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8248 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8249 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8250 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8251 return 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));
8253 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8254 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));
8255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8257 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8258 if (_ptr_computer_name) {
8259 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8261 r->in.computer_name = NULL;
8263 if (r->in.computer_name) {
8264 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8265 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8266 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8267 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8268 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8269 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8271 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8272 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));
8273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8275 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8276 if (_ptr_credential) {
8277 NDR_PULL_ALLOC(ndr, r->in.credential);
8279 r->in.credential = NULL;
8281 if (r->in.credential) {
8282 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8283 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8284 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8287 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8288 if (_ptr_return_authenticator) {
8289 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8291 r->in.return_authenticator = NULL;
8293 if (r->in.return_authenticator) {
8294 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8295 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8296 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8299 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
8300 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8301 NDR_PULL_ALLOC(ndr, r->in.logon);
8303 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
8304 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
8305 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8306 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
8308 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
8309 NDR_PULL_ALLOC(ndr, r->out.validation);
8310 ZERO_STRUCTP(r->out.validation);
8311 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8312 ZERO_STRUCTP(r->out.authoritative);
8314 if (flags & NDR_OUT) {
8315 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8316 if (_ptr_return_authenticator) {
8317 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8319 r->out.return_authenticator = NULL;
8321 if (r->out.return_authenticator) {
8322 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8323 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8324 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8325 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8327 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8328 NDR_PULL_ALLOC(ndr, r->out.validation);
8330 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
8331 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
8332 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8333 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
8335 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8336 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8338 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
8339 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
8340 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
8341 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
8342 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8344 return NDR_ERR_SUCCESS;
8347 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
8349 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
8351 if (flags & NDR_SET_VALUES) {
8352 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8354 if (flags & NDR_IN) {
8355 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
8357 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8359 if (r->in.server_name) {
8360 ndr_print_string(ndr, "server_name", r->in.server_name);
8363 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8365 if (r->in.computer_name) {
8366 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8369 ndr_print_ptr(ndr, "credential", r->in.credential);
8371 if (r->in.credential) {
8372 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8375 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8377 if (r->in.return_authenticator) {
8378 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8381 ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
8382 ndr_print_ptr(ndr, "logon", r->in.logon);
8384 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
8385 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
8387 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
8390 if (flags & NDR_OUT) {
8391 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
8393 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8395 if (r->out.return_authenticator) {
8396 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8399 ndr_print_ptr(ndr, "validation", r->out.validation);
8401 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
8402 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
8404 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
8406 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
8408 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8414 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
8416 if (flags & NDR_IN) {
8417 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8418 if (r->in.server_name) {
8419 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8422 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));
8424 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8425 if (r->in.computer_name) {
8426 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8427 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8428 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8429 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));
8431 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8432 if (r->in.credential) {
8433 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8435 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8436 if (r->in.return_authenticator) {
8437 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8439 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
8440 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8441 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8443 if (flags & NDR_OUT) {
8444 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8445 if (r->out.return_authenticator) {
8446 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8448 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8450 return NDR_ERR_SUCCESS;
8453 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
8455 uint32_t _ptr_server_name;
8456 uint32_t _ptr_computer_name;
8457 uint32_t _ptr_credential;
8458 uint32_t _ptr_return_authenticator;
8459 TALLOC_CTX *_mem_save_server_name_0;
8460 TALLOC_CTX *_mem_save_computer_name_0;
8461 TALLOC_CTX *_mem_save_credential_0;
8462 TALLOC_CTX *_mem_save_return_authenticator_0;
8463 if (flags & NDR_IN) {
8464 ZERO_STRUCT(r->out);
8466 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8467 if (_ptr_server_name) {
8468 NDR_PULL_ALLOC(ndr, r->in.server_name);
8470 r->in.server_name = NULL;
8472 if (r->in.server_name) {
8473 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8474 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8475 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8476 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8477 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8478 return 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));
8480 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8481 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));
8482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8484 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8485 if (_ptr_computer_name) {
8486 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8488 r->in.computer_name = NULL;
8490 if (r->in.computer_name) {
8491 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8492 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8493 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8494 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8495 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8496 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name));
8498 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8499 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));
8500 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8502 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8503 if (_ptr_credential) {
8504 NDR_PULL_ALLOC(ndr, r->in.credential);
8506 r->in.credential = NULL;
8508 if (r->in.credential) {
8509 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8510 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8511 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8514 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8515 if (_ptr_return_authenticator) {
8516 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8518 r->in.return_authenticator = NULL;
8520 if (r->in.return_authenticator) {
8521 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8522 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8523 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8526 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
8527 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8528 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8530 if (flags & NDR_OUT) {
8531 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8532 if (_ptr_return_authenticator) {
8533 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8535 r->out.return_authenticator = NULL;
8537 if (r->out.return_authenticator) {
8538 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8539 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8540 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8543 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8545 return NDR_ERR_SUCCESS;
8548 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
8550 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
8552 if (flags & NDR_SET_VALUES) {
8553 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8555 if (flags & NDR_IN) {
8556 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
8558 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8560 if (r->in.server_name) {
8561 ndr_print_string(ndr, "server_name", r->in.server_name);
8564 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8566 if (r->in.computer_name) {
8567 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8570 ndr_print_ptr(ndr, "credential", r->in.credential);
8572 if (r->in.credential) {
8573 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8576 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8578 if (r->in.return_authenticator) {
8579 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8582 ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
8583 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
8584 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
8587 if (flags & NDR_OUT) {
8588 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
8590 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8592 if (r->out.return_authenticator) {
8593 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8596 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8602 static enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
8604 if (flags & NDR_IN) {
8605 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8606 if (r->in.server_name) {
8607 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8610 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));
8612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8613 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8614 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8615 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));
8616 if (r->in.credentials == NULL) {
8617 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8619 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8621 if (flags & NDR_OUT) {
8622 if (r->out.return_credentials == NULL) {
8623 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8625 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8626 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8628 return NDR_ERR_SUCCESS;
8631 static enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
8633 uint32_t _ptr_server_name;
8634 TALLOC_CTX *_mem_save_server_name_0;
8635 TALLOC_CTX *_mem_save_credentials_0;
8636 TALLOC_CTX *_mem_save_return_credentials_0;
8637 if (flags & NDR_IN) {
8638 ZERO_STRUCT(r->out);
8640 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8641 if (_ptr_server_name) {
8642 NDR_PULL_ALLOC(ndr, r->in.server_name);
8644 r->in.server_name = NULL;
8646 if (r->in.server_name) {
8647 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8648 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8649 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8650 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8651 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8652 return 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));
8654 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8655 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));
8656 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8658 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8659 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8660 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8661 return 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));
8663 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8664 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));
8665 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8666 NDR_PULL_ALLOC(ndr, r->in.credentials);
8668 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8669 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8670 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8672 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8673 ZERO_STRUCTP(r->out.return_credentials);
8675 if (flags & NDR_OUT) {
8676 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8677 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8679 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8680 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8681 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8683 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8685 return NDR_ERR_SUCCESS;
8688 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
8690 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
8692 if (flags & NDR_SET_VALUES) {
8693 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8695 if (flags & NDR_IN) {
8696 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
8698 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8700 if (r->in.server_name) {
8701 ndr_print_string(ndr, "server_name", r->in.server_name);
8704 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8705 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8707 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8711 if (flags & NDR_OUT) {
8712 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
8714 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8716 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8718 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8724 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
8726 if (flags & NDR_IN) {
8727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8728 if (r->in.server_name) {
8729 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8732 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));
8734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8736 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8737 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));
8738 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8739 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8742 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));
8743 if (r->in.credentials == NULL) {
8744 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8746 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8748 if (flags & NDR_OUT) {
8749 if (r->out.return_credentials == NULL) {
8750 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8752 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8753 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8755 return NDR_ERR_SUCCESS;
8758 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
8760 uint32_t _ptr_server_name;
8761 TALLOC_CTX *_mem_save_server_name_0;
8762 TALLOC_CTX *_mem_save_credentials_0;
8763 TALLOC_CTX *_mem_save_return_credentials_0;
8764 if (flags & NDR_IN) {
8765 ZERO_STRUCT(r->out);
8767 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8768 if (_ptr_server_name) {
8769 NDR_PULL_ALLOC(ndr, r->in.server_name);
8771 r->in.server_name = NULL;
8773 if (r->in.server_name) {
8774 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8775 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8776 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8777 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8778 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8779 return 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));
8781 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8782 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));
8783 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8785 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8786 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8787 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8788 return 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));
8790 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8791 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));
8792 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8793 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8794 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8795 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8796 return 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));
8798 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8799 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));
8800 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8801 NDR_PULL_ALLOC(ndr, r->in.credentials);
8803 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8804 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8805 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8806 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8807 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8808 ZERO_STRUCTP(r->out.return_credentials);
8810 if (flags & NDR_OUT) {
8811 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8812 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8814 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8815 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8816 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8818 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8820 return NDR_ERR_SUCCESS;
8823 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
8825 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
8827 if (flags & NDR_SET_VALUES) {
8828 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8830 if (flags & NDR_IN) {
8831 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
8833 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8835 if (r->in.server_name) {
8836 ndr_print_string(ndr, "server_name", r->in.server_name);
8839 ndr_print_string(ndr, "account_name", r->in.account_name);
8840 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
8841 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8842 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8844 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8848 if (flags & NDR_OUT) {
8849 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
8851 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8853 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8855 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8861 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
8863 if (flags & NDR_IN) {
8864 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8865 if (r->in.server_name) {
8866 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8869 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));
8871 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8872 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8874 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));
8875 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8878 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8879 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));
8880 if (r->in.credential == NULL) {
8881 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8883 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8884 if (r->in.new_password == NULL) {
8885 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8887 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_password));
8889 if (flags & NDR_OUT) {
8890 if (r->out.return_authenticator == NULL) {
8891 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8893 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8894 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8896 return NDR_ERR_SUCCESS;
8899 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
8901 uint32_t _ptr_server_name;
8902 TALLOC_CTX *_mem_save_server_name_0;
8903 TALLOC_CTX *_mem_save_credential_0;
8904 TALLOC_CTX *_mem_save_return_authenticator_0;
8905 TALLOC_CTX *_mem_save_new_password_0;
8906 if (flags & NDR_IN) {
8907 ZERO_STRUCT(r->out);
8909 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8910 if (_ptr_server_name) {
8911 NDR_PULL_ALLOC(ndr, r->in.server_name);
8913 r->in.server_name = NULL;
8915 if (r->in.server_name) {
8916 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8917 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8918 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8919 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8920 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8921 return 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));
8923 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8924 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));
8925 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8927 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8928 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8929 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8930 return 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));
8932 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8933 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));
8934 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8935 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8936 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8937 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8938 return 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));
8940 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8941 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));
8942 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8943 NDR_PULL_ALLOC(ndr, r->in.credential);
8945 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8946 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
8947 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8948 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
8949 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8950 NDR_PULL_ALLOC(ndr, r->in.new_password);
8952 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
8953 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
8954 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_password));
8955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
8956 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8957 ZERO_STRUCTP(r->out.return_authenticator);
8959 if (flags & NDR_OUT) {
8960 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8961 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8963 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8964 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
8965 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8966 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
8967 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8969 return NDR_ERR_SUCCESS;
8972 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
8974 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
8976 if (flags & NDR_SET_VALUES) {
8977 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8979 if (flags & NDR_IN) {
8980 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
8982 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8984 if (r->in.server_name) {
8985 ndr_print_string(ndr, "server_name", r->in.server_name);
8988 ndr_print_string(ndr, "account_name", r->in.account_name);
8989 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
8990 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8991 ndr_print_ptr(ndr, "credential", r->in.credential);
8993 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8995 ndr_print_ptr(ndr, "new_password", r->in.new_password);
8997 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
9001 if (flags & NDR_OUT) {
9002 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
9004 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9006 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9008 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9014 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
9016 if (flags & NDR_IN) {
9017 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9019 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9020 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));
9021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9023 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9024 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9025 if (r->in.credential == NULL) {
9026 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9028 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9029 if (r->in.return_authenticator == NULL) {
9030 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9032 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9033 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9034 if (r->in.sequence_num == NULL) {
9035 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9037 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
9038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9040 if (flags & NDR_OUT) {
9041 if (r->out.return_authenticator == NULL) {
9042 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9044 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9045 if (r->out.sequence_num == NULL) {
9046 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9048 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
9049 if (r->out.delta_enum_array == NULL) {
9050 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9052 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
9053 if (*r->out.delta_enum_array) {
9054 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9056 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9058 return NDR_ERR_SUCCESS;
9061 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
9063 uint32_t _ptr_delta_enum_array;
9064 TALLOC_CTX *_mem_save_credential_0;
9065 TALLOC_CTX *_mem_save_return_authenticator_0;
9066 TALLOC_CTX *_mem_save_sequence_num_0;
9067 TALLOC_CTX *_mem_save_delta_enum_array_0;
9068 TALLOC_CTX *_mem_save_delta_enum_array_1;
9069 if (flags & NDR_IN) {
9070 ZERO_STRUCT(r->out);
9072 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9073 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9074 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9075 return 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));
9077 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9078 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));
9079 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9080 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9081 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9082 return 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));
9084 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9085 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9086 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9087 NDR_PULL_ALLOC(ndr, r->in.credential);
9089 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9090 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
9091 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
9093 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9094 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9096 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9097 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9098 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9099 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9100 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9101 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9102 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
9104 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9105 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9106 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
9107 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9108 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9109 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9110 *r->out.return_authenticator = *r->in.return_authenticator;
9111 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9112 *r->out.sequence_num = *r->in.sequence_num;
9113 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9114 ZERO_STRUCTP(r->out.delta_enum_array);
9116 if (flags & NDR_OUT) {
9117 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9118 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9120 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9121 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9122 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9123 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9124 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9125 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9127 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9128 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9129 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
9130 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9131 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9132 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9134 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9135 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9136 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
9137 if (_ptr_delta_enum_array) {
9138 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
9140 *r->out.delta_enum_array = NULL;
9142 if (*r->out.delta_enum_array) {
9143 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
9144 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
9145 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9146 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
9148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9149 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9151 return NDR_ERR_SUCCESS;
9154 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
9156 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
9158 if (flags & NDR_SET_VALUES) {
9159 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9161 if (flags & NDR_IN) {
9162 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
9164 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9165 ndr_print_string(ndr, "computername", r->in.computername);
9166 ndr_print_ptr(ndr, "credential", r->in.credential);
9168 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9170 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9172 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9174 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9175 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
9177 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
9179 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9182 if (flags & NDR_OUT) {
9183 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
9185 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9187 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9189 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
9191 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
9193 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9195 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
9197 if (*r->out.delta_enum_array) {
9198 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
9202 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9208 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
9210 if (flags & NDR_IN) {
9211 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9214 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));
9215 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9218 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9219 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9220 if (r->in.return_authenticator == NULL) {
9221 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9223 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9224 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9225 if (r->in.sync_context == NULL) {
9226 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9228 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
9229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9231 if (flags & NDR_OUT) {
9232 if (r->out.return_authenticator == NULL) {
9233 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9235 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9236 if (r->out.sync_context == NULL) {
9237 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
9240 if (r->out.delta_enum_array == NULL) {
9241 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9243 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9244 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9246 return NDR_ERR_SUCCESS;
9249 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
9251 TALLOC_CTX *_mem_save_return_authenticator_0;
9252 TALLOC_CTX *_mem_save_sync_context_0;
9253 TALLOC_CTX *_mem_save_delta_enum_array_0;
9254 if (flags & NDR_IN) {
9255 ZERO_STRUCT(r->out);
9257 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9258 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9259 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9260 return 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));
9262 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9263 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));
9264 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9265 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9266 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9267 return 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));
9269 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9270 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9271 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9272 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9273 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9275 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9276 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9277 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9278 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9279 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9280 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9281 NDR_PULL_ALLOC(ndr, r->in.sync_context);
9283 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9284 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
9285 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
9286 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9287 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9288 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9289 *r->out.return_authenticator = *r->in.return_authenticator;
9290 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9291 *r->out.sync_context = *r->in.sync_context;
9292 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9293 ZERO_STRUCTP(r->out.delta_enum_array);
9295 if (flags & NDR_OUT) {
9296 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9297 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9299 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9300 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9301 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9303 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9304 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9306 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9307 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
9308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
9309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9310 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9311 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9313 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9314 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9315 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9317 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9319 return NDR_ERR_SUCCESS;
9322 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
9324 ndr_print_struct(ndr, name, "netr_DatabaseSync");
9326 if (flags & NDR_SET_VALUES) {
9327 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9329 if (flags & NDR_IN) {
9330 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
9332 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9333 ndr_print_string(ndr, "computername", r->in.computername);
9334 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9335 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9337 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9339 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9340 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
9342 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
9344 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9347 if (flags & NDR_OUT) {
9348 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
9350 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9352 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9354 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
9356 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
9358 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9360 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
9362 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9368 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
9370 if (flags & NDR_IN) {
9371 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9372 if (r->in.logon_server) {
9373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9376 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));
9378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9379 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9380 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9381 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9382 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9383 if (r->in.return_authenticator == NULL) {
9384 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9386 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9387 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
9389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9392 if (flags & NDR_OUT) {
9393 if (r->out.return_authenticator == NULL) {
9394 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9396 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9397 if (r->out.buffer == NULL) {
9398 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9401 struct ndr_push *_ndr_buffer;
9402 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9403 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9404 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9406 if (r->out.count_returned == NULL) {
9407 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9409 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9410 if (r->out.total_entries == NULL) {
9411 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9414 if (r->out.recordid == NULL) {
9415 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9417 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9418 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9420 return NDR_ERR_SUCCESS;
9423 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
9425 uint32_t _ptr_logon_server;
9426 TALLOC_CTX *_mem_save_logon_server_0;
9427 TALLOC_CTX *_mem_save_return_authenticator_0;
9428 TALLOC_CTX *_mem_save_buffer_0;
9429 TALLOC_CTX *_mem_save_count_returned_0;
9430 TALLOC_CTX *_mem_save_total_entries_0;
9431 TALLOC_CTX *_mem_save_recordid_0;
9432 if (flags & NDR_IN) {
9433 ZERO_STRUCT(r->out);
9435 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9436 if (_ptr_logon_server) {
9437 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9439 r->in.logon_server = NULL;
9441 if (r->in.logon_server) {
9442 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9443 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9444 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9445 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9446 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9447 return 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));
9449 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9450 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));
9451 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9453 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9454 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9455 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9456 return 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));
9458 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9459 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9460 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9461 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9462 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9464 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9465 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9466 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9467 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9468 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9469 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
9470 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9471 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9472 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9473 *r->out.return_authenticator = *r->in.return_authenticator;
9474 NDR_PULL_ALLOC(ndr, r->out.buffer);
9475 ZERO_STRUCTP(r->out.buffer);
9476 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9477 ZERO_STRUCTP(r->out.count_returned);
9478 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9479 ZERO_STRUCTP(r->out.total_entries);
9480 NDR_PULL_ALLOC(ndr, r->out.recordid);
9481 ZERO_STRUCTP(r->out.recordid);
9483 if (flags & NDR_OUT) {
9484 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9485 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9487 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9488 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9489 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9490 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9491 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9492 NDR_PULL_ALLOC(ndr, r->out.buffer);
9494 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9495 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9497 struct ndr_pull *_ndr_buffer;
9498 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9499 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9500 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9502 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9503 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9504 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9506 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9507 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9508 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9509 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9510 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9511 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9513 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9514 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9515 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9516 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9517 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9518 NDR_PULL_ALLOC(ndr, r->out.recordid);
9520 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9521 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9522 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9523 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9524 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9526 return NDR_ERR_SUCCESS;
9529 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
9531 ndr_print_struct(ndr, name, "netr_AccountDeltas");
9533 if (flags & NDR_SET_VALUES) {
9534 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9536 if (flags & NDR_IN) {
9537 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
9539 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9541 if (r->in.logon_server) {
9542 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9545 ndr_print_string(ndr, "computername", r->in.computername);
9546 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9547 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9549 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9551 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
9552 ndr_print_uint32(ndr, "count", r->in.count);
9553 ndr_print_uint32(ndr, "level", r->in.level);
9554 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9557 if (flags & NDR_OUT) {
9558 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
9560 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9562 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9564 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9566 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9568 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9570 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9572 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9574 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9576 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9578 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9580 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9586 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
9588 if (flags & NDR_IN) {
9589 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9590 if (r->in.logon_server) {
9591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9594 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));
9596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9597 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9599 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9600 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9601 if (r->in.return_authenticator == NULL) {
9602 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9604 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
9606 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9607 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9608 if (r->in.recordid == NULL) {
9609 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9611 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9613 if (flags & NDR_OUT) {
9614 if (r->out.return_authenticator == NULL) {
9615 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9617 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9618 if (r->out.buffer == NULL) {
9619 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9622 struct ndr_push *_ndr_buffer;
9623 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9624 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9625 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9627 if (r->out.count_returned == NULL) {
9628 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9631 if (r->out.total_entries == NULL) {
9632 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9635 if (r->out.next_reference == NULL) {
9636 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9638 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
9639 if (r->out.recordid == NULL) {
9640 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9642 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9643 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9645 return NDR_ERR_SUCCESS;
9648 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
9650 uint32_t _ptr_logon_server;
9651 TALLOC_CTX *_mem_save_logon_server_0;
9652 TALLOC_CTX *_mem_save_return_authenticator_0;
9653 TALLOC_CTX *_mem_save_buffer_0;
9654 TALLOC_CTX *_mem_save_count_returned_0;
9655 TALLOC_CTX *_mem_save_total_entries_0;
9656 TALLOC_CTX *_mem_save_next_reference_0;
9657 TALLOC_CTX *_mem_save_recordid_0;
9658 if (flags & NDR_IN) {
9659 ZERO_STRUCT(r->out);
9661 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9662 if (_ptr_logon_server) {
9663 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9665 r->in.logon_server = NULL;
9667 if (r->in.logon_server) {
9668 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9669 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9670 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9671 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9672 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9673 return 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));
9675 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9676 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));
9677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9679 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9680 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9681 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9682 return 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));
9684 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9685 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9686 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9687 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9688 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9690 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9691 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9692 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9693 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9694 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
9695 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9696 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9697 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9698 NDR_PULL_ALLOC(ndr, r->in.recordid);
9700 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9701 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
9702 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9703 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9704 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9705 *r->out.return_authenticator = *r->in.return_authenticator;
9706 NDR_PULL_ALLOC(ndr, r->out.buffer);
9707 ZERO_STRUCTP(r->out.buffer);
9708 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9709 ZERO_STRUCTP(r->out.count_returned);
9710 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9711 ZERO_STRUCTP(r->out.total_entries);
9712 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9713 ZERO_STRUCTP(r->out.next_reference);
9714 NDR_PULL_ALLOC(ndr, r->out.recordid);
9715 *r->out.recordid = *r->in.recordid;
9717 if (flags & NDR_OUT) {
9718 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9719 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9721 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9722 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9723 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9725 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9726 NDR_PULL_ALLOC(ndr, r->out.buffer);
9728 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9729 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9731 struct ndr_pull *_ndr_buffer;
9732 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9733 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9734 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9736 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9737 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9738 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9740 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9741 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9742 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9743 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9744 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9745 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9747 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9748 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9749 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9751 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9752 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9754 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
9755 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
9756 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
9757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
9758 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9759 NDR_PULL_ALLOC(ndr, r->out.recordid);
9761 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9762 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9763 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9764 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9765 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9767 return NDR_ERR_SUCCESS;
9770 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
9772 ndr_print_struct(ndr, name, "netr_AccountSync");
9774 if (flags & NDR_SET_VALUES) {
9775 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9777 if (flags & NDR_IN) {
9778 ndr_print_struct(ndr, "in", "netr_AccountSync");
9780 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9782 if (r->in.logon_server) {
9783 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9786 ndr_print_string(ndr, "computername", r->in.computername);
9787 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9788 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9790 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9792 ndr_print_uint32(ndr, "reference", r->in.reference);
9793 ndr_print_uint32(ndr, "level", r->in.level);
9794 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9795 ndr_print_ptr(ndr, "recordid", r->in.recordid);
9797 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
9801 if (flags & NDR_OUT) {
9802 ndr_print_struct(ndr, "out", "netr_AccountSync");
9804 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9806 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9808 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9810 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9812 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9814 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9816 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9818 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9820 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
9822 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
9824 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9826 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9828 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9834 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
9836 if (flags & NDR_IN) {
9837 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9840 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));
9841 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
9842 if (r->in.domainname) {
9843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9844 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9845 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9846 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9849 if (flags & NDR_OUT) {
9850 if (r->out.dcname == NULL) {
9851 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9853 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
9854 if (*r->out.dcname) {
9855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9857 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9858 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9860 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9862 return NDR_ERR_SUCCESS;
9865 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
9867 uint32_t _ptr_domainname;
9868 uint32_t _ptr_dcname;
9869 TALLOC_CTX *_mem_save_domainname_0;
9870 TALLOC_CTX *_mem_save_dcname_0;
9871 TALLOC_CTX *_mem_save_dcname_1;
9872 if (flags & NDR_IN) {
9873 ZERO_STRUCT(r->out);
9875 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9876 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9877 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9878 return 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));
9880 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9881 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));
9882 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
9883 if (_ptr_domainname) {
9884 NDR_PULL_ALLOC(ndr, r->in.domainname);
9886 r->in.domainname = NULL;
9888 if (r->in.domainname) {
9889 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9890 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
9891 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
9892 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
9893 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
9894 return 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));
9896 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
9897 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
9898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
9900 NDR_PULL_ALLOC(ndr, r->out.dcname);
9901 ZERO_STRUCTP(r->out.dcname);
9903 if (flags & NDR_OUT) {
9904 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9905 NDR_PULL_ALLOC(ndr, r->out.dcname);
9907 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9908 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
9909 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
9911 NDR_PULL_ALLOC(ndr, *r->out.dcname);
9913 *r->out.dcname = NULL;
9915 if (*r->out.dcname) {
9916 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
9917 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
9918 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
9919 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
9920 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
9921 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));
9923 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
9924 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
9925 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
9927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
9928 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9930 return NDR_ERR_SUCCESS;
9933 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
9935 ndr_print_struct(ndr, name, "netr_GetDcName");
9937 if (flags & NDR_SET_VALUES) {
9938 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9940 if (flags & NDR_IN) {
9941 ndr_print_struct(ndr, "in", "netr_GetDcName");
9943 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9944 ndr_print_ptr(ndr, "domainname", r->in.domainname);
9946 if (r->in.domainname) {
9947 ndr_print_string(ndr, "domainname", r->in.domainname);
9952 if (flags & NDR_OUT) {
9953 ndr_print_struct(ndr, "out", "netr_GetDcName");
9955 ndr_print_ptr(ndr, "dcname", r->out.dcname);
9957 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
9959 if (*r->out.dcname) {
9960 ndr_print_string(ndr, "dcname", *r->out.dcname);
9964 ndr_print_WERROR(ndr, "result", r->out.result);
9970 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
9972 if (flags & NDR_IN) {
9973 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9974 if (r->in.logon_server) {
9975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9977 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9978 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));
9980 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
9981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9983 if (flags & NDR_OUT) {
9984 if (r->out.info == NULL) {
9985 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9987 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
9988 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9989 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9991 return NDR_ERR_SUCCESS;
9994 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
9996 uint32_t _ptr_logon_server;
9997 TALLOC_CTX *_mem_save_logon_server_0;
9998 TALLOC_CTX *_mem_save_info_0;
9999 if (flags & NDR_IN) {
10000 ZERO_STRUCT(r->out);
10002 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10003 if (_ptr_logon_server) {
10004 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10006 r->in.logon_server = NULL;
10008 if (r->in.logon_server) {
10009 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10010 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10011 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10012 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10013 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10014 return 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));
10016 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10017 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));
10018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10020 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10021 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10022 NDR_PULL_ALLOC(ndr, r->out.info);
10023 ZERO_STRUCTP(r->out.info);
10025 if (flags & NDR_OUT) {
10026 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10027 NDR_PULL_ALLOC(ndr, r->out.info);
10029 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10030 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10031 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10032 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10033 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10034 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10036 return NDR_ERR_SUCCESS;
10039 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
10041 ndr_print_struct(ndr, name, "netr_LogonControl");
10043 if (flags & NDR_SET_VALUES) {
10044 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10046 if (flags & NDR_IN) {
10047 ndr_print_struct(ndr, "in", "netr_LogonControl");
10049 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10051 if (r->in.logon_server) {
10052 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10055 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10056 ndr_print_uint32(ndr, "level", r->in.level);
10059 if (flags & NDR_OUT) {
10060 ndr_print_struct(ndr, "out", "netr_LogonControl");
10062 ndr_print_ptr(ndr, "info", r->out.info);
10064 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10065 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "info", r->out.info);
10067 ndr_print_WERROR(ndr, "result", r->out.result);
10073 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
10075 if (flags & NDR_IN) {
10076 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10077 if (r->in.logon_server) {
10078 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10079 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10080 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10081 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));
10083 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
10084 if (r->in.domainname) {
10085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10087 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10088 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10091 if (flags & NDR_OUT) {
10092 if (r->out.dcname == NULL) {
10093 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10095 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
10096 if (*r->out.dcname) {
10097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10098 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10100 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10102 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10104 return NDR_ERR_SUCCESS;
10107 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
10109 uint32_t _ptr_logon_server;
10110 uint32_t _ptr_domainname;
10111 uint32_t _ptr_dcname;
10112 TALLOC_CTX *_mem_save_logon_server_0;
10113 TALLOC_CTX *_mem_save_domainname_0;
10114 TALLOC_CTX *_mem_save_dcname_0;
10115 TALLOC_CTX *_mem_save_dcname_1;
10116 if (flags & NDR_IN) {
10117 ZERO_STRUCT(r->out);
10119 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10120 if (_ptr_logon_server) {
10121 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10123 r->in.logon_server = NULL;
10125 if (r->in.logon_server) {
10126 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10127 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10128 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10129 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10130 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10131 return 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));
10133 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10134 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));
10135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10137 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
10138 if (_ptr_domainname) {
10139 NDR_PULL_ALLOC(ndr, r->in.domainname);
10141 r->in.domainname = NULL;
10143 if (r->in.domainname) {
10144 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10145 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
10146 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
10147 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
10148 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
10149 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domainname), ndr_get_array_length(ndr, &r->in.domainname));
10151 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
10152 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
10153 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
10155 NDR_PULL_ALLOC(ndr, r->out.dcname);
10156 ZERO_STRUCTP(r->out.dcname);
10158 if (flags & NDR_OUT) {
10159 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10160 NDR_PULL_ALLOC(ndr, r->out.dcname);
10162 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10163 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
10164 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
10166 NDR_PULL_ALLOC(ndr, *r->out.dcname);
10168 *r->out.dcname = NULL;
10170 if (*r->out.dcname) {
10171 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
10172 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
10173 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
10174 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
10175 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
10176 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));
10178 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
10179 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
10180 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
10182 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
10183 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10185 return NDR_ERR_SUCCESS;
10188 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
10190 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
10192 if (flags & NDR_SET_VALUES) {
10193 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10195 if (flags & NDR_IN) {
10196 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
10198 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10200 if (r->in.logon_server) {
10201 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10204 ndr_print_ptr(ndr, "domainname", r->in.domainname);
10206 if (r->in.domainname) {
10207 ndr_print_string(ndr, "domainname", r->in.domainname);
10212 if (flags & NDR_OUT) {
10213 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
10215 ndr_print_ptr(ndr, "dcname", r->out.dcname);
10217 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
10219 if (*r->out.dcname) {
10220 ndr_print_string(ndr, "dcname", *r->out.dcname);
10224 ndr_print_WERROR(ndr, "result", r->out.result);
10230 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
10232 if (flags & NDR_IN) {
10233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10234 if (r->in.logon_server) {
10235 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10236 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10238 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));
10240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.function_code));
10241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10242 if (r->in.data == NULL) {
10243 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10245 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
10246 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10248 if (flags & NDR_OUT) {
10249 if (r->out.query == NULL) {
10250 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10252 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10253 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10254 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10256 return NDR_ERR_SUCCESS;
10259 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
10261 uint32_t _ptr_logon_server;
10262 TALLOC_CTX *_mem_save_logon_server_0;
10263 TALLOC_CTX *_mem_save_data_0;
10264 TALLOC_CTX *_mem_save_query_0;
10265 if (flags & NDR_IN) {
10266 ZERO_STRUCT(r->out);
10268 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10269 if (_ptr_logon_server) {
10270 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10272 r->in.logon_server = NULL;
10274 if (r->in.logon_server) {
10275 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10276 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10277 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10278 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10279 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10280 return 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));
10282 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10283 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));
10284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10286 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
10287 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10288 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10289 NDR_PULL_ALLOC(ndr, r->in.data);
10291 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
10292 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
10293 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
10294 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10295 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
10296 NDR_PULL_ALLOC(ndr, r->out.query);
10297 ZERO_STRUCTP(r->out.query);
10299 if (flags & NDR_OUT) {
10300 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10301 NDR_PULL_ALLOC(ndr, r->out.query);
10303 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10304 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10305 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10306 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10308 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10310 return NDR_ERR_SUCCESS;
10313 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
10315 ndr_print_struct(ndr, name, "netr_LogonControl2");
10317 if (flags & NDR_SET_VALUES) {
10318 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10320 if (flags & NDR_IN) {
10321 ndr_print_struct(ndr, "in", "netr_LogonControl2");
10323 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10325 if (r->in.logon_server) {
10326 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10329 ndr_print_uint32(ndr, "function_code", r->in.function_code);
10330 ndr_print_uint32(ndr, "level", r->in.level);
10331 ndr_print_ptr(ndr, "data", r->in.data);
10333 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
10334 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
10338 if (flags & NDR_OUT) {
10339 ndr_print_struct(ndr, "out", "netr_LogonControl2");
10341 ndr_print_ptr(ndr, "query", r->out.query);
10343 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10344 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10346 ndr_print_WERROR(ndr, "result", r->out.result);
10352 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
10354 if (flags & NDR_IN) {
10355 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10356 if (r->in.server_name) {
10357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10360 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));
10362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10365 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));
10366 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10370 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));
10371 if (r->in.credentials == NULL) {
10372 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10374 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10375 if (r->in.negotiate_flags == NULL) {
10376 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.negotiate_flags));
10380 if (flags & NDR_OUT) {
10381 if (r->out.return_credentials == NULL) {
10382 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10384 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10385 if (r->out.negotiate_flags == NULL) {
10386 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.negotiate_flags));
10389 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10391 return NDR_ERR_SUCCESS;
10394 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
10396 uint32_t _ptr_server_name;
10397 TALLOC_CTX *_mem_save_server_name_0;
10398 TALLOC_CTX *_mem_save_credentials_0;
10399 TALLOC_CTX *_mem_save_return_credentials_0;
10400 TALLOC_CTX *_mem_save_negotiate_flags_0;
10401 if (flags & NDR_IN) {
10402 ZERO_STRUCT(r->out);
10404 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10405 if (_ptr_server_name) {
10406 NDR_PULL_ALLOC(ndr, r->in.server_name);
10408 r->in.server_name = NULL;
10410 if (r->in.server_name) {
10411 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10412 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10413 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10414 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10415 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10416 return 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));
10418 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10419 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));
10420 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10422 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10423 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10424 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10425 return 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));
10427 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10428 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));
10429 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10430 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10431 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10432 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10433 return 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));
10435 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10436 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));
10437 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10438 NDR_PULL_ALLOC(ndr, r->in.credentials);
10440 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10441 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10442 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10444 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10445 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
10447 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10448 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10449 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.negotiate_flags));
10450 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10451 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10452 ZERO_STRUCTP(r->out.return_credentials);
10453 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10454 *r->out.negotiate_flags = *r->in.negotiate_flags;
10456 if (flags & NDR_OUT) {
10457 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10458 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10460 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10461 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10462 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10464 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10465 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10467 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10468 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10469 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.negotiate_flags));
10470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10471 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10473 return NDR_ERR_SUCCESS;
10476 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
10478 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
10480 if (flags & NDR_SET_VALUES) {
10481 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10483 if (flags & NDR_IN) {
10484 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
10486 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10488 if (r->in.server_name) {
10489 ndr_print_string(ndr, "server_name", r->in.server_name);
10492 ndr_print_string(ndr, "account_name", r->in.account_name);
10493 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10494 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10495 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10497 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10499 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
10501 ndr_print_uint32(ndr, "negotiate_flags", *r->in.negotiate_flags);
10505 if (flags & NDR_OUT) {
10506 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
10508 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10510 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10512 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
10514 ndr_print_uint32(ndr, "negotiate_flags", *r->out.negotiate_flags);
10516 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10522 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
10524 if (flags & NDR_IN) {
10525 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10526 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10528 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));
10529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10532 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10533 if (r->in.credential == NULL) {
10534 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10536 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10537 if (r->in.return_authenticator == NULL) {
10538 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10540 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10541 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10542 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.restart_state));
10543 if (r->in.sync_context == NULL) {
10544 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10546 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10547 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10549 if (flags & NDR_OUT) {
10550 if (r->out.return_authenticator == NULL) {
10551 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10553 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10554 if (r->out.sync_context == NULL) {
10555 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10557 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10558 if (r->out.delta_enum_array == NULL) {
10559 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10561 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10562 if (*r->out.delta_enum_array) {
10563 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10565 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10567 return NDR_ERR_SUCCESS;
10570 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
10572 uint32_t _ptr_delta_enum_array;
10573 TALLOC_CTX *_mem_save_credential_0;
10574 TALLOC_CTX *_mem_save_return_authenticator_0;
10575 TALLOC_CTX *_mem_save_sync_context_0;
10576 TALLOC_CTX *_mem_save_delta_enum_array_0;
10577 TALLOC_CTX *_mem_save_delta_enum_array_1;
10578 if (flags & NDR_IN) {
10579 ZERO_STRUCT(r->out);
10581 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10582 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10583 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10584 return 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));
10586 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10587 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));
10588 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10589 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10590 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10591 return 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));
10593 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10594 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10595 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10596 NDR_PULL_ALLOC(ndr, r->in.credential);
10598 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10599 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10600 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10601 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10602 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10603 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10605 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10606 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10607 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10608 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10609 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10610 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.restart_state));
10611 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10612 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10614 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10615 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10616 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10617 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10618 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10619 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10620 *r->out.return_authenticator = *r->in.return_authenticator;
10621 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10622 *r->out.sync_context = *r->in.sync_context;
10623 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10624 ZERO_STRUCTP(r->out.delta_enum_array);
10626 if (flags & NDR_OUT) {
10627 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10628 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10630 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10631 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10632 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10633 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10634 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10635 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10637 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10638 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10639 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10641 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10642 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10644 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10645 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10646 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10647 if (_ptr_delta_enum_array) {
10648 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10650 *r->out.delta_enum_array = NULL;
10652 if (*r->out.delta_enum_array) {
10653 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10654 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10655 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10656 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10658 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10659 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10661 return NDR_ERR_SUCCESS;
10664 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
10666 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
10668 if (flags & NDR_SET_VALUES) {
10669 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10671 if (flags & NDR_IN) {
10672 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
10674 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10675 ndr_print_string(ndr, "computername", r->in.computername);
10676 ndr_print_ptr(ndr, "credential", r->in.credential);
10678 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10680 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10682 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10684 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10685 ndr_print_uint16(ndr, "restart_state", r->in.restart_state);
10686 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10688 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10690 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10693 if (flags & NDR_OUT) {
10694 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
10696 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10698 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10700 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10702 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10704 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10706 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10708 if (*r->out.delta_enum_array) {
10709 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10713 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10719 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
10721 if (flags & NDR_IN) {
10722 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10723 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10724 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10725 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));
10726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10728 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10729 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10730 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10731 if (r->in.return_authenticator == NULL) {
10732 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10734 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10735 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.change_log_entry));
10736 if (r->in.change_log_entry) {
10737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10738 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, r->in.change_log_entry_size));
10740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10742 if (flags & NDR_OUT) {
10743 if (r->out.return_authenticator == NULL) {
10744 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10746 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10747 if (r->out.delta_enum_array == NULL) {
10748 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10750 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10751 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10753 return NDR_ERR_SUCCESS;
10756 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
10758 uint32_t _ptr_change_log_entry;
10759 TALLOC_CTX *_mem_save_return_authenticator_0;
10760 TALLOC_CTX *_mem_save_change_log_entry_0;
10761 TALLOC_CTX *_mem_save_delta_enum_array_0;
10762 if (flags & NDR_IN) {
10763 ZERO_STRUCT(r->out);
10765 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10766 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10767 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10768 return 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));
10770 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10771 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));
10772 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10773 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10774 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10775 return 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));
10777 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10778 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10779 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10780 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10781 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10783 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10784 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10785 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10787 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_change_log_entry));
10788 if (_ptr_change_log_entry) {
10789 NDR_PULL_ALLOC(ndr, r->in.change_log_entry);
10791 r->in.change_log_entry = NULL;
10793 if (r->in.change_log_entry) {
10794 _mem_save_change_log_entry_0 = NDR_PULL_GET_MEM_CTX(ndr);
10795 NDR_PULL_SET_MEM_CTX(ndr, r->in.change_log_entry, 0);
10796 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.change_log_entry));
10797 NDR_PULL_ALLOC_N(ndr, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry));
10798 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry)));
10799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_change_log_entry_0, 0);
10801 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
10802 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10803 *r->out.return_authenticator = *r->in.return_authenticator;
10804 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10805 ZERO_STRUCTP(r->out.delta_enum_array);
10806 if (r->in.change_log_entry) {
10807 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.change_log_entry, r->in.change_log_entry_size));
10810 if (flags & NDR_OUT) {
10811 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10812 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10814 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10815 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10816 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10817 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10818 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10819 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10821 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10822 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10823 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10825 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10827 return NDR_ERR_SUCCESS;
10830 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
10832 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
10834 if (flags & NDR_SET_VALUES) {
10835 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10837 if (flags & NDR_IN) {
10838 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
10840 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10841 ndr_print_string(ndr, "computername", r->in.computername);
10842 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10843 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10845 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10847 ndr_print_ptr(ndr, "change_log_entry", r->in.change_log_entry);
10849 if (r->in.change_log_entry) {
10850 ndr_print_array_uint8(ndr, "change_log_entry", r->in.change_log_entry, r->in.change_log_entry_size);
10853 ndr_print_uint32(ndr, "change_log_entry_size", r->in.change_log_entry_size);
10856 if (flags & NDR_OUT) {
10857 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
10859 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10861 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10863 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10865 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
10867 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10873 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
10875 if (flags & NDR_IN) {
10876 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10877 if (r->in.logon_server) {
10878 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10880 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10881 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));
10883 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.function_code));
10884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10885 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.data, r->in.function_code));
10886 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10888 if (flags & NDR_OUT) {
10889 if (r->out.query == NULL) {
10890 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10892 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10893 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10894 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10896 return NDR_ERR_SUCCESS;
10899 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
10901 uint32_t _ptr_logon_server;
10902 TALLOC_CTX *_mem_save_logon_server_0;
10903 TALLOC_CTX *_mem_save_query_0;
10904 if (flags & NDR_IN) {
10905 ZERO_STRUCT(r->out);
10907 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10908 if (_ptr_logon_server) {
10909 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10911 r->in.logon_server = NULL;
10913 if (r->in.logon_server) {
10914 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10915 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10916 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10917 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10918 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10919 return 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));
10921 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10922 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));
10923 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10925 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
10926 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10927 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.data, r->in.function_code));
10928 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10929 NDR_PULL_ALLOC(ndr, r->out.query);
10930 ZERO_STRUCTP(r->out.query);
10932 if (flags & NDR_OUT) {
10933 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10934 NDR_PULL_ALLOC(ndr, r->out.query);
10936 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10937 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10938 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10939 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10940 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10941 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10943 return NDR_ERR_SUCCESS;
10946 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
10948 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
10950 if (flags & NDR_SET_VALUES) {
10951 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10953 if (flags & NDR_IN) {
10954 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
10956 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10958 if (r->in.logon_server) {
10959 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10962 ndr_print_uint32(ndr, "function_code", r->in.function_code);
10963 ndr_print_uint32(ndr, "level", r->in.level);
10964 ndr_print_set_switch_value(ndr, &r->in.data, r->in.function_code);
10965 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", &r->in.data);
10968 if (flags & NDR_OUT) {
10969 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
10971 ndr_print_ptr(ndr, "query", r->out.query);
10973 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10974 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10976 ndr_print_WERROR(ndr, "result", r->out.result);
10982 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
10984 if (flags & NDR_IN) {
10985 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10986 if (r->in.server_name) {
10987 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10988 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10990 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));
10993 if (flags & NDR_OUT) {
10994 if (r->out.trusted_domains_blob == NULL) {
10995 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10997 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
10998 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11000 return NDR_ERR_SUCCESS;
11003 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
11005 uint32_t _ptr_server_name;
11006 TALLOC_CTX *_mem_save_server_name_0;
11007 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
11008 if (flags & NDR_IN) {
11009 ZERO_STRUCT(r->out);
11011 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11012 if (_ptr_server_name) {
11013 NDR_PULL_ALLOC(ndr, r->in.server_name);
11015 r->in.server_name = NULL;
11017 if (r->in.server_name) {
11018 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11019 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11020 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11021 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11022 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11023 return 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));
11025 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11026 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));
11027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11029 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11030 ZERO_STRUCTP(r->out.trusted_domains_blob);
11032 if (flags & NDR_OUT) {
11033 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11034 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11036 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
11037 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
11038 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11039 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
11040 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11042 return NDR_ERR_SUCCESS;
11045 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11047 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
11049 if (flags & NDR_SET_VALUES) {
11050 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11052 if (flags & NDR_IN) {
11053 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
11055 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11057 if (r->in.server_name) {
11058 ndr_print_string(ndr, "server_name", r->in.server_name);
11063 if (flags & NDR_OUT) {
11064 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
11066 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11068 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11070 ndr_print_WERROR(ndr, "result", r->out.result);
11076 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
11078 if (flags & NDR_IN) {
11079 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11080 if (r->in.server_unc) {
11081 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11084 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));
11086 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11087 if (r->in.domain_name) {
11088 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11089 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11090 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11091 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));
11093 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11094 if (r->in.domain_guid) {
11095 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11097 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
11098 if (r->in.site_guid) {
11099 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.site_guid));
11101 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11103 if (flags & NDR_OUT) {
11104 if (r->out.info == NULL) {
11105 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11107 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11108 if (*r->out.info) {
11109 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11111 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11113 return NDR_ERR_SUCCESS;
11116 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
11118 uint32_t _ptr_server_unc;
11119 uint32_t _ptr_domain_name;
11120 uint32_t _ptr_domain_guid;
11121 uint32_t _ptr_site_guid;
11122 uint32_t _ptr_info;
11123 TALLOC_CTX *_mem_save_server_unc_0;
11124 TALLOC_CTX *_mem_save_domain_name_0;
11125 TALLOC_CTX *_mem_save_domain_guid_0;
11126 TALLOC_CTX *_mem_save_site_guid_0;
11127 TALLOC_CTX *_mem_save_info_0;
11128 TALLOC_CTX *_mem_save_info_1;
11129 if (flags & NDR_IN) {
11130 ZERO_STRUCT(r->out);
11132 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11133 if (_ptr_server_unc) {
11134 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11136 r->in.server_unc = NULL;
11138 if (r->in.server_unc) {
11139 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11140 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11141 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11142 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11143 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11144 return 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));
11146 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11147 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));
11148 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11150 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11151 if (_ptr_domain_name) {
11152 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11154 r->in.domain_name = NULL;
11156 if (r->in.domain_name) {
11157 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11158 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11159 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11160 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11161 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11162 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
11164 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11165 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));
11166 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11168 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11169 if (_ptr_domain_guid) {
11170 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11172 r->in.domain_guid = NULL;
11174 if (r->in.domain_guid) {
11175 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11176 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11177 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11178 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11180 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
11181 if (_ptr_site_guid) {
11182 NDR_PULL_ALLOC(ndr, r->in.site_guid);
11184 r->in.site_guid = NULL;
11186 if (r->in.site_guid) {
11187 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11188 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
11189 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.site_guid));
11190 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
11192 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11193 NDR_PULL_ALLOC(ndr, r->out.info);
11194 ZERO_STRUCTP(r->out.info);
11196 if (flags & NDR_OUT) {
11197 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11198 NDR_PULL_ALLOC(ndr, r->out.info);
11200 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11201 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11202 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11204 NDR_PULL_ALLOC(ndr, *r->out.info);
11206 *r->out.info = NULL;
11208 if (*r->out.info) {
11209 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11210 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11211 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11215 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11217 return NDR_ERR_SUCCESS;
11220 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
11222 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
11224 if (flags & NDR_SET_VALUES) {
11225 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11227 if (flags & NDR_IN) {
11228 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
11230 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11232 if (r->in.server_unc) {
11233 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11236 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11238 if (r->in.domain_name) {
11239 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11242 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11244 if (r->in.domain_guid) {
11245 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11248 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
11250 if (r->in.site_guid) {
11251 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
11254 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11257 if (flags & NDR_OUT) {
11258 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
11260 ndr_print_ptr(ndr, "info", r->out.info);
11262 ndr_print_ptr(ndr, "info", *r->out.info);
11264 if (*r->out.info) {
11265 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11269 ndr_print_WERROR(ndr, "result", r->out.result);
11275 static enum ndr_err_code ndr_push_netr_NETRLOGONDUMMYROUTINE1(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11277 if (flags & NDR_IN) {
11279 if (flags & NDR_OUT) {
11280 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11282 return NDR_ERR_SUCCESS;
11285 static enum ndr_err_code ndr_pull_netr_NETRLOGONDUMMYROUTINE1(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONDUMMYROUTINE1 *r)
11287 if (flags & NDR_IN) {
11289 if (flags & NDR_OUT) {
11290 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11292 return NDR_ERR_SUCCESS;
11295 _PUBLIC_ void ndr_print_netr_NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11297 ndr_print_struct(ndr, name, "netr_NETRLOGONDUMMYROUTINE1");
11299 if (flags & NDR_SET_VALUES) {
11300 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11302 if (flags & NDR_IN) {
11303 ndr_print_struct(ndr, "in", "netr_NETRLOGONDUMMYROUTINE1");
11307 if (flags & NDR_OUT) {
11308 ndr_print_struct(ndr, "out", "netr_NETRLOGONDUMMYROUTINE1");
11310 ndr_print_WERROR(ndr, "result", r->out.result);
11316 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11318 if (flags & NDR_IN) {
11320 if (flags & NDR_OUT) {
11321 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11323 return NDR_ERR_SUCCESS;
11326 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
11328 if (flags & NDR_IN) {
11330 if (flags & NDR_OUT) {
11331 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11333 return NDR_ERR_SUCCESS;
11336 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11338 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
11340 if (flags & NDR_SET_VALUES) {
11341 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11343 if (flags & NDR_IN) {
11344 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
11348 if (flags & NDR_OUT) {
11349 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
11351 ndr_print_WERROR(ndr, "result", r->out.result);
11357 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
11359 if (flags & NDR_IN) {
11360 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11361 if (r->in.server_name) {
11362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11365 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));
11367 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11368 if (r->in.domain_name) {
11369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11372 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));
11375 if (flags & NDR_OUT) {
11376 if (r->out.rid == NULL) {
11377 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11379 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11380 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11382 return NDR_ERR_SUCCESS;
11385 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
11387 uint32_t _ptr_server_name;
11388 uint32_t _ptr_domain_name;
11389 TALLOC_CTX *_mem_save_server_name_0;
11390 TALLOC_CTX *_mem_save_domain_name_0;
11391 TALLOC_CTX *_mem_save_rid_0;
11392 if (flags & NDR_IN) {
11393 ZERO_STRUCT(r->out);
11395 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11396 if (_ptr_server_name) {
11397 NDR_PULL_ALLOC(ndr, r->in.server_name);
11399 r->in.server_name = NULL;
11401 if (r->in.server_name) {
11402 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11403 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11404 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11405 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11406 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11407 return 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));
11409 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11410 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));
11411 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11413 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11414 if (_ptr_domain_name) {
11415 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11417 r->in.domain_name = NULL;
11419 if (r->in.domain_name) {
11420 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11421 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11422 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11423 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11424 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11425 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
11427 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11428 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));
11429 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11431 NDR_PULL_ALLOC(ndr, r->out.rid);
11432 ZERO_STRUCTP(r->out.rid);
11434 if (flags & NDR_OUT) {
11435 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11436 NDR_PULL_ALLOC(ndr, r->out.rid);
11438 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11439 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11440 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11441 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11442 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11444 return NDR_ERR_SUCCESS;
11447 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
11449 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
11451 if (flags & NDR_SET_VALUES) {
11452 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11454 if (flags & NDR_IN) {
11455 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
11457 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11459 if (r->in.server_name) {
11460 ndr_print_string(ndr, "server_name", r->in.server_name);
11463 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11465 if (r->in.domain_name) {
11466 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11471 if (flags & NDR_OUT) {
11472 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
11474 ndr_print_ptr(ndr, "rid", r->out.rid);
11476 ndr_print_uint32(ndr, "rid", *r->out.rid);
11478 ndr_print_WERROR(ndr, "result", r->out.result);
11484 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11486 if (flags & NDR_IN) {
11488 if (flags & NDR_OUT) {
11489 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11491 return NDR_ERR_SUCCESS;
11494 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11496 if (flags & NDR_IN) {
11498 if (flags & NDR_OUT) {
11499 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11501 return NDR_ERR_SUCCESS;
11504 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11506 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
11508 if (flags & NDR_SET_VALUES) {
11509 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11511 if (flags & NDR_IN) {
11512 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11516 if (flags & NDR_OUT) {
11517 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11519 ndr_print_WERROR(ndr, "result", r->out.result);
11525 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11527 if (flags & NDR_IN) {
11529 if (flags & NDR_OUT) {
11530 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11532 return NDR_ERR_SUCCESS;
11535 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11537 if (flags & NDR_IN) {
11539 if (flags & NDR_OUT) {
11540 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11542 return NDR_ERR_SUCCESS;
11545 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11547 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11549 if (flags & NDR_SET_VALUES) {
11550 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11552 if (flags & NDR_IN) {
11553 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11557 if (flags & NDR_OUT) {
11558 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11560 ndr_print_WERROR(ndr, "result", r->out.result);
11566 static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
11568 if (flags & NDR_IN) {
11569 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11570 if (r->in.server_name) {
11571 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11574 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));
11576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11577 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11579 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));
11580 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11582 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11583 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11584 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));
11585 if (r->in.credentials == NULL) {
11586 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11588 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11589 if (r->in.negotiate_flags == NULL) {
11590 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11594 if (flags & NDR_OUT) {
11595 if (r->out.credentials == NULL) {
11596 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11598 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11599 if (r->out.negotiate_flags == NULL) {
11600 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11602 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11603 if (r->out.rid == NULL) {
11604 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11606 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11607 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11609 return NDR_ERR_SUCCESS;
11612 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
11614 uint32_t _ptr_server_name;
11615 TALLOC_CTX *_mem_save_server_name_0;
11616 TALLOC_CTX *_mem_save_credentials_0;
11617 TALLOC_CTX *_mem_save_negotiate_flags_0;
11618 TALLOC_CTX *_mem_save_rid_0;
11619 if (flags & NDR_IN) {
11620 ZERO_STRUCT(r->out);
11622 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11623 if (_ptr_server_name) {
11624 NDR_PULL_ALLOC(ndr, r->in.server_name);
11626 r->in.server_name = NULL;
11628 if (r->in.server_name) {
11629 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11630 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11631 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11632 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11633 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11634 return 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));
11636 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11637 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));
11638 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11640 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11641 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11642 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11643 return 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));
11645 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11646 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));
11647 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11648 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11649 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11650 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11651 return 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));
11653 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11654 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));
11655 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11656 NDR_PULL_ALLOC(ndr, r->in.credentials);
11658 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11659 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11660 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11661 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11662 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11663 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11665 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11666 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11667 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.negotiate_flags));
11668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11669 NDR_PULL_ALLOC(ndr, r->out.credentials);
11670 *r->out.credentials = *r->in.credentials;
11671 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11672 *r->out.negotiate_flags = *r->in.negotiate_flags;
11673 NDR_PULL_ALLOC(ndr, r->out.rid);
11674 ZERO_STRUCTP(r->out.rid);
11676 if (flags & NDR_OUT) {
11677 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11678 NDR_PULL_ALLOC(ndr, r->out.credentials);
11680 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11681 NDR_PULL_SET_MEM_CTX(ndr, r->out.credentials, LIBNDR_FLAG_REF_ALLOC);
11682 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11684 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11685 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11687 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11688 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11689 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.negotiate_flags));
11690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11691 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11692 NDR_PULL_ALLOC(ndr, r->out.rid);
11694 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11695 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11696 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11697 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11698 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11700 return NDR_ERR_SUCCESS;
11703 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
11705 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
11707 if (flags & NDR_SET_VALUES) {
11708 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11710 if (flags & NDR_IN) {
11711 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
11713 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11715 if (r->in.server_name) {
11716 ndr_print_string(ndr, "server_name", r->in.server_name);
11719 ndr_print_string(ndr, "account_name", r->in.account_name);
11720 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11721 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11722 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11724 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11726 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11728 ndr_print_uint32(ndr, "negotiate_flags", *r->in.negotiate_flags);
11732 if (flags & NDR_OUT) {
11733 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
11735 ndr_print_ptr(ndr, "credentials", r->out.credentials);
11737 ndr_print_netr_Credential(ndr, "credentials", r->out.credentials);
11739 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
11741 ndr_print_uint32(ndr, "negotiate_flags", *r->out.negotiate_flags);
11743 ndr_print_ptr(ndr, "rid", r->out.rid);
11745 ndr_print_uint32(ndr, "rid", *r->out.rid);
11747 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11753 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
11755 if (flags & NDR_IN) {
11756 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11757 if (r->in.server_unc) {
11758 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11760 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11761 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));
11763 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11764 if (r->in.domain_name) {
11765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11768 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));
11770 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11771 if (r->in.domain_guid) {
11772 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11774 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
11775 if (r->in.site_name) {
11776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11779 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));
11781 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11783 if (flags & NDR_OUT) {
11784 if (r->out.info == NULL) {
11785 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11787 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11788 if (*r->out.info) {
11789 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11791 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11793 return NDR_ERR_SUCCESS;
11796 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
11798 uint32_t _ptr_server_unc;
11799 uint32_t _ptr_domain_name;
11800 uint32_t _ptr_domain_guid;
11801 uint32_t _ptr_site_name;
11802 uint32_t _ptr_info;
11803 TALLOC_CTX *_mem_save_server_unc_0;
11804 TALLOC_CTX *_mem_save_domain_name_0;
11805 TALLOC_CTX *_mem_save_domain_guid_0;
11806 TALLOC_CTX *_mem_save_site_name_0;
11807 TALLOC_CTX *_mem_save_info_0;
11808 TALLOC_CTX *_mem_save_info_1;
11809 if (flags & NDR_IN) {
11810 ZERO_STRUCT(r->out);
11812 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11813 if (_ptr_server_unc) {
11814 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11816 r->in.server_unc = NULL;
11818 if (r->in.server_unc) {
11819 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11820 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11821 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11822 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11823 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11824 return 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));
11826 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11827 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));
11828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11830 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11831 if (_ptr_domain_name) {
11832 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11834 r->in.domain_name = NULL;
11836 if (r->in.domain_name) {
11837 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11838 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11839 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11840 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11841 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11842 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain_name), ndr_get_array_length(ndr, &r->in.domain_name));
11844 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11845 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));
11846 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11848 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11849 if (_ptr_domain_guid) {
11850 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11852 r->in.domain_guid = NULL;
11854 if (r->in.domain_guid) {
11855 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11856 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11857 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11858 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11860 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
11861 if (_ptr_site_name) {
11862 NDR_PULL_ALLOC(ndr, r->in.site_name);
11864 r->in.site_name = NULL;
11866 if (r->in.site_name) {
11867 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11868 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
11869 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
11870 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
11871 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
11872 return 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));
11874 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
11875 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));
11876 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
11878 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11879 NDR_PULL_ALLOC(ndr, r->out.info);
11880 ZERO_STRUCTP(r->out.info);
11882 if (flags & NDR_OUT) {
11883 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11884 NDR_PULL_ALLOC(ndr, r->out.info);
11886 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11887 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11888 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11890 NDR_PULL_ALLOC(ndr, *r->out.info);
11892 *r->out.info = NULL;
11894 if (*r->out.info) {
11895 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11896 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11897 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11900 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11901 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11903 return NDR_ERR_SUCCESS;
11906 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
11908 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
11910 if (flags & NDR_SET_VALUES) {
11911 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11913 if (flags & NDR_IN) {
11914 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
11916 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11918 if (r->in.server_unc) {
11919 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11922 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11924 if (r->in.domain_name) {
11925 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11928 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11930 if (r->in.domain_guid) {
11931 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11934 ndr_print_ptr(ndr, "site_name", r->in.site_name);
11936 if (r->in.site_name) {
11937 ndr_print_string(ndr, "site_name", r->in.site_name);
11940 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11943 if (flags & NDR_OUT) {
11944 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
11946 ndr_print_ptr(ndr, "info", r->out.info);
11948 ndr_print_ptr(ndr, "info", *r->out.info);
11950 if (*r->out.info) {
11951 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11955 ndr_print_WERROR(ndr, "result", r->out.result);
11961 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
11963 if (flags & NDR_IN) {
11964 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
11965 if (r->in.computer_name) {
11966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11968 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11969 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));
11972 if (flags & NDR_OUT) {
11973 if (r->out.site == NULL) {
11974 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11976 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
11977 if (*r->out.site) {
11978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
11979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
11981 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11983 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11985 return NDR_ERR_SUCCESS;
11988 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
11990 uint32_t _ptr_computer_name;
11991 uint32_t _ptr_site;
11992 TALLOC_CTX *_mem_save_computer_name_0;
11993 TALLOC_CTX *_mem_save_site_0;
11994 TALLOC_CTX *_mem_save_site_1;
11995 if (flags & NDR_IN) {
11996 ZERO_STRUCT(r->out);
11998 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
11999 if (_ptr_computer_name) {
12000 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12002 r->in.computer_name = NULL;
12004 if (r->in.computer_name) {
12005 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12006 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12007 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12008 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12009 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12010 return 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));
12012 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12013 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));
12014 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12016 NDR_PULL_ALLOC(ndr, r->out.site);
12017 ZERO_STRUCTP(r->out.site);
12019 if (flags & NDR_OUT) {
12020 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12021 NDR_PULL_ALLOC(ndr, r->out.site);
12023 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
12024 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
12025 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
12027 NDR_PULL_ALLOC(ndr, *r->out.site);
12029 *r->out.site = NULL;
12031 if (*r->out.site) {
12032 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
12033 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
12034 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
12035 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
12036 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
12037 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));
12039 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
12040 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
12041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
12043 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
12044 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12046 return NDR_ERR_SUCCESS;
12049 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
12051 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
12053 if (flags & NDR_SET_VALUES) {
12054 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12056 if (flags & NDR_IN) {
12057 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
12059 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12061 if (r->in.computer_name) {
12062 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12067 if (flags & NDR_OUT) {
12068 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
12070 ndr_print_ptr(ndr, "site", r->out.site);
12072 ndr_print_ptr(ndr, "site", *r->out.site);
12074 if (*r->out.site) {
12075 ndr_print_string(ndr, "site", *r->out.site);
12079 ndr_print_WERROR(ndr, "result", r->out.result);
12085 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
12087 if (flags & NDR_IN) {
12088 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12089 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12090 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12091 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));
12092 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12093 if (r->in.computer_name) {
12094 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12095 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12097 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));
12099 if (r->in.credential == NULL) {
12100 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12102 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12103 if (r->in.return_authenticator == NULL) {
12104 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12106 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12108 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.query, r->in.level));
12109 NDR_CHECK(ndr_push_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12111 if (flags & NDR_OUT) {
12112 if (r->out.return_authenticator == NULL) {
12113 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12115 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12116 if (r->out.info == NULL) {
12117 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12119 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
12120 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12121 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12123 return NDR_ERR_SUCCESS;
12126 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
12128 uint32_t _ptr_computer_name;
12129 TALLOC_CTX *_mem_save_computer_name_0;
12130 TALLOC_CTX *_mem_save_credential_0;
12131 TALLOC_CTX *_mem_save_return_authenticator_0;
12132 TALLOC_CTX *_mem_save_info_0;
12133 if (flags & NDR_IN) {
12134 ZERO_STRUCT(r->out);
12136 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12137 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12138 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12139 return 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));
12141 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12142 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));
12143 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12144 if (_ptr_computer_name) {
12145 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12147 r->in.computer_name = NULL;
12149 if (r->in.computer_name) {
12150 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12151 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12152 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12153 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12154 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12155 return 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));
12157 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12158 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));
12159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12161 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12162 NDR_PULL_ALLOC(ndr, r->in.credential);
12164 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12165 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12166 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12168 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12169 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12171 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12172 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12173 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12174 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12175 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12176 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.query, r->in.level));
12177 NDR_CHECK(ndr_pull_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12178 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12179 *r->out.return_authenticator = *r->in.return_authenticator;
12180 NDR_PULL_ALLOC(ndr, r->out.info);
12181 ZERO_STRUCTP(r->out.info);
12183 if (flags & NDR_OUT) {
12184 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12185 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12187 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12188 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12189 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12190 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12191 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12192 NDR_PULL_ALLOC(ndr, r->out.info);
12194 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12195 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12196 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
12197 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12199 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12201 return NDR_ERR_SUCCESS;
12204 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
12206 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
12208 if (flags & NDR_SET_VALUES) {
12209 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12211 if (flags & NDR_IN) {
12212 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
12214 ndr_print_string(ndr, "server_name", r->in.server_name);
12215 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12217 if (r->in.computer_name) {
12218 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12221 ndr_print_ptr(ndr, "credential", r->in.credential);
12223 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12225 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12227 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12229 ndr_print_uint32(ndr, "level", r->in.level);
12230 ndr_print_set_switch_value(ndr, &r->in.query, r->in.level);
12231 ndr_print_netr_DomainQuery(ndr, "query", &r->in.query);
12234 if (flags & NDR_OUT) {
12235 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
12237 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12239 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12241 ndr_print_ptr(ndr, "info", r->out.info);
12243 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
12244 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
12246 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12252 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
12254 if (flags & NDR_IN) {
12255 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12256 if (r->in.server_name) {
12257 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12258 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12259 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12260 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));
12262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12263 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12264 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12265 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));
12266 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12268 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12269 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12270 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));
12271 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12272 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, &r->in.new_password));
12274 if (flags & NDR_OUT) {
12275 if (r->out.return_authenticator == NULL) {
12276 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12278 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12279 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12281 return NDR_ERR_SUCCESS;
12284 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
12286 uint32_t _ptr_server_name;
12287 TALLOC_CTX *_mem_save_server_name_0;
12288 TALLOC_CTX *_mem_save_return_authenticator_0;
12289 if (flags & NDR_IN) {
12290 ZERO_STRUCT(r->out);
12292 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12293 if (_ptr_server_name) {
12294 NDR_PULL_ALLOC(ndr, r->in.server_name);
12296 r->in.server_name = NULL;
12298 if (r->in.server_name) {
12299 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12300 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12301 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12302 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12303 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12304 return 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));
12306 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12307 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));
12308 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12310 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12311 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12312 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12313 return 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));
12315 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12316 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));
12317 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12318 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12319 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12320 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12321 return 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));
12323 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12324 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));
12325 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12326 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, &r->in.new_password));
12327 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12328 ZERO_STRUCTP(r->out.return_authenticator);
12330 if (flags & NDR_OUT) {
12331 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12332 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12334 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12335 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12336 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12337 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12338 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12340 return NDR_ERR_SUCCESS;
12343 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
12345 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
12347 if (flags & NDR_SET_VALUES) {
12348 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12350 if (flags & NDR_IN) {
12351 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
12353 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12355 if (r->in.server_name) {
12356 ndr_print_string(ndr, "server_name", r->in.server_name);
12359 ndr_print_string(ndr, "account_name", r->in.account_name);
12360 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12361 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12362 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
12363 ndr_print_netr_CryptPassword(ndr, "new_password", &r->in.new_password);
12366 if (flags & NDR_OUT) {
12367 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
12369 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12371 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12373 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12379 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
12381 if (flags & NDR_IN) {
12382 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12383 if (r->in.server_name) {
12384 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12385 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12387 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));
12389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12392 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));
12393 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12396 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12397 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));
12398 if (r->in.credential == NULL) {
12399 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12401 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12403 if (flags & NDR_OUT) {
12404 if (r->out.return_authenticator == NULL) {
12405 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12407 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12408 if (r->out.password == NULL) {
12409 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12411 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
12412 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12414 return NDR_ERR_SUCCESS;
12417 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
12419 uint32_t _ptr_server_name;
12420 TALLOC_CTX *_mem_save_server_name_0;
12421 TALLOC_CTX *_mem_save_credential_0;
12422 TALLOC_CTX *_mem_save_return_authenticator_0;
12423 TALLOC_CTX *_mem_save_password_0;
12424 if (flags & NDR_IN) {
12425 ZERO_STRUCT(r->out);
12427 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12428 if (_ptr_server_name) {
12429 NDR_PULL_ALLOC(ndr, r->in.server_name);
12431 r->in.server_name = NULL;
12433 if (r->in.server_name) {
12434 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12435 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12436 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12437 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12438 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12439 return 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));
12441 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12442 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));
12443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12445 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12446 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12447 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12448 return 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));
12450 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12451 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));
12452 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12453 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12454 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12455 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12456 return 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));
12458 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12459 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));
12460 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12461 NDR_PULL_ALLOC(ndr, r->in.credential);
12463 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12464 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12465 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12467 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12468 ZERO_STRUCTP(r->out.return_authenticator);
12469 NDR_PULL_ALLOC(ndr, r->out.password);
12470 ZERO_STRUCTP(r->out.password);
12472 if (flags & NDR_OUT) {
12473 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12474 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12476 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12477 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12478 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12479 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12480 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12481 NDR_PULL_ALLOC(ndr, r->out.password);
12483 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12484 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
12485 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
12486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
12487 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12489 return NDR_ERR_SUCCESS;
12492 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
12494 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
12496 if (flags & NDR_SET_VALUES) {
12497 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12499 if (flags & NDR_IN) {
12500 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
12502 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12504 if (r->in.server_name) {
12505 ndr_print_string(ndr, "server_name", r->in.server_name);
12508 ndr_print_string(ndr, "account_name", r->in.account_name);
12509 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12510 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12511 ndr_print_ptr(ndr, "credential", r->in.credential);
12513 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12517 if (flags & NDR_OUT) {
12518 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
12520 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12522 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12524 ndr_print_ptr(ndr, "password", r->out.password);
12526 ndr_print_samr_Password(ndr, "password", r->out.password);
12528 ndr_print_WERROR(ndr, "result", r->out.result);
12534 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12536 if (flags & NDR_IN) {
12538 if (flags & NDR_OUT) {
12539 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12541 return NDR_ERR_SUCCESS;
12544 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
12546 if (flags & NDR_IN) {
12548 if (flags & NDR_OUT) {
12549 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12551 return NDR_ERR_SUCCESS;
12554 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12556 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
12558 if (flags & NDR_SET_VALUES) {
12559 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12561 if (flags & NDR_IN) {
12562 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
12566 if (flags & NDR_OUT) {
12567 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
12569 ndr_print_WERROR(ndr, "result", r->out.result);
12575 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
12577 uint32_t cntr_addresses_1;
12578 if (flags & NDR_IN) {
12579 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12580 if (r->in.server_name) {
12581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12582 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12583 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12584 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));
12586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12587 if (r->in.addresses == NULL) {
12588 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12590 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12591 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12592 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12594 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12595 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12598 if (flags & NDR_OUT) {
12599 if (r->out.ctr == NULL) {
12600 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12602 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
12604 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12606 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12608 return NDR_ERR_SUCCESS;
12611 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
12613 uint32_t _ptr_server_name;
12614 uint32_t cntr_addresses_1;
12616 TALLOC_CTX *_mem_save_server_name_0;
12617 TALLOC_CTX *_mem_save_addresses_1;
12618 TALLOC_CTX *_mem_save_ctr_0;
12619 TALLOC_CTX *_mem_save_ctr_1;
12620 if (flags & NDR_IN) {
12621 ZERO_STRUCT(r->out);
12623 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12624 if (_ptr_server_name) {
12625 NDR_PULL_ALLOC(ndr, r->in.server_name);
12627 r->in.server_name = NULL;
12629 if (r->in.server_name) {
12630 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12631 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12632 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12633 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12634 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12635 return 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));
12637 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12638 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));
12639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12641 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
12642 if (r->in.count < 0 || r->in.count > 32000) {
12643 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12645 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
12646 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12647 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
12649 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
12650 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
12651 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12652 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12654 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12655 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
12658 NDR_PULL_ALLOC(ndr, r->out.ctr);
12659 ZERO_STRUCTP(r->out.ctr);
12660 if (r->in.addresses) {
12661 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
12664 if (flags & NDR_OUT) {
12665 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12666 NDR_PULL_ALLOC(ndr, r->out.ctr);
12668 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
12669 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
12670 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
12672 NDR_PULL_ALLOC(ndr, *r->out.ctr);
12674 *r->out.ctr = NULL;
12677 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
12678 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
12679 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12680 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
12682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
12683 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12685 return NDR_ERR_SUCCESS;
12688 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
12690 uint32_t cntr_addresses_1;
12691 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
12693 if (flags & NDR_SET_VALUES) {
12694 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12696 if (flags & NDR_IN) {
12697 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
12699 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12701 if (r->in.server_name) {
12702 ndr_print_string(ndr, "server_name", r->in.server_name);
12705 ndr_print_uint32(ndr, "count", r->in.count);
12706 ndr_print_ptr(ndr, "addresses", r->in.addresses);
12708 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", r->in.count);
12710 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
12712 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
12713 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
12721 if (flags & NDR_OUT) {
12722 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
12724 ndr_print_ptr(ndr, "ctr", r->out.ctr);
12726 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
12729 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
12733 ndr_print_WERROR(ndr, "result", r->out.result);
12739 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
12741 if (flags & NDR_IN) {
12742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12743 if (r->in.server_unc) {
12744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12747 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));
12749 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
12750 if (r->in.client_account) {
12751 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12752 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12754 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));
12756 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
12757 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12758 if (r->in.domain_name) {
12759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12760 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12762 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));
12764 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12765 if (r->in.domain_guid) {
12766 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
12768 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
12769 if (r->in.site_name) {
12770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12772 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12773 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));
12775 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12777 if (flags & NDR_OUT) {
12778 if (r->out.info == NULL) {
12779 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12781 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12782 if (*r->out.info) {
12783 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12785 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12787 return NDR_ERR_SUCCESS;
12790 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
12792 uint32_t _ptr_server_unc;
12793 uint32_t _ptr_client_account;
12794 uint32_t _ptr_domain_name;
12795 uint32_t _ptr_domain_guid;
12796 uint32_t _ptr_site_name;
12797 uint32_t _ptr_info;
12798 TALLOC_CTX *_mem_save_server_unc_0;
12799 TALLOC_CTX *_mem_save_client_account_0;
12800 TALLOC_CTX *_mem_save_domain_name_0;
12801 TALLOC_CTX *_mem_save_domain_guid_0;
12802 TALLOC_CTX *_mem_save_site_name_0;
12803 TALLOC_CTX *_mem_save_info_0;
12804 TALLOC_CTX *_mem_save_info_1;
12805 if (flags & NDR_IN) {
12806 ZERO_STRUCT(r->out);
12808 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12809 if (_ptr_server_unc) {
12810 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12812 r->in.server_unc = NULL;
12814 if (r->in.server_unc) {
12815 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12816 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12817 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12818 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12819 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12820 return 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));
12822 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12823 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));
12824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12826 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
12827 if (_ptr_client_account) {
12828 NDR_PULL_ALLOC(ndr, r->in.client_account);
12830 r->in.client_account = NULL;
12832 if (r->in.client_account) {
12833 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
12834 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
12835 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
12836 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
12837 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
12838 return 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));
12840 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
12841 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));
12842 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
12844 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
12845 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12846 if (_ptr_domain_name) {
12847 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12849 r->in.domain_name = NULL;
12851 if (r->in.domain_name) {
12852 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12853 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12854 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12855 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12856 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12857 return 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));
12859 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12860 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));
12861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12863 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12864 if (_ptr_domain_guid) {
12865 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12867 r->in.domain_guid = NULL;
12869 if (r->in.domain_guid) {
12870 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12871 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12872 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
12873 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12875 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
12876 if (_ptr_site_name) {
12877 NDR_PULL_ALLOC(ndr, r->in.site_name);
12879 r->in.site_name = NULL;
12881 if (r->in.site_name) {
12882 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12883 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
12884 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
12885 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
12886 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
12887 return 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));
12889 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
12890 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));
12891 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
12893 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12894 NDR_PULL_ALLOC(ndr, r->out.info);
12895 ZERO_STRUCTP(r->out.info);
12897 if (flags & NDR_OUT) {
12898 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12899 NDR_PULL_ALLOC(ndr, r->out.info);
12901 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12902 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12903 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12905 NDR_PULL_ALLOC(ndr, *r->out.info);
12907 *r->out.info = NULL;
12909 if (*r->out.info) {
12910 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12911 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12912 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12913 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12916 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12918 return NDR_ERR_SUCCESS;
12921 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
12923 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
12925 if (flags & NDR_SET_VALUES) {
12926 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12928 if (flags & NDR_IN) {
12929 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
12931 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12933 if (r->in.server_unc) {
12934 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12937 ndr_print_ptr(ndr, "client_account", r->in.client_account);
12939 if (r->in.client_account) {
12940 ndr_print_string(ndr, "client_account", r->in.client_account);
12943 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
12944 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12946 if (r->in.domain_name) {
12947 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12950 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12952 if (r->in.domain_guid) {
12953 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12956 ndr_print_ptr(ndr, "site_name", r->in.site_name);
12958 if (r->in.site_name) {
12959 ndr_print_string(ndr, "site_name", r->in.site_name);
12962 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12965 if (flags & NDR_OUT) {
12966 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
12968 ndr_print_ptr(ndr, "info", r->out.info);
12970 ndr_print_ptr(ndr, "info", *r->out.info);
12972 if (*r->out.info) {
12973 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12977 ndr_print_WERROR(ndr, "result", r->out.result);
12983 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
12985 if (flags & NDR_IN) {
12987 if (flags & NDR_OUT) {
12988 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12990 return NDR_ERR_SUCCESS;
12993 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
12995 if (flags & NDR_IN) {
12997 if (flags & NDR_OUT) {
12998 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13000 return NDR_ERR_SUCCESS;
13003 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13005 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13007 if (flags & NDR_SET_VALUES) {
13008 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13010 if (flags & NDR_IN) {
13011 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13015 if (flags & NDR_OUT) {
13016 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13018 ndr_print_WERROR(ndr, "result", r->out.result);
13024 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13026 if (flags & NDR_IN) {
13027 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13028 if (r->in.server_name) {
13029 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13030 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13031 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13032 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));
13035 if (flags & NDR_OUT) {
13036 if (r->out.dom_trust_list == NULL) {
13037 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13039 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13040 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13042 return NDR_ERR_SUCCESS;
13045 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
13047 uint32_t _ptr_server_name;
13048 TALLOC_CTX *_mem_save_server_name_0;
13049 TALLOC_CTX *_mem_save_dom_trust_list_0;
13050 if (flags & NDR_IN) {
13051 ZERO_STRUCT(r->out);
13053 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13054 if (_ptr_server_name) {
13055 NDR_PULL_ALLOC(ndr, r->in.server_name);
13057 r->in.server_name = NULL;
13059 if (r->in.server_name) {
13060 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13061 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13062 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13063 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13064 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13065 return 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));
13067 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13068 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));
13069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13071 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13072 ZERO_STRUCTP(r->out.dom_trust_list);
13074 if (flags & NDR_OUT) {
13075 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13076 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13078 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
13079 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
13080 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13081 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
13082 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13084 return NDR_ERR_SUCCESS;
13087 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13089 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
13091 if (flags & NDR_SET_VALUES) {
13092 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13094 if (flags & NDR_IN) {
13095 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
13097 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13099 if (r->in.server_name) {
13100 ndr_print_string(ndr, "server_name", r->in.server_name);
13105 if (flags & NDR_OUT) {
13106 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
13108 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
13110 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
13112 ndr_print_WERROR(ndr, "result", r->out.result);
13118 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13120 uint32_t cntr_addresses_1;
13121 if (flags & NDR_IN) {
13122 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13123 if (r->in.server_name) {
13124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13127 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));
13129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13130 if (r->in.addresses == NULL) {
13131 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13134 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13135 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13137 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13138 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13141 if (flags & NDR_OUT) {
13142 if (r->out.ctr == NULL) {
13143 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13145 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
13147 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13149 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13151 return NDR_ERR_SUCCESS;
13154 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
13156 uint32_t _ptr_server_name;
13157 uint32_t cntr_addresses_1;
13159 TALLOC_CTX *_mem_save_server_name_0;
13160 TALLOC_CTX *_mem_save_addresses_1;
13161 TALLOC_CTX *_mem_save_ctr_0;
13162 TALLOC_CTX *_mem_save_ctr_1;
13163 if (flags & NDR_IN) {
13164 ZERO_STRUCT(r->out);
13166 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13167 if (_ptr_server_name) {
13168 NDR_PULL_ALLOC(ndr, r->in.server_name);
13170 r->in.server_name = NULL;
13172 if (r->in.server_name) {
13173 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13174 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13175 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13176 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13177 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13178 return 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));
13180 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13181 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));
13182 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13184 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
13185 if (r->in.count < 0 || r->in.count > 32000) {
13186 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13188 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
13189 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13190 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
13192 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
13193 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
13194 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13195 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13197 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13198 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
13201 NDR_PULL_ALLOC(ndr, r->out.ctr);
13202 ZERO_STRUCTP(r->out.ctr);
13203 if (r->in.addresses) {
13204 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
13207 if (flags & NDR_OUT) {
13208 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13209 NDR_PULL_ALLOC(ndr, r->out.ctr);
13211 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13212 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13213 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
13215 NDR_PULL_ALLOC(ndr, *r->out.ctr);
13217 *r->out.ctr = NULL;
13220 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
13221 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
13222 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
13225 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13226 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13228 return NDR_ERR_SUCCESS;
13231 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13233 uint32_t cntr_addresses_1;
13234 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
13236 if (flags & NDR_SET_VALUES) {
13237 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13239 if (flags & NDR_IN) {
13240 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
13242 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13244 if (r->in.server_name) {
13245 ndr_print_string(ndr, "server_name", r->in.server_name);
13248 ndr_print_uint32(ndr, "count", r->in.count);
13249 ndr_print_ptr(ndr, "addresses", r->in.addresses);
13251 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", r->in.count);
13253 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
13255 if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
13256 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
13264 if (flags & NDR_OUT) {
13265 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
13267 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13269 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
13272 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
13276 ndr_print_WERROR(ndr, "result", r->out.result);
13282 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13284 if (flags & NDR_IN) {
13285 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13286 if (r->in.server_name) {
13287 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13288 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13289 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13290 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));
13293 if (flags & NDR_OUT) {
13294 if (r->out.ctr == NULL) {
13295 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13297 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13298 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13300 return NDR_ERR_SUCCESS;
13303 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
13305 uint32_t _ptr_server_name;
13306 TALLOC_CTX *_mem_save_server_name_0;
13307 TALLOC_CTX *_mem_save_ctr_0;
13308 if (flags & NDR_IN) {
13309 ZERO_STRUCT(r->out);
13311 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13312 if (_ptr_server_name) {
13313 NDR_PULL_ALLOC(ndr, r->in.server_name);
13315 r->in.server_name = NULL;
13317 if (r->in.server_name) {
13318 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13319 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13320 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13321 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13322 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13323 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
13325 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13326 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));
13327 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13329 NDR_PULL_ALLOC(ndr, r->out.ctr);
13330 ZERO_STRUCTP(r->out.ctr);
13332 if (flags & NDR_OUT) {
13333 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13334 NDR_PULL_ALLOC(ndr, r->out.ctr);
13336 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13337 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13338 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13339 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13340 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13342 return NDR_ERR_SUCCESS;
13345 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13347 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
13349 if (flags & NDR_SET_VALUES) {
13350 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13352 if (flags & NDR_IN) {
13353 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
13355 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13357 if (r->in.server_name) {
13358 ndr_print_string(ndr, "server_name", r->in.server_name);
13363 if (flags & NDR_OUT) {
13364 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
13366 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13368 ndr_print_DcSitesCtr(ndr, "ctr", r->out.ctr);
13370 ndr_print_WERROR(ndr, "result", r->out.result);
13376 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
13378 if (flags & NDR_IN) {
13379 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13380 if (r->in.server_name) {
13381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13384 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));
13386 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13387 if (r->in.computer_name) {
13388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13391 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));
13393 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
13394 if (r->in.logon == NULL) {
13395 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13397 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13398 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13399 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
13400 if (r->in.flags == NULL) {
13401 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13403 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
13405 if (flags & NDR_OUT) {
13406 if (r->out.validation == NULL) {
13407 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13409 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13410 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13411 if (r->out.authoritative == NULL) {
13412 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13414 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
13415 if (r->out.flags == NULL) {
13416 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13418 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
13419 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13421 return NDR_ERR_SUCCESS;
13424 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
13426 uint32_t _ptr_server_name;
13427 uint32_t _ptr_computer_name;
13428 TALLOC_CTX *_mem_save_server_name_0;
13429 TALLOC_CTX *_mem_save_computer_name_0;
13430 TALLOC_CTX *_mem_save_logon_0;
13431 TALLOC_CTX *_mem_save_validation_0;
13432 TALLOC_CTX *_mem_save_authoritative_0;
13433 TALLOC_CTX *_mem_save_flags_0;
13434 if (flags & NDR_IN) {
13435 ZERO_STRUCT(r->out);
13437 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13438 if (_ptr_server_name) {
13439 NDR_PULL_ALLOC(ndr, r->in.server_name);
13441 r->in.server_name = NULL;
13443 if (r->in.server_name) {
13444 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13445 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13446 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13447 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13448 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13449 return 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));
13451 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13452 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));
13453 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13455 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13456 if (_ptr_computer_name) {
13457 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13459 r->in.computer_name = NULL;
13461 if (r->in.computer_name) {
13462 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13463 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13464 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13465 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13466 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13467 return 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));
13469 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13470 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));
13471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13473 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
13474 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13475 NDR_PULL_ALLOC(ndr, r->in.logon);
13477 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
13478 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
13479 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13480 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13481 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
13482 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
13483 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13484 NDR_PULL_ALLOC(ndr, r->in.flags);
13486 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13487 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
13488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
13489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13490 NDR_PULL_ALLOC(ndr, r->out.validation);
13491 ZERO_STRUCTP(r->out.validation);
13492 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13493 ZERO_STRUCTP(r->out.authoritative);
13494 NDR_PULL_ALLOC(ndr, r->out.flags);
13495 *r->out.flags = *r->in.flags;
13497 if (flags & NDR_OUT) {
13498 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13499 NDR_PULL_ALLOC(ndr, r->out.validation);
13501 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
13502 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
13503 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13504 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13505 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
13506 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13507 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13509 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
13510 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
13511 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
13512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
13513 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13514 NDR_PULL_ALLOC(ndr, r->out.flags);
13516 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13517 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
13518 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
13519 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13520 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13522 return NDR_ERR_SUCCESS;
13525 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
13527 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
13529 if (flags & NDR_SET_VALUES) {
13530 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13532 if (flags & NDR_IN) {
13533 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
13535 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13537 if (r->in.server_name) {
13538 ndr_print_string(ndr, "server_name", r->in.server_name);
13541 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13543 if (r->in.computer_name) {
13544 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13547 ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
13548 ndr_print_ptr(ndr, "logon", r->in.logon);
13550 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
13551 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
13553 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
13554 ndr_print_ptr(ndr, "flags", r->in.flags);
13556 ndr_print_uint32(ndr, "flags", *r->in.flags);
13560 if (flags & NDR_OUT) {
13561 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
13563 ndr_print_ptr(ndr, "validation", r->out.validation);
13565 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
13566 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
13568 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
13570 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
13572 ndr_print_ptr(ndr, "flags", r->out.flags);
13574 ndr_print_uint32(ndr, "flags", *r->out.flags);
13576 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13582 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13584 if (flags & NDR_IN) {
13585 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13586 if (r->in.server_name) {
13587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13590 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));
13592 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
13594 if (flags & NDR_OUT) {
13595 if (r->out.trusts == NULL) {
13596 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13598 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13599 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13601 return NDR_ERR_SUCCESS;
13604 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
13606 uint32_t _ptr_server_name;
13607 TALLOC_CTX *_mem_save_server_name_0;
13608 TALLOC_CTX *_mem_save_trusts_0;
13609 if (flags & NDR_IN) {
13610 ZERO_STRUCT(r->out);
13612 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13613 if (_ptr_server_name) {
13614 NDR_PULL_ALLOC(ndr, r->in.server_name);
13616 r->in.server_name = NULL;
13618 if (r->in.server_name) {
13619 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13620 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13621 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13622 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13623 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13624 return 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));
13626 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13627 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));
13628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13630 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
13631 NDR_PULL_ALLOC(ndr, r->out.trusts);
13632 ZERO_STRUCTP(r->out.trusts);
13634 if (flags & NDR_OUT) {
13635 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13636 NDR_PULL_ALLOC(ndr, r->out.trusts);
13638 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
13639 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
13640 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13641 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
13642 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13644 return NDR_ERR_SUCCESS;
13647 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13649 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
13651 if (flags & NDR_SET_VALUES) {
13652 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13654 if (flags & NDR_IN) {
13655 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
13657 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13659 if (r->in.server_name) {
13660 ndr_print_string(ndr, "server_name", r->in.server_name);
13663 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
13666 if (flags & NDR_OUT) {
13667 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
13669 ndr_print_ptr(ndr, "trusts", r->out.trusts);
13671 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
13673 ndr_print_WERROR(ndr, "result", r->out.result);
13679 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13681 if (flags & NDR_IN) {
13682 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13683 if (r->in.server_name) {
13684 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13685 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13686 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13687 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));
13689 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
13690 if (r->in.domain) {
13691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13694 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13696 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13697 if (r->in.domain_guid) {
13698 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
13700 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
13701 if (r->in.dsa_guid) {
13702 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dsa_guid));
13704 if (r->in.dns_host == NULL) {
13705 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13707 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13708 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13709 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13710 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));
13712 if (flags & NDR_OUT) {
13713 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13715 return NDR_ERR_SUCCESS;
13718 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
13720 uint32_t _ptr_server_name;
13721 uint32_t _ptr_domain;
13722 uint32_t _ptr_domain_guid;
13723 uint32_t _ptr_dsa_guid;
13724 TALLOC_CTX *_mem_save_server_name_0;
13725 TALLOC_CTX *_mem_save_domain_0;
13726 TALLOC_CTX *_mem_save_domain_guid_0;
13727 TALLOC_CTX *_mem_save_dsa_guid_0;
13728 if (flags & NDR_IN) {
13729 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13730 if (_ptr_server_name) {
13731 NDR_PULL_ALLOC(ndr, r->in.server_name);
13733 r->in.server_name = NULL;
13735 if (r->in.server_name) {
13736 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13737 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13738 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13739 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13740 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13741 return 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));
13743 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13744 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));
13745 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13747 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
13749 NDR_PULL_ALLOC(ndr, r->in.domain);
13751 r->in.domain = NULL;
13753 if (r->in.domain) {
13754 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
13755 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
13756 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
13757 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
13758 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
13759 return 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));
13761 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
13762 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
13763 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
13765 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13766 if (_ptr_domain_guid) {
13767 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13769 r->in.domain_guid = NULL;
13771 if (r->in.domain_guid) {
13772 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13773 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13774 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
13775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13777 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
13778 if (_ptr_dsa_guid) {
13779 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
13781 r->in.dsa_guid = NULL;
13783 if (r->in.dsa_guid) {
13784 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13785 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
13786 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dsa_guid));
13787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
13789 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
13790 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
13791 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
13792 return 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));
13794 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
13795 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));
13797 if (flags & NDR_OUT) {
13798 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13800 return NDR_ERR_SUCCESS;
13803 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13805 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
13807 if (flags & NDR_SET_VALUES) {
13808 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13810 if (flags & NDR_IN) {
13811 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
13813 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13815 if (r->in.server_name) {
13816 ndr_print_string(ndr, "server_name", r->in.server_name);
13819 ndr_print_ptr(ndr, "domain", r->in.domain);
13821 if (r->in.domain) {
13822 ndr_print_string(ndr, "domain", r->in.domain);
13825 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13827 if (r->in.domain_guid) {
13828 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13831 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
13833 if (r->in.dsa_guid) {
13834 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
13837 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
13839 ndr_print_string(ndr, "dns_host", r->in.dns_host);
13843 if (flags & NDR_OUT) {
13844 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
13846 ndr_print_WERROR(ndr, "result", r->out.result);
13852 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
13854 if (flags & NDR_IN) {
13855 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13856 if (r->in.server_name) {
13857 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13858 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13859 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13860 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));
13862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13864 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13865 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));
13866 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13870 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));
13871 if (r->in.credential == NULL) {
13872 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13874 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13876 if (flags & NDR_OUT) {
13877 if (r->out.return_authenticator == NULL) {
13878 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13880 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13881 if (r->out.password == NULL) {
13882 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13884 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
13885 if (r->out.password2 == NULL) {
13886 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13888 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password2));
13889 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13891 return NDR_ERR_SUCCESS;
13894 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
13896 uint32_t _ptr_server_name;
13897 TALLOC_CTX *_mem_save_server_name_0;
13898 TALLOC_CTX *_mem_save_credential_0;
13899 TALLOC_CTX *_mem_save_return_authenticator_0;
13900 TALLOC_CTX *_mem_save_password_0;
13901 TALLOC_CTX *_mem_save_password2_0;
13902 if (flags & NDR_IN) {
13903 ZERO_STRUCT(r->out);
13905 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13906 if (_ptr_server_name) {
13907 NDR_PULL_ALLOC(ndr, r->in.server_name);
13909 r->in.server_name = NULL;
13911 if (r->in.server_name) {
13912 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13913 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13914 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13915 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13916 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13917 return 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));
13919 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13920 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));
13921 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13923 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13924 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13925 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13926 return 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));
13928 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13929 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));
13930 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13931 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13932 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13933 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13934 return 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));
13936 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13937 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));
13938 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13939 NDR_PULL_ALLOC(ndr, r->in.credential);
13941 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13942 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13943 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13945 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13946 ZERO_STRUCTP(r->out.return_authenticator);
13947 NDR_PULL_ALLOC(ndr, r->out.password);
13948 ZERO_STRUCTP(r->out.password);
13949 NDR_PULL_ALLOC(ndr, r->out.password2);
13950 ZERO_STRUCTP(r->out.password2);
13952 if (flags & NDR_OUT) {
13953 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13954 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13956 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13957 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13958 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13960 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13961 NDR_PULL_ALLOC(ndr, r->out.password);
13963 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
13964 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
13965 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
13966 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
13967 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13968 NDR_PULL_ALLOC(ndr, r->out.password2);
13970 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
13971 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
13972 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password2));
13973 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
13974 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13976 return NDR_ERR_SUCCESS;
13979 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
13981 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
13983 if (flags & NDR_SET_VALUES) {
13984 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13986 if (flags & NDR_IN) {
13987 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
13989 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13991 if (r->in.server_name) {
13992 ndr_print_string(ndr, "server_name", r->in.server_name);
13995 ndr_print_string(ndr, "account_name", r->in.account_name);
13996 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13997 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13998 ndr_print_ptr(ndr, "credential", r->in.credential);
14000 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14004 if (flags & NDR_OUT) {
14005 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
14007 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14009 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14011 ndr_print_ptr(ndr, "password", r->out.password);
14013 ndr_print_samr_Password(ndr, "password", r->out.password);
14015 ndr_print_ptr(ndr, "password2", r->out.password2);
14017 ndr_print_samr_Password(ndr, "password2", r->out.password2);
14019 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14025 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
14027 if (flags & NDR_IN) {
14028 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14029 if (r->in.server_name) {
14030 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14031 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14032 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14033 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));
14035 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
14036 if (r->in.trusted_domain_name) {
14037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14039 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14040 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));
14042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14044 if (flags & NDR_OUT) {
14045 if (r->out.forest_trust_info == NULL) {
14046 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14048 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14049 if (*r->out.forest_trust_info) {
14050 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14052 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14054 return NDR_ERR_SUCCESS;
14057 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
14059 uint32_t _ptr_server_name;
14060 uint32_t _ptr_trusted_domain_name;
14061 uint32_t _ptr_forest_trust_info;
14062 TALLOC_CTX *_mem_save_server_name_0;
14063 TALLOC_CTX *_mem_save_trusted_domain_name_0;
14064 TALLOC_CTX *_mem_save_forest_trust_info_0;
14065 TALLOC_CTX *_mem_save_forest_trust_info_1;
14066 if (flags & NDR_IN) {
14067 ZERO_STRUCT(r->out);
14069 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14070 if (_ptr_server_name) {
14071 NDR_PULL_ALLOC(ndr, r->in.server_name);
14073 r->in.server_name = NULL;
14075 if (r->in.server_name) {
14076 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14077 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14078 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14079 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14080 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14081 return 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));
14083 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14084 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));
14085 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14087 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
14088 if (_ptr_trusted_domain_name) {
14089 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
14091 r->in.trusted_domain_name = NULL;
14093 if (r->in.trusted_domain_name) {
14094 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14095 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
14096 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14097 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14098 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14099 return 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));
14101 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14102 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));
14103 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
14105 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14106 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14107 ZERO_STRUCTP(r->out.forest_trust_info);
14109 if (flags & NDR_OUT) {
14110 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14111 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14113 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14114 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14116 if (_ptr_forest_trust_info) {
14117 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14119 *r->out.forest_trust_info = NULL;
14121 if (*r->out.forest_trust_info) {
14122 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14123 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14124 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14125 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14127 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14128 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14130 return NDR_ERR_SUCCESS;
14133 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
14135 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
14137 if (flags & NDR_SET_VALUES) {
14138 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14140 if (flags & NDR_IN) {
14141 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
14143 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14145 if (r->in.server_name) {
14146 ndr_print_string(ndr, "server_name", r->in.server_name);
14149 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14151 if (r->in.trusted_domain_name) {
14152 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14155 ndr_print_uint32(ndr, "flags", r->in.flags);
14158 if (flags & NDR_OUT) {
14159 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
14161 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14163 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14165 if (*r->out.forest_trust_info) {
14166 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14170 ndr_print_WERROR(ndr, "result", r->out.result);
14176 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
14178 if (flags & NDR_IN) {
14179 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14180 if (r->in.server_name) {
14181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14182 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14184 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));
14186 if (r->in.trusted_domain_name == NULL) {
14187 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14192 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));
14193 if (r->in.credential == 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->in.credential));
14197 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14199 if (flags & NDR_OUT) {
14200 if (r->out.return_authenticator == NULL) {
14201 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14203 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14204 if (r->out.forest_trust_info == NULL) {
14205 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14207 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14208 if (*r->out.forest_trust_info) {
14209 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14211 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14213 return NDR_ERR_SUCCESS;
14216 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
14218 uint32_t _ptr_server_name;
14219 uint32_t _ptr_forest_trust_info;
14220 TALLOC_CTX *_mem_save_server_name_0;
14221 TALLOC_CTX *_mem_save_credential_0;
14222 TALLOC_CTX *_mem_save_return_authenticator_0;
14223 TALLOC_CTX *_mem_save_forest_trust_info_0;
14224 TALLOC_CTX *_mem_save_forest_trust_info_1;
14225 if (flags & NDR_IN) {
14226 ZERO_STRUCT(r->out);
14228 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14229 if (_ptr_server_name) {
14230 NDR_PULL_ALLOC(ndr, r->in.server_name);
14232 r->in.server_name = NULL;
14234 if (r->in.server_name) {
14235 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14236 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14237 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14238 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14239 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14240 return 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));
14242 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14243 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));
14244 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14246 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14247 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14248 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14249 return 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));
14251 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14252 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));
14253 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14254 NDR_PULL_ALLOC(ndr, r->in.credential);
14256 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14257 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14258 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14260 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14261 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14262 ZERO_STRUCTP(r->out.return_authenticator);
14263 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14264 ZERO_STRUCTP(r->out.forest_trust_info);
14266 if (flags & NDR_OUT) {
14267 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14268 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14270 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14271 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14272 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14274 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14275 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14277 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14278 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14279 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14280 if (_ptr_forest_trust_info) {
14281 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14283 *r->out.forest_trust_info = NULL;
14285 if (*r->out.forest_trust_info) {
14286 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14287 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14288 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14289 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14292 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14294 return NDR_ERR_SUCCESS;
14297 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
14299 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
14301 if (flags & NDR_SET_VALUES) {
14302 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14304 if (flags & NDR_IN) {
14305 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
14307 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14309 if (r->in.server_name) {
14310 ndr_print_string(ndr, "server_name", r->in.server_name);
14313 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14315 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14317 ndr_print_ptr(ndr, "credential", r->in.credential);
14319 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14321 ndr_print_uint32(ndr, "flags", r->in.flags);
14324 if (flags & NDR_OUT) {
14325 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
14327 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14329 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14331 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14333 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14335 if (*r->out.forest_trust_info) {
14336 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14340 ndr_print_WERROR(ndr, "result", r->out.result);
14346 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
14348 if (flags & NDR_IN) {
14349 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14350 if (r->in.server_name) {
14351 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14352 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14353 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14354 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));
14356 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
14357 if (r->in.computer_name) {
14358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14361 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));
14363 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
14364 if (r->in.credential) {
14365 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14367 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
14368 if (r->in.return_authenticator) {
14369 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14371 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
14372 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14373 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14374 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
14375 if (r->in.flags == NULL) {
14376 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
14380 if (flags & NDR_OUT) {
14381 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
14382 if (r->out.return_authenticator) {
14383 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14385 if (r->out.validation == NULL) {
14386 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14388 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14389 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14390 if (r->out.authoritative == NULL) {
14391 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14393 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
14394 if (r->out.flags == NULL) {
14395 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
14398 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14400 return NDR_ERR_SUCCESS;
14403 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
14405 uint32_t _ptr_server_name;
14406 uint32_t _ptr_computer_name;
14407 uint32_t _ptr_credential;
14408 uint32_t _ptr_return_authenticator;
14409 TALLOC_CTX *_mem_save_server_name_0;
14410 TALLOC_CTX *_mem_save_computer_name_0;
14411 TALLOC_CTX *_mem_save_credential_0;
14412 TALLOC_CTX *_mem_save_return_authenticator_0;
14413 TALLOC_CTX *_mem_save_validation_0;
14414 TALLOC_CTX *_mem_save_authoritative_0;
14415 TALLOC_CTX *_mem_save_flags_0;
14416 if (flags & NDR_IN) {
14417 ZERO_STRUCT(r->out);
14419 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14420 if (_ptr_server_name) {
14421 NDR_PULL_ALLOC(ndr, r->in.server_name);
14423 r->in.server_name = NULL;
14425 if (r->in.server_name) {
14426 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14427 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14428 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14429 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14430 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14431 return 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));
14433 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14434 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));
14435 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14437 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
14438 if (_ptr_computer_name) {
14439 NDR_PULL_ALLOC(ndr, r->in.computer_name);
14441 r->in.computer_name = NULL;
14443 if (r->in.computer_name) {
14444 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14445 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
14446 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14447 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14448 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14449 return 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));
14451 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14452 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));
14453 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
14455 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
14456 if (_ptr_credential) {
14457 NDR_PULL_ALLOC(ndr, r->in.credential);
14459 r->in.credential = NULL;
14461 if (r->in.credential) {
14462 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14463 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
14464 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14465 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
14467 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14468 if (_ptr_return_authenticator) {
14469 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
14471 r->in.return_authenticator = NULL;
14473 if (r->in.return_authenticator) {
14474 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14475 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
14476 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14479 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
14480 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14481 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14482 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
14483 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14484 NDR_PULL_ALLOC(ndr, r->in.flags);
14486 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14487 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
14488 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
14489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14490 NDR_PULL_ALLOC(ndr, r->out.validation);
14491 ZERO_STRUCTP(r->out.validation);
14492 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14493 ZERO_STRUCTP(r->out.authoritative);
14494 NDR_PULL_ALLOC(ndr, r->out.flags);
14495 *r->out.flags = *r->in.flags;
14497 if (flags & NDR_OUT) {
14498 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14499 if (_ptr_return_authenticator) {
14500 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14502 r->out.return_authenticator = NULL;
14504 if (r->out.return_authenticator) {
14505 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14506 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
14507 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14510 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14511 NDR_PULL_ALLOC(ndr, r->out.validation);
14513 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
14514 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
14515 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14516 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14517 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
14518 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14519 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14521 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
14522 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
14523 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
14524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
14525 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14526 NDR_PULL_ALLOC(ndr, r->out.flags);
14528 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14529 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
14530 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
14531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14532 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14534 return NDR_ERR_SUCCESS;
14537 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
14539 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
14541 if (flags & NDR_SET_VALUES) {
14542 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14544 if (flags & NDR_IN) {
14545 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
14547 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14549 if (r->in.server_name) {
14550 ndr_print_string(ndr, "server_name", r->in.server_name);
14553 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14555 if (r->in.computer_name) {
14556 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14559 ndr_print_ptr(ndr, "credential", r->in.credential);
14561 if (r->in.credential) {
14562 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14565 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
14567 if (r->in.return_authenticator) {
14568 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
14571 ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
14572 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
14573 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
14574 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
14575 ndr_print_ptr(ndr, "flags", r->in.flags);
14577 ndr_print_uint32(ndr, "flags", *r->in.flags);
14581 if (flags & NDR_OUT) {
14582 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
14584 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14586 if (r->out.return_authenticator) {
14587 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14590 ndr_print_ptr(ndr, "validation", r->out.validation);
14592 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
14593 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
14595 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
14597 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
14599 ndr_print_ptr(ndr, "flags", r->out.flags);
14601 ndr_print_uint32(ndr, "flags", *r->out.flags);
14603 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14609 static enum ndr_err_code ndr_push_netr_NETRSERVERGETTRUSTINFO(struct ndr_push *ndr, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14611 if (flags & NDR_IN) {
14613 if (flags & NDR_OUT) {
14614 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14616 return NDR_ERR_SUCCESS;
14619 static enum ndr_err_code ndr_pull_netr_NETRSERVERGETTRUSTINFO(struct ndr_pull *ndr, int flags, struct netr_NETRSERVERGETTRUSTINFO *r)
14621 if (flags & NDR_IN) {
14623 if (flags & NDR_OUT) {
14624 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14626 return NDR_ERR_SUCCESS;
14629 _PUBLIC_ void ndr_print_netr_NETRSERVERGETTRUSTINFO(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14631 ndr_print_struct(ndr, name, "netr_NETRSERVERGETTRUSTINFO");
14633 if (flags & NDR_SET_VALUES) {
14634 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14636 if (flags & NDR_IN) {
14637 ndr_print_struct(ndr, "in", "netr_NETRSERVERGETTRUSTINFO");
14641 if (flags & NDR_OUT) {
14642 ndr_print_struct(ndr, "out", "netr_NETRSERVERGETTRUSTINFO");
14644 ndr_print_WERROR(ndr, "result", r->out.result);
14650 static const struct ndr_interface_call netlogon_calls[] = {
14652 "netr_LogonUasLogon",
14653 sizeof(struct netr_LogonUasLogon),
14654 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
14655 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
14656 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
14660 "netr_LogonUasLogoff",
14661 sizeof(struct netr_LogonUasLogoff),
14662 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
14663 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
14664 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
14668 "netr_LogonSamLogon",
14669 sizeof(struct netr_LogonSamLogon),
14670 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
14671 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
14672 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
14676 "netr_LogonSamLogoff",
14677 sizeof(struct netr_LogonSamLogoff),
14678 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
14679 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
14680 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
14684 "netr_ServerReqChallenge",
14685 sizeof(struct netr_ServerReqChallenge),
14686 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
14687 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
14688 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
14692 "netr_ServerAuthenticate",
14693 sizeof(struct netr_ServerAuthenticate),
14694 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
14695 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
14696 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
14700 "netr_ServerPasswordSet",
14701 sizeof(struct netr_ServerPasswordSet),
14702 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
14703 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
14704 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
14708 "netr_DatabaseDeltas",
14709 sizeof(struct netr_DatabaseDeltas),
14710 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
14711 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
14712 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
14716 "netr_DatabaseSync",
14717 sizeof(struct netr_DatabaseSync),
14718 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
14719 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
14720 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
14724 "netr_AccountDeltas",
14725 sizeof(struct netr_AccountDeltas),
14726 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
14727 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
14728 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
14732 "netr_AccountSync",
14733 sizeof(struct netr_AccountSync),
14734 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
14735 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
14736 (ndr_print_function_t) ndr_print_netr_AccountSync,
14741 sizeof(struct netr_GetDcName),
14742 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
14743 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
14744 (ndr_print_function_t) ndr_print_netr_GetDcName,
14748 "netr_LogonControl",
14749 sizeof(struct netr_LogonControl),
14750 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
14751 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
14752 (ndr_print_function_t) ndr_print_netr_LogonControl,
14756 "netr_GetAnyDCName",
14757 sizeof(struct netr_GetAnyDCName),
14758 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
14759 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
14760 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
14764 "netr_LogonControl2",
14765 sizeof(struct netr_LogonControl2),
14766 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
14767 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
14768 (ndr_print_function_t) ndr_print_netr_LogonControl2,
14772 "netr_ServerAuthenticate2",
14773 sizeof(struct netr_ServerAuthenticate2),
14774 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
14775 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
14776 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
14780 "netr_DatabaseSync2",
14781 sizeof(struct netr_DatabaseSync2),
14782 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
14783 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
14784 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
14788 "netr_DatabaseRedo",
14789 sizeof(struct netr_DatabaseRedo),
14790 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
14791 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
14792 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
14796 "netr_LogonControl2Ex",
14797 sizeof(struct netr_LogonControl2Ex),
14798 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
14799 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
14800 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
14804 "netr_NetrEnumerateTrustedDomains",
14805 sizeof(struct netr_NetrEnumerateTrustedDomains),
14806 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
14807 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
14808 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
14812 "netr_DsRGetDCName",
14813 sizeof(struct netr_DsRGetDCName),
14814 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
14815 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
14816 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
14820 "netr_NETRLOGONDUMMYROUTINE1",
14821 sizeof(struct netr_NETRLOGONDUMMYROUTINE1),
14822 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONDUMMYROUTINE1,
14823 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONDUMMYROUTINE1,
14824 (ndr_print_function_t) ndr_print_netr_NETRLOGONDUMMYROUTINE1,
14828 "netr_NETRLOGONSETSERVICEBITS",
14829 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
14830 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
14831 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
14832 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
14836 "netr_LogonGetTrustRid",
14837 sizeof(struct netr_LogonGetTrustRid),
14838 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
14839 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
14840 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
14844 "netr_NETRLOGONCOMPUTESERVERDIGEST",
14845 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
14846 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
14847 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
14848 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
14852 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
14853 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
14854 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14855 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14856 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14860 "netr_ServerAuthenticate3",
14861 sizeof(struct netr_ServerAuthenticate3),
14862 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
14863 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
14864 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
14868 "netr_DsRGetDCNameEx",
14869 sizeof(struct netr_DsRGetDCNameEx),
14870 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
14871 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
14872 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
14876 "netr_DsRGetSiteName",
14877 sizeof(struct netr_DsRGetSiteName),
14878 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
14879 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
14880 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
14884 "netr_LogonGetDomainInfo",
14885 sizeof(struct netr_LogonGetDomainInfo),
14886 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
14887 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
14888 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
14892 "netr_ServerPasswordSet2",
14893 sizeof(struct netr_ServerPasswordSet2),
14894 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
14895 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
14896 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
14900 "netr_ServerPasswordGet",
14901 sizeof(struct netr_ServerPasswordGet),
14902 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
14903 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
14904 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
14908 "netr_NETRLOGONSENDTOSAM",
14909 sizeof(struct netr_NETRLOGONSENDTOSAM),
14910 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
14911 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
14912 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
14916 "netr_DsRAddressToSitenamesW",
14917 sizeof(struct netr_DsRAddressToSitenamesW),
14918 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
14919 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
14920 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
14924 "netr_DsRGetDCNameEx2",
14925 sizeof(struct netr_DsRGetDCNameEx2),
14926 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
14927 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
14928 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
14932 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
14933 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
14934 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14935 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14936 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14940 "netr_NetrEnumerateTrustedDomainsEx",
14941 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
14942 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
14943 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
14944 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
14948 "netr_DsRAddressToSitenamesExW",
14949 sizeof(struct netr_DsRAddressToSitenamesExW),
14950 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
14951 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
14952 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
14956 "netr_DsrGetDcSiteCoverageW",
14957 sizeof(struct netr_DsrGetDcSiteCoverageW),
14958 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
14959 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
14960 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
14964 "netr_LogonSamLogonEx",
14965 sizeof(struct netr_LogonSamLogonEx),
14966 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
14967 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
14968 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
14972 "netr_DsrEnumerateDomainTrusts",
14973 sizeof(struct netr_DsrEnumerateDomainTrusts),
14974 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
14975 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
14976 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
14980 "netr_DsrDeregisterDNSHostRecords",
14981 sizeof(struct netr_DsrDeregisterDNSHostRecords),
14982 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
14983 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
14984 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
14988 "netr_ServerTrustPasswordsGet",
14989 sizeof(struct netr_ServerTrustPasswordsGet),
14990 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
14991 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
14992 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
14996 "netr_DsRGetForestTrustInformation",
14997 sizeof(struct netr_DsRGetForestTrustInformation),
14998 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
14999 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
15000 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
15004 "netr_GetForestTrustInformation",
15005 sizeof(struct netr_GetForestTrustInformation),
15006 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
15007 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
15008 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
15012 "netr_LogonSamLogonWithFlags",
15013 sizeof(struct netr_LogonSamLogonWithFlags),
15014 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
15015 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
15016 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
15020 "netr_NETRSERVERGETTRUSTINFO",
15021 sizeof(struct netr_NETRSERVERGETTRUSTINFO),
15022 (ndr_push_flags_fn_t) ndr_push_netr_NETRSERVERGETTRUSTINFO,
15023 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRSERVERGETTRUSTINFO,
15024 (ndr_print_function_t) ndr_print_netr_NETRSERVERGETTRUSTINFO,
15027 { NULL, 0, NULL, NULL, NULL, false }
15030 static const char * const netlogon_endpoint_strings[] = {
15031 "ncacn_np:[\\pipe\\netlogon]",
15036 static const struct ndr_interface_string_array netlogon_endpoints = {
15038 .names = netlogon_endpoint_strings
15041 static const char * const netlogon_authservice_strings[] = {
15045 static const struct ndr_interface_string_array netlogon_authservices = {
15047 .names = netlogon_authservice_strings
15051 const struct ndr_interface_table ndr_table_netlogon = {
15052 .name = "netlogon",
15054 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
15055 NDR_NETLOGON_VERSION
15057 .helpstring = NDR_NETLOGON_HELPSTRING,
15059 .calls = netlogon_calls,
15060 .endpoints = &netlogon_endpoints,
15061 .authservices = &netlogon_authservices