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 asprintf(&idx_1, "[%d]", cntr_bindata_1);
320 ndr_print_uint16(ndr, "bindata", r->bindata[cntr_bindata_1]);
330 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
333 return NDR_ERR_SUCCESS;
336 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
339 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
341 return NDR_ERR_SUCCESS;
344 _PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
346 ndr_print_uint32(ndr, name, r);
348 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
349 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
350 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
351 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
352 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
353 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
357 static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
359 if (ndr_flags & NDR_SCALARS) {
360 NDR_CHECK(ndr_push_align(ndr, 4));
361 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
362 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low));
364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high));
365 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
366 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
368 if (ndr_flags & NDR_BUFFERS) {
369 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
370 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
371 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
373 return NDR_ERR_SUCCESS;
376 static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
378 if (ndr_flags & NDR_SCALARS) {
379 NDR_CHECK(ndr_pull_align(ndr, 4));
380 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
381 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
382 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low));
383 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high));
384 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
385 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
387 if (ndr_flags & NDR_BUFFERS) {
388 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
389 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
390 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
392 return NDR_ERR_SUCCESS;
395 _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
397 ndr_print_struct(ndr, name, "netr_IdentityInfo");
399 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
400 ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
401 ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low);
402 ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high);
403 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
404 ndr_print_lsa_String(ndr, "workstation", &r->workstation);
408 static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
410 if (ndr_flags & NDR_SCALARS) {
411 NDR_CHECK(ndr_push_align(ndr, 4));
412 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
413 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
414 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
416 if (ndr_flags & NDR_BUFFERS) {
417 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
418 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
419 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
421 return NDR_ERR_SUCCESS;
424 static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
426 if (ndr_flags & NDR_SCALARS) {
427 NDR_CHECK(ndr_pull_align(ndr, 4));
428 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
429 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
430 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
432 if (ndr_flags & NDR_BUFFERS) {
433 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
434 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
435 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
437 return NDR_ERR_SUCCESS;
440 _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
442 ndr_print_struct(ndr, name, "netr_PasswordInfo");
444 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
445 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
446 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
450 static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
453 uint32_t _flags_save_STRUCT = ndr->flags;
454 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
455 if (ndr_flags & NDR_SCALARS) {
456 NDR_CHECK(ndr_push_align(ndr, 4));
457 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
458 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
459 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
461 if (ndr_flags & NDR_BUFFERS) {
463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
464 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
466 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
469 ndr->flags = _flags_save_STRUCT;
471 return NDR_ERR_SUCCESS;
474 static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
477 TALLOC_CTX *_mem_save_data_0;
479 uint32_t _flags_save_STRUCT = ndr->flags;
480 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
481 if (ndr_flags & NDR_SCALARS) {
482 NDR_CHECK(ndr_pull_align(ndr, 4));
483 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
484 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
485 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
487 NDR_PULL_ALLOC(ndr, r->data);
492 if (ndr_flags & NDR_BUFFERS) {
494 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
495 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
496 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
497 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
498 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
499 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));
501 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
502 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
503 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
506 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
509 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
512 ndr->flags = _flags_save_STRUCT;
514 return NDR_ERR_SUCCESS;
517 _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
519 ndr_print_struct(ndr, name, "netr_ChallengeResponse");
521 uint32_t _flags_save_STRUCT = ndr->flags;
522 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
524 ndr_print_uint16(ndr, "length", r->length);
525 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
526 ndr_print_ptr(ndr, "data", r->data);
529 ndr_print_array_uint8(ndr, "data", r->data, r->length);
533 ndr->flags = _flags_save_STRUCT;
537 static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
540 uint32_t _flags_save_STRUCT = ndr->flags;
541 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
542 if (ndr_flags & NDR_SCALARS) {
543 NDR_CHECK(ndr_push_align(ndr, 4));
544 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
545 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
546 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
547 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
549 if (ndr_flags & NDR_BUFFERS) {
550 NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
551 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
552 NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
554 ndr->flags = _flags_save_STRUCT;
556 return NDR_ERR_SUCCESS;
559 static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
562 uint32_t _flags_save_STRUCT = ndr->flags;
563 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
564 if (ndr_flags & NDR_SCALARS) {
565 NDR_CHECK(ndr_pull_align(ndr, 4));
566 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
567 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
568 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
569 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
571 if (ndr_flags & NDR_BUFFERS) {
572 NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
573 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
574 NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
576 ndr->flags = _flags_save_STRUCT;
578 return NDR_ERR_SUCCESS;
581 _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
583 ndr_print_struct(ndr, name, "netr_NetworkInfo");
585 uint32_t _flags_save_STRUCT = ndr->flags;
586 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
588 ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
589 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
590 ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
591 ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
593 ndr->flags = _flags_save_STRUCT;
597 _PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r)
599 if (ndr_flags & NDR_SCALARS) {
600 int level = ndr_push_get_switch_value(ndr, r);
601 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
604 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
608 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
612 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
616 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
620 NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
624 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
627 if (ndr_flags & NDR_BUFFERS) {
628 int level = ndr_push_get_switch_value(ndr, r);
632 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
638 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
644 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
650 NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
656 NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
661 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
664 return NDR_ERR_SUCCESS;
667 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
671 TALLOC_CTX *_mem_save_password_0;
672 TALLOC_CTX *_mem_save_network_0;
673 level = ndr_pull_get_switch_value(ndr, r);
674 if (ndr_flags & NDR_SCALARS) {
675 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
676 if (_level != level) {
677 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
681 uint32_t _ptr_password;
682 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
684 NDR_PULL_ALLOC(ndr, r->password);
691 uint32_t _ptr_network;
692 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
694 NDR_PULL_ALLOC(ndr, r->network);
701 uint32_t _ptr_password;
702 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
704 NDR_PULL_ALLOC(ndr, r->password);
711 uint32_t _ptr_password;
712 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
714 NDR_PULL_ALLOC(ndr, r->password);
721 uint32_t _ptr_network;
722 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
724 NDR_PULL_ALLOC(ndr, r->network);
731 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
734 if (ndr_flags & NDR_BUFFERS) {
738 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
739 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
740 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
747 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
748 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
749 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
756 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
757 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
758 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
759 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
765 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
766 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
767 NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
774 _mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
775 NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
776 NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
782 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
785 return NDR_ERR_SUCCESS;
788 _PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
791 level = ndr_print_get_switch_value(ndr, r);
792 ndr_print_union(ndr, name, level, "netr_LogonLevel");
795 ndr_print_ptr(ndr, "password", r->password);
798 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
804 ndr_print_ptr(ndr, "network", r->network);
807 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
813 ndr_print_ptr(ndr, "password", r->password);
816 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
822 ndr_print_ptr(ndr, "password", r->password);
825 ndr_print_netr_PasswordInfo(ndr, "password", r->password);
831 ndr_print_ptr(ndr, "network", r->network);
834 ndr_print_netr_NetworkInfo(ndr, "network", r->network);
840 ndr_print_bad_level(ndr, name, level);
844 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
847 uint32_t _flags_save_STRUCT = ndr->flags;
848 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
849 if (ndr_flags & NDR_SCALARS) {
850 NDR_CHECK(ndr_push_align(ndr, 1));
851 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
853 if (ndr_flags & NDR_BUFFERS) {
855 ndr->flags = _flags_save_STRUCT;
857 return NDR_ERR_SUCCESS;
860 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
863 uint32_t _flags_save_STRUCT = ndr->flags;
864 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
865 if (ndr_flags & NDR_SCALARS) {
866 NDR_CHECK(ndr_pull_align(ndr, 1));
867 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
869 if (ndr_flags & NDR_BUFFERS) {
871 ndr->flags = _flags_save_STRUCT;
873 return NDR_ERR_SUCCESS;
876 _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
878 ndr_print_struct(ndr, name, "netr_UserSessionKey");
880 uint32_t _flags_save_STRUCT = ndr->flags;
881 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
883 ndr_print_array_uint8(ndr, "key", r->key, 16);
885 ndr->flags = _flags_save_STRUCT;
889 _PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
892 uint32_t _flags_save_STRUCT = ndr->flags;
893 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
894 if (ndr_flags & NDR_SCALARS) {
895 NDR_CHECK(ndr_push_align(ndr, 1));
896 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
898 if (ndr_flags & NDR_BUFFERS) {
900 ndr->flags = _flags_save_STRUCT;
902 return NDR_ERR_SUCCESS;
905 _PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
908 uint32_t _flags_save_STRUCT = ndr->flags;
909 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
910 if (ndr_flags & NDR_SCALARS) {
911 NDR_CHECK(ndr_pull_align(ndr, 1));
912 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
914 if (ndr_flags & NDR_BUFFERS) {
916 ndr->flags = _flags_save_STRUCT;
918 return NDR_ERR_SUCCESS;
921 _PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
923 ndr_print_struct(ndr, name, "netr_LMSessionKey");
925 uint32_t _flags_save_STRUCT = ndr->flags;
926 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
928 ndr_print_array_uint8(ndr, "key", r->key, 8);
930 ndr->flags = _flags_save_STRUCT;
934 _PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
937 return NDR_ERR_SUCCESS;
940 _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
945 return NDR_ERR_SUCCESS;
948 _PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
950 ndr_print_uint32(ndr, name, r);
952 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
953 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
954 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
955 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
956 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
957 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
958 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
959 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
960 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
961 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
962 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
966 static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
968 uint32_t cntr_unknown_0;
969 if (ndr_flags & NDR_SCALARS) {
970 NDR_CHECK(ndr_push_align(ndr, 4));
971 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
972 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
973 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
974 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
975 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
976 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
977 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
978 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
979 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
980 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
981 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
982 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
983 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
984 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
985 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
987 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
988 NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
989 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
990 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
991 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
993 NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
994 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
995 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
999 if (ndr_flags & NDR_BUFFERS) {
1000 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1001 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1002 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1003 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1004 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1005 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1006 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1007 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1008 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1009 if (r->domain_sid) {
1010 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1013 return NDR_ERR_SUCCESS;
1016 static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
1018 uint32_t _ptr_domain_sid;
1019 TALLOC_CTX *_mem_save_domain_sid_0;
1020 uint32_t cntr_unknown_0;
1021 if (ndr_flags & NDR_SCALARS) {
1022 NDR_CHECK(ndr_pull_align(ndr, 4));
1023 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
1024 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
1025 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
1026 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
1027 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
1028 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
1029 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1030 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1031 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1032 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1033 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1034 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1035 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
1036 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
1037 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1038 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1039 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1040 NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
1041 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1042 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1043 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1044 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1045 if (_ptr_domain_sid) {
1046 NDR_PULL_ALLOC(ndr, r->domain_sid);
1048 r->domain_sid = NULL;
1050 NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1051 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
1052 for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1053 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1056 if (ndr_flags & NDR_BUFFERS) {
1057 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1058 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1059 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1060 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1061 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1062 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1063 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1064 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1065 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1066 if (r->domain_sid) {
1067 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1068 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1069 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1070 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1073 return NDR_ERR_SUCCESS;
1076 _PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1078 uint32_t cntr_unknown_0;
1079 ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1081 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1082 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1083 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1084 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1085 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1086 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1087 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1088 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1089 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1090 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1091 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1092 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1093 ndr_print_uint16(ndr, "logon_count", r->logon_count);
1094 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1095 ndr_print_uint32(ndr, "rid", r->rid);
1096 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1097 ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1098 ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1099 ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1100 ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1101 ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1102 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1104 if (r->domain_sid) {
1105 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1108 ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1109 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1110 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 7);
1112 for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1114 asprintf(&idx_0, "[%d]", cntr_unknown_0);
1116 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1124 static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1126 if (ndr_flags & NDR_SCALARS) {
1127 NDR_CHECK(ndr_push_align(ndr, 4));
1128 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1130 if (ndr_flags & NDR_BUFFERS) {
1131 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1133 return NDR_ERR_SUCCESS;
1136 static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1138 if (ndr_flags & NDR_SCALARS) {
1139 NDR_CHECK(ndr_pull_align(ndr, 4));
1140 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1142 if (ndr_flags & NDR_BUFFERS) {
1143 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1145 return NDR_ERR_SUCCESS;
1148 _PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1150 ndr_print_struct(ndr, name, "netr_SamInfo2");
1152 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1156 static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1158 if (ndr_flags & NDR_SCALARS) {
1159 NDR_CHECK(ndr_push_align(ndr, 4));
1160 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1161 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1163 if (ndr_flags & NDR_BUFFERS) {
1165 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1168 return NDR_ERR_SUCCESS;
1171 static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1174 TALLOC_CTX *_mem_save_sid_0;
1175 if (ndr_flags & NDR_SCALARS) {
1176 NDR_CHECK(ndr_pull_align(ndr, 4));
1177 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1179 NDR_PULL_ALLOC(ndr, r->sid);
1183 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1185 if (ndr_flags & NDR_BUFFERS) {
1187 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1188 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1189 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1190 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1193 return NDR_ERR_SUCCESS;
1196 _PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1198 ndr_print_struct(ndr, name, "netr_SidAttr");
1200 ndr_print_ptr(ndr, "sid", r->sid);
1203 ndr_print_dom_sid2(ndr, "sid", r->sid);
1206 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1210 _PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1212 uint32_t cntr_sids_1;
1213 if (ndr_flags & NDR_SCALARS) {
1214 NDR_CHECK(ndr_push_align(ndr, 4));
1215 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1217 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1219 if (ndr_flags & NDR_BUFFERS) {
1220 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1223 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1224 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1226 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1227 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1231 return NDR_ERR_SUCCESS;
1234 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1237 uint32_t cntr_sids_1;
1238 TALLOC_CTX *_mem_save_sids_0;
1239 TALLOC_CTX *_mem_save_sids_1;
1240 if (ndr_flags & NDR_SCALARS) {
1241 NDR_CHECK(ndr_pull_align(ndr, 4));
1242 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1243 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1244 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1246 NDR_PULL_ALLOC(ndr, r->sids);
1251 if (ndr_flags & NDR_BUFFERS) {
1252 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1254 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1255 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1256 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1257 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1258 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1259 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1260 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1261 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1263 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1264 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1266 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1270 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1273 return NDR_ERR_SUCCESS;
1276 _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1278 uint32_t cntr_sids_1;
1279 ndr_print_struct(ndr, name, "netr_SamInfo3");
1281 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1282 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1283 ndr_print_ptr(ndr, "sids", r->sids);
1286 ndr->print(ndr, "%s: ARRAY(%d)", "sids", r->sidcount);
1288 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1290 asprintf(&idx_1, "[%d]", cntr_sids_1);
1292 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1302 static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1304 uint32_t cntr_sids_1;
1305 uint32_t cntr_unknown4_0;
1306 if (ndr_flags & NDR_SCALARS) {
1307 NDR_CHECK(ndr_push_align(ndr, 4));
1308 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1310 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1311 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1312 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1313 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1314 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1317 if (ndr_flags & NDR_BUFFERS) {
1318 NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1321 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1322 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1324 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1325 NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1328 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1329 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1331 return NDR_ERR_SUCCESS;
1334 static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1337 uint32_t cntr_sids_1;
1338 TALLOC_CTX *_mem_save_sids_0;
1339 TALLOC_CTX *_mem_save_sids_1;
1340 uint32_t cntr_unknown4_0;
1341 if (ndr_flags & NDR_SCALARS) {
1342 NDR_CHECK(ndr_pull_align(ndr, 4));
1343 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1344 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1345 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1347 NDR_PULL_ALLOC(ndr, r->sids);
1351 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1352 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1353 for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1354 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1357 if (ndr_flags & NDR_BUFFERS) {
1358 NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1360 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1361 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1362 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1363 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1364 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1365 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1366 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1367 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1369 for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1370 NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1372 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1373 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1375 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1376 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1378 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1381 return NDR_ERR_SUCCESS;
1384 _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1386 uint32_t cntr_sids_1;
1387 uint32_t cntr_unknown4_0;
1388 ndr_print_struct(ndr, name, "netr_SamInfo6");
1390 ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1391 ndr_print_uint32(ndr, "sidcount", r->sidcount);
1392 ndr_print_ptr(ndr, "sids", r->sids);
1395 ndr->print(ndr, "%s: ARRAY(%d)", "sids", r->sidcount);
1397 for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1399 asprintf(&idx_1, "[%d]", cntr_sids_1);
1401 ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1408 ndr_print_lsa_String(ndr, "forest", &r->forest);
1409 ndr_print_lsa_String(ndr, "principle", &r->principle);
1410 ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", 20);
1412 for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1414 asprintf(&idx_0, "[%d]", cntr_unknown4_0);
1416 ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1424 static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1426 uint32_t cntr_expansionroom_0;
1427 if (ndr_flags & NDR_SCALARS) {
1428 NDR_CHECK(ndr_push_align(ndr, 4));
1429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1430 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1431 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1432 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1433 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1435 NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1436 NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1437 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1438 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1440 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1441 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1442 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1443 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1445 if (ndr_flags & NDR_BUFFERS) {
1447 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1448 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1450 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1451 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1452 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1455 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1457 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1458 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1459 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1460 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1462 return NDR_ERR_SUCCESS;
1465 static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1468 TALLOC_CTX *_mem_save_pac_0;
1470 TALLOC_CTX *_mem_save_auth_0;
1471 uint32_t cntr_expansionroom_0;
1472 if (ndr_flags & NDR_SCALARS) {
1473 NDR_CHECK(ndr_pull_align(ndr, 4));
1474 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1475 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1477 NDR_PULL_ALLOC(ndr, r->pac);
1481 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1482 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1483 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1484 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1485 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1487 NDR_PULL_ALLOC(ndr, r->auth);
1491 NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1492 for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1493 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1495 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1496 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1497 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1498 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1500 if (ndr_flags & NDR_BUFFERS) {
1502 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1503 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1504 NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1505 NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1506 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1507 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1509 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1510 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1511 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1513 _mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1514 NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1515 NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1516 NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1517 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1520 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1521 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1522 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1523 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1525 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1528 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1531 return NDR_ERR_SUCCESS;
1534 _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1536 uint32_t cntr_expansionroom_0;
1537 ndr_print_struct(ndr, name, "netr_PacInfo");
1539 ndr_print_uint32(ndr, "pac_size", r->pac_size);
1540 ndr_print_ptr(ndr, "pac", r->pac);
1543 ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1546 ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1547 ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1548 ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1549 ndr_print_uint32(ndr, "auth_size", r->auth_size);
1550 ndr_print_ptr(ndr, "auth", r->auth);
1553 ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1556 ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1557 ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", 10);
1559 for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1561 asprintf(&idx_0, "[%d]", cntr_expansionroom_0);
1563 ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1568 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1569 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1570 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1571 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1575 _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1577 if (ndr_flags & NDR_SCALARS) {
1578 int level = ndr_push_get_switch_value(ndr, r);
1579 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1586 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1590 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1594 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1598 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1602 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1605 if (ndr_flags & NDR_BUFFERS) {
1606 int level = ndr_push_get_switch_value(ndr, r);
1610 NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1616 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1622 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1628 NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1634 NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1639 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1642 return NDR_ERR_SUCCESS;
1645 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1649 TALLOC_CTX *_mem_save_sam2_0;
1650 TALLOC_CTX *_mem_save_sam3_0;
1651 TALLOC_CTX *_mem_save_pac_0;
1652 TALLOC_CTX *_mem_save_sam6_0;
1653 level = ndr_pull_get_switch_value(ndr, r);
1654 if (ndr_flags & NDR_SCALARS) {
1655 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1656 if (_level != level) {
1657 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1662 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1664 NDR_PULL_ALLOC(ndr, r->sam2);
1672 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1674 NDR_PULL_ALLOC(ndr, r->sam3);
1682 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1684 NDR_PULL_ALLOC(ndr, r->pac);
1692 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1694 NDR_PULL_ALLOC(ndr, r->pac);
1702 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1704 NDR_PULL_ALLOC(ndr, r->sam6);
1711 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1714 if (ndr_flags & NDR_BUFFERS) {
1718 _mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1719 NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1720 NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1727 _mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1728 NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1729 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1730 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1736 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1737 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1738 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1745 _mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1746 NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1747 NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1748 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1754 _mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
1755 NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
1756 NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
1762 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1765 return NDR_ERR_SUCCESS;
1768 _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
1771 level = ndr_print_get_switch_value(ndr, r);
1772 ndr_print_union(ndr, name, level, "netr_Validation");
1775 ndr_print_ptr(ndr, "sam2", r->sam2);
1778 ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
1784 ndr_print_ptr(ndr, "sam3", r->sam3);
1787 ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
1793 ndr_print_ptr(ndr, "pac", r->pac);
1796 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1802 ndr_print_ptr(ndr, "pac", r->pac);
1805 ndr_print_netr_PacInfo(ndr, "pac", r->pac);
1811 ndr_print_ptr(ndr, "sam6", r->sam6);
1814 ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
1820 ndr_print_bad_level(ndr, name, level);
1824 _PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
1827 uint32_t _flags_save_STRUCT = ndr->flags;
1828 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1829 if (ndr_flags & NDR_SCALARS) {
1830 NDR_CHECK(ndr_push_align(ndr, 1));
1831 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1833 if (ndr_flags & NDR_BUFFERS) {
1835 ndr->flags = _flags_save_STRUCT;
1837 return NDR_ERR_SUCCESS;
1840 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
1843 uint32_t _flags_save_STRUCT = ndr->flags;
1844 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1845 if (ndr_flags & NDR_SCALARS) {
1846 NDR_CHECK(ndr_pull_align(ndr, 1));
1847 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
1849 if (ndr_flags & NDR_BUFFERS) {
1851 ndr->flags = _flags_save_STRUCT;
1853 return NDR_ERR_SUCCESS;
1856 _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
1858 ndr_print_struct(ndr, name, "netr_Credential");
1860 uint32_t _flags_save_STRUCT = ndr->flags;
1861 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1863 ndr_print_array_uint8(ndr, "data", r->data, 8);
1865 ndr->flags = _flags_save_STRUCT;
1869 _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
1871 if (ndr_flags & NDR_SCALARS) {
1872 NDR_CHECK(ndr_push_align(ndr, 4));
1873 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1874 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
1876 if (ndr_flags & NDR_BUFFERS) {
1878 return NDR_ERR_SUCCESS;
1881 _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
1883 if (ndr_flags & NDR_SCALARS) {
1884 NDR_CHECK(ndr_pull_align(ndr, 4));
1885 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
1886 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
1888 if (ndr_flags & NDR_BUFFERS) {
1890 return NDR_ERR_SUCCESS;
1893 _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
1895 ndr_print_struct(ndr, name, "netr_Authenticator");
1897 ndr_print_netr_Credential(ndr, "cred", &r->cred);
1898 ndr_print_time_t(ndr, "timestamp", r->timestamp);
1902 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)
1904 if (ndr_flags & NDR_SCALARS) {
1905 NDR_CHECK(ndr_push_align(ndr, 4));
1906 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
1907 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1908 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1909 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1910 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1911 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
1912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
1913 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
1914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
1916 if (ndr_flags & NDR_BUFFERS) {
1917 if (r->account_name) {
1918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1920 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
1921 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
1923 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1924 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1925 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1926 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1928 return NDR_ERR_SUCCESS;
1931 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
1933 uint32_t _ptr_account_name;
1934 TALLOC_CTX *_mem_save_account_name_0;
1935 if (ndr_flags & NDR_SCALARS) {
1936 NDR_CHECK(ndr_pull_align(ndr, 4));
1937 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
1938 if (_ptr_account_name) {
1939 NDR_PULL_ALLOC(ndr, r->account_name);
1941 r->account_name = NULL;
1943 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1944 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1945 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1946 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1947 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
1948 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
1949 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
1950 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
1952 if (ndr_flags & NDR_BUFFERS) {
1953 if (r->account_name) {
1954 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1955 NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
1956 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
1957 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
1958 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
1959 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));
1961 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
1962 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
1963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
1965 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1966 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1967 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1968 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1970 return NDR_ERR_SUCCESS;
1973 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
1975 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
1977 ndr_print_ptr(ndr, "account_name", r->account_name);
1979 if (r->account_name) {
1980 ndr_print_string(ndr, "account_name", r->account_name);
1983 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1984 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1985 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1986 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1987 ndr_print_uint32(ndr, "unknown5", r->unknown5);
1988 ndr_print_uint32(ndr, "unknown6", r->unknown6);
1989 ndr_print_uint32(ndr, "unknown7", r->unknown7);
1990 ndr_print_uint32(ndr, "unknown8", r->unknown8);
1994 static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
1996 if (ndr_flags & NDR_SCALARS) {
1997 NDR_CHECK(ndr_push_align(ndr, 4));
1998 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
1999 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
2001 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2003 if (ndr_flags & NDR_BUFFERS) {
2004 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->pwd));
2006 return NDR_ERR_SUCCESS;
2009 static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
2011 if (ndr_flags & NDR_SCALARS) {
2012 NDR_CHECK(ndr_pull_align(ndr, 4));
2013 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
2014 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
2015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
2016 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2018 if (ndr_flags & NDR_BUFFERS) {
2019 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->pwd));
2021 return NDR_ERR_SUCCESS;
2024 _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
2026 ndr_print_struct(ndr, name, "netr_USER_KEY16");
2028 ndr_print_uint16(ndr, "length", r->length);
2029 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
2030 ndr_print_uint32(ndr, "flags", r->flags);
2031 ndr_print_samr_Password(ndr, "pwd", &r->pwd);
2035 static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
2037 if (ndr_flags & NDR_SCALARS) {
2038 NDR_CHECK(ndr_push_align(ndr, 4));
2039 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2040 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2041 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2042 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2043 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2045 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2046 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2048 if (ndr_flags & NDR_BUFFERS) {
2050 return NDR_ERR_SUCCESS;
2053 static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2055 if (ndr_flags & NDR_SCALARS) {
2056 NDR_CHECK(ndr_pull_align(ndr, 4));
2057 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2058 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2059 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2060 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2061 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2062 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2063 NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2064 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2065 NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2066 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2068 if (ndr_flags & NDR_BUFFERS) {
2070 return NDR_ERR_SUCCESS;
2073 _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2075 ndr_print_struct(ndr, name, "netr_PasswordHistory");
2077 ndr_print_uint16(ndr, "nt_length", r->nt_length);
2078 ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2079 ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2080 ndr_print_uint16(ndr, "lm_length", r->lm_length);
2081 ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2082 ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2083 ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2084 ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2088 static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2090 if (ndr_flags & NDR_SCALARS) {
2091 NDR_CHECK(ndr_push_align(ndr, 4));
2092 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2093 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2094 NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2096 if (ndr_flags & NDR_BUFFERS) {
2097 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->lmpassword));
2098 NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->ntpassword));
2100 return NDR_ERR_SUCCESS;
2103 static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2105 if (ndr_flags & NDR_SCALARS) {
2106 NDR_CHECK(ndr_pull_align(ndr, 4));
2107 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2108 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2109 NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2111 if (ndr_flags & NDR_BUFFERS) {
2112 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->lmpassword));
2113 NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->ntpassword));
2115 return NDR_ERR_SUCCESS;
2118 _PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2120 ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2122 ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2123 ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2124 ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2128 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)
2130 if (ndr_flags & NDR_SCALARS) {
2131 NDR_CHECK(ndr_push_align(ndr, 4));
2132 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2134 if (ndr_flags & NDR_BUFFERS) {
2135 NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_BUFFERS, &r->keys2));
2137 return NDR_ERR_SUCCESS;
2140 static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2142 if (ndr_flags & NDR_SCALARS) {
2143 NDR_CHECK(ndr_pull_align(ndr, 4));
2144 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2146 if (ndr_flags & NDR_BUFFERS) {
2147 NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_BUFFERS, &r->keys2));
2149 return NDR_ERR_SUCCESS;
2152 _PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2154 ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2156 ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2160 _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2162 if (ndr_flags & NDR_SCALARS) {
2163 NDR_CHECK(ndr_push_align(ndr, 4));
2164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2165 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2167 if (ndr_flags & NDR_BUFFERS) {
2168 NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_BUFFERS, &r->keys));
2170 return NDR_ERR_SUCCESS;
2173 _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2175 if (ndr_flags & NDR_SCALARS) {
2176 NDR_CHECK(ndr_pull_align(ndr, 4));
2177 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2178 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2180 if (ndr_flags & NDR_BUFFERS) {
2181 NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_BUFFERS, &r->keys));
2183 return NDR_ERR_SUCCESS;
2186 _PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2188 ndr_print_struct(ndr, name, "netr_USER_KEYS");
2190 ndr_print_uint32(ndr, "version", r->version);
2191 ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2195 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)
2197 if (ndr_flags & NDR_SCALARS) {
2198 NDR_CHECK(ndr_push_align(ndr, 4));
2199 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2200 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2202 uint32_t _flags_save_uint8 = ndr->flags;
2203 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2204 NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2205 ndr->flags = _flags_save_uint8;
2208 if (ndr_flags & NDR_BUFFERS) {
2210 uint32_t _flags_save_uint8 = ndr->flags;
2211 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2212 if (r->SensitiveData) {
2213 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2214 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2216 ndr->flags = _flags_save_uint8;
2219 return NDR_ERR_SUCCESS;
2222 static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2224 uint32_t _ptr_SensitiveData;
2225 TALLOC_CTX *_mem_save_SensitiveData_0;
2226 if (ndr_flags & NDR_SCALARS) {
2227 NDR_CHECK(ndr_pull_align(ndr, 4));
2228 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2229 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2231 uint32_t _flags_save_uint8 = ndr->flags;
2232 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2233 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2234 if (_ptr_SensitiveData) {
2235 NDR_PULL_ALLOC(ndr, r->SensitiveData);
2237 r->SensitiveData = NULL;
2239 ndr->flags = _flags_save_uint8;
2242 if (ndr_flags & NDR_BUFFERS) {
2244 uint32_t _flags_save_uint8 = ndr->flags;
2245 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2246 if (r->SensitiveData) {
2247 _mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2248 NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2249 NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2250 NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2251 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2252 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2254 ndr->flags = _flags_save_uint8;
2256 if (r->SensitiveData) {
2257 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2260 return NDR_ERR_SUCCESS;
2263 _PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2265 ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2267 ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2268 ndr_print_uint32(ndr, "DataLength", r->DataLength);
2269 ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2271 if (r->SensitiveData) {
2272 ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2278 static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2280 if (ndr_flags & NDR_SCALARS) {
2281 NDR_CHECK(ndr_push_align(ndr, 4));
2282 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2283 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2284 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2286 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2287 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2288 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2289 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2290 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2291 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2292 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2293 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2294 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2295 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2296 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2297 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2298 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2299 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2300 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2301 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2302 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2303 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2304 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2305 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->parameters));
2306 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2307 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2308 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2309 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2310 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2311 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2312 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2313 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2314 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2316 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2318 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2320 if (ndr_flags & NDR_BUFFERS) {
2321 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2322 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2323 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2324 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2325 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2326 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2327 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2328 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2329 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
2330 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
2331 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2332 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
2333 NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2334 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2335 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2336 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2337 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2338 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2340 return NDR_ERR_SUCCESS;
2343 static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2345 if (ndr_flags & NDR_SCALARS) {
2346 NDR_CHECK(ndr_pull_align(ndr, 4));
2347 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2348 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2350 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2351 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2352 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2353 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2354 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2355 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2356 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2357 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2358 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2359 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2360 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2361 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2362 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2363 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2364 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2365 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2366 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2367 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2368 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2369 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2370 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->parameters));
2371 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2372 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2373 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2374 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2375 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2376 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2377 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2378 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2379 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2380 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2382 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2383 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2385 if (ndr_flags & NDR_BUFFERS) {
2386 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2387 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2388 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2389 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2390 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2391 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2392 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2393 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2394 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
2395 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
2396 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2397 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
2398 NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2399 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2400 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2401 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2402 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2403 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2405 return NDR_ERR_SUCCESS;
2408 _PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2410 ndr_print_struct(ndr, name, "netr_DELTA_USER");
2412 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2413 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2414 ndr_print_uint32(ndr, "rid", r->rid);
2415 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2416 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2417 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2418 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2419 ndr_print_lsa_String(ndr, "description", &r->description);
2420 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2421 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2422 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2423 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2424 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2425 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2426 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2427 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2428 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2429 ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2430 ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2431 ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2432 ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2433 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2434 ndr_print_lsa_String(ndr, "comment", &r->comment);
2435 ndr_print_lsa_String(ndr, "parameters", &r->parameters);
2436 ndr_print_uint16(ndr, "country_code", r->country_code);
2437 ndr_print_uint16(ndr, "code_page", r->code_page);
2438 ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2439 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2440 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2441 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2442 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2443 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2444 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2445 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2446 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2447 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2448 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2452 static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2454 if (ndr_flags & NDR_SCALARS) {
2455 NDR_CHECK(ndr_push_align(ndr, 4));
2456 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2457 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2458 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2459 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2460 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2461 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2462 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2463 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2464 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2466 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2467 NDR_CHECK(ndr_push_netr_AcctLockStr(ndr, NDR_SCALARS, &r->account_lockout));
2468 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2469 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2470 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2476 if (ndr_flags & NDR_BUFFERS) {
2477 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2478 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2479 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2480 NDR_CHECK(ndr_push_netr_AcctLockStr(ndr, NDR_BUFFERS, &r->account_lockout));
2481 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2482 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2483 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2485 return NDR_ERR_SUCCESS;
2488 static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2490 if (ndr_flags & NDR_SCALARS) {
2491 NDR_CHECK(ndr_pull_align(ndr, 4));
2492 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2493 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2494 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2495 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2496 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2497 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2498 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2499 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2500 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2501 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2502 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2503 NDR_CHECK(ndr_pull_netr_AcctLockStr(ndr, NDR_SCALARS, &r->account_lockout));
2504 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2505 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2506 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2507 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2508 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2509 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2510 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2512 if (ndr_flags & NDR_BUFFERS) {
2513 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2514 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2515 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2516 NDR_CHECK(ndr_pull_netr_AcctLockStr(ndr, NDR_BUFFERS, &r->account_lockout));
2517 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2518 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2519 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2521 return NDR_ERR_SUCCESS;
2524 _PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2526 ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2528 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2529 ndr_print_lsa_String(ndr, "comment", &r->comment);
2530 ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2531 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2532 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2533 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2534 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2535 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2536 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2537 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2538 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2539 ndr_print_netr_AcctLockStr(ndr, "account_lockout", &r->account_lockout);
2540 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2541 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2542 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2543 ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2544 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2545 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2546 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2550 static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2552 if (ndr_flags & NDR_SCALARS) {
2553 NDR_CHECK(ndr_push_align(ndr, 4));
2554 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2555 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2556 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2557 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2558 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2559 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2560 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2561 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2562 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2563 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2565 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2566 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2569 if (ndr_flags & NDR_BUFFERS) {
2570 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2571 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2572 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2573 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2574 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2575 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2576 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2578 return NDR_ERR_SUCCESS;
2581 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2583 if (ndr_flags & NDR_SCALARS) {
2584 NDR_CHECK(ndr_pull_align(ndr, 4));
2585 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2586 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2587 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2588 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2589 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2590 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2591 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2592 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2593 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2594 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2595 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2596 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2597 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2598 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2600 if (ndr_flags & NDR_BUFFERS) {
2601 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2602 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2603 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2604 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2605 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2606 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2607 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2609 return NDR_ERR_SUCCESS;
2612 _PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2614 ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2616 ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2617 ndr_print_uint32(ndr, "rid", r->rid);
2618 ndr_print_uint32(ndr, "attributes", r->attributes);
2619 ndr_print_lsa_String(ndr, "description", &r->description);
2620 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2621 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2622 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2623 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2624 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2625 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2626 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2627 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2628 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2629 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2633 static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2635 if (ndr_flags & NDR_SCALARS) {
2636 NDR_CHECK(ndr_push_align(ndr, 4));
2637 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2638 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2639 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2640 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2641 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2642 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2643 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2644 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2645 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2648 if (ndr_flags & NDR_BUFFERS) {
2649 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2650 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2651 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2652 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2653 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2654 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2656 return NDR_ERR_SUCCESS;
2659 static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2661 if (ndr_flags & NDR_SCALARS) {
2662 NDR_CHECK(ndr_pull_align(ndr, 4));
2663 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2664 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2665 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2666 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2667 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2668 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2669 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2670 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2671 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2672 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2674 if (ndr_flags & NDR_BUFFERS) {
2675 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2676 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2677 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2678 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2679 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2680 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2682 return NDR_ERR_SUCCESS;
2685 _PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2687 ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2689 ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2690 ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2691 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2692 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2693 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2694 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2695 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2696 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2697 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2698 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2702 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)
2704 uint32_t cntr_rids_1;
2705 uint32_t cntr_attribs_1;
2706 if (ndr_flags & NDR_SCALARS) {
2707 NDR_CHECK(ndr_push_align(ndr, 4));
2708 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2709 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2711 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2712 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2716 if (ndr_flags & NDR_BUFFERS) {
2718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2719 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2724 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2725 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
2730 return NDR_ERR_SUCCESS;
2733 static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
2736 uint32_t cntr_rids_1;
2737 TALLOC_CTX *_mem_save_rids_0;
2738 TALLOC_CTX *_mem_save_rids_1;
2739 uint32_t _ptr_attribs;
2740 uint32_t cntr_attribs_1;
2741 TALLOC_CTX *_mem_save_attribs_0;
2742 TALLOC_CTX *_mem_save_attribs_1;
2743 if (ndr_flags & NDR_SCALARS) {
2744 NDR_CHECK(ndr_pull_align(ndr, 4));
2745 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
2747 NDR_PULL_ALLOC(ndr, r->rids);
2751 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
2753 NDR_PULL_ALLOC(ndr, r->attribs);
2757 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
2758 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2759 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2760 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2761 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2763 if (ndr_flags & NDR_BUFFERS) {
2765 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2766 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2767 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
2768 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
2769 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2770 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
2771 for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2772 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
2774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
2775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
2778 _mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
2779 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2780 NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
2781 NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
2782 _mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
2783 NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
2784 for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2785 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
2787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
2788 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
2791 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
2794 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
2797 return NDR_ERR_SUCCESS;
2800 _PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
2802 uint32_t cntr_rids_1;
2803 uint32_t cntr_attribs_1;
2804 ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
2806 ndr_print_ptr(ndr, "rids", r->rids);
2809 ndr->print(ndr, "%s: ARRAY(%d)", "rids", r->num_rids);
2811 for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
2813 asprintf(&idx_1, "[%d]", cntr_rids_1);
2815 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
2822 ndr_print_ptr(ndr, "attribs", r->attribs);
2825 ndr->print(ndr, "%s: ARRAY(%d)", "attribs", r->num_rids);
2827 for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
2829 asprintf(&idx_1, "[%d]", cntr_attribs_1);
2831 ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
2838 ndr_print_uint32(ndr, "num_rids", r->num_rids);
2839 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2840 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2841 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2842 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2846 static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
2848 if (ndr_flags & NDR_SCALARS) {
2849 NDR_CHECK(ndr_push_align(ndr, 4));
2850 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2853 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2854 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2855 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2856 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2857 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2858 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2859 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2861 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2863 if (ndr_flags & NDR_BUFFERS) {
2864 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2865 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2866 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2867 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2868 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2869 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2871 return NDR_ERR_SUCCESS;
2874 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
2876 if (ndr_flags & NDR_SCALARS) {
2877 NDR_CHECK(ndr_pull_align(ndr, 4));
2878 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
2879 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2880 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2881 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2882 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2883 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2884 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2885 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2886 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2887 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2888 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2889 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2891 if (ndr_flags & NDR_BUFFERS) {
2892 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
2893 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2894 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2895 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2896 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2897 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2899 return NDR_ERR_SUCCESS;
2902 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
2904 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
2906 ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
2907 ndr_print_uint32(ndr, "rid", r->rid);
2908 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2909 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2910 ndr_print_lsa_String(ndr, "description", &r->description);
2911 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2912 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2913 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2914 ndr_print_uint32(ndr, "unknown5", r->unknown5);
2915 ndr_print_uint32(ndr, "unknown6", r->unknown6);
2916 ndr_print_uint32(ndr, "unknown7", r->unknown7);
2917 ndr_print_uint32(ndr, "unknown8", r->unknown8);
2921 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)
2923 if (ndr_flags & NDR_SCALARS) {
2924 NDR_CHECK(ndr_push_align(ndr, 4));
2925 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2926 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2931 if (ndr_flags & NDR_BUFFERS) {
2932 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2934 return NDR_ERR_SUCCESS;
2937 static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
2939 if (ndr_flags & NDR_SCALARS) {
2940 NDR_CHECK(ndr_pull_align(ndr, 4));
2941 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
2942 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
2943 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
2944 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
2945 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
2947 if (ndr_flags & NDR_BUFFERS) {
2948 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
2950 return NDR_ERR_SUCCESS;
2953 _PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
2955 ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
2957 ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
2958 ndr_print_uint32(ndr, "unknown1", r->unknown1);
2959 ndr_print_uint32(ndr, "unknown2", r->unknown2);
2960 ndr_print_uint32(ndr, "unknown3", r->unknown3);
2961 ndr_print_uint32(ndr, "unknown4", r->unknown4);
2965 static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
2967 if (ndr_flags & NDR_SCALARS) {
2968 NDR_CHECK(ndr_push_align(ndr, 4));
2969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
2970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
2971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
2972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
2973 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
2974 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
2976 if (ndr_flags & NDR_BUFFERS) {
2978 return NDR_ERR_SUCCESS;
2981 static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
2983 if (ndr_flags & NDR_SCALARS) {
2984 NDR_CHECK(ndr_pull_align(ndr, 4));
2985 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
2986 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
2987 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
2988 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
2989 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
2990 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
2992 if (ndr_flags & NDR_BUFFERS) {
2994 return NDR_ERR_SUCCESS;
2997 _PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
2999 ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
3001 ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
3002 ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
3003 ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
3004 ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
3005 ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
3006 ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
3010 static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
3012 uint32_t cntr_eventauditoptions_1;
3013 if (ndr_flags & NDR_SCALARS) {
3014 NDR_CHECK(ndr_push_align(ndr, 4));
3015 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
3016 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
3017 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
3018 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
3019 NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
3020 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3021 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3022 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3023 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
3024 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
3025 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3026 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3027 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3028 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3029 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3030 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3031 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3032 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3033 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3036 if (ndr_flags & NDR_BUFFERS) {
3037 if (r->eventauditoptions) {
3038 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
3039 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3040 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
3043 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3045 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3047 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3048 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3049 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3050 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3051 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3053 return NDR_ERR_SUCCESS;
3056 static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3058 uint32_t _ptr_eventauditoptions;
3059 uint32_t cntr_eventauditoptions_1;
3060 TALLOC_CTX *_mem_save_eventauditoptions_0;
3061 TALLOC_CTX *_mem_save_eventauditoptions_1;
3063 TALLOC_CTX *_mem_save_sid_0;
3064 if (ndr_flags & NDR_SCALARS) {
3065 NDR_CHECK(ndr_pull_align(ndr, 4));
3066 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3067 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3068 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3069 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3070 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3071 if (_ptr_eventauditoptions) {
3072 NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3074 r->eventauditoptions = NULL;
3076 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3079 NDR_PULL_ALLOC(ndr, r->sid);
3083 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3084 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3085 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3086 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3087 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3088 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3089 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3090 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3091 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3092 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3093 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3094 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3095 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3097 if (ndr_flags & NDR_BUFFERS) {
3098 if (r->eventauditoptions) {
3099 _mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3100 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3101 NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3102 NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
3103 _mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3104 NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3105 for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3106 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3109 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3111 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3113 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3114 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3115 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3116 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3118 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3119 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3120 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3121 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3122 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3123 if (r->eventauditoptions) {
3124 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3127 return NDR_ERR_SUCCESS;
3130 _PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3132 uint32_t cntr_eventauditoptions_1;
3133 ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3135 ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3136 ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3137 ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3138 ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3139 ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3141 if (r->eventauditoptions) {
3142 ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", r->maxauditeventcount + 1);
3144 for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3146 asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1);
3148 ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3155 ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3156 ndr_print_ptr(ndr, "sid", r->sid);
3159 ndr_print_dom_sid2(ndr, "sid", r->sid);
3162 ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3163 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3164 ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3165 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3166 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3167 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3168 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3169 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3170 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3171 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3172 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3173 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3174 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3178 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)
3180 uint32_t cntr_controller_names_1;
3181 if (ndr_flags & NDR_SCALARS) {
3182 NDR_CHECK(ndr_push_align(ndr, 4));
3183 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3185 NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3187 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3188 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3189 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3190 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3191 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3197 if (ndr_flags & NDR_BUFFERS) {
3198 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3199 if (r->controller_names) {
3200 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3201 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3202 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3204 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3205 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3208 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3209 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3210 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3211 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3212 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3214 return NDR_ERR_SUCCESS;
3217 static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3219 uint32_t _ptr_controller_names;
3220 uint32_t cntr_controller_names_1;
3221 TALLOC_CTX *_mem_save_controller_names_0;
3222 TALLOC_CTX *_mem_save_controller_names_1;
3223 if (ndr_flags & NDR_SCALARS) {
3224 NDR_CHECK(ndr_pull_align(ndr, 4));
3225 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3226 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3227 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3228 if (_ptr_controller_names) {
3229 NDR_PULL_ALLOC(ndr, r->controller_names);
3231 r->controller_names = NULL;
3233 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3234 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3235 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3236 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3237 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3238 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3239 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3240 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3241 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3242 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3244 if (ndr_flags & NDR_BUFFERS) {
3245 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3246 if (r->controller_names) {
3247 _mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3248 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3249 NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3250 NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
3251 _mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3252 NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3253 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3254 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3256 for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3257 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3260 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3262 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3263 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3264 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3265 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3266 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3267 if (r->controller_names) {
3268 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3271 return NDR_ERR_SUCCESS;
3274 _PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3276 uint32_t cntr_controller_names_1;
3277 ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3279 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3280 ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3281 ndr_print_ptr(ndr, "controller_names", r->controller_names);
3283 if (r->controller_names) {
3284 ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", r->num_controllers);
3286 for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3288 asprintf(&idx_1, "[%d]", cntr_controller_names_1);
3290 ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3297 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3298 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3299 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3300 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3301 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3302 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3303 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3304 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3305 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3306 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3310 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)
3312 if (ndr_flags & NDR_SCALARS) {
3313 NDR_CHECK(ndr_push_align(ndr, 2));
3314 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3316 if (ndr_flags & NDR_BUFFERS) {
3318 return NDR_ERR_SUCCESS;
3321 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3323 if (ndr_flags & NDR_SCALARS) {
3324 NDR_CHECK(ndr_pull_align(ndr, 2));
3325 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3327 if (ndr_flags & NDR_BUFFERS) {
3329 return NDR_ERR_SUCCESS;
3332 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3334 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3336 ndr_print_uint16(ndr, "unknown", r->unknown);
3340 static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3342 uint32_t cntr_privilege_attrib_1;
3343 uint32_t cntr_privilege_name_1;
3344 if (ndr_flags & NDR_SCALARS) {
3345 NDR_CHECK(ndr_push_align(ndr, 4));
3346 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3347 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3348 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3349 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3350 NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3351 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3352 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3353 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3354 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3355 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3356 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3357 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3359 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3363 if (ndr_flags & NDR_BUFFERS) {
3364 if (r->privilege_attrib) {
3365 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3366 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3370 if (r->privilege_name) {
3371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3372 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3373 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3375 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3376 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3379 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3380 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3381 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3382 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3383 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3385 return NDR_ERR_SUCCESS;
3388 static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3390 uint32_t _ptr_privilege_attrib;
3391 uint32_t cntr_privilege_attrib_1;
3392 TALLOC_CTX *_mem_save_privilege_attrib_0;
3393 TALLOC_CTX *_mem_save_privilege_attrib_1;
3394 uint32_t _ptr_privilege_name;
3395 uint32_t cntr_privilege_name_1;
3396 TALLOC_CTX *_mem_save_privilege_name_0;
3397 TALLOC_CTX *_mem_save_privilege_name_1;
3398 if (ndr_flags & NDR_SCALARS) {
3399 NDR_CHECK(ndr_pull_align(ndr, 4));
3400 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3401 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3402 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3403 if (_ptr_privilege_attrib) {
3404 NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3406 r->privilege_attrib = NULL;
3408 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3409 if (_ptr_privilege_name) {
3410 NDR_PULL_ALLOC(ndr, r->privilege_name);
3412 r->privilege_name = NULL;
3414 NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3415 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3416 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3417 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3418 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3419 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3420 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3421 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3422 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3423 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3424 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3425 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3427 if (ndr_flags & NDR_BUFFERS) {
3428 if (r->privilege_attrib) {
3429 _mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3430 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3431 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3432 NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
3433 _mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3434 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3435 for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3436 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3438 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3439 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3441 if (r->privilege_name) {
3442 _mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3443 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3444 NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3445 NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
3446 _mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3447 NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3448 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3449 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3451 for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3452 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3457 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3458 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3459 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3460 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3461 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3462 if (r->privilege_attrib) {
3463 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3465 if (r->privilege_name) {
3466 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3469 return NDR_ERR_SUCCESS;
3472 _PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3474 uint32_t cntr_privilege_attrib_1;
3475 uint32_t cntr_privilege_name_1;
3476 ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3478 ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3479 ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3480 ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3482 if (r->privilege_attrib) {
3483 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", r->privilege_entries);
3485 for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3487 asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1);
3489 ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3496 ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3498 if (r->privilege_name) {
3499 ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", r->privilege_entries);
3501 for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3503 asprintf(&idx_1, "[%d]", cntr_privilege_name_1);
3505 ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3512 ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3513 ndr_print_uint32(ndr, "system_flags", r->system_flags);
3514 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3515 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3516 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3517 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3518 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3519 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3520 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3521 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3522 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3523 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3527 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)
3529 if (ndr_flags & NDR_SCALARS) {
3530 NDR_CHECK(ndr_push_align(ndr, 2));
3531 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3533 if (ndr_flags & NDR_BUFFERS) {
3535 return NDR_ERR_SUCCESS;
3538 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3540 if (ndr_flags & NDR_SCALARS) {
3541 NDR_CHECK(ndr_pull_align(ndr, 2));
3542 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3544 if (ndr_flags & NDR_BUFFERS) {
3546 return NDR_ERR_SUCCESS;
3549 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3551 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3553 ndr_print_uint16(ndr, "unknown", r->unknown);
3557 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)
3559 if (ndr_flags & NDR_SCALARS) {
3560 NDR_CHECK(ndr_push_align(ndr, 2));
3561 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3563 if (ndr_flags & NDR_BUFFERS) {
3565 return NDR_ERR_SUCCESS;
3568 static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3570 if (ndr_flags & NDR_SCALARS) {
3571 NDR_CHECK(ndr_pull_align(ndr, 2));
3572 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3574 if (ndr_flags & NDR_BUFFERS) {
3576 return NDR_ERR_SUCCESS;
3579 _PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3581 ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3583 ndr_print_uint16(ndr, "unknown", r->unknown);
3587 static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3589 if (ndr_flags & NDR_SCALARS) {
3590 NDR_CHECK(ndr_push_align(ndr, 4));
3591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3593 NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3595 if (ndr_flags & NDR_BUFFERS) {
3596 if (r->cipher_data) {
3597 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3598 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3600 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3603 return NDR_ERR_SUCCESS;
3606 static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3608 uint32_t _ptr_cipher_data;
3609 TALLOC_CTX *_mem_save_cipher_data_0;
3610 if (ndr_flags & NDR_SCALARS) {
3611 NDR_CHECK(ndr_pull_align(ndr, 4));
3612 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3613 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3614 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3615 if (_ptr_cipher_data) {
3616 NDR_PULL_ALLOC(ndr, r->cipher_data);
3618 r->cipher_data = NULL;
3621 if (ndr_flags & NDR_BUFFERS) {
3622 if (r->cipher_data) {
3623 _mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3624 NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3625 NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3626 NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3627 if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
3628 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));
3630 NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
3631 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
3632 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3634 if (r->cipher_data) {
3635 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3637 if (r->cipher_data) {
3638 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3641 return NDR_ERR_SUCCESS;
3644 _PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3646 ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3648 ndr_print_uint32(ndr, "len", r->len);
3649 ndr_print_uint32(ndr, "maxlen", r->maxlen);
3650 ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3652 if (r->cipher_data) {
3653 ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3659 static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3661 if (ndr_flags & NDR_SCALARS) {
3662 NDR_CHECK(ndr_push_align(ndr, 4));
3663 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3664 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3665 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3666 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3668 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3669 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3670 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3671 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3672 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3673 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3676 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3678 if (ndr_flags & NDR_BUFFERS) {
3679 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3680 NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3681 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3682 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3683 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3684 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3685 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3687 return NDR_ERR_SUCCESS;
3690 static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3692 if (ndr_flags & NDR_SCALARS) {
3693 NDR_CHECK(ndr_pull_align(ndr, 4));
3694 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3695 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3696 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3697 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3698 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3699 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3700 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3701 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3702 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3703 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3704 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3705 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3709 if (ndr_flags & NDR_BUFFERS) {
3710 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3711 NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3712 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3713 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3714 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3715 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3716 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3718 return NDR_ERR_SUCCESS;
3721 _PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
3723 ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
3725 ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
3726 ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
3727 ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
3728 ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
3729 ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3730 ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3731 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3732 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3733 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3734 ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3735 ndr_print_uint32(ndr, "unknown5", r->unknown5);
3736 ndr_print_uint32(ndr, "unknown6", r->unknown6);
3737 ndr_print_uint32(ndr, "unknown7", r->unknown7);
3738 ndr_print_uint32(ndr, "unknown8", r->unknown8);
3742 static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
3744 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
3745 return NDR_ERR_SUCCESS;
3748 static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
3751 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
3753 return NDR_ERR_SUCCESS;
3756 _PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
3758 const char *val = NULL;
3761 case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
3762 case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
3763 case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
3764 case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
3765 case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
3766 case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
3767 case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
3768 case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
3769 case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
3770 case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
3771 case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
3772 case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
3773 case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
3774 case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
3775 case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
3776 case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
3777 case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
3778 case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
3779 case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
3780 case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
3781 case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
3782 case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
3784 ndr_print_enum(ndr, name, "ENUM", val, r);
3787 static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
3789 if (ndr_flags & NDR_SCALARS) {
3790 int level = ndr_push_get_switch_value(ndr, r);
3791 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
3793 case NETR_DELTA_DOMAIN: {
3794 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
3797 case NETR_DELTA_GROUP: {
3798 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
3801 case NETR_DELTA_DELETE_GROUP: {
3804 case NETR_DELTA_RENAME_GROUP: {
3805 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
3808 case NETR_DELTA_USER: {
3809 NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
3812 case NETR_DELTA_DELETE_USER: {
3815 case NETR_DELTA_RENAME_USER: {
3816 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
3819 case NETR_DELTA_GROUP_MEMBER: {
3820 NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
3823 case NETR_DELTA_ALIAS: {
3824 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
3827 case NETR_DELTA_DELETE_ALIAS: {
3830 case NETR_DELTA_RENAME_ALIAS: {
3831 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
3834 case NETR_DELTA_ALIAS_MEMBER: {
3835 NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
3838 case NETR_DELTA_POLICY: {
3839 NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
3842 case NETR_DELTA_TRUSTED_DOMAIN: {
3843 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
3846 case NETR_DELTA_DELETE_TRUST: {
3847 NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
3850 case NETR_DELTA_ACCOUNT: {
3851 NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
3854 case NETR_DELTA_DELETE_ACCOUNT: {
3855 NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
3858 case NETR_DELTA_SECRET: {
3859 NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
3862 case NETR_DELTA_DELETE_SECRET: {
3863 NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
3866 case NETR_DELTA_DELETE_GROUP2: {
3867 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
3870 case NETR_DELTA_DELETE_USER2: {
3871 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
3874 case NETR_DELTA_MODIFY_COUNT: {
3875 NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
3879 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3882 if (ndr_flags & NDR_BUFFERS) {
3883 int level = ndr_push_get_switch_value(ndr, r);
3885 case NETR_DELTA_DOMAIN:
3887 NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
3891 case NETR_DELTA_GROUP:
3893 NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
3897 case NETR_DELTA_DELETE_GROUP:
3900 case NETR_DELTA_RENAME_GROUP:
3901 if (r->rename_group) {
3902 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
3906 case NETR_DELTA_USER:
3908 NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
3912 case NETR_DELTA_DELETE_USER:
3915 case NETR_DELTA_RENAME_USER:
3916 if (r->rename_user) {
3917 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
3921 case NETR_DELTA_GROUP_MEMBER:
3922 if (r->group_member) {
3923 NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
3927 case NETR_DELTA_ALIAS:
3929 NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
3933 case NETR_DELTA_DELETE_ALIAS:
3936 case NETR_DELTA_RENAME_ALIAS:
3937 if (r->rename_alias) {
3938 NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
3942 case NETR_DELTA_ALIAS_MEMBER:
3943 if (r->alias_member) {
3944 NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
3948 case NETR_DELTA_POLICY:
3950 NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
3954 case NETR_DELTA_TRUSTED_DOMAIN:
3955 if (r->trusted_domain) {
3956 NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
3960 case NETR_DELTA_DELETE_TRUST:
3963 case NETR_DELTA_ACCOUNT:
3965 NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
3969 case NETR_DELTA_DELETE_ACCOUNT:
3972 case NETR_DELTA_SECRET:
3974 NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
3978 case NETR_DELTA_DELETE_SECRET:
3981 case NETR_DELTA_DELETE_GROUP2:
3982 if (r->delete_group) {
3983 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
3987 case NETR_DELTA_DELETE_USER2:
3988 if (r->delete_user) {
3989 NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
3993 case NETR_DELTA_MODIFY_COUNT:
3994 if (r->modified_count) {
3995 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
4000 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4003 return NDR_ERR_SUCCESS;
4006 static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
4010 TALLOC_CTX *_mem_save_domain_0;
4011 TALLOC_CTX *_mem_save_group_0;
4012 TALLOC_CTX *_mem_save_rename_group_0;
4013 TALLOC_CTX *_mem_save_user_0;
4014 TALLOC_CTX *_mem_save_rename_user_0;
4015 TALLOC_CTX *_mem_save_group_member_0;
4016 TALLOC_CTX *_mem_save_alias_0;
4017 TALLOC_CTX *_mem_save_rename_alias_0;
4018 TALLOC_CTX *_mem_save_alias_member_0;
4019 TALLOC_CTX *_mem_save_policy_0;
4020 TALLOC_CTX *_mem_save_trusted_domain_0;
4021 TALLOC_CTX *_mem_save_account_0;
4022 TALLOC_CTX *_mem_save_secret_0;
4023 TALLOC_CTX *_mem_save_delete_group_0;
4024 TALLOC_CTX *_mem_save_delete_user_0;
4025 TALLOC_CTX *_mem_save_modified_count_0;
4026 level = ndr_pull_get_switch_value(ndr, r);
4027 if (ndr_flags & NDR_SCALARS) {
4028 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4029 if (_level != level) {
4030 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4033 case NETR_DELTA_DOMAIN: {
4034 uint32_t _ptr_domain;
4035 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4037 NDR_PULL_ALLOC(ndr, r->domain);
4043 case NETR_DELTA_GROUP: {
4044 uint32_t _ptr_group;
4045 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
4047 NDR_PULL_ALLOC(ndr, r->group);
4053 case NETR_DELTA_DELETE_GROUP: {
4056 case NETR_DELTA_RENAME_GROUP: {
4057 uint32_t _ptr_rename_group;
4058 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4059 if (_ptr_rename_group) {
4060 NDR_PULL_ALLOC(ndr, r->rename_group);
4062 r->rename_group = NULL;
4066 case NETR_DELTA_USER: {
4068 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4070 NDR_PULL_ALLOC(ndr, r->user);
4076 case NETR_DELTA_DELETE_USER: {
4079 case NETR_DELTA_RENAME_USER: {
4080 uint32_t _ptr_rename_user;
4081 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4082 if (_ptr_rename_user) {
4083 NDR_PULL_ALLOC(ndr, r->rename_user);
4085 r->rename_user = NULL;
4089 case NETR_DELTA_GROUP_MEMBER: {
4090 uint32_t _ptr_group_member;
4091 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4092 if (_ptr_group_member) {
4093 NDR_PULL_ALLOC(ndr, r->group_member);
4095 r->group_member = NULL;
4099 case NETR_DELTA_ALIAS: {
4100 uint32_t _ptr_alias;
4101 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4103 NDR_PULL_ALLOC(ndr, r->alias);
4109 case NETR_DELTA_DELETE_ALIAS: {
4112 case NETR_DELTA_RENAME_ALIAS: {
4113 uint32_t _ptr_rename_alias;
4114 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4115 if (_ptr_rename_alias) {
4116 NDR_PULL_ALLOC(ndr, r->rename_alias);
4118 r->rename_alias = NULL;
4122 case NETR_DELTA_ALIAS_MEMBER: {
4123 uint32_t _ptr_alias_member;
4124 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4125 if (_ptr_alias_member) {
4126 NDR_PULL_ALLOC(ndr, r->alias_member);
4128 r->alias_member = NULL;
4132 case NETR_DELTA_POLICY: {
4133 uint32_t _ptr_policy;
4134 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4136 NDR_PULL_ALLOC(ndr, r->policy);
4142 case NETR_DELTA_TRUSTED_DOMAIN: {
4143 uint32_t _ptr_trusted_domain;
4144 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4145 if (_ptr_trusted_domain) {
4146 NDR_PULL_ALLOC(ndr, r->trusted_domain);
4148 r->trusted_domain = NULL;
4152 case NETR_DELTA_DELETE_TRUST: {
4153 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4156 case NETR_DELTA_ACCOUNT: {
4157 uint32_t _ptr_account;
4158 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4160 NDR_PULL_ALLOC(ndr, r->account);
4166 case NETR_DELTA_DELETE_ACCOUNT: {
4167 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4170 case NETR_DELTA_SECRET: {
4171 uint32_t _ptr_secret;
4172 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4174 NDR_PULL_ALLOC(ndr, r->secret);
4180 case NETR_DELTA_DELETE_SECRET: {
4181 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4184 case NETR_DELTA_DELETE_GROUP2: {
4185 uint32_t _ptr_delete_group;
4186 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4187 if (_ptr_delete_group) {
4188 NDR_PULL_ALLOC(ndr, r->delete_group);
4190 r->delete_group = NULL;
4194 case NETR_DELTA_DELETE_USER2: {
4195 uint32_t _ptr_delete_user;
4196 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4197 if (_ptr_delete_user) {
4198 NDR_PULL_ALLOC(ndr, r->delete_user);
4200 r->delete_user = NULL;
4204 case NETR_DELTA_MODIFY_COUNT: {
4205 uint32_t _ptr_modified_count;
4206 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4207 if (_ptr_modified_count) {
4208 NDR_PULL_ALLOC(ndr, r->modified_count);
4210 r->modified_count = NULL;
4215 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4218 if (ndr_flags & NDR_BUFFERS) {
4220 case NETR_DELTA_DOMAIN:
4222 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4223 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4224 NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4225 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4229 case NETR_DELTA_GROUP:
4231 _mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4232 NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4233 NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4238 case NETR_DELTA_DELETE_GROUP:
4241 case NETR_DELTA_RENAME_GROUP:
4242 if (r->rename_group) {
4243 _mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4244 NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4245 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4250 case NETR_DELTA_USER:
4252 _mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4253 NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4254 NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4259 case NETR_DELTA_DELETE_USER:
4262 case NETR_DELTA_RENAME_USER:
4263 if (r->rename_user) {
4264 _mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4265 NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4266 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4271 case NETR_DELTA_GROUP_MEMBER:
4272 if (r->group_member) {
4273 _mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4274 NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4275 NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4276 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4280 case NETR_DELTA_ALIAS:
4282 _mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4283 NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4284 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4289 case NETR_DELTA_DELETE_ALIAS:
4292 case NETR_DELTA_RENAME_ALIAS:
4293 if (r->rename_alias) {
4294 _mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4295 NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4296 NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4301 case NETR_DELTA_ALIAS_MEMBER:
4302 if (r->alias_member) {
4303 _mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4304 NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4305 NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4306 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4310 case NETR_DELTA_POLICY:
4312 _mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4313 NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4314 NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4319 case NETR_DELTA_TRUSTED_DOMAIN:
4320 if (r->trusted_domain) {
4321 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4322 NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4323 NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4324 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4328 case NETR_DELTA_DELETE_TRUST:
4331 case NETR_DELTA_ACCOUNT:
4333 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4334 NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4335 NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4336 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4340 case NETR_DELTA_DELETE_ACCOUNT:
4343 case NETR_DELTA_SECRET:
4345 _mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4346 NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4347 NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4352 case NETR_DELTA_DELETE_SECRET:
4355 case NETR_DELTA_DELETE_GROUP2:
4356 if (r->delete_group) {
4357 _mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4358 NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4359 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4360 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4364 case NETR_DELTA_DELETE_USER2:
4365 if (r->delete_user) {
4366 _mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4367 NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4368 NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4373 case NETR_DELTA_MODIFY_COUNT:
4374 if (r->modified_count) {
4375 _mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4376 NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4377 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4383 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4386 return NDR_ERR_SUCCESS;
4389 _PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4392 level = ndr_print_get_switch_value(ndr, r);
4393 ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4395 case NETR_DELTA_DOMAIN:
4396 ndr_print_ptr(ndr, "domain", r->domain);
4399 ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4404 case NETR_DELTA_GROUP:
4405 ndr_print_ptr(ndr, "group", r->group);
4408 ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4413 case NETR_DELTA_DELETE_GROUP:
4416 case NETR_DELTA_RENAME_GROUP:
4417 ndr_print_ptr(ndr, "rename_group", r->rename_group);
4419 if (r->rename_group) {
4420 ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4425 case NETR_DELTA_USER:
4426 ndr_print_ptr(ndr, "user", r->user);
4429 ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4434 case NETR_DELTA_DELETE_USER:
4437 case NETR_DELTA_RENAME_USER:
4438 ndr_print_ptr(ndr, "rename_user", r->rename_user);
4440 if (r->rename_user) {
4441 ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4446 case NETR_DELTA_GROUP_MEMBER:
4447 ndr_print_ptr(ndr, "group_member", r->group_member);
4449 if (r->group_member) {
4450 ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4455 case NETR_DELTA_ALIAS:
4456 ndr_print_ptr(ndr, "alias", r->alias);
4459 ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4464 case NETR_DELTA_DELETE_ALIAS:
4467 case NETR_DELTA_RENAME_ALIAS:
4468 ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4470 if (r->rename_alias) {
4471 ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4476 case NETR_DELTA_ALIAS_MEMBER:
4477 ndr_print_ptr(ndr, "alias_member", r->alias_member);
4479 if (r->alias_member) {
4480 ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4485 case NETR_DELTA_POLICY:
4486 ndr_print_ptr(ndr, "policy", r->policy);
4489 ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4494 case NETR_DELTA_TRUSTED_DOMAIN:
4495 ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4497 if (r->trusted_domain) {
4498 ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4503 case NETR_DELTA_DELETE_TRUST:
4504 ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4507 case NETR_DELTA_ACCOUNT:
4508 ndr_print_ptr(ndr, "account", r->account);
4511 ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4516 case NETR_DELTA_DELETE_ACCOUNT:
4517 ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4520 case NETR_DELTA_SECRET:
4521 ndr_print_ptr(ndr, "secret", r->secret);
4524 ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4529 case NETR_DELTA_DELETE_SECRET:
4530 ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4533 case NETR_DELTA_DELETE_GROUP2:
4534 ndr_print_ptr(ndr, "delete_group", r->delete_group);
4536 if (r->delete_group) {
4537 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4542 case NETR_DELTA_DELETE_USER2:
4543 ndr_print_ptr(ndr, "delete_user", r->delete_user);
4545 if (r->delete_user) {
4546 ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4551 case NETR_DELTA_MODIFY_COUNT:
4552 ndr_print_ptr(ndr, "modified_count", r->modified_count);
4554 if (r->modified_count) {
4555 ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4561 ndr_print_bad_level(ndr, name, level);
4565 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)
4567 if (ndr_flags & NDR_SCALARS) {
4568 int level = ndr_push_get_switch_value(ndr, r);
4569 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4571 case NETR_DELTA_DOMAIN: {
4572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4575 case NETR_DELTA_GROUP: {
4576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4579 case NETR_DELTA_DELETE_GROUP: {
4580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4583 case NETR_DELTA_RENAME_GROUP: {
4584 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4587 case NETR_DELTA_USER: {
4588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4591 case NETR_DELTA_DELETE_USER: {
4592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4595 case NETR_DELTA_RENAME_USER: {
4596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4599 case NETR_DELTA_GROUP_MEMBER: {
4600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4603 case NETR_DELTA_ALIAS: {
4604 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4607 case NETR_DELTA_DELETE_ALIAS: {
4608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4611 case NETR_DELTA_RENAME_ALIAS: {
4612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4615 case NETR_DELTA_ALIAS_MEMBER: {
4616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4619 case NETR_DELTA_POLICY: {
4620 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4623 case NETR_DELTA_TRUSTED_DOMAIN: {
4624 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4627 case NETR_DELTA_DELETE_TRUST: {
4628 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4631 case NETR_DELTA_ACCOUNT: {
4632 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4635 case NETR_DELTA_DELETE_ACCOUNT: {
4636 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4639 case NETR_DELTA_SECRET: {
4640 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4643 case NETR_DELTA_DELETE_SECRET: {
4644 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4647 case NETR_DELTA_DELETE_GROUP2: {
4648 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4651 case NETR_DELTA_DELETE_USER2: {
4652 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4655 case NETR_DELTA_MODIFY_COUNT: {
4659 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4662 if (ndr_flags & NDR_BUFFERS) {
4663 int level = ndr_push_get_switch_value(ndr, r);
4665 case NETR_DELTA_DOMAIN:
4668 case NETR_DELTA_GROUP:
4671 case NETR_DELTA_DELETE_GROUP:
4674 case NETR_DELTA_RENAME_GROUP:
4677 case NETR_DELTA_USER:
4680 case NETR_DELTA_DELETE_USER:
4683 case NETR_DELTA_RENAME_USER:
4686 case NETR_DELTA_GROUP_MEMBER:
4689 case NETR_DELTA_ALIAS:
4692 case NETR_DELTA_DELETE_ALIAS:
4695 case NETR_DELTA_RENAME_ALIAS:
4698 case NETR_DELTA_ALIAS_MEMBER:
4701 case NETR_DELTA_POLICY:
4703 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4707 case NETR_DELTA_TRUSTED_DOMAIN:
4709 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4713 case NETR_DELTA_DELETE_TRUST:
4715 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4719 case NETR_DELTA_ACCOUNT:
4721 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4725 case NETR_DELTA_DELETE_ACCOUNT:
4727 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4731 case NETR_DELTA_SECRET:
4733 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4735 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4736 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4740 case NETR_DELTA_DELETE_SECRET:
4742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
4745 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
4749 case NETR_DELTA_DELETE_GROUP2:
4752 case NETR_DELTA_DELETE_USER2:
4755 case NETR_DELTA_MODIFY_COUNT:
4759 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4762 return NDR_ERR_SUCCESS;
4765 static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
4769 TALLOC_CTX *_mem_save_sid_0;
4770 TALLOC_CTX *_mem_save_name_0;
4771 level = ndr_pull_get_switch_value(ndr, r);
4772 if (ndr_flags & NDR_SCALARS) {
4773 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4774 if (_level != level) {
4775 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4778 case NETR_DELTA_DOMAIN: {
4779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4782 case NETR_DELTA_GROUP: {
4783 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4786 case NETR_DELTA_DELETE_GROUP: {
4787 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4790 case NETR_DELTA_RENAME_GROUP: {
4791 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4794 case NETR_DELTA_USER: {
4795 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4798 case NETR_DELTA_DELETE_USER: {
4799 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4802 case NETR_DELTA_RENAME_USER: {
4803 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4806 case NETR_DELTA_GROUP_MEMBER: {
4807 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4810 case NETR_DELTA_ALIAS: {
4811 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4814 case NETR_DELTA_DELETE_ALIAS: {
4815 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4818 case NETR_DELTA_RENAME_ALIAS: {
4819 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4822 case NETR_DELTA_ALIAS_MEMBER: {
4823 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4826 case NETR_DELTA_POLICY: {
4828 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4830 NDR_PULL_ALLOC(ndr, r->sid);
4836 case NETR_DELTA_TRUSTED_DOMAIN: {
4838 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4840 NDR_PULL_ALLOC(ndr, r->sid);
4846 case NETR_DELTA_DELETE_TRUST: {
4848 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4850 NDR_PULL_ALLOC(ndr, r->sid);
4856 case NETR_DELTA_ACCOUNT: {
4858 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4860 NDR_PULL_ALLOC(ndr, r->sid);
4866 case NETR_DELTA_DELETE_ACCOUNT: {
4868 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4870 NDR_PULL_ALLOC(ndr, r->sid);
4876 case NETR_DELTA_SECRET: {
4878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4880 NDR_PULL_ALLOC(ndr, r->name);
4886 case NETR_DELTA_DELETE_SECRET: {
4888 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
4890 NDR_PULL_ALLOC(ndr, r->name);
4896 case NETR_DELTA_DELETE_GROUP2: {
4897 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4900 case NETR_DELTA_DELETE_USER2: {
4901 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4904 case NETR_DELTA_MODIFY_COUNT: {
4908 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4911 if (ndr_flags & NDR_BUFFERS) {
4913 case NETR_DELTA_DOMAIN:
4916 case NETR_DELTA_GROUP:
4919 case NETR_DELTA_DELETE_GROUP:
4922 case NETR_DELTA_RENAME_GROUP:
4925 case NETR_DELTA_USER:
4928 case NETR_DELTA_DELETE_USER:
4931 case NETR_DELTA_RENAME_USER:
4934 case NETR_DELTA_GROUP_MEMBER:
4937 case NETR_DELTA_ALIAS:
4940 case NETR_DELTA_DELETE_ALIAS:
4943 case NETR_DELTA_RENAME_ALIAS:
4946 case NETR_DELTA_ALIAS_MEMBER:
4949 case NETR_DELTA_POLICY:
4951 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4952 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4953 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4954 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4958 case NETR_DELTA_TRUSTED_DOMAIN:
4960 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4961 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4962 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4963 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4967 case NETR_DELTA_DELETE_TRUST:
4969 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4970 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4971 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4972 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4976 case NETR_DELTA_ACCOUNT:
4978 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4979 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4980 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4985 case NETR_DELTA_DELETE_ACCOUNT:
4987 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4988 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4989 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4990 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4994 case NETR_DELTA_SECRET:
4996 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4997 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
4998 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
4999 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5000 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5001 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));
5003 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5004 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5009 case NETR_DELTA_DELETE_SECRET:
5011 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5012 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5013 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5014 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5015 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5016 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));
5018 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5019 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5020 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5024 case NETR_DELTA_DELETE_GROUP2:
5027 case NETR_DELTA_DELETE_USER2:
5030 case NETR_DELTA_MODIFY_COUNT:
5034 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5037 return NDR_ERR_SUCCESS;
5040 _PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
5043 level = ndr_print_get_switch_value(ndr, r);
5044 ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
5046 case NETR_DELTA_DOMAIN:
5047 ndr_print_uint32(ndr, "rid", r->rid);
5050 case NETR_DELTA_GROUP:
5051 ndr_print_uint32(ndr, "rid", r->rid);
5054 case NETR_DELTA_DELETE_GROUP:
5055 ndr_print_uint32(ndr, "rid", r->rid);
5058 case NETR_DELTA_RENAME_GROUP:
5059 ndr_print_uint32(ndr, "rid", r->rid);
5062 case NETR_DELTA_USER:
5063 ndr_print_uint32(ndr, "rid", r->rid);
5066 case NETR_DELTA_DELETE_USER:
5067 ndr_print_uint32(ndr, "rid", r->rid);
5070 case NETR_DELTA_RENAME_USER:
5071 ndr_print_uint32(ndr, "rid", r->rid);
5074 case NETR_DELTA_GROUP_MEMBER:
5075 ndr_print_uint32(ndr, "rid", r->rid);
5078 case NETR_DELTA_ALIAS:
5079 ndr_print_uint32(ndr, "rid", r->rid);
5082 case NETR_DELTA_DELETE_ALIAS:
5083 ndr_print_uint32(ndr, "rid", r->rid);
5086 case NETR_DELTA_RENAME_ALIAS:
5087 ndr_print_uint32(ndr, "rid", r->rid);
5090 case NETR_DELTA_ALIAS_MEMBER:
5091 ndr_print_uint32(ndr, "rid", r->rid);
5094 case NETR_DELTA_POLICY:
5095 ndr_print_ptr(ndr, "sid", r->sid);
5098 ndr_print_dom_sid2(ndr, "sid", r->sid);
5103 case NETR_DELTA_TRUSTED_DOMAIN:
5104 ndr_print_ptr(ndr, "sid", r->sid);
5107 ndr_print_dom_sid2(ndr, "sid", r->sid);
5112 case NETR_DELTA_DELETE_TRUST:
5113 ndr_print_ptr(ndr, "sid", r->sid);
5116 ndr_print_dom_sid2(ndr, "sid", r->sid);
5121 case NETR_DELTA_ACCOUNT:
5122 ndr_print_ptr(ndr, "sid", r->sid);
5125 ndr_print_dom_sid2(ndr, "sid", r->sid);
5130 case NETR_DELTA_DELETE_ACCOUNT:
5131 ndr_print_ptr(ndr, "sid", r->sid);
5134 ndr_print_dom_sid2(ndr, "sid", r->sid);
5139 case NETR_DELTA_SECRET:
5140 ndr_print_ptr(ndr, "name", r->name);
5143 ndr_print_string(ndr, "name", r->name);
5148 case NETR_DELTA_DELETE_SECRET:
5149 ndr_print_ptr(ndr, "name", r->name);
5152 ndr_print_string(ndr, "name", r->name);
5157 case NETR_DELTA_DELETE_GROUP2:
5158 ndr_print_uint32(ndr, "rid", r->rid);
5161 case NETR_DELTA_DELETE_USER2:
5162 ndr_print_uint32(ndr, "rid", r->rid);
5165 case NETR_DELTA_MODIFY_COUNT:
5169 ndr_print_bad_level(ndr, name, level);
5173 static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5175 if (ndr_flags & NDR_SCALARS) {
5176 NDR_CHECK(ndr_push_align(ndr, 4));
5177 NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5178 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5179 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5180 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5181 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5183 if (ndr_flags & NDR_BUFFERS) {
5184 NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5185 NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5187 return NDR_ERR_SUCCESS;
5190 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5192 if (ndr_flags & NDR_SCALARS) {
5193 NDR_CHECK(ndr_pull_align(ndr, 4));
5194 NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5195 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5196 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5197 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5198 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5200 if (ndr_flags & NDR_BUFFERS) {
5201 NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5202 NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5204 return NDR_ERR_SUCCESS;
5207 _PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5209 ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5211 ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5212 ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5213 ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5214 ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5215 ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5219 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)
5221 uint32_t cntr_delta_enum_1;
5222 if (ndr_flags & NDR_SCALARS) {
5223 NDR_CHECK(ndr_push_align(ndr, 4));
5224 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5225 NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5227 if (ndr_flags & NDR_BUFFERS) {
5228 if (r->delta_enum) {
5229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5230 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5231 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5233 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5234 NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5238 return NDR_ERR_SUCCESS;
5241 static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5243 uint32_t _ptr_delta_enum;
5244 uint32_t cntr_delta_enum_1;
5245 TALLOC_CTX *_mem_save_delta_enum_0;
5246 TALLOC_CTX *_mem_save_delta_enum_1;
5247 if (ndr_flags & NDR_SCALARS) {
5248 NDR_CHECK(ndr_pull_align(ndr, 4));
5249 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5250 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5251 if (_ptr_delta_enum) {
5252 NDR_PULL_ALLOC(ndr, r->delta_enum);
5254 r->delta_enum = NULL;
5257 if (ndr_flags & NDR_BUFFERS) {
5258 if (r->delta_enum) {
5259 _mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5260 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5261 NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5262 NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
5263 _mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5264 NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5265 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5266 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5268 for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5269 NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5271 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5272 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5274 if (r->delta_enum) {
5275 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5278 return NDR_ERR_SUCCESS;
5281 _PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5283 uint32_t cntr_delta_enum_1;
5284 ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5286 ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5287 ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5289 if (r->delta_enum) {
5290 ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", r->num_deltas);
5292 for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5294 asprintf(&idx_1, "[%d]", cntr_delta_enum_1);
5296 ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5306 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)
5309 uint32_t _flags_save_STRUCT = ndr->flags;
5310 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5311 if (ndr_flags & NDR_SCALARS) {
5312 NDR_CHECK(ndr_push_align(ndr, 4));
5313 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5314 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5317 if (ndr_flags & NDR_BUFFERS) {
5319 ndr->flags = _flags_save_STRUCT;
5321 return NDR_ERR_SUCCESS;
5324 static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5327 uint32_t _flags_save_STRUCT = ndr->flags;
5328 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5329 if (ndr_flags & NDR_SCALARS) {
5330 NDR_CHECK(ndr_pull_align(ndr, 4));
5331 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5332 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5333 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5335 if (ndr_flags & NDR_BUFFERS) {
5337 ndr->flags = _flags_save_STRUCT;
5339 return NDR_ERR_SUCCESS;
5342 _PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5344 ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5346 uint32_t _flags_save_STRUCT = ndr->flags;
5347 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5349 ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5350 ndr_print_uint32(ndr, "timecreated", r->timecreated);
5351 ndr_print_uint32(ndr, "serial_number", r->serial_number);
5353 ndr->flags = _flags_save_STRUCT;
5357 static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5359 if (ndr_flags & NDR_SCALARS) {
5360 NDR_CHECK(ndr_push_align(ndr, 4));
5362 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5363 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5364 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5365 ndr->flags = _flags_save_DATA_BLOB;
5368 if (ndr_flags & NDR_BUFFERS) {
5370 return NDR_ERR_SUCCESS;
5373 static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5375 if (ndr_flags & NDR_SCALARS) {
5376 NDR_CHECK(ndr_pull_align(ndr, 4));
5378 uint32_t _flags_save_DATA_BLOB = ndr->flags;
5379 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5380 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5381 ndr->flags = _flags_save_DATA_BLOB;
5384 if (ndr_flags & NDR_BUFFERS) {
5386 return NDR_ERR_SUCCESS;
5389 _PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5391 ndr_print_struct(ndr, name, "netr_AccountBuffer");
5393 ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5397 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)
5399 if (ndr_flags & NDR_SCALARS) {
5400 NDR_CHECK(ndr_push_align(ndr, 4));
5401 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5404 if (ndr_flags & NDR_BUFFERS) {
5406 return NDR_ERR_SUCCESS;
5409 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5411 if (ndr_flags & NDR_SCALARS) {
5412 NDR_CHECK(ndr_pull_align(ndr, 4));
5413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5414 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5416 if (ndr_flags & NDR_BUFFERS) {
5418 return NDR_ERR_SUCCESS;
5421 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5423 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5425 ndr_print_uint32(ndr, "flags", r->flags);
5426 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5430 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)
5432 if (ndr_flags & NDR_SCALARS) {
5433 NDR_CHECK(ndr_push_align(ndr, 4));
5434 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5435 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pdc_connection_status));
5436 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5437 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5438 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5439 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));
5440 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->tc_connection_status));
5442 if (ndr_flags & NDR_BUFFERS) {
5444 return NDR_ERR_SUCCESS;
5447 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5449 if (ndr_flags & NDR_SCALARS) {
5450 NDR_CHECK(ndr_pull_align(ndr, 4));
5451 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5452 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pdc_connection_status));
5453 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5454 NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5455 if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5456 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));
5458 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5459 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));
5460 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tc_connection_status));
5462 if (ndr_flags & NDR_BUFFERS) {
5464 return NDR_ERR_SUCCESS;
5467 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5469 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5471 ndr_print_uint32(ndr, "flags", r->flags);
5472 ndr_print_uint32(ndr, "pdc_connection_status", r->pdc_connection_status);
5473 ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5474 ndr_print_uint32(ndr, "tc_connection_status", r->tc_connection_status);
5478 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)
5480 if (ndr_flags & NDR_SCALARS) {
5481 NDR_CHECK(ndr_push_align(ndr, 4));
5482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5483 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5484 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5485 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5486 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5487 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5488 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5490 if (ndr_flags & NDR_BUFFERS) {
5492 return NDR_ERR_SUCCESS;
5495 static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5497 if (ndr_flags & NDR_SCALARS) {
5498 NDR_CHECK(ndr_pull_align(ndr, 4));
5499 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5500 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5501 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5502 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5503 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5504 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5505 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5507 if (ndr_flags & NDR_BUFFERS) {
5509 return NDR_ERR_SUCCESS;
5512 _PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5514 ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5516 ndr_print_uint32(ndr, "flags", r->flags);
5517 ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5518 ndr_print_uint32(ndr, "unknown1", r->unknown1);
5519 ndr_print_uint32(ndr, "unknown2", r->unknown2);
5520 ndr_print_uint32(ndr, "unknown3", r->unknown3);
5521 ndr_print_uint32(ndr, "unknown4", r->unknown4);
5522 ndr_print_uint32(ndr, "unknown5", r->unknown5);
5526 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)
5528 if (ndr_flags & NDR_SCALARS) {
5529 int level = ndr_push_get_switch_value(ndr, r);
5530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5533 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5541 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5545 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5548 if (ndr_flags & NDR_BUFFERS) {
5549 int level = ndr_push_get_switch_value(ndr, r);
5553 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5559 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS, r->info2));
5565 NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5570 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5573 return NDR_ERR_SUCCESS;
5576 static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
5580 TALLOC_CTX *_mem_save_info1_0;
5581 TALLOC_CTX *_mem_save_info2_0;
5582 TALLOC_CTX *_mem_save_info3_0;
5583 level = ndr_pull_get_switch_value(ndr, r);
5584 if (ndr_flags & NDR_SCALARS) {
5585 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5586 if (_level != level) {
5587 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5591 uint32_t _ptr_info1;
5592 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
5594 NDR_PULL_ALLOC(ndr, r->info1);
5601 uint32_t _ptr_info2;
5602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
5604 NDR_PULL_ALLOC(ndr, r->info2);
5611 uint32_t _ptr_info3;
5612 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
5614 NDR_PULL_ALLOC(ndr, r->info3);
5621 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5624 if (ndr_flags & NDR_BUFFERS) {
5628 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
5629 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
5630 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
5631 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
5637 _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
5638 NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
5639 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS, r->info2));
5640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
5646 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
5647 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
5648 NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
5649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
5654 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5657 return NDR_ERR_SUCCESS;
5660 _PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
5663 level = ndr_print_get_switch_value(ndr, r);
5664 ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
5667 ndr_print_ptr(ndr, "info1", r->info1);
5670 ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
5676 ndr_print_ptr(ndr, "info2", r->info2);
5679 ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
5685 ndr_print_ptr(ndr, "info3", r->info3);
5688 ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
5694 ndr_print_bad_level(ndr, name, level);
5698 static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
5700 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5701 return NDR_ERR_SUCCESS;
5704 static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
5707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5709 return NDR_ERR_SUCCESS;
5712 _PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
5714 const char *val = NULL;
5717 case NETLOGON_CONTROL_SYNC: val = "NETLOGON_CONTROL_SYNC"; break;
5718 case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
5719 case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
5720 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
5721 case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
5723 ndr_print_enum(ndr, name, "ENUM", val, r);
5726 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)
5728 if (ndr_flags & NDR_SCALARS) {
5729 int level = ndr_push_get_switch_value(ndr, r);
5730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5732 case NETLOGON_CONTROL_REDISCOVER: {
5733 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5736 case NETLOGON_CONTROL_TC_QUERY: {
5737 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5740 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5741 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
5744 case NETLOGON_CONTROL_SET_DBFLAG: {
5745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
5749 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5752 if (ndr_flags & NDR_BUFFERS) {
5753 int level = ndr_push_get_switch_value(ndr, r);
5755 case NETLOGON_CONTROL_REDISCOVER:
5757 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5758 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5760 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5764 case NETLOGON_CONTROL_TC_QUERY:
5766 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5768 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5769 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5773 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
5777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
5778 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5782 case NETLOGON_CONTROL_SET_DBFLAG:
5786 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5789 return NDR_ERR_SUCCESS;
5792 static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
5796 TALLOC_CTX *_mem_save_domain_0;
5797 level = ndr_pull_get_switch_value(ndr, r);
5798 if (ndr_flags & NDR_SCALARS) {
5799 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5800 if (_level != level) {
5801 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5804 case NETLOGON_CONTROL_REDISCOVER: {
5805 uint32_t _ptr_domain;
5806 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5808 NDR_PULL_ALLOC(ndr, r->domain);
5814 case NETLOGON_CONTROL_TC_QUERY: {
5815 uint32_t _ptr_domain;
5816 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5818 NDR_PULL_ALLOC(ndr, r->domain);
5824 case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
5825 uint32_t _ptr_domain;
5826 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
5828 NDR_PULL_ALLOC(ndr, r->domain);
5834 case NETLOGON_CONTROL_SET_DBFLAG: {
5835 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
5839 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5842 if (ndr_flags & NDR_BUFFERS) {
5844 case NETLOGON_CONTROL_REDISCOVER:
5846 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5847 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5848 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5849 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5850 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5851 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));
5853 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5854 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5855 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5859 case NETLOGON_CONTROL_TC_QUERY:
5861 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5862 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5863 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5864 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5865 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5866 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));
5868 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5869 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5874 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5876 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
5877 NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
5878 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
5879 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
5880 if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
5881 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));
5883 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
5884 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
5885 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
5889 case NETLOGON_CONTROL_SET_DBFLAG:
5893 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5896 return NDR_ERR_SUCCESS;
5899 _PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
5902 level = ndr_print_get_switch_value(ndr, r);
5903 ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
5905 case NETLOGON_CONTROL_REDISCOVER:
5906 ndr_print_ptr(ndr, "domain", r->domain);
5909 ndr_print_string(ndr, "domain", r->domain);
5914 case NETLOGON_CONTROL_TC_QUERY:
5915 ndr_print_ptr(ndr, "domain", r->domain);
5918 ndr_print_string(ndr, "domain", r->domain);
5923 case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
5924 ndr_print_ptr(ndr, "domain", r->domain);
5927 ndr_print_string(ndr, "domain", r->domain);
5932 case NETLOGON_CONTROL_SET_DBFLAG:
5933 ndr_print_uint32(ndr, "debug_level", r->debug_level);
5937 ndr_print_bad_level(ndr, name, level);
5941 static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
5943 if (ndr_flags & NDR_SCALARS) {
5944 NDR_CHECK(ndr_push_align(ndr, 4));
5945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5946 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5948 if (ndr_flags & NDR_BUFFERS) {
5950 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5951 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5954 return NDR_ERR_SUCCESS;
5957 static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
5960 TALLOC_CTX *_mem_save_data_0;
5961 if (ndr_flags & NDR_SCALARS) {
5962 NDR_CHECK(ndr_pull_align(ndr, 4));
5963 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5964 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5966 NDR_PULL_ALLOC(ndr, r->data);
5971 if (ndr_flags & NDR_BUFFERS) {
5973 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5974 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5975 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5976 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
5977 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
5978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5981 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5984 return NDR_ERR_SUCCESS;
5987 _PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
5989 ndr_print_struct(ndr, name, "netr_Blob");
5991 ndr_print_uint32(ndr, "length", r->length);
5992 ndr_print_ptr(ndr, "data", r->data);
5995 ndr_print_array_uint8(ndr, "data", r->data, r->length);
6001 static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6004 return NDR_ERR_SUCCESS;
6007 static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6010 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6012 return NDR_ERR_SUCCESS;
6015 _PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6017 ndr_print_uint32(ndr, name, r);
6019 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6020 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6021 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6022 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6023 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6024 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6025 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6026 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6027 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6028 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6029 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6030 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6031 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6032 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6033 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6034 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6035 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6036 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6037 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6041 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6044 return NDR_ERR_SUCCESS;
6047 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6050 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6052 return NDR_ERR_SUCCESS;
6055 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6057 const char *val = NULL;
6060 case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6061 case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6063 ndr_print_enum(ndr, name, "ENUM", val, r);
6066 static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6069 return NDR_ERR_SUCCESS;
6072 static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6075 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6077 return NDR_ERR_SUCCESS;
6080 _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6082 ndr_print_uint32(ndr, name, r);
6084 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
6085 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
6086 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
6087 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
6088 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
6089 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
6090 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
6091 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
6092 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
6093 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
6094 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
6095 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
6096 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
6097 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
6098 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
6102 static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
6104 if (ndr_flags & NDR_SCALARS) {
6105 NDR_CHECK(ndr_push_align(ndr, 4));
6106 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
6107 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
6108 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
6109 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6110 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
6111 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
6112 NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
6113 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
6114 NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
6116 if (ndr_flags & NDR_BUFFERS) {
6118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
6121 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6123 if (r->dc_address) {
6124 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
6127 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6129 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->domain_guid));
6130 if (r->domain_name) {
6131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
6134 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6136 if (r->forest_name) {
6137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6138 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
6140 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6142 if (r->dc_site_name) {
6143 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6144 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
6146 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));
6148 if (r->client_site_name) {
6149 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6150 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6151 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
6152 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));
6155 return NDR_ERR_SUCCESS;
6158 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
6160 uint32_t _ptr_dc_unc;
6161 TALLOC_CTX *_mem_save_dc_unc_0;
6162 uint32_t _ptr_dc_address;
6163 TALLOC_CTX *_mem_save_dc_address_0;
6164 uint32_t _ptr_domain_name;
6165 TALLOC_CTX *_mem_save_domain_name_0;
6166 uint32_t _ptr_forest_name;
6167 TALLOC_CTX *_mem_save_forest_name_0;
6168 uint32_t _ptr_dc_site_name;
6169 TALLOC_CTX *_mem_save_dc_site_name_0;
6170 uint32_t _ptr_client_site_name;
6171 TALLOC_CTX *_mem_save_client_site_name_0;
6172 if (ndr_flags & NDR_SCALARS) {
6173 NDR_CHECK(ndr_pull_align(ndr, 4));
6174 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
6176 NDR_PULL_ALLOC(ndr, r->dc_unc);
6180 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
6181 if (_ptr_dc_address) {
6182 NDR_PULL_ALLOC(ndr, r->dc_address);
6184 r->dc_address = NULL;
6186 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
6187 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
6188 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
6189 if (_ptr_domain_name) {
6190 NDR_PULL_ALLOC(ndr, r->domain_name);
6192 r->domain_name = NULL;
6194 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
6195 if (_ptr_forest_name) {
6196 NDR_PULL_ALLOC(ndr, r->forest_name);
6198 r->forest_name = NULL;
6200 NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
6201 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
6202 if (_ptr_dc_site_name) {
6203 NDR_PULL_ALLOC(ndr, r->dc_site_name);
6205 r->dc_site_name = NULL;
6207 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
6208 if (_ptr_client_site_name) {
6209 NDR_PULL_ALLOC(ndr, r->client_site_name);
6211 r->client_site_name = NULL;
6214 if (ndr_flags & NDR_BUFFERS) {
6216 _mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
6217 NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
6218 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
6219 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
6220 if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
6221 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));
6223 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
6224 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
6225 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
6227 if (r->dc_address) {
6228 _mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
6229 NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
6230 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
6231 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
6232 if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
6233 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));
6235 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
6236 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
6237 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
6239 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->domain_guid));
6240 if (r->domain_name) {
6241 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6242 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
6243 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
6244 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
6245 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
6246 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));
6248 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
6249 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
6250 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
6252 if (r->forest_name) {
6253 _mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6254 NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
6255 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
6256 NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
6257 if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
6258 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));
6260 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
6261 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
6262 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
6264 if (r->dc_site_name) {
6265 _mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6266 NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
6267 NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
6268 NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
6269 if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
6270 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));
6272 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
6273 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));
6274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
6276 if (r->client_site_name) {
6277 _mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6278 NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
6279 NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
6280 NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
6281 if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
6282 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));
6284 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
6285 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));
6286 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
6289 return NDR_ERR_SUCCESS;
6292 _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
6294 ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
6296 ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
6299 ndr_print_string(ndr, "dc_unc", r->dc_unc);
6302 ndr_print_ptr(ndr, "dc_address", r->dc_address);
6304 if (r->dc_address) {
6305 ndr_print_string(ndr, "dc_address", r->dc_address);
6308 ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
6309 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
6310 ndr_print_ptr(ndr, "domain_name", r->domain_name);
6312 if (r->domain_name) {
6313 ndr_print_string(ndr, "domain_name", r->domain_name);
6316 ndr_print_ptr(ndr, "forest_name", r->forest_name);
6318 if (r->forest_name) {
6319 ndr_print_string(ndr, "forest_name", r->forest_name);
6322 ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
6323 ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
6325 if (r->dc_site_name) {
6326 ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
6329 ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
6331 if (r->client_site_name) {
6332 ndr_print_string(ndr, "client_site_name", r->client_site_name);
6338 static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct netr_BinaryString *r)
6340 uint32_t cntr_data_1;
6342 uint32_t _flags_save_STRUCT = ndr->flags;
6343 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6344 if (ndr_flags & NDR_SCALARS) {
6345 NDR_CHECK(ndr_push_align(ndr, 4));
6346 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
6347 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
6348 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6350 if (ndr_flags & NDR_BUFFERS) {
6352 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
6353 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6354 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
6355 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6356 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->data[cntr_data_1]));
6360 ndr->flags = _flags_save_STRUCT;
6362 return NDR_ERR_SUCCESS;
6365 static enum ndr_err_code ndr_pull_netr_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct netr_BinaryString *r)
6368 uint32_t cntr_data_1;
6369 TALLOC_CTX *_mem_save_data_0;
6370 TALLOC_CTX *_mem_save_data_1;
6372 uint32_t _flags_save_STRUCT = ndr->flags;
6373 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6374 if (ndr_flags & NDR_SCALARS) {
6375 NDR_CHECK(ndr_pull_align(ndr, 4));
6376 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
6377 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
6378 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6380 NDR_PULL_ALLOC(ndr, r->data);
6385 if (ndr_flags & NDR_BUFFERS) {
6387 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6388 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6389 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6390 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
6391 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
6392 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));
6394 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6395 _mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
6396 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6397 for (cntr_data_1 = 0; cntr_data_1 < r->length / 2; cntr_data_1++) {
6398 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
6400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
6401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6404 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size / 2));
6407 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length / 2));
6410 ndr->flags = _flags_save_STRUCT;
6412 return NDR_ERR_SUCCESS;
6415 _PUBLIC_ void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r)
6417 uint32_t cntr_data_1;
6418 ndr_print_struct(ndr, name, "netr_BinaryString");
6420 uint32_t _flags_save_STRUCT = ndr->flags;
6421 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
6423 ndr_print_uint16(ndr, "length", r->length);
6424 ndr_print_uint16(ndr, "size", r->size);
6425 ndr_print_ptr(ndr, "data", r->data);
6428 ndr->print(ndr, "%s: ARRAY(%d)", "data", r->length / 2);
6430 for (cntr_data_1=0;cntr_data_1<r->length / 2;cntr_data_1++) {
6432 asprintf(&idx_1, "[%d]", cntr_data_1);
6434 ndr_print_uint16(ndr, "data", r->data[cntr_data_1]);
6442 ndr->flags = _flags_save_STRUCT;
6446 static enum ndr_err_code ndr_push_netr_DomainQuery1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainQuery1 *r)
6448 uint32_t cntr_unknown7_0;
6449 if (ndr_flags & NDR_SCALARS) {
6450 NDR_CHECK(ndr_push_align(ndr, 4));
6451 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6452 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_domain));
6453 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_site));
6454 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
6455 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
6456 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown3));
6457 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown4));
6458 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6459 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->product));
6460 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6461 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6462 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7[cntr_unknown7_0]));
6466 if (ndr_flags & NDR_BUFFERS) {
6467 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6468 if (r->workstation_domain) {
6469 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6470 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_domain, CH_UTF16)));
6472 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_domain, ndr_charset_length(r->workstation_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6474 if (r->workstation_site) {
6475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6477 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_site, CH_UTF16)));
6478 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_site, ndr_charset_length(r->workstation_site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6481 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6483 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
6484 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6487 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6488 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
6490 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6495 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown3, CH_UTF16)));
6496 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown3, ndr_charset_length(r->unknown3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
6501 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unknown4, CH_UTF16)));
6502 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown4, ndr_charset_length(r->unknown4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6504 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6505 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->product));
6506 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6507 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6509 return NDR_ERR_SUCCESS;
6512 static enum ndr_err_code ndr_pull_netr_DomainQuery1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainQuery1 *r)
6514 uint32_t _ptr_workstation_domain;
6515 TALLOC_CTX *_mem_save_workstation_domain_0;
6516 uint32_t _ptr_workstation_site;
6517 TALLOC_CTX *_mem_save_workstation_site_0;
6518 uint32_t _ptr_unknown1;
6519 TALLOC_CTX *_mem_save_unknown1_0;
6520 uint32_t _ptr_unknown2;
6521 TALLOC_CTX *_mem_save_unknown2_0;
6522 uint32_t _ptr_unknown3;
6523 TALLOC_CTX *_mem_save_unknown3_0;
6524 uint32_t _ptr_unknown4;
6525 TALLOC_CTX *_mem_save_unknown4_0;
6526 uint32_t cntr_unknown7_0;
6527 if (ndr_flags & NDR_SCALARS) {
6528 NDR_CHECK(ndr_pull_align(ndr, 4));
6529 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS, &r->blob));
6530 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_domain));
6531 if (_ptr_workstation_domain) {
6532 NDR_PULL_ALLOC(ndr, r->workstation_domain);
6534 r->workstation_domain = NULL;
6536 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_site));
6537 if (_ptr_workstation_site) {
6538 NDR_PULL_ALLOC(ndr, r->workstation_site);
6540 r->workstation_site = NULL;
6542 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
6543 if (_ptr_unknown1) {
6544 NDR_PULL_ALLOC(ndr, r->unknown1);
6548 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
6549 if (_ptr_unknown2) {
6550 NDR_PULL_ALLOC(ndr, r->unknown2);
6554 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown3));
6555 if (_ptr_unknown3) {
6556 NDR_PULL_ALLOC(ndr, r->unknown3);
6560 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown4));
6561 if (_ptr_unknown4) {
6562 NDR_PULL_ALLOC(ndr, r->unknown4);
6566 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->blob2));
6567 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->product));
6568 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown5));
6569 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown6));
6570 for (cntr_unknown7_0 = 0; cntr_unknown7_0 < 4; cntr_unknown7_0++) {
6571 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7[cntr_unknown7_0]));
6574 if (ndr_flags & NDR_BUFFERS) {
6575 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_BUFFERS, &r->blob));
6576 if (r->workstation_domain) {
6577 _mem_save_workstation_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6578 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_domain, 0);
6579 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_domain));
6580 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_domain));
6581 if (ndr_get_array_length(ndr, &r->workstation_domain) > ndr_get_array_size(ndr, &r->workstation_domain)) {
6582 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));
6584 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t)));
6585 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_domain, ndr_get_array_length(ndr, &r->workstation_domain), sizeof(uint16_t), CH_UTF16));
6586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_domain_0, 0);
6588 if (r->workstation_site) {
6589 _mem_save_workstation_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
6590 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_site, 0);
6591 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_site));
6592 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_site));
6593 if (ndr_get_array_length(ndr, &r->workstation_site) > ndr_get_array_size(ndr, &r->workstation_site)) {
6594 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));
6596 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t)));
6597 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_site, ndr_get_array_length(ndr, &r->workstation_site), sizeof(uint16_t), CH_UTF16));
6598 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_site_0, 0);
6601 _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6602 NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
6603 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
6604 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
6605 if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
6606 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));
6608 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
6609 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
6610 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
6613 _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6614 NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
6615 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
6616 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
6617 if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
6618 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));
6620 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
6621 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
6622 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
6625 _mem_save_unknown3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6626 NDR_PULL_SET_MEM_CTX(ndr, r->unknown3, 0);
6627 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown3));
6628 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown3));
6629 if (ndr_get_array_length(ndr, &r->unknown3) > ndr_get_array_size(ndr, &r->unknown3)) {
6630 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));
6632 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t)));
6633 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown3, ndr_get_array_length(ndr, &r->unknown3), sizeof(uint16_t), CH_UTF16));
6634 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown3_0, 0);
6637 _mem_save_unknown4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6638 NDR_PULL_SET_MEM_CTX(ndr, r->unknown4, 0);
6639 NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown4));
6640 NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown4));
6641 if (ndr_get_array_length(ndr, &r->unknown4) > ndr_get_array_size(ndr, &r->unknown4)) {
6642 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));
6644 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t)));
6645 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown4, ndr_get_array_length(ndr, &r->unknown4), sizeof(uint16_t), CH_UTF16));
6646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown4_0, 0);
6648 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->blob2));
6649 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->product));
6650 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown5));
6651 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown6));
6653 return NDR_ERR_SUCCESS;
6656 _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r)
6658 uint32_t cntr_unknown7_0;
6659 ndr_print_struct(ndr, name, "netr_DomainQuery1");
6661 ndr_print_netr_Blob(ndr, "blob", &r->blob);
6662 ndr_print_ptr(ndr, "workstation_domain", r->workstation_domain);
6664 if (r->workstation_domain) {
6665 ndr_print_string(ndr, "workstation_domain", r->workstation_domain);
6668 ndr_print_ptr(ndr, "workstation_site", r->workstation_site);
6670 if (r->workstation_site) {
6671 ndr_print_string(ndr, "workstation_site", r->workstation_site);
6674 ndr_print_ptr(ndr, "unknown1", r->unknown1);
6677 ndr_print_string(ndr, "unknown1", r->unknown1);
6680 ndr_print_ptr(ndr, "unknown2", r->unknown2);
6683 ndr_print_string(ndr, "unknown2", r->unknown2);
6686 ndr_print_ptr(ndr, "unknown3", r->unknown3);
6689 ndr_print_string(ndr, "unknown3", r->unknown3);
6692 ndr_print_ptr(ndr, "unknown4", r->unknown4);
6695 ndr_print_string(ndr, "unknown4", r->unknown4);
6698 ndr_print_netr_BinaryString(ndr, "blob2", &r->blob2);
6699 ndr_print_lsa_String(ndr, "product", &r->product);
6700 ndr_print_lsa_String(ndr, "unknown5", &r->unknown5);
6701 ndr_print_lsa_String(ndr, "unknown6", &r->unknown6);
6702 ndr->print(ndr, "%s: ARRAY(%d)", "unknown7", 4);
6704 for (cntr_unknown7_0=0;cntr_unknown7_0<4;cntr_unknown7_0++) {
6706 asprintf(&idx_0, "[%d]", cntr_unknown7_0);
6708 ndr_print_uint32(ndr, "unknown7", r->unknown7[cntr_unknown7_0]);
6716 static enum ndr_err_code ndr_push_netr_DomainQuery(struct ndr_push *ndr, int ndr_flags, const union netr_DomainQuery *r)
6718 if (ndr_flags & NDR_SCALARS) {
6719 int level = ndr_push_get_switch_value(ndr, r);
6720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6723 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->query1));
6731 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6734 if (ndr_flags & NDR_BUFFERS) {
6735 int level = ndr_push_get_switch_value(ndr, r);
6739 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6745 NDR_CHECK(ndr_push_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6750 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6753 return NDR_ERR_SUCCESS;
6756 static enum ndr_err_code ndr_pull_netr_DomainQuery(struct ndr_pull *ndr, int ndr_flags, union netr_DomainQuery *r)
6760 TALLOC_CTX *_mem_save_query1_0;
6761 level = ndr_pull_get_switch_value(ndr, r);
6762 if (ndr_flags & NDR_SCALARS) {
6763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6764 if (_level != level) {
6765 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
6769 uint32_t _ptr_query1;
6770 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6772 NDR_PULL_ALLOC(ndr, r->query1);
6779 uint32_t _ptr_query1;
6780 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_query1));
6782 NDR_PULL_ALLOC(ndr, r->query1);
6789 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6792 if (ndr_flags & NDR_BUFFERS) {
6796 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6797 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6798 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6805 _mem_save_query1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6806 NDR_PULL_SET_MEM_CTX(ndr, r->query1, 0);
6807 NDR_CHECK(ndr_pull_netr_DomainQuery1(ndr, NDR_SCALARS|NDR_BUFFERS, r->query1));
6808 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query1_0, 0);
6813 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
6816 return NDR_ERR_SUCCESS;
6819 _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r)
6822 level = ndr_print_get_switch_value(ndr, r);
6823 ndr_print_union(ndr, name, level, "netr_DomainQuery");
6826 ndr_print_ptr(ndr, "query1", r->query1);
6829 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6835 ndr_print_ptr(ndr, "query1", r->query1);
6838 ndr_print_netr_DomainQuery1(ndr, "query1", r->query1);
6844 ndr_print_bad_level(ndr, name, level);
6848 static enum ndr_err_code ndr_push_netr_DomainTrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustInfo *r)
6850 uint32_t cntr_unknown1_0;
6851 uint32_t cntr_unknown_0;
6852 if (ndr_flags & NDR_SCALARS) {
6853 NDR_CHECK(ndr_push_align(ndr, 4));
6854 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6855 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6856 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
6857 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
6858 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
6859 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6860 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6862 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
6866 if (ndr_flags & NDR_BUFFERS) {
6867 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6868 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6869 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6870 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->guid));
6872 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6874 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6875 NDR_CHECK(ndr_push_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6878 return NDR_ERR_SUCCESS;
6881 static enum ndr_err_code ndr_pull_netr_DomainTrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustInfo *r)
6884 TALLOC_CTX *_mem_save_sid_0;
6885 uint32_t cntr_unknown1_0;
6886 uint32_t cntr_unknown_0;
6887 if (ndr_flags & NDR_SCALARS) {
6888 NDR_CHECK(ndr_pull_align(ndr, 4));
6889 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domainname));
6890 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->fulldomainname));
6891 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
6892 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
6893 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
6895 NDR_PULL_ALLOC(ndr, r->sid);
6899 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6900 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_SCALARS, &r->unknown1[cntr_unknown1_0]));
6902 for (cntr_unknown_0 = 0; cntr_unknown_0 < 4; cntr_unknown_0++) {
6903 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
6906 if (ndr_flags & NDR_BUFFERS) {
6907 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domainname));
6908 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->fulldomainname));
6909 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
6910 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
6912 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6913 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
6914 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
6915 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
6917 for (cntr_unknown1_0 = 0; cntr_unknown1_0 < 4; cntr_unknown1_0++) {
6918 NDR_CHECK(ndr_pull_netr_BinaryString(ndr, NDR_BUFFERS, &r->unknown1[cntr_unknown1_0]));
6921 return NDR_ERR_SUCCESS;
6924 _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r)
6926 uint32_t cntr_unknown1_0;
6927 uint32_t cntr_unknown_0;
6928 ndr_print_struct(ndr, name, "netr_DomainTrustInfo");
6930 ndr_print_lsa_String(ndr, "domainname", &r->domainname);
6931 ndr_print_lsa_String(ndr, "fulldomainname", &r->fulldomainname);
6932 ndr_print_lsa_String(ndr, "forest", &r->forest);
6933 ndr_print_GUID(ndr, "guid", &r->guid);
6934 ndr_print_ptr(ndr, "sid", r->sid);
6937 ndr_print_dom_sid2(ndr, "sid", r->sid);
6940 ndr->print(ndr, "%s: ARRAY(%d)", "unknown1", 4);
6942 for (cntr_unknown1_0=0;cntr_unknown1_0<4;cntr_unknown1_0++) {
6944 asprintf(&idx_0, "[%d]", cntr_unknown1_0);
6946 ndr_print_netr_BinaryString(ndr, "unknown1", &r->unknown1[cntr_unknown1_0]);
6951 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 4);
6953 for (cntr_unknown_0=0;cntr_unknown_0<4;cntr_unknown_0++) {
6955 asprintf(&idx_0, "[%d]", cntr_unknown_0);
6957 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
6965 static enum ndr_err_code ndr_push_netr_DomainInfo1(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInfo1 *r)
6967 uint32_t cntr_trusts_1;
6968 uint32_t cntr_unknown_0;
6969 if (ndr_flags & NDR_SCALARS) {
6970 NDR_CHECK(ndr_push_align(ndr, 4));
6971 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
6972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
6973 NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusts));
6974 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
6975 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
6978 if (ndr_flags & NDR_BUFFERS) {
6979 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
6981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_trusts));
6982 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
6983 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
6985 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
6986 NDR_CHECK(ndr_push_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
6990 return NDR_ERR_SUCCESS;
6993 static enum ndr_err_code ndr_pull_netr_DomainInfo1(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInfo1 *r)
6995 uint32_t _ptr_trusts;
6996 uint32_t cntr_trusts_1;
6997 TALLOC_CTX *_mem_save_trusts_0;
6998 TALLOC_CTX *_mem_save_trusts_1;
6999 uint32_t cntr_unknown_0;
7000 if (ndr_flags & NDR_SCALARS) {
7001 NDR_CHECK(ndr_pull_align(ndr, 4));
7002 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->domaininfo));
7003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_trusts));
7004 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusts));
7006 NDR_PULL_ALLOC(ndr, r->trusts);
7010 for (cntr_unknown_0 = 0; cntr_unknown_0 < 14; cntr_unknown_0++) {
7011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
7014 if (ndr_flags & NDR_BUFFERS) {
7015 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->domaininfo));
7017 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
7018 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7019 NDR_CHECK(ndr_pull_array_size(ndr, &r->trusts));
7020 NDR_PULL_ALLOC_N(ndr, r->trusts, ndr_get_array_size(ndr, &r->trusts));
7021 _mem_save_trusts_1 = NDR_PULL_GET_MEM_CTX(ndr);
7022 NDR_PULL_SET_MEM_CTX(ndr, r->trusts, 0);
7023 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7024 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_SCALARS, &r->trusts[cntr_trusts_1]));
7026 for (cntr_trusts_1 = 0; cntr_trusts_1 < r->num_trusts; cntr_trusts_1++) {
7027 NDR_CHECK(ndr_pull_netr_DomainTrustInfo(ndr, NDR_BUFFERS, &r->trusts[cntr_trusts_1]));
7029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_1, 0);
7030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, 0);
7033 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusts, r->num_trusts));
7036 return NDR_ERR_SUCCESS;
7039 _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r)
7041 uint32_t cntr_trusts_1;
7042 uint32_t cntr_unknown_0;
7043 ndr_print_struct(ndr, name, "netr_DomainInfo1");
7045 ndr_print_netr_DomainTrustInfo(ndr, "domaininfo", &r->domaininfo);
7046 ndr_print_uint32(ndr, "num_trusts", r->num_trusts);
7047 ndr_print_ptr(ndr, "trusts", r->trusts);
7050 ndr->print(ndr, "%s: ARRAY(%d)", "trusts", r->num_trusts);
7052 for (cntr_trusts_1=0;cntr_trusts_1<r->num_trusts;cntr_trusts_1++) {
7054 asprintf(&idx_1, "[%d]", cntr_trusts_1);
7056 ndr_print_netr_DomainTrustInfo(ndr, "trusts", &r->trusts[cntr_trusts_1]);
7063 ndr->print(ndr, "%s: ARRAY(%d)", "unknown", 14);
7065 for (cntr_unknown_0=0;cntr_unknown_0<14;cntr_unknown_0++) {
7067 asprintf(&idx_0, "[%d]", cntr_unknown_0);
7069 ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
7077 static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
7079 if (ndr_flags & NDR_SCALARS) {
7080 int level = ndr_push_get_switch_value(ndr, r);
7081 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7084 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7088 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
7092 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7095 if (ndr_flags & NDR_BUFFERS) {
7096 int level = ndr_push_get_switch_value(ndr, r);
7100 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7106 NDR_CHECK(ndr_push_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7111 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7114 return NDR_ERR_SUCCESS;
7117 static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
7121 TALLOC_CTX *_mem_save_info1_0;
7122 level = ndr_pull_get_switch_value(ndr, r);
7123 if (ndr_flags & NDR_SCALARS) {
7124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7125 if (_level != level) {
7126 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
7130 uint32_t _ptr_info1;
7131 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7133 NDR_PULL_ALLOC(ndr, r->info1);
7140 uint32_t _ptr_info1;
7141 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
7143 NDR_PULL_ALLOC(ndr, r->info1);
7150 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7153 if (ndr_flags & NDR_BUFFERS) {
7157 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7158 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7159 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7160 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7166 _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7167 NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
7168 NDR_CHECK(ndr_pull_netr_DomainInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
7169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
7174 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
7177 return NDR_ERR_SUCCESS;
7180 _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
7183 level = ndr_print_get_switch_value(ndr, r);
7184 ndr_print_union(ndr, name, level, "netr_DomainInfo");
7187 ndr_print_ptr(ndr, "info1", r->info1);
7190 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7196 ndr_print_ptr(ndr, "info1", r->info1);
7199 ndr_print_netr_DomainInfo1(ndr, "info1", r->info1);
7205 ndr_print_bad_level(ndr, name, level);
7209 static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
7212 uint32_t _flags_save_STRUCT = ndr->flags;
7213 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7214 if (ndr_flags & NDR_SCALARS) {
7215 NDR_CHECK(ndr_push_align(ndr, 4));
7216 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7217 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
7219 if (ndr_flags & NDR_BUFFERS) {
7221 ndr->flags = _flags_save_STRUCT;
7223 return NDR_ERR_SUCCESS;
7226 static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
7229 uint32_t _flags_save_STRUCT = ndr->flags;
7230 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7231 if (ndr_flags & NDR_SCALARS) {
7232 NDR_CHECK(ndr_pull_align(ndr, 4));
7233 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
7234 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7236 if (ndr_flags & NDR_BUFFERS) {
7238 ndr->flags = _flags_save_STRUCT;
7240 return NDR_ERR_SUCCESS;
7243 _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
7245 ndr_print_struct(ndr, name, "netr_CryptPassword");
7247 uint32_t _flags_save_STRUCT = ndr->flags;
7248 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
7250 ndr_print_array_uint8(ndr, "data", r->data, 512);
7251 ndr_print_uint32(ndr, "length", r->length);
7253 ndr->flags = _flags_save_STRUCT;
7257 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
7259 uint32_t cntr_sitename_1;
7260 if (ndr_flags & NDR_SCALARS) {
7261 NDR_CHECK(ndr_push_align(ndr, 4));
7262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7263 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7265 if (ndr_flags & NDR_BUFFERS) {
7267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7268 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7269 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7271 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7272 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7276 return NDR_ERR_SUCCESS;
7279 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
7281 uint32_t _ptr_sitename;
7282 uint32_t cntr_sitename_1;
7283 TALLOC_CTX *_mem_save_sitename_0;
7284 TALLOC_CTX *_mem_save_sitename_1;
7285 if (ndr_flags & NDR_SCALARS) {
7286 NDR_CHECK(ndr_pull_align(ndr, 4));
7287 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7288 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7289 if (_ptr_sitename) {
7290 NDR_PULL_ALLOC(ndr, r->sitename);
7295 if (ndr_flags & NDR_BUFFERS) {
7297 _mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7298 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7299 NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7300 NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
7301 _mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
7302 NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7303 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7304 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
7306 for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
7307 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
7309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
7310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7313 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
7316 return NDR_ERR_SUCCESS;
7319 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
7321 uint32_t cntr_sitename_1;
7322 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
7324 ndr_print_uint32(ndr, "count", r->count);
7325 ndr_print_ptr(ndr, "sitename", r->sitename);
7328 ndr->print(ndr, "%s: ARRAY(%d)", "sitename", r->count);
7330 for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
7332 asprintf(&idx_1, "[%d]", cntr_sitename_1);
7334 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7344 static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
7346 if (ndr_flags & NDR_SCALARS) {
7347 NDR_CHECK(ndr_push_align(ndr, 4));
7348 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
7349 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7351 if (ndr_flags & NDR_BUFFERS) {
7353 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
7354 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
7357 return NDR_ERR_SUCCESS;
7360 static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
7362 uint32_t _ptr_buffer;
7363 TALLOC_CTX *_mem_save_buffer_0;
7364 if (ndr_flags & NDR_SCALARS) {
7365 NDR_CHECK(ndr_pull_align(ndr, 4));
7366 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
7368 NDR_PULL_ALLOC(ndr, r->buffer);
7372 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7374 if (ndr_flags & NDR_BUFFERS) {
7376 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
7377 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
7378 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
7379 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
7380 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
7381 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
7384 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
7387 return NDR_ERR_SUCCESS;
7390 _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
7392 ndr_print_struct(ndr, name, "netr_DsRAddress");
7394 ndr_print_ptr(ndr, "buffer", r->buffer);
7397 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
7400 ndr_print_uint32(ndr, "size", r->size);
7404 static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7407 return NDR_ERR_SUCCESS;
7410 static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7413 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7415 return NDR_ERR_SUCCESS;
7418 _PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7420 ndr_print_uint32(ndr, name, r);
7422 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7423 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7424 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7425 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7426 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7427 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7431 static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
7433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7434 return NDR_ERR_SUCCESS;
7437 static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
7440 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7442 return NDR_ERR_SUCCESS;
7445 _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
7447 const char *val = NULL;
7450 case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
7451 case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
7452 case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
7453 case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
7455 ndr_print_enum(ndr, name, "ENUM", val, r);
7458 static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7460 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7461 return NDR_ERR_SUCCESS;
7464 static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7469 return NDR_ERR_SUCCESS;
7472 _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
7474 ndr_print_uint32(ndr, name, r);
7476 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
7477 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
7478 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
7479 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
7480 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
7481 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
7482 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
7486 static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
7488 if (ndr_flags & NDR_SCALARS) {
7489 NDR_CHECK(ndr_push_align(ndr, 4));
7490 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
7491 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
7492 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
7493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
7494 NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
7495 NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
7496 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
7497 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
7499 if (ndr_flags & NDR_BUFFERS) {
7500 if (r->netbios_name) {
7501 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7502 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7503 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
7504 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7507 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7509 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
7510 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7513 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7515 NDR_CHECK(ndr_push_GUID(ndr, NDR_BUFFERS, &r->guid));
7517 return NDR_ERR_SUCCESS;
7520 static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
7522 uint32_t _ptr_netbios_name;
7523 TALLOC_CTX *_mem_save_netbios_name_0;
7524 uint32_t _ptr_dns_name;
7525 TALLOC_CTX *_mem_save_dns_name_0;
7527 TALLOC_CTX *_mem_save_sid_0;
7528 if (ndr_flags & NDR_SCALARS) {
7529 NDR_CHECK(ndr_pull_align(ndr, 4));
7530 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
7531 if (_ptr_netbios_name) {
7532 NDR_PULL_ALLOC(ndr, r->netbios_name);
7534 r->netbios_name = NULL;
7536 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
7537 if (_ptr_dns_name) {
7538 NDR_PULL_ALLOC(ndr, r->dns_name);
7542 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
7543 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
7544 NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
7545 NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
7546 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
7548 NDR_PULL_ALLOC(ndr, r->sid);
7552 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
7554 if (ndr_flags & NDR_BUFFERS) {
7555 if (r->netbios_name) {
7556 _mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7557 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
7558 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
7559 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
7560 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
7561 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));
7563 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
7564 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
7565 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
7568 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7569 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
7570 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
7571 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
7572 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
7573 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));
7575 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
7576 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
7577 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
7580 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7581 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
7582 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
7583 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
7585 NDR_CHECK(ndr_pull_GUID(ndr, NDR_BUFFERS, &r->guid));
7587 return NDR_ERR_SUCCESS;
7590 _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
7592 ndr_print_struct(ndr, name, "netr_DomainTrust");
7594 ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
7596 if (r->netbios_name) {
7597 ndr_print_string(ndr, "netbios_name", r->netbios_name);
7600 ndr_print_ptr(ndr, "dns_name", r->dns_name);
7603 ndr_print_string(ndr, "dns_name", r->dns_name);
7606 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
7607 ndr_print_uint32(ndr, "parent_index", r->parent_index);
7608 ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
7609 ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
7610 ndr_print_ptr(ndr, "sid", r->sid);
7613 ndr_print_dom_sid2(ndr, "sid", r->sid);
7616 ndr_print_GUID(ndr, "guid", &r->guid);
7620 static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
7622 uint32_t cntr_array_1;
7623 if (ndr_flags & NDR_SCALARS) {
7624 NDR_CHECK(ndr_push_align(ndr, 4));
7625 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7626 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
7628 if (ndr_flags & NDR_BUFFERS) {
7630 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
7631 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7632 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7634 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7635 NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7639 return NDR_ERR_SUCCESS;
7642 static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
7644 uint32_t _ptr_array;
7645 uint32_t cntr_array_1;
7646 TALLOC_CTX *_mem_save_array_0;
7647 TALLOC_CTX *_mem_save_array_1;
7648 if (ndr_flags & NDR_SCALARS) {
7649 NDR_CHECK(ndr_pull_align(ndr, 4));
7650 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
7651 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
7653 NDR_PULL_ALLOC(ndr, r->array);
7658 if (ndr_flags & NDR_BUFFERS) {
7660 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
7661 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7662 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
7663 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
7664 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
7665 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
7666 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7667 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
7669 for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
7670 NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
7672 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
7673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
7676 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
7679 return NDR_ERR_SUCCESS;
7682 _PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
7684 uint32_t cntr_array_1;
7685 ndr_print_struct(ndr, name, "netr_DomainTrustList");
7687 ndr_print_uint32(ndr, "count", r->count);
7688 ndr_print_ptr(ndr, "array", r->array);
7691 ndr->print(ndr, "%s: ARRAY(%d)", "array", r->count);
7693 for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
7695 asprintf(&idx_1, "[%d]", cntr_array_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 asprintf(&idx_1, "[%d]", cntr_sitename_1);
7825 ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
7832 ndr_print_ptr(ndr, "subnetname", r->subnetname);
7834 if (r->subnetname) {
7835 ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", r->count);
7837 for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
7839 asprintf(&idx_1, "[%d]", cntr_subnetname_1);
7841 ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
7851 static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
7853 uint32_t cntr_sites_1;
7854 if (ndr_flags & NDR_SCALARS) {
7855 NDR_CHECK(ndr_push_align(ndr, 4));
7856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7857 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
7859 if (ndr_flags & NDR_BUFFERS) {
7861 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
7862 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7863 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7865 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7866 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7870 return NDR_ERR_SUCCESS;
7873 static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
7875 uint32_t _ptr_sites;
7876 uint32_t cntr_sites_1;
7877 TALLOC_CTX *_mem_save_sites_0;
7878 TALLOC_CTX *_mem_save_sites_1;
7879 if (ndr_flags & NDR_SCALARS) {
7880 NDR_CHECK(ndr_pull_align(ndr, 4));
7881 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
7882 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
7884 NDR_PULL_ALLOC(ndr, r->sites);
7889 if (ndr_flags & NDR_BUFFERS) {
7891 _mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
7892 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7893 NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
7894 NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
7895 _mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
7896 NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
7897 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7898 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
7900 for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
7901 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
7903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
7904 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
7907 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
7910 return NDR_ERR_SUCCESS;
7913 _PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
7915 uint32_t cntr_sites_1;
7916 ndr_print_struct(ndr, name, "DcSitesCtr");
7918 ndr_print_uint32(ndr, "num_sites", r->num_sites);
7919 ndr_print_ptr(ndr, "sites", r->sites);
7922 ndr->print(ndr, "%s: ARRAY(%d)", "sites", r->num_sites);
7924 for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
7926 asprintf(&idx_1, "[%d]", cntr_sites_1);
7928 ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
7938 static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
7940 if (flags & NDR_IN) {
7941 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
7942 if (r->in.server_name) {
7943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
7946 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));
7948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7949 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7950 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
7951 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));
7952 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7953 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7954 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
7955 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7957 if (flags & NDR_OUT) {
7958 if (r->out.info == NULL) {
7959 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7961 NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
7962 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
7964 return NDR_ERR_SUCCESS;
7967 static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
7969 uint32_t _ptr_server_name;
7970 TALLOC_CTX *_mem_save_server_name_0;
7971 TALLOC_CTX *_mem_save_info_0;
7972 if (flags & NDR_IN) {
7973 ZERO_STRUCT(r->out);
7975 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
7976 if (_ptr_server_name) {
7977 NDR_PULL_ALLOC(ndr, r->in.server_name);
7979 r->in.server_name = NULL;
7981 if (r->in.server_name) {
7982 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7983 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
7984 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
7985 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
7986 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
7987 return 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));
7989 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
7990 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));
7991 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
7993 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
7994 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
7995 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
7996 return 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));
7998 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
7999 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));
8000 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8001 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8002 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8003 return 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));
8005 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8006 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8007 NDR_PULL_ALLOC(ndr, r->out.info);
8008 ZERO_STRUCTP(r->out.info);
8010 if (flags & NDR_OUT) {
8011 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8012 NDR_PULL_ALLOC(ndr, r->out.info);
8014 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8015 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8016 NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
8017 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8018 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8020 return NDR_ERR_SUCCESS;
8023 _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
8025 ndr_print_struct(ndr, name, "netr_LogonUasLogon");
8027 if (flags & NDR_SET_VALUES) {
8028 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8030 if (flags & NDR_IN) {
8031 ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
8033 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8035 if (r->in.server_name) {
8036 ndr_print_string(ndr, "server_name", r->in.server_name);
8039 ndr_print_string(ndr, "account_name", r->in.account_name);
8040 ndr_print_string(ndr, "workstation", r->in.workstation);
8043 if (flags & NDR_OUT) {
8044 ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
8046 ndr_print_ptr(ndr, "info", r->out.info);
8048 ndr_print_netr_UasInfo(ndr, "info", r->out.info);
8050 ndr_print_WERROR(ndr, "result", r->out.result);
8056 static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
8058 if (flags & NDR_IN) {
8059 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8060 if (r->in.server_name) {
8061 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8062 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8063 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8064 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));
8066 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8068 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8069 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));
8070 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8071 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8072 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
8073 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8075 if (flags & NDR_OUT) {
8076 if (r->out.info == NULL) {
8077 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8079 NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8080 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
8082 return NDR_ERR_SUCCESS;
8085 static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
8087 uint32_t _ptr_server_name;
8088 TALLOC_CTX *_mem_save_server_name_0;
8089 TALLOC_CTX *_mem_save_info_0;
8090 if (flags & NDR_IN) {
8091 ZERO_STRUCT(r->out);
8093 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8094 if (_ptr_server_name) {
8095 NDR_PULL_ALLOC(ndr, r->in.server_name);
8097 r->in.server_name = NULL;
8099 if (r->in.server_name) {
8100 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8101 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8102 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8103 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8104 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8105 return 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));
8107 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8108 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));
8109 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8111 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8112 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8113 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8114 return 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));
8116 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8117 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));
8118 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
8119 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
8120 if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
8121 return 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));
8123 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
8124 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
8125 NDR_PULL_ALLOC(ndr, r->out.info);
8126 ZERO_STRUCTP(r->out.info);
8128 if (flags & NDR_OUT) {
8129 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8130 NDR_PULL_ALLOC(ndr, r->out.info);
8132 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8133 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8134 NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
8135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8136 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
8138 return NDR_ERR_SUCCESS;
8141 _PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
8143 ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
8145 if (flags & NDR_SET_VALUES) {
8146 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8148 if (flags & NDR_IN) {
8149 ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
8151 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8153 if (r->in.server_name) {
8154 ndr_print_string(ndr, "server_name", r->in.server_name);
8157 ndr_print_string(ndr, "account_name", r->in.account_name);
8158 ndr_print_string(ndr, "workstation", r->in.workstation);
8161 if (flags & NDR_OUT) {
8162 ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
8164 ndr_print_ptr(ndr, "info", r->out.info);
8166 ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
8168 ndr_print_WERROR(ndr, "result", r->out.result);
8174 static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
8176 if (flags & NDR_IN) {
8177 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8178 if (r->in.server_name) {
8179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8182 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));
8184 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8185 if (r->in.computer_name) {
8186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8187 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8189 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));
8191 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8192 if (r->in.credential) {
8193 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8195 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8196 if (r->in.return_authenticator) {
8197 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8199 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
8200 if (r->in.logon == NULL) {
8201 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8203 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8204 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8205 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
8207 if (flags & NDR_OUT) {
8208 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8209 if (r->out.return_authenticator) {
8210 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8212 if (r->out.validation == NULL) {
8213 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8215 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8216 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8217 if (r->out.authoritative == NULL) {
8218 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8220 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
8221 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8223 return NDR_ERR_SUCCESS;
8226 static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
8228 uint32_t _ptr_server_name;
8229 uint32_t _ptr_computer_name;
8230 uint32_t _ptr_credential;
8231 uint32_t _ptr_return_authenticator;
8232 TALLOC_CTX *_mem_save_server_name_0;
8233 TALLOC_CTX *_mem_save_computer_name_0;
8234 TALLOC_CTX *_mem_save_credential_0;
8235 TALLOC_CTX *_mem_save_return_authenticator_0;
8236 TALLOC_CTX *_mem_save_logon_0;
8237 TALLOC_CTX *_mem_save_validation_0;
8238 TALLOC_CTX *_mem_save_authoritative_0;
8239 if (flags & NDR_IN) {
8240 ZERO_STRUCT(r->out);
8242 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8243 if (_ptr_server_name) {
8244 NDR_PULL_ALLOC(ndr, r->in.server_name);
8246 r->in.server_name = NULL;
8248 if (r->in.server_name) {
8249 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8250 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8251 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8252 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8253 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8254 return 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));
8256 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8257 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));
8258 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8260 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8261 if (_ptr_computer_name) {
8262 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8264 r->in.computer_name = NULL;
8266 if (r->in.computer_name) {
8267 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8268 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8269 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8270 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8271 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8272 return 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));
8274 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8275 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));
8276 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8278 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8279 if (_ptr_credential) {
8280 NDR_PULL_ALLOC(ndr, r->in.credential);
8282 r->in.credential = NULL;
8284 if (r->in.credential) {
8285 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8286 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8287 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8290 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8291 if (_ptr_return_authenticator) {
8292 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8294 r->in.return_authenticator = NULL;
8296 if (r->in.return_authenticator) {
8297 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8298 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8299 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8300 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8302 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
8303 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8304 NDR_PULL_ALLOC(ndr, r->in.logon);
8306 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
8307 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
8308 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
8309 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
8310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
8311 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
8312 NDR_PULL_ALLOC(ndr, r->out.validation);
8313 ZERO_STRUCTP(r->out.validation);
8314 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8315 ZERO_STRUCTP(r->out.authoritative);
8317 if (flags & NDR_OUT) {
8318 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8319 if (_ptr_return_authenticator) {
8320 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8322 r->out.return_authenticator = NULL;
8324 if (r->out.return_authenticator) {
8325 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8326 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8327 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8328 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8330 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8331 NDR_PULL_ALLOC(ndr, r->out.validation);
8333 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
8334 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
8335 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
8336 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
8337 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
8338 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8339 NDR_PULL_ALLOC(ndr, r->out.authoritative);
8341 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
8342 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
8343 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
8344 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
8345 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8347 return NDR_ERR_SUCCESS;
8350 _PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
8352 ndr_print_struct(ndr, name, "netr_LogonSamLogon");
8354 if (flags & NDR_SET_VALUES) {
8355 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8357 if (flags & NDR_IN) {
8358 ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
8360 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8362 if (r->in.server_name) {
8363 ndr_print_string(ndr, "server_name", r->in.server_name);
8366 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8368 if (r->in.computer_name) {
8369 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8372 ndr_print_ptr(ndr, "credential", r->in.credential);
8374 if (r->in.credential) {
8375 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8378 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8380 if (r->in.return_authenticator) {
8381 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8384 ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
8385 ndr_print_ptr(ndr, "logon", r->in.logon);
8387 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
8388 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
8390 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
8393 if (flags & NDR_OUT) {
8394 ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
8396 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8398 if (r->out.return_authenticator) {
8399 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8402 ndr_print_ptr(ndr, "validation", r->out.validation);
8404 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
8405 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
8407 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
8409 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
8411 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8417 static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
8419 if (flags & NDR_IN) {
8420 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8421 if (r->in.server_name) {
8422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8425 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));
8427 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
8428 if (r->in.computer_name) {
8429 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8432 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));
8434 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
8435 if (r->in.credential) {
8436 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8438 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
8439 if (r->in.return_authenticator) {
8440 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8442 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
8443 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8444 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8446 if (flags & NDR_OUT) {
8447 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
8448 if (r->out.return_authenticator) {
8449 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8451 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8453 return NDR_ERR_SUCCESS;
8456 static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
8458 uint32_t _ptr_server_name;
8459 uint32_t _ptr_computer_name;
8460 uint32_t _ptr_credential;
8461 uint32_t _ptr_return_authenticator;
8462 TALLOC_CTX *_mem_save_server_name_0;
8463 TALLOC_CTX *_mem_save_computer_name_0;
8464 TALLOC_CTX *_mem_save_credential_0;
8465 TALLOC_CTX *_mem_save_return_authenticator_0;
8466 if (flags & NDR_IN) {
8467 ZERO_STRUCT(r->out);
8469 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8470 if (_ptr_server_name) {
8471 NDR_PULL_ALLOC(ndr, r->in.server_name);
8473 r->in.server_name = NULL;
8475 if (r->in.server_name) {
8476 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8477 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8478 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8479 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8480 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8481 return 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));
8483 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8484 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));
8485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8487 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
8488 if (_ptr_computer_name) {
8489 NDR_PULL_ALLOC(ndr, r->in.computer_name);
8491 r->in.computer_name = NULL;
8493 if (r->in.computer_name) {
8494 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8495 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
8496 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8497 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8498 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8499 return 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));
8501 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8502 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));
8503 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
8505 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
8506 if (_ptr_credential) {
8507 NDR_PULL_ALLOC(ndr, r->in.credential);
8509 r->in.credential = NULL;
8511 if (r->in.credential) {
8512 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8513 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
8514 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8515 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
8517 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8518 if (_ptr_return_authenticator) {
8519 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
8521 r->in.return_authenticator = NULL;
8523 if (r->in.return_authenticator) {
8524 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8525 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
8526 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
8527 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8529 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
8530 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
8531 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
8533 if (flags & NDR_OUT) {
8534 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
8535 if (_ptr_return_authenticator) {
8536 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8538 r->out.return_authenticator = NULL;
8540 if (r->out.return_authenticator) {
8541 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8542 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
8543 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
8546 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8548 return NDR_ERR_SUCCESS;
8551 _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
8553 ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
8555 if (flags & NDR_SET_VALUES) {
8556 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8558 if (flags & NDR_IN) {
8559 ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
8561 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8563 if (r->in.server_name) {
8564 ndr_print_string(ndr, "server_name", r->in.server_name);
8567 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
8569 if (r->in.computer_name) {
8570 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8573 ndr_print_ptr(ndr, "credential", r->in.credential);
8575 if (r->in.credential) {
8576 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8579 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
8581 if (r->in.return_authenticator) {
8582 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
8585 ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
8586 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
8587 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
8590 if (flags & NDR_OUT) {
8591 ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
8593 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
8595 if (r->out.return_authenticator) {
8596 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
8599 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8605 static enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
8607 if (flags & NDR_IN) {
8608 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8609 if (r->in.server_name) {
8610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8613 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));
8615 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8616 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8618 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));
8619 if (r->in.credentials == NULL) {
8620 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8622 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8624 if (flags & NDR_OUT) {
8625 if (r->out.return_credentials == NULL) {
8626 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8628 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8629 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8631 return NDR_ERR_SUCCESS;
8634 static enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
8636 uint32_t _ptr_server_name;
8637 TALLOC_CTX *_mem_save_server_name_0;
8638 TALLOC_CTX *_mem_save_credentials_0;
8639 TALLOC_CTX *_mem_save_return_credentials_0;
8640 if (flags & NDR_IN) {
8641 ZERO_STRUCT(r->out);
8643 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8644 if (_ptr_server_name) {
8645 NDR_PULL_ALLOC(ndr, r->in.server_name);
8647 r->in.server_name = NULL;
8649 if (r->in.server_name) {
8650 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8651 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8652 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8653 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8654 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8655 return 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));
8657 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8658 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));
8659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8661 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8662 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8663 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8664 return 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));
8666 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8667 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));
8668 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8669 NDR_PULL_ALLOC(ndr, r->in.credentials);
8671 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8672 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8673 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8674 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8675 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8676 ZERO_STRUCTP(r->out.return_credentials);
8678 if (flags & NDR_OUT) {
8679 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8680 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8682 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8683 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8684 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8686 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8688 return NDR_ERR_SUCCESS;
8691 _PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
8693 ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
8695 if (flags & NDR_SET_VALUES) {
8696 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8698 if (flags & NDR_IN) {
8699 ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
8701 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8703 if (r->in.server_name) {
8704 ndr_print_string(ndr, "server_name", r->in.server_name);
8707 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8708 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8710 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8714 if (flags & NDR_OUT) {
8715 ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
8717 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8719 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8721 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8727 static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
8729 if (flags & NDR_IN) {
8730 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8731 if (r->in.server_name) {
8732 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8733 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8734 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8735 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));
8737 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8738 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8739 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8740 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));
8741 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8742 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8745 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));
8746 if (r->in.credentials == NULL) {
8747 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8749 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8751 if (flags & NDR_OUT) {
8752 if (r->out.return_credentials == NULL) {
8753 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8755 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8756 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8758 return NDR_ERR_SUCCESS;
8761 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
8763 uint32_t _ptr_server_name;
8764 TALLOC_CTX *_mem_save_server_name_0;
8765 TALLOC_CTX *_mem_save_credentials_0;
8766 TALLOC_CTX *_mem_save_return_credentials_0;
8767 if (flags & NDR_IN) {
8768 ZERO_STRUCT(r->out);
8770 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8771 if (_ptr_server_name) {
8772 NDR_PULL_ALLOC(ndr, r->in.server_name);
8774 r->in.server_name = NULL;
8776 if (r->in.server_name) {
8777 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8778 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8779 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8780 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8781 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8782 return 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));
8784 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8785 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));
8786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8788 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8789 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8790 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8791 return 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));
8793 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8794 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));
8795 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8796 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8797 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8798 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8799 return 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));
8801 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8802 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));
8803 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8804 NDR_PULL_ALLOC(ndr, r->in.credentials);
8806 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8807 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
8808 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
8809 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8810 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8811 ZERO_STRUCTP(r->out.return_credentials);
8813 if (flags & NDR_OUT) {
8814 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8815 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
8817 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
8818 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
8819 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
8820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
8821 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8823 return NDR_ERR_SUCCESS;
8826 _PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
8828 ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
8830 if (flags & NDR_SET_VALUES) {
8831 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8833 if (flags & NDR_IN) {
8834 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
8836 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8838 if (r->in.server_name) {
8839 ndr_print_string(ndr, "server_name", r->in.server_name);
8842 ndr_print_string(ndr, "account_name", r->in.account_name);
8843 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
8844 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8845 ndr_print_ptr(ndr, "credentials", r->in.credentials);
8847 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
8851 if (flags & NDR_OUT) {
8852 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
8854 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
8856 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
8858 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8864 static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
8866 if (flags & NDR_IN) {
8867 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
8868 if (r->in.server_name) {
8869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8870 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8871 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
8872 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));
8874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8875 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
8877 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));
8878 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
8879 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8880 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8881 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
8882 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));
8883 if (r->in.credential == NULL) {
8884 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8886 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8887 if (r->in.new_password == NULL) {
8888 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8890 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_password));
8892 if (flags & NDR_OUT) {
8893 if (r->out.return_authenticator == NULL) {
8894 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8896 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8897 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8899 return NDR_ERR_SUCCESS;
8902 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
8904 uint32_t _ptr_server_name;
8905 TALLOC_CTX *_mem_save_server_name_0;
8906 TALLOC_CTX *_mem_save_credential_0;
8907 TALLOC_CTX *_mem_save_return_authenticator_0;
8908 TALLOC_CTX *_mem_save_new_password_0;
8909 if (flags & NDR_IN) {
8910 ZERO_STRUCT(r->out);
8912 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
8913 if (_ptr_server_name) {
8914 NDR_PULL_ALLOC(ndr, r->in.server_name);
8916 r->in.server_name = NULL;
8918 if (r->in.server_name) {
8919 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8920 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
8921 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
8922 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
8923 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
8924 return 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));
8926 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
8927 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));
8928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
8930 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
8931 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
8932 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
8933 return 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));
8935 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
8936 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));
8937 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
8938 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
8939 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
8940 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
8941 return 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));
8943 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
8944 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));
8945 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8946 NDR_PULL_ALLOC(ndr, r->in.credential);
8948 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
8949 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
8950 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
8951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
8952 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8953 NDR_PULL_ALLOC(ndr, r->in.new_password);
8955 _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
8956 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
8957 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_password));
8958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
8959 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8960 ZERO_STRUCTP(r->out.return_authenticator);
8962 if (flags & NDR_OUT) {
8963 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8964 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
8966 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
8967 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
8968 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
8969 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
8970 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8972 return NDR_ERR_SUCCESS;
8975 _PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
8977 ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
8979 if (flags & NDR_SET_VALUES) {
8980 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8982 if (flags & NDR_IN) {
8983 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
8985 ndr_print_ptr(ndr, "server_name", r->in.server_name);
8987 if (r->in.server_name) {
8988 ndr_print_string(ndr, "server_name", r->in.server_name);
8991 ndr_print_string(ndr, "account_name", r->in.account_name);
8992 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
8993 ndr_print_string(ndr, "computer_name", r->in.computer_name);
8994 ndr_print_ptr(ndr, "credential", r->in.credential);
8996 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
8998 ndr_print_ptr(ndr, "new_password", r->in.new_password);
9000 ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
9004 if (flags & NDR_OUT) {
9005 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
9007 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9009 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9011 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9017 static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
9019 if (flags & NDR_IN) {
9020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9021 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9023 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));
9024 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9025 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9026 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9027 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9028 if (r->in.credential == NULL) {
9029 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9031 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9032 if (r->in.return_authenticator == NULL) {
9033 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9035 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9036 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9037 if (r->in.sequence_num == NULL) {
9038 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9040 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
9041 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9043 if (flags & NDR_OUT) {
9044 if (r->out.return_authenticator == NULL) {
9045 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9047 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9048 if (r->out.sequence_num == NULL) {
9049 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9051 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
9052 if (r->out.delta_enum_array == NULL) {
9053 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9055 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
9056 if (*r->out.delta_enum_array) {
9057 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9059 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9061 return NDR_ERR_SUCCESS;
9064 static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
9066 uint32_t _ptr_delta_enum_array;
9067 TALLOC_CTX *_mem_save_credential_0;
9068 TALLOC_CTX *_mem_save_return_authenticator_0;
9069 TALLOC_CTX *_mem_save_sequence_num_0;
9070 TALLOC_CTX *_mem_save_delta_enum_array_0;
9071 TALLOC_CTX *_mem_save_delta_enum_array_1;
9072 if (flags & NDR_IN) {
9073 ZERO_STRUCT(r->out);
9075 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9076 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9077 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9078 return 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));
9080 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9081 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));
9082 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9083 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9084 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9085 return 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));
9087 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9088 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9089 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9090 NDR_PULL_ALLOC(ndr, r->in.credential);
9092 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9093 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
9094 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9095 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
9096 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9097 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9099 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9100 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9101 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9102 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9103 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9104 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9105 NDR_PULL_ALLOC(ndr, r->in.sequence_num);
9107 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9108 NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9109 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
9110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9111 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9112 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9113 *r->out.return_authenticator = *r->in.return_authenticator;
9114 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9115 *r->out.sequence_num = *r->in.sequence_num;
9116 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9117 ZERO_STRUCTP(r->out.delta_enum_array);
9119 if (flags & NDR_OUT) {
9120 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9121 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9123 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9124 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9125 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9127 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9128 NDR_PULL_ALLOC(ndr, r->out.sequence_num);
9130 _mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
9131 NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
9132 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
9133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
9134 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9135 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9137 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9138 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9139 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
9140 if (_ptr_delta_enum_array) {
9141 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
9143 *r->out.delta_enum_array = NULL;
9145 if (*r->out.delta_enum_array) {
9146 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
9147 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
9148 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
9149 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
9151 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9152 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9154 return NDR_ERR_SUCCESS;
9157 _PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
9159 ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
9161 if (flags & NDR_SET_VALUES) {
9162 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9164 if (flags & NDR_IN) {
9165 ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
9167 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9168 ndr_print_string(ndr, "computername", r->in.computername);
9169 ndr_print_ptr(ndr, "credential", r->in.credential);
9171 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9173 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9175 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9177 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9178 ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
9180 ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
9182 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9185 if (flags & NDR_OUT) {
9186 ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
9188 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9190 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9192 ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
9194 ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
9196 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9198 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
9200 if (*r->out.delta_enum_array) {
9201 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
9205 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9211 static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
9213 if (flags & NDR_IN) {
9214 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9215 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9217 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));
9218 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9221 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9222 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9223 if (r->in.return_authenticator == NULL) {
9224 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9226 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9227 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
9228 if (r->in.sync_context == NULL) {
9229 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
9232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
9234 if (flags & NDR_OUT) {
9235 if (r->out.return_authenticator == NULL) {
9236 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9238 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9239 if (r->out.sync_context == NULL) {
9240 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
9243 if (r->out.delta_enum_array == NULL) {
9244 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9246 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9247 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9249 return NDR_ERR_SUCCESS;
9252 static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
9254 TALLOC_CTX *_mem_save_return_authenticator_0;
9255 TALLOC_CTX *_mem_save_sync_context_0;
9256 TALLOC_CTX *_mem_save_delta_enum_array_0;
9257 if (flags & NDR_IN) {
9258 ZERO_STRUCT(r->out);
9260 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9261 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9262 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9263 return 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));
9265 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9266 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));
9267 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9268 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9269 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9270 return 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));
9272 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9273 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9274 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9275 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9276 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9278 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9279 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9280 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9282 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
9283 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9284 NDR_PULL_ALLOC(ndr, r->in.sync_context);
9286 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9287 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
9288 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
9289 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9290 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
9291 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9292 *r->out.return_authenticator = *r->in.return_authenticator;
9293 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9294 *r->out.sync_context = *r->in.sync_context;
9295 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9296 ZERO_STRUCTP(r->out.delta_enum_array);
9298 if (flags & NDR_OUT) {
9299 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9300 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9302 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9303 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9304 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9306 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9307 NDR_PULL_ALLOC(ndr, r->out.sync_context);
9309 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
9310 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
9311 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
9312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
9313 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9314 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
9316 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9317 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
9318 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
9319 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
9320 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9322 return NDR_ERR_SUCCESS;
9325 _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
9327 ndr_print_struct(ndr, name, "netr_DatabaseSync");
9329 if (flags & NDR_SET_VALUES) {
9330 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9332 if (flags & NDR_IN) {
9333 ndr_print_struct(ndr, "in", "netr_DatabaseSync");
9335 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9336 ndr_print_string(ndr, "computername", r->in.computername);
9337 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9338 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9340 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9342 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
9343 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
9345 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
9347 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
9350 if (flags & NDR_OUT) {
9351 ndr_print_struct(ndr, "out", "netr_DatabaseSync");
9353 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9355 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9357 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
9359 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
9361 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
9363 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
9365 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9371 static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
9373 if (flags & NDR_IN) {
9374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9375 if (r->in.logon_server) {
9376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9379 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));
9381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9384 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9385 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9386 if (r->in.return_authenticator == NULL) {
9387 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9389 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9390 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
9392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9395 if (flags & NDR_OUT) {
9396 if (r->out.return_authenticator == NULL) {
9397 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9399 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9400 if (r->out.buffer == NULL) {
9401 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9404 struct ndr_push *_ndr_buffer;
9405 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9406 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9407 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9409 if (r->out.count_returned == NULL) {
9410 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9412 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9413 if (r->out.total_entries == NULL) {
9414 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9417 if (r->out.recordid == NULL) {
9418 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9420 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9421 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9423 return NDR_ERR_SUCCESS;
9426 static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
9428 uint32_t _ptr_logon_server;
9429 TALLOC_CTX *_mem_save_logon_server_0;
9430 TALLOC_CTX *_mem_save_return_authenticator_0;
9431 TALLOC_CTX *_mem_save_buffer_0;
9432 TALLOC_CTX *_mem_save_count_returned_0;
9433 TALLOC_CTX *_mem_save_total_entries_0;
9434 TALLOC_CTX *_mem_save_recordid_0;
9435 if (flags & NDR_IN) {
9436 ZERO_STRUCT(r->out);
9438 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9439 if (_ptr_logon_server) {
9440 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9442 r->in.logon_server = NULL;
9444 if (r->in.logon_server) {
9445 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9446 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9447 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9448 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9449 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9450 return 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));
9452 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9453 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));
9454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9456 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9457 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9458 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9459 return 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));
9461 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9462 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9463 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9464 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9465 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9467 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9468 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9469 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9471 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
9472 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
9473 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9474 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9475 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9476 *r->out.return_authenticator = *r->in.return_authenticator;
9477 NDR_PULL_ALLOC(ndr, r->out.buffer);
9478 ZERO_STRUCTP(r->out.buffer);
9479 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9480 ZERO_STRUCTP(r->out.count_returned);
9481 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9482 ZERO_STRUCTP(r->out.total_entries);
9483 NDR_PULL_ALLOC(ndr, r->out.recordid);
9484 ZERO_STRUCTP(r->out.recordid);
9486 if (flags & NDR_OUT) {
9487 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9488 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9490 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9491 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9492 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9493 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9494 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9495 NDR_PULL_ALLOC(ndr, r->out.buffer);
9497 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9498 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9500 struct ndr_pull *_ndr_buffer;
9501 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9502 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9503 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9505 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9506 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9507 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9509 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9510 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9511 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9513 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9514 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9516 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9517 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9518 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9519 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9520 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9521 NDR_PULL_ALLOC(ndr, r->out.recordid);
9523 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9524 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9525 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9526 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9527 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9529 return NDR_ERR_SUCCESS;
9532 _PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
9534 ndr_print_struct(ndr, name, "netr_AccountDeltas");
9536 if (flags & NDR_SET_VALUES) {
9537 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9539 if (flags & NDR_IN) {
9540 ndr_print_struct(ndr, "in", "netr_AccountDeltas");
9542 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9544 if (r->in.logon_server) {
9545 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9548 ndr_print_string(ndr, "computername", r->in.computername);
9549 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9550 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9552 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9554 ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
9555 ndr_print_uint32(ndr, "count", r->in.count);
9556 ndr_print_uint32(ndr, "level", r->in.level);
9557 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9560 if (flags & NDR_OUT) {
9561 ndr_print_struct(ndr, "out", "netr_AccountDeltas");
9563 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9565 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9567 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9569 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9571 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9573 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9575 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9577 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9579 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9581 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9583 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9589 static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
9591 if (flags & NDR_IN) {
9592 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9593 if (r->in.logon_server) {
9594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9596 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9597 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));
9599 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
9602 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9603 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9604 if (r->in.return_authenticator == NULL) {
9605 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9607 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9608 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
9609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9610 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
9611 if (r->in.recordid == NULL) {
9612 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9614 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9616 if (flags & NDR_OUT) {
9617 if (r->out.return_authenticator == NULL) {
9618 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9620 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9621 if (r->out.buffer == NULL) {
9622 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9625 struct ndr_push *_ndr_buffer;
9626 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9627 NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9628 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
9630 if (r->out.count_returned == NULL) {
9631 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
9634 if (r->out.total_entries == NULL) {
9635 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9637 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
9638 if (r->out.next_reference == NULL) {
9639 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9641 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
9642 if (r->out.recordid == NULL) {
9643 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9645 NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9646 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9648 return NDR_ERR_SUCCESS;
9651 static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
9653 uint32_t _ptr_logon_server;
9654 TALLOC_CTX *_mem_save_logon_server_0;
9655 TALLOC_CTX *_mem_save_return_authenticator_0;
9656 TALLOC_CTX *_mem_save_buffer_0;
9657 TALLOC_CTX *_mem_save_count_returned_0;
9658 TALLOC_CTX *_mem_save_total_entries_0;
9659 TALLOC_CTX *_mem_save_next_reference_0;
9660 TALLOC_CTX *_mem_save_recordid_0;
9661 if (flags & NDR_IN) {
9662 ZERO_STRUCT(r->out);
9664 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
9665 if (_ptr_logon_server) {
9666 NDR_PULL_ALLOC(ndr, r->in.logon_server);
9668 r->in.logon_server = NULL;
9670 if (r->in.logon_server) {
9671 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
9672 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
9673 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9674 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9675 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9676 return 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));
9678 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9679 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));
9680 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
9682 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
9683 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
9684 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
9685 return 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));
9687 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
9688 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
9689 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
9690 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9691 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9693 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9694 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9695 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9697 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
9698 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
9699 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
9700 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9701 NDR_PULL_ALLOC(ndr, r->in.recordid);
9703 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9704 NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
9705 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
9706 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9707 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9708 *r->out.return_authenticator = *r->in.return_authenticator;
9709 NDR_PULL_ALLOC(ndr, r->out.buffer);
9710 ZERO_STRUCTP(r->out.buffer);
9711 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9712 ZERO_STRUCTP(r->out.count_returned);
9713 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9714 ZERO_STRUCTP(r->out.total_entries);
9715 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9716 ZERO_STRUCTP(r->out.next_reference);
9717 NDR_PULL_ALLOC(ndr, r->out.recordid);
9718 *r->out.recordid = *r->in.recordid;
9720 if (flags & NDR_OUT) {
9721 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9722 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9724 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9725 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
9726 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
9728 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9729 NDR_PULL_ALLOC(ndr, r->out.buffer);
9731 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
9732 NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
9734 struct ndr_pull *_ndr_buffer;
9735 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
9736 NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
9737 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
9739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
9740 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9741 NDR_PULL_ALLOC(ndr, r->out.count_returned);
9743 _mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
9744 NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
9745 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
9746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
9747 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9748 NDR_PULL_ALLOC(ndr, r->out.total_entries);
9750 _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9751 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
9752 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
9753 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
9754 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9755 NDR_PULL_ALLOC(ndr, r->out.next_reference);
9757 _mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
9758 NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
9759 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
9760 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
9761 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9762 NDR_PULL_ALLOC(ndr, r->out.recordid);
9764 _mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9765 NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
9766 NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
9767 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
9768 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9770 return NDR_ERR_SUCCESS;
9773 _PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
9775 ndr_print_struct(ndr, name, "netr_AccountSync");
9777 if (flags & NDR_SET_VALUES) {
9778 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9780 if (flags & NDR_IN) {
9781 ndr_print_struct(ndr, "in", "netr_AccountSync");
9783 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
9785 if (r->in.logon_server) {
9786 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9789 ndr_print_string(ndr, "computername", r->in.computername);
9790 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
9791 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9793 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9795 ndr_print_uint32(ndr, "reference", r->in.reference);
9796 ndr_print_uint32(ndr, "level", r->in.level);
9797 ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
9798 ndr_print_ptr(ndr, "recordid", r->in.recordid);
9800 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
9804 if (flags & NDR_OUT) {
9805 ndr_print_struct(ndr, "out", "netr_AccountSync");
9807 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9809 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9811 ndr_print_ptr(ndr, "buffer", r->out.buffer);
9813 ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
9815 ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
9817 ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
9819 ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
9821 ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
9823 ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
9825 ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
9827 ndr_print_ptr(ndr, "recordid", r->out.recordid);
9829 ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
9831 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9837 static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
9839 if (flags & NDR_IN) {
9840 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9842 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9843 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));
9844 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
9845 if (r->in.domainname) {
9846 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9847 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9848 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
9849 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9852 if (flags & NDR_OUT) {
9853 if (r->out.dcname == NULL) {
9854 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9856 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
9857 if (*r->out.dcname) {
9858 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9859 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
9861 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9863 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9865 return NDR_ERR_SUCCESS;
9868 static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
9870 uint32_t _ptr_domainname;
9871 uint32_t _ptr_dcname;
9872 TALLOC_CTX *_mem_save_domainname_0;
9873 TALLOC_CTX *_mem_save_dcname_0;
9874 TALLOC_CTX *_mem_save_dcname_1;
9875 if (flags & NDR_IN) {
9876 ZERO_STRUCT(r->out);
9878 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
9879 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
9880 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
9881 return 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));
9883 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
9884 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));
9885 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
9886 if (_ptr_domainname) {
9887 NDR_PULL_ALLOC(ndr, r->in.domainname);
9889 r->in.domainname = NULL;
9891 if (r->in.domainname) {
9892 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9893 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
9894 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
9895 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
9896 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
9897 return 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));
9899 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
9900 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
9901 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
9903 NDR_PULL_ALLOC(ndr, r->out.dcname);
9904 ZERO_STRUCTP(r->out.dcname);
9906 if (flags & NDR_OUT) {
9907 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9908 NDR_PULL_ALLOC(ndr, r->out.dcname);
9910 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9911 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
9912 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
9914 NDR_PULL_ALLOC(ndr, *r->out.dcname);
9916 *r->out.dcname = NULL;
9918 if (*r->out.dcname) {
9919 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
9920 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
9921 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
9922 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
9923 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
9924 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));
9926 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
9927 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
9928 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
9930 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
9931 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9933 return NDR_ERR_SUCCESS;
9936 _PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
9938 ndr_print_struct(ndr, name, "netr_GetDcName");
9940 if (flags & NDR_SET_VALUES) {
9941 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9943 if (flags & NDR_IN) {
9944 ndr_print_struct(ndr, "in", "netr_GetDcName");
9946 ndr_print_string(ndr, "logon_server", r->in.logon_server);
9947 ndr_print_ptr(ndr, "domainname", r->in.domainname);
9949 if (r->in.domainname) {
9950 ndr_print_string(ndr, "domainname", r->in.domainname);
9955 if (flags & NDR_OUT) {
9956 ndr_print_struct(ndr, "out", "netr_GetDcName");
9958 ndr_print_ptr(ndr, "dcname", r->out.dcname);
9960 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
9962 if (*r->out.dcname) {
9963 ndr_print_string(ndr, "dcname", *r->out.dcname);
9967 ndr_print_WERROR(ndr, "result", r->out.result);
9973 static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
9975 if (flags & NDR_IN) {
9976 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
9977 if (r->in.logon_server) {
9978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9979 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
9980 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
9981 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));
9983 NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
9984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
9986 if (flags & NDR_OUT) {
9987 if (r->out.info == NULL) {
9988 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9990 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
9991 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9992 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9994 return NDR_ERR_SUCCESS;
9997 static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
9999 uint32_t _ptr_logon_server;
10000 TALLOC_CTX *_mem_save_logon_server_0;
10001 TALLOC_CTX *_mem_save_info_0;
10002 if (flags & NDR_IN) {
10003 ZERO_STRUCT(r->out);
10005 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10006 if (_ptr_logon_server) {
10007 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10009 r->in.logon_server = NULL;
10011 if (r->in.logon_server) {
10012 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10013 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10014 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10015 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10016 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10017 return 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));
10019 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10020 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));
10021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10023 NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
10024 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10025 NDR_PULL_ALLOC(ndr, r->out.info);
10026 ZERO_STRUCTP(r->out.info);
10028 if (flags & NDR_OUT) {
10029 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10030 NDR_PULL_ALLOC(ndr, r->out.info);
10032 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10033 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10034 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10035 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10036 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10037 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10039 return NDR_ERR_SUCCESS;
10042 _PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
10044 ndr_print_struct(ndr, name, "netr_LogonControl");
10046 if (flags & NDR_SET_VALUES) {
10047 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10049 if (flags & NDR_IN) {
10050 ndr_print_struct(ndr, "in", "netr_LogonControl");
10052 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10054 if (r->in.logon_server) {
10055 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10058 ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
10059 ndr_print_uint32(ndr, "level", r->in.level);
10062 if (flags & NDR_OUT) {
10063 ndr_print_struct(ndr, "out", "netr_LogonControl");
10065 ndr_print_ptr(ndr, "info", r->out.info);
10067 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10068 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "info", r->out.info);
10070 ndr_print_WERROR(ndr, "result", r->out.result);
10076 static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
10078 if (flags & NDR_IN) {
10079 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10080 if (r->in.logon_server) {
10081 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10084 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));
10086 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
10087 if (r->in.domainname) {
10088 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10089 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10090 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
10091 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10094 if (flags & NDR_OUT) {
10095 if (r->out.dcname == NULL) {
10096 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10098 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
10099 if (*r->out.dcname) {
10100 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10101 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10102 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
10103 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10105 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10107 return NDR_ERR_SUCCESS;
10110 static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
10112 uint32_t _ptr_logon_server;
10113 uint32_t _ptr_domainname;
10114 uint32_t _ptr_dcname;
10115 TALLOC_CTX *_mem_save_logon_server_0;
10116 TALLOC_CTX *_mem_save_domainname_0;
10117 TALLOC_CTX *_mem_save_dcname_0;
10118 TALLOC_CTX *_mem_save_dcname_1;
10119 if (flags & NDR_IN) {
10120 ZERO_STRUCT(r->out);
10122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10123 if (_ptr_logon_server) {
10124 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10126 r->in.logon_server = NULL;
10128 if (r->in.logon_server) {
10129 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10130 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10131 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10132 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10133 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10134 return 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));
10136 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10137 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));
10138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10140 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
10141 if (_ptr_domainname) {
10142 NDR_PULL_ALLOC(ndr, r->in.domainname);
10144 r->in.domainname = NULL;
10146 if (r->in.domainname) {
10147 _mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10148 NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
10149 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
10150 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
10151 if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
10152 return 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));
10154 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
10155 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
10156 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
10158 NDR_PULL_ALLOC(ndr, r->out.dcname);
10159 ZERO_STRUCTP(r->out.dcname);
10161 if (flags & NDR_OUT) {
10162 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10163 NDR_PULL_ALLOC(ndr, r->out.dcname);
10165 _mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
10166 NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
10167 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
10169 NDR_PULL_ALLOC(ndr, *r->out.dcname);
10171 *r->out.dcname = NULL;
10173 if (*r->out.dcname) {
10174 _mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
10175 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
10176 NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
10177 NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
10178 if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
10179 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));
10181 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
10182 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
10183 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
10185 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
10186 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10188 return NDR_ERR_SUCCESS;
10191 _PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
10193 ndr_print_struct(ndr, name, "netr_GetAnyDCName");
10195 if (flags & NDR_SET_VALUES) {
10196 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10198 if (flags & NDR_IN) {
10199 ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
10201 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10203 if (r->in.logon_server) {
10204 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10207 ndr_print_ptr(ndr, "domainname", r->in.domainname);
10209 if (r->in.domainname) {
10210 ndr_print_string(ndr, "domainname", r->in.domainname);
10215 if (flags & NDR_OUT) {
10216 ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
10218 ndr_print_ptr(ndr, "dcname", r->out.dcname);
10220 ndr_print_ptr(ndr, "dcname", *r->out.dcname);
10222 if (*r->out.dcname) {
10223 ndr_print_string(ndr, "dcname", *r->out.dcname);
10227 ndr_print_WERROR(ndr, "result", r->out.result);
10233 static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
10235 if (flags & NDR_IN) {
10236 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10237 if (r->in.logon_server) {
10238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10241 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));
10243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.function_code));
10244 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10245 if (r->in.data == NULL) {
10246 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10248 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
10249 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10251 if (flags & NDR_OUT) {
10252 if (r->out.query == NULL) {
10253 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10255 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10256 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10257 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10259 return NDR_ERR_SUCCESS;
10262 static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
10264 uint32_t _ptr_logon_server;
10265 TALLOC_CTX *_mem_save_logon_server_0;
10266 TALLOC_CTX *_mem_save_data_0;
10267 TALLOC_CTX *_mem_save_query_0;
10268 if (flags & NDR_IN) {
10269 ZERO_STRUCT(r->out);
10271 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10272 if (_ptr_logon_server) {
10273 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10275 r->in.logon_server = NULL;
10277 if (r->in.logon_server) {
10278 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10279 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10280 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10281 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10282 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10283 return 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));
10285 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10286 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));
10287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10289 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
10290 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10291 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10292 NDR_PULL_ALLOC(ndr, r->in.data);
10294 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
10295 NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
10296 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
10297 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
10298 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
10299 NDR_PULL_ALLOC(ndr, r->out.query);
10300 ZERO_STRUCTP(r->out.query);
10302 if (flags & NDR_OUT) {
10303 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10304 NDR_PULL_ALLOC(ndr, r->out.query);
10306 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10307 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10308 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10309 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10310 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10311 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10313 return NDR_ERR_SUCCESS;
10316 _PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
10318 ndr_print_struct(ndr, name, "netr_LogonControl2");
10320 if (flags & NDR_SET_VALUES) {
10321 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10323 if (flags & NDR_IN) {
10324 ndr_print_struct(ndr, "in", "netr_LogonControl2");
10326 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10328 if (r->in.logon_server) {
10329 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10332 ndr_print_uint32(ndr, "function_code", r->in.function_code);
10333 ndr_print_uint32(ndr, "level", r->in.level);
10334 ndr_print_ptr(ndr, "data", r->in.data);
10336 ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
10337 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
10341 if (flags & NDR_OUT) {
10342 ndr_print_struct(ndr, "out", "netr_LogonControl2");
10344 ndr_print_ptr(ndr, "query", r->out.query);
10346 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10347 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10349 ndr_print_WERROR(ndr, "result", r->out.result);
10355 static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
10357 if (flags & NDR_IN) {
10358 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10359 if (r->in.server_name) {
10360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10363 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));
10365 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10366 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10368 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));
10369 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10372 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10373 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));
10374 if (r->in.credentials == NULL) {
10375 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10377 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10378 if (r->in.negotiate_flags == NULL) {
10379 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10381 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.negotiate_flags));
10383 if (flags & NDR_OUT) {
10384 if (r->out.return_credentials == NULL) {
10385 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10387 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10388 if (r->out.negotiate_flags == NULL) {
10389 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.negotiate_flags));
10392 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10394 return NDR_ERR_SUCCESS;
10397 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
10399 uint32_t _ptr_server_name;
10400 TALLOC_CTX *_mem_save_server_name_0;
10401 TALLOC_CTX *_mem_save_credentials_0;
10402 TALLOC_CTX *_mem_save_return_credentials_0;
10403 TALLOC_CTX *_mem_save_negotiate_flags_0;
10404 if (flags & NDR_IN) {
10405 ZERO_STRUCT(r->out);
10407 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10408 if (_ptr_server_name) {
10409 NDR_PULL_ALLOC(ndr, r->in.server_name);
10411 r->in.server_name = NULL;
10413 if (r->in.server_name) {
10414 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10415 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10416 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10417 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10418 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10419 return 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));
10421 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10422 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));
10423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10425 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10426 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10427 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10428 return 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));
10430 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10431 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));
10432 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10433 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10434 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10435 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10436 return 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));
10438 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10439 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));
10440 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10441 NDR_PULL_ALLOC(ndr, r->in.credentials);
10443 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10444 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10445 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10447 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10448 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
10450 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10451 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10452 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.negotiate_flags));
10453 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10454 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10455 ZERO_STRUCTP(r->out.return_credentials);
10456 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10457 *r->out.negotiate_flags = *r->in.negotiate_flags;
10459 if (flags & NDR_OUT) {
10460 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10461 NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10463 _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10464 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10465 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10467 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10468 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
10470 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
10471 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
10472 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.negotiate_flags));
10473 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
10474 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10476 return NDR_ERR_SUCCESS;
10479 _PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
10481 ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
10483 if (flags & NDR_SET_VALUES) {
10484 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10486 if (flags & NDR_IN) {
10487 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
10489 ndr_print_ptr(ndr, "server_name", r->in.server_name);
10491 if (r->in.server_name) {
10492 ndr_print_string(ndr, "server_name", r->in.server_name);
10495 ndr_print_string(ndr, "account_name", r->in.account_name);
10496 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10497 ndr_print_string(ndr, "computer_name", r->in.computer_name);
10498 ndr_print_ptr(ndr, "credentials", r->in.credentials);
10500 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10502 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
10504 ndr_print_uint32(ndr, "negotiate_flags", *r->in.negotiate_flags);
10508 if (flags & NDR_OUT) {
10509 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
10511 ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10513 ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10515 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
10517 ndr_print_uint32(ndr, "negotiate_flags", *r->out.negotiate_flags);
10519 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10525 static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
10527 if (flags & NDR_IN) {
10528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10531 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));
10532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10533 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10535 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10536 if (r->in.credential == NULL) {
10537 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10539 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10540 if (r->in.return_authenticator == NULL) {
10541 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10543 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10544 NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10545 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.restart_state));
10546 if (r->in.sync_context == NULL) {
10547 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10549 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10550 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10552 if (flags & NDR_OUT) {
10553 if (r->out.return_authenticator == NULL) {
10554 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10556 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10557 if (r->out.sync_context == NULL) {
10558 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10560 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10561 if (r->out.delta_enum_array == NULL) {
10562 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10564 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10565 if (*r->out.delta_enum_array) {
10566 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10568 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10570 return NDR_ERR_SUCCESS;
10573 static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
10575 uint32_t _ptr_delta_enum_array;
10576 TALLOC_CTX *_mem_save_credential_0;
10577 TALLOC_CTX *_mem_save_return_authenticator_0;
10578 TALLOC_CTX *_mem_save_sync_context_0;
10579 TALLOC_CTX *_mem_save_delta_enum_array_0;
10580 TALLOC_CTX *_mem_save_delta_enum_array_1;
10581 if (flags & NDR_IN) {
10582 ZERO_STRUCT(r->out);
10584 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10585 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10586 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10587 return 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));
10589 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10590 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));
10591 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10592 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10593 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10594 return 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));
10596 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10597 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10598 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10599 NDR_PULL_ALLOC(ndr, r->in.credential);
10601 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10602 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10603 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10604 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10605 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10606 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10608 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10609 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10610 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10611 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10612 NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10613 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.restart_state));
10614 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10615 NDR_PULL_ALLOC(ndr, r->in.sync_context);
10617 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10618 NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10619 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10621 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10622 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10623 *r->out.return_authenticator = *r->in.return_authenticator;
10624 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10625 *r->out.sync_context = *r->in.sync_context;
10626 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10627 ZERO_STRUCTP(r->out.delta_enum_array);
10629 if (flags & NDR_OUT) {
10630 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10631 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10633 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10634 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10635 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10636 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10637 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10638 NDR_PULL_ALLOC(ndr, r->out.sync_context);
10640 _mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10641 NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10642 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10643 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10644 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10645 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10647 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10648 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10649 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10650 if (_ptr_delta_enum_array) {
10651 NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10653 *r->out.delta_enum_array = NULL;
10655 if (*r->out.delta_enum_array) {
10656 _mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10657 NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10658 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10661 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10662 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10664 return NDR_ERR_SUCCESS;
10667 _PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
10669 ndr_print_struct(ndr, name, "netr_DatabaseSync2");
10671 if (flags & NDR_SET_VALUES) {
10672 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10674 if (flags & NDR_IN) {
10675 ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
10677 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10678 ndr_print_string(ndr, "computername", r->in.computername);
10679 ndr_print_ptr(ndr, "credential", r->in.credential);
10681 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10683 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10685 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10687 ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10688 ndr_print_uint16(ndr, "restart_state", r->in.restart_state);
10689 ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10691 ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10693 ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10696 if (flags & NDR_OUT) {
10697 ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
10699 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10701 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10703 ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10705 ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10707 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10709 ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10711 if (*r->out.delta_enum_array) {
10712 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10716 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10722 static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
10724 if (flags & NDR_IN) {
10725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10728 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));
10729 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10731 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10732 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10733 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10734 if (r->in.return_authenticator == NULL) {
10735 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10737 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10738 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.change_log_entry));
10739 if (r->in.change_log_entry) {
10740 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10741 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, r->in.change_log_entry_size));
10743 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.change_log_entry_size));
10745 if (flags & NDR_OUT) {
10746 if (r->out.return_authenticator == NULL) {
10747 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10749 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10750 if (r->out.delta_enum_array == NULL) {
10751 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10753 NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10754 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10756 return NDR_ERR_SUCCESS;
10759 static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
10761 uint32_t _ptr_change_log_entry;
10762 TALLOC_CTX *_mem_save_return_authenticator_0;
10763 TALLOC_CTX *_mem_save_change_log_entry_0;
10764 TALLOC_CTX *_mem_save_delta_enum_array_0;
10765 if (flags & NDR_IN) {
10766 ZERO_STRUCT(r->out);
10768 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10769 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10770 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10771 return 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));
10773 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10774 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));
10775 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10776 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10777 if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10778 return 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));
10780 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10781 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10782 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
10783 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10784 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10786 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10787 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10788 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10789 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10790 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_change_log_entry));
10791 if (_ptr_change_log_entry) {
10792 NDR_PULL_ALLOC(ndr, r->in.change_log_entry);
10794 r->in.change_log_entry = NULL;
10796 if (r->in.change_log_entry) {
10797 _mem_save_change_log_entry_0 = NDR_PULL_GET_MEM_CTX(ndr);
10798 NDR_PULL_SET_MEM_CTX(ndr, r->in.change_log_entry, 0);
10799 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.change_log_entry));
10800 NDR_PULL_ALLOC_N(ndr, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry));
10801 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.change_log_entry, ndr_get_array_size(ndr, &r->in.change_log_entry)));
10802 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_change_log_entry_0, 0);
10804 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
10805 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10806 *r->out.return_authenticator = *r->in.return_authenticator;
10807 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10808 ZERO_STRUCTP(r->out.delta_enum_array);
10809 if (r->in.change_log_entry) {
10810 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.change_log_entry, r->in.change_log_entry_size));
10813 if (flags & NDR_OUT) {
10814 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10815 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10817 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10818 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10819 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10820 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10821 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10822 NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10824 _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10825 NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10826 NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array));
10827 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10828 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10830 return NDR_ERR_SUCCESS;
10833 _PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
10835 ndr_print_struct(ndr, name, "netr_DatabaseRedo");
10837 if (flags & NDR_SET_VALUES) {
10838 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10840 if (flags & NDR_IN) {
10841 ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
10843 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10844 ndr_print_string(ndr, "computername", r->in.computername);
10845 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
10846 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10848 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10850 ndr_print_ptr(ndr, "change_log_entry", r->in.change_log_entry);
10852 if (r->in.change_log_entry) {
10853 ndr_print_array_uint8(ndr, "change_log_entry", r->in.change_log_entry, r->in.change_log_entry_size);
10856 ndr_print_uint32(ndr, "change_log_entry_size", r->in.change_log_entry_size);
10859 if (flags & NDR_OUT) {
10860 ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
10862 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10864 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10866 ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10868 ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array);
10870 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10876 static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
10878 if (flags & NDR_IN) {
10879 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
10880 if (r->in.logon_server) {
10881 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10882 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10883 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10884 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));
10886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.function_code));
10887 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
10888 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.data, r->in.function_code));
10889 NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10891 if (flags & NDR_OUT) {
10892 if (r->out.query == NULL) {
10893 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10895 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
10896 NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10897 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
10899 return NDR_ERR_SUCCESS;
10902 static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
10904 uint32_t _ptr_logon_server;
10905 TALLOC_CTX *_mem_save_logon_server_0;
10906 TALLOC_CTX *_mem_save_query_0;
10907 if (flags & NDR_IN) {
10908 ZERO_STRUCT(r->out);
10910 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
10911 if (_ptr_logon_server) {
10912 NDR_PULL_ALLOC(ndr, r->in.logon_server);
10914 r->in.logon_server = NULL;
10916 if (r->in.logon_server) {
10917 _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10918 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
10919 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10920 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10921 if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10922 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.logon_server), ndr_get_array_length(ndr, &r->in.logon_server));
10924 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10925 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));
10926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
10928 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.function_code));
10929 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
10930 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.data, r->in.function_code));
10931 NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
10932 NDR_PULL_ALLOC(ndr, r->out.query);
10933 ZERO_STRUCTP(r->out.query);
10935 if (flags & NDR_OUT) {
10936 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10937 NDR_PULL_ALLOC(ndr, r->out.query);
10939 _mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
10940 NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
10941 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
10942 NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
10943 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
10944 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
10946 return NDR_ERR_SUCCESS;
10949 _PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
10951 ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
10953 if (flags & NDR_SET_VALUES) {
10954 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10956 if (flags & NDR_IN) {
10957 ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
10959 ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10961 if (r->in.logon_server) {
10962 ndr_print_string(ndr, "logon_server", r->in.logon_server);
10965 ndr_print_uint32(ndr, "function_code", r->in.function_code);
10966 ndr_print_uint32(ndr, "level", r->in.level);
10967 ndr_print_set_switch_value(ndr, &r->in.data, r->in.function_code);
10968 ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", &r->in.data);
10971 if (flags & NDR_OUT) {
10972 ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
10974 ndr_print_ptr(ndr, "query", r->out.query);
10976 ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
10977 ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
10979 ndr_print_WERROR(ndr, "result", r->out.result);
10985 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
10987 if (flags & NDR_IN) {
10988 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10989 if (r->in.server_name) {
10990 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10993 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));
10996 if (flags & NDR_OUT) {
10997 if (r->out.trusted_domains_blob == NULL) {
10998 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11000 NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11001 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11003 return NDR_ERR_SUCCESS;
11006 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
11008 uint32_t _ptr_server_name;
11009 TALLOC_CTX *_mem_save_server_name_0;
11010 TALLOC_CTX *_mem_save_trusted_domains_blob_0;
11011 if (flags & NDR_IN) {
11012 ZERO_STRUCT(r->out);
11014 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11015 if (_ptr_server_name) {
11016 NDR_PULL_ALLOC(ndr, r->in.server_name);
11018 r->in.server_name = NULL;
11020 if (r->in.server_name) {
11021 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11022 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11023 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11024 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11025 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11026 return 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));
11028 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11029 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));
11030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11032 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11033 ZERO_STRUCTP(r->out.trusted_domains_blob);
11035 if (flags & NDR_OUT) {
11036 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11037 NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
11039 _mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
11040 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
11041 NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
11042 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
11043 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11045 return NDR_ERR_SUCCESS;
11048 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
11050 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
11052 if (flags & NDR_SET_VALUES) {
11053 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11055 if (flags & NDR_IN) {
11056 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
11058 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11060 if (r->in.server_name) {
11061 ndr_print_string(ndr, "server_name", r->in.server_name);
11066 if (flags & NDR_OUT) {
11067 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
11069 ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11071 ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
11073 ndr_print_WERROR(ndr, "result", r->out.result);
11079 static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
11081 if (flags & NDR_IN) {
11082 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11083 if (r->in.server_unc) {
11084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11085 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11086 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11087 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));
11089 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11090 if (r->in.domain_name) {
11091 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11093 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11094 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));
11096 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11097 if (r->in.domain_guid) {
11098 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11100 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
11101 if (r->in.site_guid) {
11102 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.site_guid));
11104 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11106 if (flags & NDR_OUT) {
11107 if (r->out.info == NULL) {
11108 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11110 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11111 if (*r->out.info) {
11112 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11114 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11116 return NDR_ERR_SUCCESS;
11119 static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
11121 uint32_t _ptr_server_unc;
11122 uint32_t _ptr_domain_name;
11123 uint32_t _ptr_domain_guid;
11124 uint32_t _ptr_site_guid;
11125 uint32_t _ptr_info;
11126 TALLOC_CTX *_mem_save_server_unc_0;
11127 TALLOC_CTX *_mem_save_domain_name_0;
11128 TALLOC_CTX *_mem_save_domain_guid_0;
11129 TALLOC_CTX *_mem_save_site_guid_0;
11130 TALLOC_CTX *_mem_save_info_0;
11131 TALLOC_CTX *_mem_save_info_1;
11132 if (flags & NDR_IN) {
11133 ZERO_STRUCT(r->out);
11135 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11136 if (_ptr_server_unc) {
11137 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11139 r->in.server_unc = NULL;
11141 if (r->in.server_unc) {
11142 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11143 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11144 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11145 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11146 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11147 return 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));
11149 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11150 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));
11151 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11153 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11154 if (_ptr_domain_name) {
11155 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11157 r->in.domain_name = NULL;
11159 if (r->in.domain_name) {
11160 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11161 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11162 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11163 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11164 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11165 return 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));
11167 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11168 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));
11169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11171 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11172 if (_ptr_domain_guid) {
11173 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11175 r->in.domain_guid = NULL;
11177 if (r->in.domain_guid) {
11178 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11179 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11180 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11181 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11183 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
11184 if (_ptr_site_guid) {
11185 NDR_PULL_ALLOC(ndr, r->in.site_guid);
11187 r->in.site_guid = NULL;
11189 if (r->in.site_guid) {
11190 _mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11191 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
11192 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.site_guid));
11193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
11195 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11196 NDR_PULL_ALLOC(ndr, r->out.info);
11197 ZERO_STRUCTP(r->out.info);
11199 if (flags & NDR_OUT) {
11200 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11201 NDR_PULL_ALLOC(ndr, r->out.info);
11203 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11204 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11205 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11207 NDR_PULL_ALLOC(ndr, *r->out.info);
11209 *r->out.info = NULL;
11211 if (*r->out.info) {
11212 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11213 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11214 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11215 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11217 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11218 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11220 return NDR_ERR_SUCCESS;
11223 _PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
11225 ndr_print_struct(ndr, name, "netr_DsRGetDCName");
11227 if (flags & NDR_SET_VALUES) {
11228 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11230 if (flags & NDR_IN) {
11231 ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
11233 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11235 if (r->in.server_unc) {
11236 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11239 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11241 if (r->in.domain_name) {
11242 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11245 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11247 if (r->in.domain_guid) {
11248 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11251 ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
11253 if (r->in.site_guid) {
11254 ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
11257 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11260 if (flags & NDR_OUT) {
11261 ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
11263 ndr_print_ptr(ndr, "info", r->out.info);
11265 ndr_print_ptr(ndr, "info", *r->out.info);
11267 if (*r->out.info) {
11268 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11272 ndr_print_WERROR(ndr, "result", r->out.result);
11278 static enum ndr_err_code ndr_push_netr_NETRLOGONDUMMYROUTINE1(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11280 if (flags & NDR_IN) {
11282 if (flags & NDR_OUT) {
11283 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11285 return NDR_ERR_SUCCESS;
11288 static enum ndr_err_code ndr_pull_netr_NETRLOGONDUMMYROUTINE1(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONDUMMYROUTINE1 *r)
11290 if (flags & NDR_IN) {
11292 if (flags & NDR_OUT) {
11293 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11295 return NDR_ERR_SUCCESS;
11298 _PUBLIC_ void ndr_print_netr_NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r)
11300 ndr_print_struct(ndr, name, "netr_NETRLOGONDUMMYROUTINE1");
11302 if (flags & NDR_SET_VALUES) {
11303 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11305 if (flags & NDR_IN) {
11306 ndr_print_struct(ndr, "in", "netr_NETRLOGONDUMMYROUTINE1");
11310 if (flags & NDR_OUT) {
11311 ndr_print_struct(ndr, "out", "netr_NETRLOGONDUMMYROUTINE1");
11313 ndr_print_WERROR(ndr, "result", r->out.result);
11319 static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11321 if (flags & NDR_IN) {
11323 if (flags & NDR_OUT) {
11324 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11326 return NDR_ERR_SUCCESS;
11329 static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
11331 if (flags & NDR_IN) {
11333 if (flags & NDR_OUT) {
11334 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11336 return NDR_ERR_SUCCESS;
11339 _PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
11341 ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
11343 if (flags & NDR_SET_VALUES) {
11344 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11346 if (flags & NDR_IN) {
11347 ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
11351 if (flags & NDR_OUT) {
11352 ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
11354 ndr_print_WERROR(ndr, "result", r->out.result);
11360 static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
11362 if (flags & NDR_IN) {
11363 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11364 if (r->in.server_name) {
11365 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11366 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11367 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11368 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));
11370 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11371 if (r->in.domain_name) {
11372 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11375 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));
11378 if (flags & NDR_OUT) {
11379 if (r->out.rid == NULL) {
11380 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11382 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11383 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11385 return NDR_ERR_SUCCESS;
11388 static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
11390 uint32_t _ptr_server_name;
11391 uint32_t _ptr_domain_name;
11392 TALLOC_CTX *_mem_save_server_name_0;
11393 TALLOC_CTX *_mem_save_domain_name_0;
11394 TALLOC_CTX *_mem_save_rid_0;
11395 if (flags & NDR_IN) {
11396 ZERO_STRUCT(r->out);
11398 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11399 if (_ptr_server_name) {
11400 NDR_PULL_ALLOC(ndr, r->in.server_name);
11402 r->in.server_name = NULL;
11404 if (r->in.server_name) {
11405 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11406 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11407 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11408 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11409 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11410 return 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));
11412 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11413 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));
11414 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11416 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11417 if (_ptr_domain_name) {
11418 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11420 r->in.domain_name = NULL;
11422 if (r->in.domain_name) {
11423 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11424 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11425 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11426 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11427 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11428 return 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));
11430 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11431 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));
11432 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11434 NDR_PULL_ALLOC(ndr, r->out.rid);
11435 ZERO_STRUCTP(r->out.rid);
11437 if (flags & NDR_OUT) {
11438 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11439 NDR_PULL_ALLOC(ndr, r->out.rid);
11441 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11442 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11443 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11444 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11445 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11447 return NDR_ERR_SUCCESS;
11450 _PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
11452 ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
11454 if (flags & NDR_SET_VALUES) {
11455 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11457 if (flags & NDR_IN) {
11458 ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
11460 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11462 if (r->in.server_name) {
11463 ndr_print_string(ndr, "server_name", r->in.server_name);
11466 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11468 if (r->in.domain_name) {
11469 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11474 if (flags & NDR_OUT) {
11475 ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
11477 ndr_print_ptr(ndr, "rid", r->out.rid);
11479 ndr_print_uint32(ndr, "rid", *r->out.rid);
11481 ndr_print_WERROR(ndr, "result", r->out.result);
11487 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11489 if (flags & NDR_IN) {
11491 if (flags & NDR_OUT) {
11492 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11494 return NDR_ERR_SUCCESS;
11497 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11499 if (flags & NDR_IN) {
11501 if (flags & NDR_OUT) {
11502 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11504 return NDR_ERR_SUCCESS;
11507 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
11509 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
11511 if (flags & NDR_SET_VALUES) {
11512 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11514 if (flags & NDR_IN) {
11515 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11519 if (flags & NDR_OUT) {
11520 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
11522 ndr_print_WERROR(ndr, "result", r->out.result);
11528 static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11530 if (flags & NDR_IN) {
11532 if (flags & NDR_OUT) {
11533 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11535 return NDR_ERR_SUCCESS;
11538 static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11540 if (flags & NDR_IN) {
11542 if (flags & NDR_OUT) {
11543 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11545 return NDR_ERR_SUCCESS;
11548 _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
11550 ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11552 if (flags & NDR_SET_VALUES) {
11553 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11555 if (flags & NDR_IN) {
11556 ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11560 if (flags & NDR_OUT) {
11561 ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
11563 ndr_print_WERROR(ndr, "result", r->out.result);
11569 static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
11571 if (flags & NDR_IN) {
11572 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
11573 if (r->in.server_name) {
11574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11575 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
11577 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));
11579 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
11582 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));
11583 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
11584 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11587 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));
11588 if (r->in.credentials == NULL) {
11589 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11591 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11592 if (r->in.negotiate_flags == NULL) {
11593 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.negotiate_flags));
11597 if (flags & NDR_OUT) {
11598 if (r->out.credentials == NULL) {
11599 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11601 NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11602 if (r->out.negotiate_flags == NULL) {
11603 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11605 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.negotiate_flags));
11606 if (r->out.rid == NULL) {
11607 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11609 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
11610 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11612 return NDR_ERR_SUCCESS;
11615 static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
11617 uint32_t _ptr_server_name;
11618 TALLOC_CTX *_mem_save_server_name_0;
11619 TALLOC_CTX *_mem_save_credentials_0;
11620 TALLOC_CTX *_mem_save_negotiate_flags_0;
11621 TALLOC_CTX *_mem_save_rid_0;
11622 if (flags & NDR_IN) {
11623 ZERO_STRUCT(r->out);
11625 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
11626 if (_ptr_server_name) {
11627 NDR_PULL_ALLOC(ndr, r->in.server_name);
11629 r->in.server_name = NULL;
11631 if (r->in.server_name) {
11632 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11633 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
11634 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
11635 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
11636 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
11637 return 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));
11639 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
11640 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));
11641 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
11643 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
11644 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
11645 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
11646 return 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));
11648 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
11649 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));
11650 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
11651 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
11652 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
11653 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
11654 return 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));
11656 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
11657 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));
11658 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11659 NDR_PULL_ALLOC(ndr, r->in.credentials);
11661 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11662 NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
11663 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
11664 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11665 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11666 NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
11668 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11669 NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11670 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.negotiate_flags));
11671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11672 NDR_PULL_ALLOC(ndr, r->out.credentials);
11673 *r->out.credentials = *r->in.credentials;
11674 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11675 *r->out.negotiate_flags = *r->in.negotiate_flags;
11676 NDR_PULL_ALLOC(ndr, r->out.rid);
11677 ZERO_STRUCTP(r->out.rid);
11679 if (flags & NDR_OUT) {
11680 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11681 NDR_PULL_ALLOC(ndr, r->out.credentials);
11683 _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
11684 NDR_PULL_SET_MEM_CTX(ndr, r->out.credentials, LIBNDR_FLAG_REF_ALLOC);
11685 NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.credentials));
11686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
11687 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11688 NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
11690 _mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
11691 NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
11692 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.negotiate_flags));
11693 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
11694 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11695 NDR_PULL_ALLOC(ndr, r->out.rid);
11697 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11698 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
11699 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
11700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
11701 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11703 return NDR_ERR_SUCCESS;
11706 _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
11708 ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
11710 if (flags & NDR_SET_VALUES) {
11711 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11713 if (flags & NDR_IN) {
11714 ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
11716 ndr_print_ptr(ndr, "server_name", r->in.server_name);
11718 if (r->in.server_name) {
11719 ndr_print_string(ndr, "server_name", r->in.server_name);
11722 ndr_print_string(ndr, "account_name", r->in.account_name);
11723 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
11724 ndr_print_string(ndr, "computer_name", r->in.computer_name);
11725 ndr_print_ptr(ndr, "credentials", r->in.credentials);
11727 ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
11729 ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
11731 ndr_print_uint32(ndr, "negotiate_flags", *r->in.negotiate_flags);
11735 if (flags & NDR_OUT) {
11736 ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
11738 ndr_print_ptr(ndr, "credentials", r->out.credentials);
11740 ndr_print_netr_Credential(ndr, "credentials", r->out.credentials);
11742 ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
11744 ndr_print_uint32(ndr, "negotiate_flags", *r->out.negotiate_flags);
11746 ndr_print_ptr(ndr, "rid", r->out.rid);
11748 ndr_print_uint32(ndr, "rid", *r->out.rid);
11750 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11756 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
11758 if (flags & NDR_IN) {
11759 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
11760 if (r->in.server_unc) {
11761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11762 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
11764 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));
11766 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11767 if (r->in.domain_name) {
11768 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
11771 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));
11773 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
11774 if (r->in.domain_guid) {
11775 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11777 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
11778 if (r->in.site_name) {
11779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
11782 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));
11784 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
11786 if (flags & NDR_OUT) {
11787 if (r->out.info == NULL) {
11788 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11790 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
11791 if (*r->out.info) {
11792 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11794 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11796 return NDR_ERR_SUCCESS;
11799 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
11801 uint32_t _ptr_server_unc;
11802 uint32_t _ptr_domain_name;
11803 uint32_t _ptr_domain_guid;
11804 uint32_t _ptr_site_name;
11805 uint32_t _ptr_info;
11806 TALLOC_CTX *_mem_save_server_unc_0;
11807 TALLOC_CTX *_mem_save_domain_name_0;
11808 TALLOC_CTX *_mem_save_domain_guid_0;
11809 TALLOC_CTX *_mem_save_site_name_0;
11810 TALLOC_CTX *_mem_save_info_0;
11811 TALLOC_CTX *_mem_save_info_1;
11812 if (flags & NDR_IN) {
11813 ZERO_STRUCT(r->out);
11815 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
11816 if (_ptr_server_unc) {
11817 NDR_PULL_ALLOC(ndr, r->in.server_unc);
11819 r->in.server_unc = NULL;
11821 if (r->in.server_unc) {
11822 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
11823 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
11824 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
11825 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
11826 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
11827 return 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));
11829 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
11830 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));
11831 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
11833 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11834 if (_ptr_domain_name) {
11835 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11837 r->in.domain_name = NULL;
11839 if (r->in.domain_name) {
11840 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11841 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11842 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
11843 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
11844 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
11845 return 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));
11847 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
11848 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));
11849 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11851 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
11852 if (_ptr_domain_guid) {
11853 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
11855 r->in.domain_guid = NULL;
11857 if (r->in.domain_guid) {
11858 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11859 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
11860 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
11861 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
11863 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
11864 if (_ptr_site_name) {
11865 NDR_PULL_ALLOC(ndr, r->in.site_name);
11867 r->in.site_name = NULL;
11869 if (r->in.site_name) {
11870 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11871 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
11872 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
11873 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
11874 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
11875 return 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));
11877 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
11878 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));
11879 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
11881 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
11882 NDR_PULL_ALLOC(ndr, r->out.info);
11883 ZERO_STRUCTP(r->out.info);
11885 if (flags & NDR_OUT) {
11886 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11887 NDR_PULL_ALLOC(ndr, r->out.info);
11889 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11890 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11891 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
11893 NDR_PULL_ALLOC(ndr, *r->out.info);
11895 *r->out.info = NULL;
11897 if (*r->out.info) {
11898 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
11899 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
11900 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
11901 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
11903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11904 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11906 return NDR_ERR_SUCCESS;
11909 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
11911 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
11913 if (flags & NDR_SET_VALUES) {
11914 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11916 if (flags & NDR_IN) {
11917 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
11919 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
11921 if (r->in.server_unc) {
11922 ndr_print_string(ndr, "server_unc", r->in.server_unc);
11925 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11927 if (r->in.domain_name) {
11928 ndr_print_string(ndr, "domain_name", r->in.domain_name);
11931 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
11933 if (r->in.domain_guid) {
11934 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
11937 ndr_print_ptr(ndr, "site_name", r->in.site_name);
11939 if (r->in.site_name) {
11940 ndr_print_string(ndr, "site_name", r->in.site_name);
11943 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
11946 if (flags & NDR_OUT) {
11947 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
11949 ndr_print_ptr(ndr, "info", r->out.info);
11951 ndr_print_ptr(ndr, "info", *r->out.info);
11953 if (*r->out.info) {
11954 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
11958 ndr_print_WERROR(ndr, "result", r->out.result);
11964 static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
11966 if (flags & NDR_IN) {
11967 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
11968 if (r->in.computer_name) {
11969 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
11972 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));
11975 if (flags & NDR_OUT) {
11976 if (r->out.site == NULL) {
11977 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11979 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
11980 if (*r->out.site) {
11981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
11982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11983 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
11984 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11986 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11988 return NDR_ERR_SUCCESS;
11991 static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
11993 uint32_t _ptr_computer_name;
11994 uint32_t _ptr_site;
11995 TALLOC_CTX *_mem_save_computer_name_0;
11996 TALLOC_CTX *_mem_save_site_0;
11997 TALLOC_CTX *_mem_save_site_1;
11998 if (flags & NDR_IN) {
11999 ZERO_STRUCT(r->out);
12001 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12002 if (_ptr_computer_name) {
12003 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12005 r->in.computer_name = NULL;
12007 if (r->in.computer_name) {
12008 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12009 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12010 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12011 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12012 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12013 return 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));
12015 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12016 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));
12017 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12019 NDR_PULL_ALLOC(ndr, r->out.site);
12020 ZERO_STRUCTP(r->out.site);
12022 if (flags & NDR_OUT) {
12023 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12024 NDR_PULL_ALLOC(ndr, r->out.site);
12026 _mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
12027 NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
12028 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
12030 NDR_PULL_ALLOC(ndr, *r->out.site);
12032 *r->out.site = NULL;
12034 if (*r->out.site) {
12035 _mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
12036 NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
12037 NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
12038 NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
12039 if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
12040 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));
12042 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
12043 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
12044 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
12046 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
12047 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12049 return NDR_ERR_SUCCESS;
12052 _PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
12054 ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
12056 if (flags & NDR_SET_VALUES) {
12057 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12059 if (flags & NDR_IN) {
12060 ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
12062 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12064 if (r->in.computer_name) {
12065 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12070 if (flags & NDR_OUT) {
12071 ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
12073 ndr_print_ptr(ndr, "site", r->out.site);
12075 ndr_print_ptr(ndr, "site", *r->out.site);
12077 if (*r->out.site) {
12078 ndr_print_string(ndr, "site", *r->out.site);
12082 ndr_print_WERROR(ndr, "result", r->out.result);
12088 static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
12090 if (flags & NDR_IN) {
12091 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12092 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12093 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12094 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));
12095 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
12096 if (r->in.computer_name) {
12097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12098 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12100 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));
12102 if (r->in.credential == NULL) {
12103 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12105 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12106 if (r->in.return_authenticator == NULL) {
12107 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12109 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12111 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.query, r->in.level));
12112 NDR_CHECK(ndr_push_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12114 if (flags & NDR_OUT) {
12115 if (r->out.return_authenticator == NULL) {
12116 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12118 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12119 if (r->out.info == NULL) {
12120 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12122 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
12123 NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12124 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12126 return NDR_ERR_SUCCESS;
12129 static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
12131 uint32_t _ptr_computer_name;
12132 TALLOC_CTX *_mem_save_computer_name_0;
12133 TALLOC_CTX *_mem_save_credential_0;
12134 TALLOC_CTX *_mem_save_return_authenticator_0;
12135 TALLOC_CTX *_mem_save_info_0;
12136 if (flags & NDR_IN) {
12137 ZERO_STRUCT(r->out);
12139 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12140 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12141 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12142 return 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));
12144 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12145 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));
12146 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
12147 if (_ptr_computer_name) {
12148 NDR_PULL_ALLOC(ndr, r->in.computer_name);
12150 r->in.computer_name = NULL;
12152 if (r->in.computer_name) {
12153 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12154 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
12155 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12156 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12157 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12158 return 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));
12160 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12161 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));
12162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
12164 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12165 NDR_PULL_ALLOC(ndr, r->in.credential);
12167 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12168 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12169 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12170 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12171 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12172 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12174 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12175 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12176 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12177 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12179 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.query, r->in.level));
12180 NDR_CHECK(ndr_pull_netr_DomainQuery(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.query));
12181 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12182 *r->out.return_authenticator = *r->in.return_authenticator;
12183 NDR_PULL_ALLOC(ndr, r->out.info);
12184 ZERO_STRUCTP(r->out.info);
12186 if (flags & NDR_OUT) {
12187 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12188 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12190 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12191 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12192 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12194 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12195 NDR_PULL_ALLOC(ndr, r->out.info);
12197 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12198 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12199 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
12200 NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
12201 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12202 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12204 return NDR_ERR_SUCCESS;
12207 _PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
12209 ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
12211 if (flags & NDR_SET_VALUES) {
12212 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12214 if (flags & NDR_IN) {
12215 ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
12217 ndr_print_string(ndr, "server_name", r->in.server_name);
12218 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12220 if (r->in.computer_name) {
12221 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12224 ndr_print_ptr(ndr, "credential", r->in.credential);
12226 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12228 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12230 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12232 ndr_print_uint32(ndr, "level", r->in.level);
12233 ndr_print_set_switch_value(ndr, &r->in.query, r->in.level);
12234 ndr_print_netr_DomainQuery(ndr, "query", &r->in.query);
12237 if (flags & NDR_OUT) {
12238 ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
12240 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12242 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12244 ndr_print_ptr(ndr, "info", r->out.info);
12246 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
12247 ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
12249 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12255 static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
12257 if (flags & NDR_IN) {
12258 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12259 if (r->in.server_name) {
12260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12263 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));
12265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12266 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12267 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12268 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));
12269 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12270 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12272 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12273 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));
12274 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12275 NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, &r->in.new_password));
12277 if (flags & NDR_OUT) {
12278 if (r->out.return_authenticator == NULL) {
12279 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12281 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12282 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12284 return NDR_ERR_SUCCESS;
12287 static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
12289 uint32_t _ptr_server_name;
12290 TALLOC_CTX *_mem_save_server_name_0;
12291 TALLOC_CTX *_mem_save_return_authenticator_0;
12292 if (flags & NDR_IN) {
12293 ZERO_STRUCT(r->out);
12295 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12296 if (_ptr_server_name) {
12297 NDR_PULL_ALLOC(ndr, r->in.server_name);
12299 r->in.server_name = NULL;
12301 if (r->in.server_name) {
12302 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12303 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12304 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12305 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12306 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12307 return 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));
12309 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12310 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));
12311 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12313 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12314 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12315 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12316 return 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));
12318 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12319 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));
12320 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12321 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12322 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12323 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12324 return 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));
12326 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12327 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));
12328 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
12329 NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, &r->in.new_password));
12330 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12331 ZERO_STRUCTP(r->out.return_authenticator);
12333 if (flags & NDR_OUT) {
12334 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12335 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12337 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12338 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12339 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12340 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12341 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12343 return NDR_ERR_SUCCESS;
12346 _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
12348 ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
12350 if (flags & NDR_SET_VALUES) {
12351 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12353 if (flags & NDR_IN) {
12354 ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
12356 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12358 if (r->in.server_name) {
12359 ndr_print_string(ndr, "server_name", r->in.server_name);
12362 ndr_print_string(ndr, "account_name", r->in.account_name);
12363 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12364 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12365 ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
12366 ndr_print_netr_CryptPassword(ndr, "new_password", &r->in.new_password);
12369 if (flags & NDR_OUT) {
12370 ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
12372 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12374 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12376 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12382 static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
12384 if (flags & NDR_IN) {
12385 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12386 if (r->in.server_name) {
12387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12390 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));
12392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12395 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));
12396 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12397 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12398 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12400 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));
12401 if (r->in.credential == NULL) {
12402 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12404 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12406 if (flags & NDR_OUT) {
12407 if (r->out.return_authenticator == NULL) {
12408 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12410 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12411 if (r->out.password == NULL) {
12412 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12414 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
12415 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12417 return NDR_ERR_SUCCESS;
12420 static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
12422 uint32_t _ptr_server_name;
12423 TALLOC_CTX *_mem_save_server_name_0;
12424 TALLOC_CTX *_mem_save_credential_0;
12425 TALLOC_CTX *_mem_save_return_authenticator_0;
12426 TALLOC_CTX *_mem_save_password_0;
12427 if (flags & NDR_IN) {
12428 ZERO_STRUCT(r->out);
12430 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12431 if (_ptr_server_name) {
12432 NDR_PULL_ALLOC(ndr, r->in.server_name);
12434 r->in.server_name = NULL;
12436 if (r->in.server_name) {
12437 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12438 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12439 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12440 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12441 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12442 return 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));
12444 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12445 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));
12446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12448 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12449 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12450 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12451 return 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));
12453 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12454 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));
12455 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12456 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12457 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12458 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12459 return 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));
12461 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12462 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));
12463 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12464 NDR_PULL_ALLOC(ndr, r->in.credential);
12466 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12467 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12468 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12469 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12470 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12471 ZERO_STRUCTP(r->out.return_authenticator);
12472 NDR_PULL_ALLOC(ndr, r->out.password);
12473 ZERO_STRUCTP(r->out.password);
12475 if (flags & NDR_OUT) {
12476 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12477 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12479 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12480 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12481 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12483 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12484 NDR_PULL_ALLOC(ndr, r->out.password);
12486 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12487 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
12488 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
12489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
12490 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12492 return NDR_ERR_SUCCESS;
12495 _PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
12497 ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
12499 if (flags & NDR_SET_VALUES) {
12500 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12502 if (flags & NDR_IN) {
12503 ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
12505 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12507 if (r->in.server_name) {
12508 ndr_print_string(ndr, "server_name", r->in.server_name);
12511 ndr_print_string(ndr, "account_name", r->in.account_name);
12512 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12513 ndr_print_string(ndr, "computer_name", r->in.computer_name);
12514 ndr_print_ptr(ndr, "credential", r->in.credential);
12516 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12520 if (flags & NDR_OUT) {
12521 ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
12523 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12525 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12527 ndr_print_ptr(ndr, "password", r->out.password);
12529 ndr_print_samr_Password(ndr, "password", r->out.password);
12531 ndr_print_WERROR(ndr, "result", r->out.result);
12537 static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12539 if (flags & NDR_IN) {
12541 if (flags & NDR_OUT) {
12542 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12544 return NDR_ERR_SUCCESS;
12547 static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
12549 if (flags & NDR_IN) {
12551 if (flags & NDR_OUT) {
12552 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12554 return NDR_ERR_SUCCESS;
12557 _PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
12559 ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
12561 if (flags & NDR_SET_VALUES) {
12562 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12564 if (flags & NDR_IN) {
12565 ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
12569 if (flags & NDR_OUT) {
12570 ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
12572 ndr_print_WERROR(ndr, "result", r->out.result);
12578 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
12580 uint32_t cntr_addresses_1;
12581 if (flags & NDR_IN) {
12582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12583 if (r->in.server_name) {
12584 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12586 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12587 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));
12589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12590 if (r->in.addresses == NULL) {
12591 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
12594 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12595 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12597 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12598 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12601 if (flags & NDR_OUT) {
12602 if (r->out.ctr == NULL) {
12603 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12605 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
12607 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12609 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12611 return NDR_ERR_SUCCESS;
12614 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
12616 uint32_t _ptr_server_name;
12617 uint32_t cntr_addresses_1;
12619 TALLOC_CTX *_mem_save_server_name_0;
12620 TALLOC_CTX *_mem_save_addresses_1;
12621 TALLOC_CTX *_mem_save_ctr_0;
12622 TALLOC_CTX *_mem_save_ctr_1;
12623 if (flags & NDR_IN) {
12624 ZERO_STRUCT(r->out);
12626 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12627 if (_ptr_server_name) {
12628 NDR_PULL_ALLOC(ndr, r->in.server_name);
12630 r->in.server_name = NULL;
12632 if (r->in.server_name) {
12633 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12634 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12635 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12636 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12637 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12638 return 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));
12640 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12641 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));
12642 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12644 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
12645 if (r->in.count < 0 || r->in.count > 32000) {
12646 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12648 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
12649 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12650 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
12652 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
12653 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
12654 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12655 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
12657 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
12658 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
12660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
12661 NDR_PULL_ALLOC(ndr, r->out.ctr);
12662 ZERO_STRUCTP(r->out.ctr);
12663 if (r->in.addresses) {
12664 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
12667 if (flags & NDR_OUT) {
12668 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12669 NDR_PULL_ALLOC(ndr, r->out.ctr);
12671 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
12672 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
12673 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
12675 NDR_PULL_ALLOC(ndr, *r->out.ctr);
12677 *r->out.ctr = NULL;
12680 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
12681 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
12682 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
12683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
12685 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
12686 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12688 return NDR_ERR_SUCCESS;
12691 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
12693 uint32_t cntr_addresses_1;
12694 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
12696 if (flags & NDR_SET_VALUES) {
12697 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12699 if (flags & NDR_IN) {
12700 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
12702 ndr_print_ptr(ndr, "server_name", r->in.server_name);
12704 if (r->in.server_name) {
12705 ndr_print_string(ndr, "server_name", r->in.server_name);
12708 ndr_print_uint32(ndr, "count", r->in.count);
12709 ndr_print_ptr(ndr, "addresses", r->in.addresses);
12711 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", r->in.count);
12713 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
12715 asprintf(&idx_1, "[%d]", cntr_addresses_1);
12717 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
12725 if (flags & NDR_OUT) {
12726 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
12728 ndr_print_ptr(ndr, "ctr", r->out.ctr);
12730 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
12733 ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
12737 ndr_print_WERROR(ndr, "result", r->out.result);
12743 static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
12745 if (flags & NDR_IN) {
12746 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12747 if (r->in.server_unc) {
12748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12750 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12751 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));
12753 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
12754 if (r->in.client_account) {
12755 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12756 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12757 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
12758 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));
12760 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
12761 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12762 if (r->in.domain_name) {
12763 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12764 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12765 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12766 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));
12768 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12769 if (r->in.domain_guid) {
12770 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
12772 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
12773 if (r->in.site_name) {
12774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
12776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
12777 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));
12779 NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12781 if (flags & NDR_OUT) {
12782 if (r->out.info == NULL) {
12783 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12785 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12786 if (*r->out.info) {
12787 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12789 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12791 return NDR_ERR_SUCCESS;
12794 static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
12796 uint32_t _ptr_server_unc;
12797 uint32_t _ptr_client_account;
12798 uint32_t _ptr_domain_name;
12799 uint32_t _ptr_domain_guid;
12800 uint32_t _ptr_site_name;
12801 uint32_t _ptr_info;
12802 TALLOC_CTX *_mem_save_server_unc_0;
12803 TALLOC_CTX *_mem_save_client_account_0;
12804 TALLOC_CTX *_mem_save_domain_name_0;
12805 TALLOC_CTX *_mem_save_domain_guid_0;
12806 TALLOC_CTX *_mem_save_site_name_0;
12807 TALLOC_CTX *_mem_save_info_0;
12808 TALLOC_CTX *_mem_save_info_1;
12809 if (flags & NDR_IN) {
12810 ZERO_STRUCT(r->out);
12812 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12813 if (_ptr_server_unc) {
12814 NDR_PULL_ALLOC(ndr, r->in.server_unc);
12816 r->in.server_unc = NULL;
12818 if (r->in.server_unc) {
12819 _mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12820 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12821 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12822 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12823 if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12824 return 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));
12826 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12827 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));
12828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12830 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
12831 if (_ptr_client_account) {
12832 NDR_PULL_ALLOC(ndr, r->in.client_account);
12834 r->in.client_account = NULL;
12836 if (r->in.client_account) {
12837 _mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
12838 NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
12839 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
12840 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
12841 if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
12842 return 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));
12844 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
12845 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));
12846 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
12848 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
12849 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12850 if (_ptr_domain_name) {
12851 NDR_PULL_ALLOC(ndr, r->in.domain_name);
12853 r->in.domain_name = NULL;
12855 if (r->in.domain_name) {
12856 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12857 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12858 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12859 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12860 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12861 return 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));
12863 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12864 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));
12865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12867 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12868 if (_ptr_domain_guid) {
12869 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12871 r->in.domain_guid = NULL;
12873 if (r->in.domain_guid) {
12874 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12875 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12876 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
12877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12879 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
12880 if (_ptr_site_name) {
12881 NDR_PULL_ALLOC(ndr, r->in.site_name);
12883 r->in.site_name = NULL;
12885 if (r->in.site_name) {
12886 _mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12887 NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
12888 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
12889 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
12890 if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
12891 return 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));
12893 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
12894 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));
12895 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
12897 NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12898 NDR_PULL_ALLOC(ndr, r->out.info);
12899 ZERO_STRUCTP(r->out.info);
12901 if (flags & NDR_OUT) {
12902 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12903 NDR_PULL_ALLOC(ndr, r->out.info);
12905 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12906 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12907 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12909 NDR_PULL_ALLOC(ndr, *r->out.info);
12911 *r->out.info = NULL;
12913 if (*r->out.info) {
12914 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12915 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12916 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12920 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12922 return NDR_ERR_SUCCESS;
12925 _PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
12927 ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
12929 if (flags & NDR_SET_VALUES) {
12930 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12932 if (flags & NDR_IN) {
12933 ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
12935 ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12937 if (r->in.server_unc) {
12938 ndr_print_string(ndr, "server_unc", r->in.server_unc);
12941 ndr_print_ptr(ndr, "client_account", r->in.client_account);
12943 if (r->in.client_account) {
12944 ndr_print_string(ndr, "client_account", r->in.client_account);
12947 ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
12948 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12950 if (r->in.domain_name) {
12951 ndr_print_string(ndr, "domain_name", r->in.domain_name);
12954 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12956 if (r->in.domain_guid) {
12957 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12960 ndr_print_ptr(ndr, "site_name", r->in.site_name);
12962 if (r->in.site_name) {
12963 ndr_print_string(ndr, "site_name", r->in.site_name);
12966 ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12969 if (flags & NDR_OUT) {
12970 ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
12972 ndr_print_ptr(ndr, "info", r->out.info);
12974 ndr_print_ptr(ndr, "info", *r->out.info);
12976 if (*r->out.info) {
12977 ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12981 ndr_print_WERROR(ndr, "result", r->out.result);
12987 static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
12989 if (flags & NDR_IN) {
12991 if (flags & NDR_OUT) {
12992 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12994 return NDR_ERR_SUCCESS;
12997 static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
12999 if (flags & NDR_IN) {
13001 if (flags & NDR_OUT) {
13002 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13004 return NDR_ERR_SUCCESS;
13007 _PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
13009 ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13011 if (flags & NDR_SET_VALUES) {
13012 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13014 if (flags & NDR_IN) {
13015 ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13019 if (flags & NDR_OUT) {
13020 ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
13022 ndr_print_WERROR(ndr, "result", r->out.result);
13028 static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13030 if (flags & NDR_IN) {
13031 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13032 if (r->in.server_name) {
13033 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13034 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13036 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));
13039 if (flags & NDR_OUT) {
13040 if (r->out.dom_trust_list == NULL) {
13041 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13043 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13044 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13046 return NDR_ERR_SUCCESS;
13049 static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
13051 uint32_t _ptr_server_name;
13052 TALLOC_CTX *_mem_save_server_name_0;
13053 TALLOC_CTX *_mem_save_dom_trust_list_0;
13054 if (flags & NDR_IN) {
13055 ZERO_STRUCT(r->out);
13057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13058 if (_ptr_server_name) {
13059 NDR_PULL_ALLOC(ndr, r->in.server_name);
13061 r->in.server_name = NULL;
13063 if (r->in.server_name) {
13064 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13065 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13066 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13067 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13068 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13069 return 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));
13071 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13072 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));
13073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13075 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13076 ZERO_STRUCTP(r->out.dom_trust_list);
13078 if (flags & NDR_OUT) {
13079 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13080 NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
13082 _mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
13083 NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
13084 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
13085 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
13086 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13088 return NDR_ERR_SUCCESS;
13091 _PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
13093 ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
13095 if (flags & NDR_SET_VALUES) {
13096 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13098 if (flags & NDR_IN) {
13099 ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
13101 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13103 if (r->in.server_name) {
13104 ndr_print_string(ndr, "server_name", r->in.server_name);
13109 if (flags & NDR_OUT) {
13110 ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
13112 ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
13114 ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
13116 ndr_print_WERROR(ndr, "result", r->out.result);
13122 static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13124 uint32_t cntr_addresses_1;
13125 if (flags & NDR_IN) {
13126 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13127 if (r->in.server_name) {
13128 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13130 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13131 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));
13133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13134 if (r->in.addresses == NULL) {
13135 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13137 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
13138 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13139 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13141 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13142 NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13145 if (flags & NDR_OUT) {
13146 if (r->out.ctr == NULL) {
13147 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13149 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
13151 NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13153 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13155 return NDR_ERR_SUCCESS;
13158 static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
13160 uint32_t _ptr_server_name;
13161 uint32_t cntr_addresses_1;
13163 TALLOC_CTX *_mem_save_server_name_0;
13164 TALLOC_CTX *_mem_save_addresses_1;
13165 TALLOC_CTX *_mem_save_ctr_0;
13166 TALLOC_CTX *_mem_save_ctr_1;
13167 if (flags & NDR_IN) {
13168 ZERO_STRUCT(r->out);
13170 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13171 if (_ptr_server_name) {
13172 NDR_PULL_ALLOC(ndr, r->in.server_name);
13174 r->in.server_name = NULL;
13176 if (r->in.server_name) {
13177 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13178 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13179 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13180 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13181 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13182 return 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));
13184 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13185 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));
13186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
13189 if (r->in.count < 0 || r->in.count > 32000) {
13190 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
13192 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
13193 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13194 NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
13196 _mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
13197 NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
13198 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13199 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
13201 for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
13202 NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
13204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
13205 NDR_PULL_ALLOC(ndr, r->out.ctr);
13206 ZERO_STRUCTP(r->out.ctr);
13207 if (r->in.addresses) {
13208 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
13211 if (flags & NDR_OUT) {
13212 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13213 NDR_PULL_ALLOC(ndr, r->out.ctr);
13215 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13216 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13217 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
13219 NDR_PULL_ALLOC(ndr, *r->out.ctr);
13221 *r->out.ctr = NULL;
13224 _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
13225 NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
13226 NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
13227 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
13229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13230 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13232 return NDR_ERR_SUCCESS;
13235 _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
13237 uint32_t cntr_addresses_1;
13238 ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
13240 if (flags & NDR_SET_VALUES) {
13241 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13243 if (flags & NDR_IN) {
13244 ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
13246 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13248 if (r->in.server_name) {
13249 ndr_print_string(ndr, "server_name", r->in.server_name);
13252 ndr_print_uint32(ndr, "count", r->in.count);
13253 ndr_print_ptr(ndr, "addresses", r->in.addresses);
13255 ndr->print(ndr, "%s: ARRAY(%d)", "addresses", r->in.count);
13257 for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
13259 asprintf(&idx_1, "[%d]", cntr_addresses_1);
13261 ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
13269 if (flags & NDR_OUT) {
13270 ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
13272 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13274 ndr_print_ptr(ndr, "ctr", *r->out.ctr);
13277 ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
13281 ndr_print_WERROR(ndr, "result", r->out.result);
13287 static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13289 if (flags & NDR_IN) {
13290 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13291 if (r->in.server_name) {
13292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13293 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13294 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13295 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));
13298 if (flags & NDR_OUT) {
13299 if (r->out.ctr == NULL) {
13300 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13302 NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13303 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13305 return NDR_ERR_SUCCESS;
13308 static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
13310 uint32_t _ptr_server_name;
13311 TALLOC_CTX *_mem_save_server_name_0;
13312 TALLOC_CTX *_mem_save_ctr_0;
13313 if (flags & NDR_IN) {
13314 ZERO_STRUCT(r->out);
13316 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13317 if (_ptr_server_name) {
13318 NDR_PULL_ALLOC(ndr, r->in.server_name);
13320 r->in.server_name = NULL;
13322 if (r->in.server_name) {
13323 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13324 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13325 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13326 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13327 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13328 return 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));
13330 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13331 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));
13332 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13334 NDR_PULL_ALLOC(ndr, r->out.ctr);
13335 ZERO_STRUCTP(r->out.ctr);
13337 if (flags & NDR_OUT) {
13338 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13339 NDR_PULL_ALLOC(ndr, r->out.ctr);
13341 _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
13342 NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
13343 NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
13344 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
13345 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13347 return NDR_ERR_SUCCESS;
13350 _PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
13352 ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
13354 if (flags & NDR_SET_VALUES) {
13355 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13357 if (flags & NDR_IN) {
13358 ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
13360 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13362 if (r->in.server_name) {
13363 ndr_print_string(ndr, "server_name", r->in.server_name);
13368 if (flags & NDR_OUT) {
13369 ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
13371 ndr_print_ptr(ndr, "ctr", r->out.ctr);
13373 ndr_print_DcSitesCtr(ndr, "ctr", r->out.ctr);
13375 ndr_print_WERROR(ndr, "result", r->out.result);
13381 static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
13383 if (flags & NDR_IN) {
13384 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13385 if (r->in.server_name) {
13386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13389 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));
13391 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13392 if (r->in.computer_name) {
13393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13396 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));
13398 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
13399 if (r->in.logon == NULL) {
13400 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13402 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13403 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13404 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
13405 if (r->in.flags == NULL) {
13406 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13408 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
13410 if (flags & NDR_OUT) {
13411 if (r->out.validation == NULL) {
13412 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13414 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13415 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13416 if (r->out.authoritative == NULL) {
13417 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13419 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
13420 if (r->out.flags == NULL) {
13421 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
13424 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13426 return NDR_ERR_SUCCESS;
13429 static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
13431 uint32_t _ptr_server_name;
13432 uint32_t _ptr_computer_name;
13433 TALLOC_CTX *_mem_save_server_name_0;
13434 TALLOC_CTX *_mem_save_computer_name_0;
13435 TALLOC_CTX *_mem_save_logon_0;
13436 TALLOC_CTX *_mem_save_validation_0;
13437 TALLOC_CTX *_mem_save_authoritative_0;
13438 TALLOC_CTX *_mem_save_flags_0;
13439 if (flags & NDR_IN) {
13440 ZERO_STRUCT(r->out);
13442 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13443 if (_ptr_server_name) {
13444 NDR_PULL_ALLOC(ndr, r->in.server_name);
13446 r->in.server_name = NULL;
13448 if (r->in.server_name) {
13449 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13450 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13451 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13452 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13453 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13454 return 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));
13456 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13457 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));
13458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13460 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13461 if (_ptr_computer_name) {
13462 NDR_PULL_ALLOC(ndr, r->in.computer_name);
13464 r->in.computer_name = NULL;
13466 if (r->in.computer_name) {
13467 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13468 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13469 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13470 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13471 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13472 return 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));
13474 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13475 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));
13476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13478 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
13479 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13480 NDR_PULL_ALLOC(ndr, r->in.logon);
13482 _mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
13483 NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
13484 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
13485 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
13486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
13487 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
13488 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13489 NDR_PULL_ALLOC(ndr, r->in.flags);
13491 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13492 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
13493 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
13494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13495 NDR_PULL_ALLOC(ndr, r->out.validation);
13496 ZERO_STRUCTP(r->out.validation);
13497 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13498 ZERO_STRUCTP(r->out.authoritative);
13499 NDR_PULL_ALLOC(ndr, r->out.flags);
13500 *r->out.flags = *r->in.flags;
13502 if (flags & NDR_OUT) {
13503 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13504 NDR_PULL_ALLOC(ndr, r->out.validation);
13506 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
13507 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
13508 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
13509 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
13510 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
13511 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13512 NDR_PULL_ALLOC(ndr, r->out.authoritative);
13514 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
13515 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
13516 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
13517 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
13518 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13519 NDR_PULL_ALLOC(ndr, r->out.flags);
13521 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13522 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
13523 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
13524 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
13525 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13527 return NDR_ERR_SUCCESS;
13530 _PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
13532 ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
13534 if (flags & NDR_SET_VALUES) {
13535 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13537 if (flags & NDR_IN) {
13538 ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
13540 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13542 if (r->in.server_name) {
13543 ndr_print_string(ndr, "server_name", r->in.server_name);
13546 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13548 if (r->in.computer_name) {
13549 ndr_print_string(ndr, "computer_name", r->in.computer_name);
13552 ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
13553 ndr_print_ptr(ndr, "logon", r->in.logon);
13555 ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
13556 ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
13558 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
13559 ndr_print_ptr(ndr, "flags", r->in.flags);
13561 ndr_print_uint32(ndr, "flags", *r->in.flags);
13565 if (flags & NDR_OUT) {
13566 ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
13568 ndr_print_ptr(ndr, "validation", r->out.validation);
13570 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
13571 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
13573 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
13575 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
13577 ndr_print_ptr(ndr, "flags", r->out.flags);
13579 ndr_print_uint32(ndr, "flags", *r->out.flags);
13581 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13587 static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13589 if (flags & NDR_IN) {
13590 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13591 if (r->in.server_name) {
13592 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13593 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13594 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13595 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));
13597 NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
13599 if (flags & NDR_OUT) {
13600 if (r->out.trusts == NULL) {
13601 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13603 NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13604 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13606 return NDR_ERR_SUCCESS;
13609 static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
13611 uint32_t _ptr_server_name;
13612 TALLOC_CTX *_mem_save_server_name_0;
13613 TALLOC_CTX *_mem_save_trusts_0;
13614 if (flags & NDR_IN) {
13615 ZERO_STRUCT(r->out);
13617 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13618 if (_ptr_server_name) {
13619 NDR_PULL_ALLOC(ndr, r->in.server_name);
13621 r->in.server_name = NULL;
13623 if (r->in.server_name) {
13624 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13625 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13626 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13627 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13628 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13629 return 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));
13631 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13632 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));
13633 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13635 NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
13636 NDR_PULL_ALLOC(ndr, r->out.trusts);
13637 ZERO_STRUCTP(r->out.trusts);
13639 if (flags & NDR_OUT) {
13640 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13641 NDR_PULL_ALLOC(ndr, r->out.trusts);
13643 _mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
13644 NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
13645 NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
13646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
13647 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13649 return NDR_ERR_SUCCESS;
13652 _PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
13654 ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
13656 if (flags & NDR_SET_VALUES) {
13657 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13659 if (flags & NDR_IN) {
13660 ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
13662 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13664 if (r->in.server_name) {
13665 ndr_print_string(ndr, "server_name", r->in.server_name);
13668 ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
13671 if (flags & NDR_OUT) {
13672 ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
13674 ndr_print_ptr(ndr, "trusts", r->out.trusts);
13676 ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
13678 ndr_print_WERROR(ndr, "result", r->out.result);
13684 static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13686 if (flags & NDR_IN) {
13687 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13688 if (r->in.server_name) {
13689 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13690 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13692 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));
13694 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
13695 if (r->in.domain) {
13696 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13698 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
13699 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13701 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13702 if (r->in.domain_guid) {
13703 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
13705 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
13706 if (r->in.dsa_guid) {
13707 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dsa_guid));
13709 if (r->in.dns_host == NULL) {
13710 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13712 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13713 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
13715 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));
13717 if (flags & NDR_OUT) {
13718 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13720 return NDR_ERR_SUCCESS;
13723 static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
13725 uint32_t _ptr_server_name;
13726 uint32_t _ptr_domain;
13727 uint32_t _ptr_domain_guid;
13728 uint32_t _ptr_dsa_guid;
13729 TALLOC_CTX *_mem_save_server_name_0;
13730 TALLOC_CTX *_mem_save_domain_0;
13731 TALLOC_CTX *_mem_save_domain_guid_0;
13732 TALLOC_CTX *_mem_save_dsa_guid_0;
13733 if (flags & NDR_IN) {
13734 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13735 if (_ptr_server_name) {
13736 NDR_PULL_ALLOC(ndr, r->in.server_name);
13738 r->in.server_name = NULL;
13740 if (r->in.server_name) {
13741 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13742 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13743 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13744 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13745 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13746 return 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));
13748 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13749 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));
13750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13752 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
13754 NDR_PULL_ALLOC(ndr, r->in.domain);
13756 r->in.domain = NULL;
13758 if (r->in.domain) {
13759 _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
13760 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
13761 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
13762 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
13763 if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
13764 return 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));
13766 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
13767 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
13768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
13770 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13771 if (_ptr_domain_guid) {
13772 NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13774 r->in.domain_guid = NULL;
13776 if (r->in.domain_guid) {
13777 _mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13778 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13779 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_guid));
13780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13782 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
13783 if (_ptr_dsa_guid) {
13784 NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
13786 r->in.dsa_guid = NULL;
13788 if (r->in.dsa_guid) {
13789 _mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13790 NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
13791 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dsa_guid));
13792 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
13794 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
13795 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
13796 if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
13797 return 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));
13799 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
13800 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));
13802 if (flags & NDR_OUT) {
13803 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13805 return NDR_ERR_SUCCESS;
13808 _PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
13810 ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
13812 if (flags & NDR_SET_VALUES) {
13813 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13815 if (flags & NDR_IN) {
13816 ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
13818 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13820 if (r->in.server_name) {
13821 ndr_print_string(ndr, "server_name", r->in.server_name);
13824 ndr_print_ptr(ndr, "domain", r->in.domain);
13826 if (r->in.domain) {
13827 ndr_print_string(ndr, "domain", r->in.domain);
13830 ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13832 if (r->in.domain_guid) {
13833 ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13836 ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
13838 if (r->in.dsa_guid) {
13839 ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
13842 ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
13844 ndr_print_string(ndr, "dns_host", r->in.dns_host);
13848 if (flags & NDR_OUT) {
13849 ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
13851 ndr_print_WERROR(ndr, "result", r->out.result);
13857 static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
13859 if (flags & NDR_IN) {
13860 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13861 if (r->in.server_name) {
13862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_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.server_name, CH_UTF16)));
13865 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));
13867 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_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.account_name, CH_UTF16)));
13870 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));
13871 NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13872 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13873 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
13874 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13875 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));
13876 if (r->in.credential == NULL) {
13877 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13879 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13881 if (flags & NDR_OUT) {
13882 if (r->out.return_authenticator == NULL) {
13883 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13885 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13886 if (r->out.password == NULL) {
13887 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13889 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
13890 if (r->out.password2 == NULL) {
13891 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13893 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password2));
13894 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13896 return NDR_ERR_SUCCESS;
13899 static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
13901 uint32_t _ptr_server_name;
13902 TALLOC_CTX *_mem_save_server_name_0;
13903 TALLOC_CTX *_mem_save_credential_0;
13904 TALLOC_CTX *_mem_save_return_authenticator_0;
13905 TALLOC_CTX *_mem_save_password_0;
13906 TALLOC_CTX *_mem_save_password2_0;
13907 if (flags & NDR_IN) {
13908 ZERO_STRUCT(r->out);
13910 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13911 if (_ptr_server_name) {
13912 NDR_PULL_ALLOC(ndr, r->in.server_name);
13914 r->in.server_name = NULL;
13916 if (r->in.server_name) {
13917 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13918 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13919 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13920 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13921 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13922 return 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));
13924 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13925 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));
13926 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13928 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13929 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13930 if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13931 return 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));
13933 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13934 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));
13935 NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13936 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13937 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13938 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13939 return 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));
13941 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13942 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));
13943 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13944 NDR_PULL_ALLOC(ndr, r->in.credential);
13946 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13947 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13948 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13949 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13950 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13951 ZERO_STRUCTP(r->out.return_authenticator);
13952 NDR_PULL_ALLOC(ndr, r->out.password);
13953 ZERO_STRUCTP(r->out.password);
13954 NDR_PULL_ALLOC(ndr, r->out.password2);
13955 ZERO_STRUCTP(r->out.password2);
13957 if (flags & NDR_OUT) {
13958 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13959 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13961 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13962 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13963 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13964 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13965 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13966 NDR_PULL_ALLOC(ndr, r->out.password);
13968 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
13969 NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
13970 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
13971 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
13972 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13973 NDR_PULL_ALLOC(ndr, r->out.password2);
13975 _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
13976 NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
13977 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password2));
13978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
13979 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13981 return NDR_ERR_SUCCESS;
13984 _PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
13986 ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
13988 if (flags & NDR_SET_VALUES) {
13989 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13991 if (flags & NDR_IN) {
13992 ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
13994 ndr_print_ptr(ndr, "server_name", r->in.server_name);
13996 if (r->in.server_name) {
13997 ndr_print_string(ndr, "server_name", r->in.server_name);
14000 ndr_print_string(ndr, "account_name", r->in.account_name);
14001 ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14002 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14003 ndr_print_ptr(ndr, "credential", r->in.credential);
14005 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14009 if (flags & NDR_OUT) {
14010 ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
14012 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14014 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14016 ndr_print_ptr(ndr, "password", r->out.password);
14018 ndr_print_samr_Password(ndr, "password", r->out.password);
14020 ndr_print_ptr(ndr, "password2", r->out.password2);
14022 ndr_print_samr_Password(ndr, "password2", r->out.password2);
14024 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14030 static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
14032 if (flags & NDR_IN) {
14033 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14034 if (r->in.server_name) {
14035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14036 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14038 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));
14040 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
14041 if (r->in.trusted_domain_name) {
14042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14045 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));
14047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14049 if (flags & NDR_OUT) {
14050 if (r->out.forest_trust_info == NULL) {
14051 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14053 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14054 if (*r->out.forest_trust_info) {
14055 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14057 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14059 return NDR_ERR_SUCCESS;
14062 static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
14064 uint32_t _ptr_server_name;
14065 uint32_t _ptr_trusted_domain_name;
14066 uint32_t _ptr_forest_trust_info;
14067 TALLOC_CTX *_mem_save_server_name_0;
14068 TALLOC_CTX *_mem_save_trusted_domain_name_0;
14069 TALLOC_CTX *_mem_save_forest_trust_info_0;
14070 TALLOC_CTX *_mem_save_forest_trust_info_1;
14071 if (flags & NDR_IN) {
14072 ZERO_STRUCT(r->out);
14074 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14075 if (_ptr_server_name) {
14076 NDR_PULL_ALLOC(ndr, r->in.server_name);
14078 r->in.server_name = NULL;
14080 if (r->in.server_name) {
14081 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14082 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14083 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14084 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14085 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14086 return 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));
14088 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14089 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));
14090 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14092 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
14093 if (_ptr_trusted_domain_name) {
14094 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
14096 r->in.trusted_domain_name = NULL;
14098 if (r->in.trusted_domain_name) {
14099 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14100 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
14101 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14102 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14103 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14104 return 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));
14106 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14107 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));
14108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
14110 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14111 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14112 ZERO_STRUCTP(r->out.forest_trust_info);
14114 if (flags & NDR_OUT) {
14115 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14116 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14118 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14119 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14121 if (_ptr_forest_trust_info) {
14122 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14124 *r->out.forest_trust_info = NULL;
14126 if (*r->out.forest_trust_info) {
14127 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14128 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14129 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14130 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14133 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14135 return NDR_ERR_SUCCESS;
14138 _PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
14140 ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
14142 if (flags & NDR_SET_VALUES) {
14143 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14145 if (flags & NDR_IN) {
14146 ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
14148 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14150 if (r->in.server_name) {
14151 ndr_print_string(ndr, "server_name", r->in.server_name);
14154 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14156 if (r->in.trusted_domain_name) {
14157 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14160 ndr_print_uint32(ndr, "flags", r->in.flags);
14163 if (flags & NDR_OUT) {
14164 ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
14166 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14168 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14170 if (*r->out.forest_trust_info) {
14171 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14175 ndr_print_WERROR(ndr, "result", r->out.result);
14181 static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
14183 if (flags & NDR_IN) {
14184 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14185 if (r->in.server_name) {
14186 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14187 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14188 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14189 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));
14191 if (r->in.trusted_domain_name == NULL) {
14192 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
14197 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));
14198 if (r->in.credential == NULL) {
14199 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14201 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14202 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
14204 if (flags & NDR_OUT) {
14205 if (r->out.return_authenticator == NULL) {
14206 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14208 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14209 if (r->out.forest_trust_info == NULL) {
14210 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14212 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
14213 if (*r->out.forest_trust_info) {
14214 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14216 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14218 return NDR_ERR_SUCCESS;
14221 static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
14223 uint32_t _ptr_server_name;
14224 uint32_t _ptr_forest_trust_info;
14225 TALLOC_CTX *_mem_save_server_name_0;
14226 TALLOC_CTX *_mem_save_credential_0;
14227 TALLOC_CTX *_mem_save_return_authenticator_0;
14228 TALLOC_CTX *_mem_save_forest_trust_info_0;
14229 TALLOC_CTX *_mem_save_forest_trust_info_1;
14230 if (flags & NDR_IN) {
14231 ZERO_STRUCT(r->out);
14233 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14234 if (_ptr_server_name) {
14235 NDR_PULL_ALLOC(ndr, r->in.server_name);
14237 r->in.server_name = NULL;
14239 if (r->in.server_name) {
14240 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14241 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14242 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14243 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14244 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14245 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
14247 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14248 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));
14249 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14251 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
14252 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
14253 if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
14254 return 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));
14256 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
14257 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));
14258 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14259 NDR_PULL_ALLOC(ndr, r->in.credential);
14261 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14262 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14263 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14265 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
14266 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14267 ZERO_STRUCTP(r->out.return_authenticator);
14268 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14269 ZERO_STRUCTP(r->out.forest_trust_info);
14271 if (flags & NDR_OUT) {
14272 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14273 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14275 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14276 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14277 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14278 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14279 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14280 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
14282 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14283 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
14284 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
14285 if (_ptr_forest_trust_info) {
14286 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
14288 *r->out.forest_trust_info = NULL;
14290 if (*r->out.forest_trust_info) {
14291 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14292 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
14293 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
14294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
14296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
14297 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14299 return NDR_ERR_SUCCESS;
14302 _PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
14304 ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
14306 if (flags & NDR_SET_VALUES) {
14307 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14309 if (flags & NDR_IN) {
14310 ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
14312 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14314 if (r->in.server_name) {
14315 ndr_print_string(ndr, "server_name", r->in.server_name);
14318 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14320 ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
14322 ndr_print_ptr(ndr, "credential", r->in.credential);
14324 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14326 ndr_print_uint32(ndr, "flags", r->in.flags);
14329 if (flags & NDR_OUT) {
14330 ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
14332 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14334 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14336 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
14338 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
14340 if (*r->out.forest_trust_info) {
14341 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
14345 ndr_print_WERROR(ndr, "result", r->out.result);
14351 static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
14353 if (flags & NDR_IN) {
14354 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14355 if (r->in.server_name) {
14356 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14357 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14359 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));
14361 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
14362 if (r->in.computer_name) {
14363 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
14365 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14366 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));
14368 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
14369 if (r->in.credential) {
14370 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14372 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
14373 if (r->in.return_authenticator) {
14374 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14376 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.logon_level));
14377 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14378 NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14379 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
14380 if (r->in.flags == NULL) {
14381 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14383 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
14385 if (flags & NDR_OUT) {
14386 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
14387 if (r->out.return_authenticator) {
14388 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14390 if (r->out.validation == NULL) {
14391 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14393 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14394 NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14395 if (r->out.authoritative == NULL) {
14396 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14398 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
14399 if (r->out.flags == NULL) {
14400 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14402 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
14403 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14405 return NDR_ERR_SUCCESS;
14408 static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
14410 uint32_t _ptr_server_name;
14411 uint32_t _ptr_computer_name;
14412 uint32_t _ptr_credential;
14413 uint32_t _ptr_return_authenticator;
14414 TALLOC_CTX *_mem_save_server_name_0;
14415 TALLOC_CTX *_mem_save_computer_name_0;
14416 TALLOC_CTX *_mem_save_credential_0;
14417 TALLOC_CTX *_mem_save_return_authenticator_0;
14418 TALLOC_CTX *_mem_save_validation_0;
14419 TALLOC_CTX *_mem_save_authoritative_0;
14420 TALLOC_CTX *_mem_save_flags_0;
14421 if (flags & NDR_IN) {
14422 ZERO_STRUCT(r->out);
14424 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14425 if (_ptr_server_name) {
14426 NDR_PULL_ALLOC(ndr, r->in.server_name);
14428 r->in.server_name = NULL;
14430 if (r->in.server_name) {
14431 _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14432 NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14433 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14434 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14435 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14436 return 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));
14438 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14439 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));
14440 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14442 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
14443 if (_ptr_computer_name) {
14444 NDR_PULL_ALLOC(ndr, r->in.computer_name);
14446 r->in.computer_name = NULL;
14448 if (r->in.computer_name) {
14449 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14450 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
14451 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14452 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14453 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14454 return 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));
14456 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14457 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));
14458 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
14460 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
14461 if (_ptr_credential) {
14462 NDR_PULL_ALLOC(ndr, r->in.credential);
14464 r->in.credential = NULL;
14466 if (r->in.credential) {
14467 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14468 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
14469 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
14472 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14473 if (_ptr_return_authenticator) {
14474 NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
14476 r->in.return_authenticator = NULL;
14478 if (r->in.return_authenticator) {
14479 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14480 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
14481 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14484 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.logon_level));
14485 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
14486 NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
14487 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
14488 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14489 NDR_PULL_ALLOC(ndr, r->in.flags);
14491 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14492 NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
14493 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
14494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14495 NDR_PULL_ALLOC(ndr, r->out.validation);
14496 ZERO_STRUCTP(r->out.validation);
14497 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14498 ZERO_STRUCTP(r->out.authoritative);
14499 NDR_PULL_ALLOC(ndr, r->out.flags);
14500 *r->out.flags = *r->in.flags;
14502 if (flags & NDR_OUT) {
14503 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
14504 if (_ptr_return_authenticator) {
14505 NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14507 r->out.return_authenticator = NULL;
14509 if (r->out.return_authenticator) {
14510 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14511 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
14512 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14513 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
14515 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14516 NDR_PULL_ALLOC(ndr, r->out.validation);
14518 _mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
14519 NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
14520 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
14521 NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
14522 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
14523 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14524 NDR_PULL_ALLOC(ndr, r->out.authoritative);
14526 _mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
14527 NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
14528 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
14529 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
14530 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14531 NDR_PULL_ALLOC(ndr, r->out.flags);
14533 _mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
14534 NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
14535 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
14536 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
14537 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14539 return NDR_ERR_SUCCESS;
14542 _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
14544 ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
14546 if (flags & NDR_SET_VALUES) {
14547 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14549 if (flags & NDR_IN) {
14550 ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
14552 ndr_print_ptr(ndr, "server_name", r->in.server_name);
14554 if (r->in.server_name) {
14555 ndr_print_string(ndr, "server_name", r->in.server_name);
14558 ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14560 if (r->in.computer_name) {
14561 ndr_print_string(ndr, "computer_name", r->in.computer_name);
14564 ndr_print_ptr(ndr, "credential", r->in.credential);
14566 if (r->in.credential) {
14567 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14570 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
14572 if (r->in.return_authenticator) {
14573 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
14576 ndr_print_uint16(ndr, "logon_level", r->in.logon_level);
14577 ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
14578 ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
14579 ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
14580 ndr_print_ptr(ndr, "flags", r->in.flags);
14582 ndr_print_uint32(ndr, "flags", *r->in.flags);
14586 if (flags & NDR_OUT) {
14587 ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
14589 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14591 if (r->out.return_authenticator) {
14592 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14595 ndr_print_ptr(ndr, "validation", r->out.validation);
14597 ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
14598 ndr_print_netr_Validation(ndr, "validation", r->out.validation);
14600 ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
14602 ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
14604 ndr_print_ptr(ndr, "flags", r->out.flags);
14606 ndr_print_uint32(ndr, "flags", *r->out.flags);
14608 ndr_print_NTSTATUS(ndr, "result", r->out.result);
14614 static enum ndr_err_code ndr_push_netr_NETRSERVERGETTRUSTINFO(struct ndr_push *ndr, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14616 if (flags & NDR_IN) {
14618 if (flags & NDR_OUT) {
14619 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14621 return NDR_ERR_SUCCESS;
14624 static enum ndr_err_code ndr_pull_netr_NETRSERVERGETTRUSTINFO(struct ndr_pull *ndr, int flags, struct netr_NETRSERVERGETTRUSTINFO *r)
14626 if (flags & NDR_IN) {
14628 if (flags & NDR_OUT) {
14629 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14631 return NDR_ERR_SUCCESS;
14634 _PUBLIC_ void ndr_print_netr_NETRSERVERGETTRUSTINFO(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRSERVERGETTRUSTINFO *r)
14636 ndr_print_struct(ndr, name, "netr_NETRSERVERGETTRUSTINFO");
14638 if (flags & NDR_SET_VALUES) {
14639 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14641 if (flags & NDR_IN) {
14642 ndr_print_struct(ndr, "in", "netr_NETRSERVERGETTRUSTINFO");
14646 if (flags & NDR_OUT) {
14647 ndr_print_struct(ndr, "out", "netr_NETRSERVERGETTRUSTINFO");
14649 ndr_print_WERROR(ndr, "result", r->out.result);
14655 static const struct ndr_interface_call netlogon_calls[] = {
14657 "netr_LogonUasLogon",
14658 sizeof(struct netr_LogonUasLogon),
14659 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
14660 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
14661 (ndr_print_function_t) ndr_print_netr_LogonUasLogon,
14665 "netr_LogonUasLogoff",
14666 sizeof(struct netr_LogonUasLogoff),
14667 (ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
14668 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
14669 (ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
14673 "netr_LogonSamLogon",
14674 sizeof(struct netr_LogonSamLogon),
14675 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
14676 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
14677 (ndr_print_function_t) ndr_print_netr_LogonSamLogon,
14681 "netr_LogonSamLogoff",
14682 sizeof(struct netr_LogonSamLogoff),
14683 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
14684 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
14685 (ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
14689 "netr_ServerReqChallenge",
14690 sizeof(struct netr_ServerReqChallenge),
14691 (ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
14692 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
14693 (ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
14697 "netr_ServerAuthenticate",
14698 sizeof(struct netr_ServerAuthenticate),
14699 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
14700 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
14701 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
14705 "netr_ServerPasswordSet",
14706 sizeof(struct netr_ServerPasswordSet),
14707 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
14708 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
14709 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
14713 "netr_DatabaseDeltas",
14714 sizeof(struct netr_DatabaseDeltas),
14715 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
14716 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
14717 (ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
14721 "netr_DatabaseSync",
14722 sizeof(struct netr_DatabaseSync),
14723 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
14724 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
14725 (ndr_print_function_t) ndr_print_netr_DatabaseSync,
14729 "netr_AccountDeltas",
14730 sizeof(struct netr_AccountDeltas),
14731 (ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
14732 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
14733 (ndr_print_function_t) ndr_print_netr_AccountDeltas,
14737 "netr_AccountSync",
14738 sizeof(struct netr_AccountSync),
14739 (ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
14740 (ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
14741 (ndr_print_function_t) ndr_print_netr_AccountSync,
14746 sizeof(struct netr_GetDcName),
14747 (ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
14748 (ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
14749 (ndr_print_function_t) ndr_print_netr_GetDcName,
14753 "netr_LogonControl",
14754 sizeof(struct netr_LogonControl),
14755 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
14756 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
14757 (ndr_print_function_t) ndr_print_netr_LogonControl,
14761 "netr_GetAnyDCName",
14762 sizeof(struct netr_GetAnyDCName),
14763 (ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
14764 (ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
14765 (ndr_print_function_t) ndr_print_netr_GetAnyDCName,
14769 "netr_LogonControl2",
14770 sizeof(struct netr_LogonControl2),
14771 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
14772 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
14773 (ndr_print_function_t) ndr_print_netr_LogonControl2,
14777 "netr_ServerAuthenticate2",
14778 sizeof(struct netr_ServerAuthenticate2),
14779 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
14780 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
14781 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
14785 "netr_DatabaseSync2",
14786 sizeof(struct netr_DatabaseSync2),
14787 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
14788 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
14789 (ndr_print_function_t) ndr_print_netr_DatabaseSync2,
14793 "netr_DatabaseRedo",
14794 sizeof(struct netr_DatabaseRedo),
14795 (ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
14796 (ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
14797 (ndr_print_function_t) ndr_print_netr_DatabaseRedo,
14801 "netr_LogonControl2Ex",
14802 sizeof(struct netr_LogonControl2Ex),
14803 (ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
14804 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
14805 (ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
14809 "netr_NetrEnumerateTrustedDomains",
14810 sizeof(struct netr_NetrEnumerateTrustedDomains),
14811 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
14812 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
14813 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
14817 "netr_DsRGetDCName",
14818 sizeof(struct netr_DsRGetDCName),
14819 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
14820 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
14821 (ndr_print_function_t) ndr_print_netr_DsRGetDCName,
14825 "netr_NETRLOGONDUMMYROUTINE1",
14826 sizeof(struct netr_NETRLOGONDUMMYROUTINE1),
14827 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONDUMMYROUTINE1,
14828 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONDUMMYROUTINE1,
14829 (ndr_print_function_t) ndr_print_netr_NETRLOGONDUMMYROUTINE1,
14833 "netr_NETRLOGONSETSERVICEBITS",
14834 sizeof(struct netr_NETRLOGONSETSERVICEBITS),
14835 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
14836 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
14837 (ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
14841 "netr_LogonGetTrustRid",
14842 sizeof(struct netr_LogonGetTrustRid),
14843 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
14844 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
14845 (ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
14849 "netr_NETRLOGONCOMPUTESERVERDIGEST",
14850 sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
14851 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
14852 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
14853 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
14857 "netr_NETRLOGONCOMPUTECLIENTDIGEST",
14858 sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
14859 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14860 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14861 (ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
14865 "netr_ServerAuthenticate3",
14866 sizeof(struct netr_ServerAuthenticate3),
14867 (ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
14868 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
14869 (ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
14873 "netr_DsRGetDCNameEx",
14874 sizeof(struct netr_DsRGetDCNameEx),
14875 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
14876 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
14877 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
14881 "netr_DsRGetSiteName",
14882 sizeof(struct netr_DsRGetSiteName),
14883 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
14884 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
14885 (ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
14889 "netr_LogonGetDomainInfo",
14890 sizeof(struct netr_LogonGetDomainInfo),
14891 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
14892 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
14893 (ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
14897 "netr_ServerPasswordSet2",
14898 sizeof(struct netr_ServerPasswordSet2),
14899 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
14900 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
14901 (ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
14905 "netr_ServerPasswordGet",
14906 sizeof(struct netr_ServerPasswordGet),
14907 (ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
14908 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
14909 (ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
14913 "netr_NETRLOGONSENDTOSAM",
14914 sizeof(struct netr_NETRLOGONSENDTOSAM),
14915 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
14916 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
14917 (ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
14921 "netr_DsRAddressToSitenamesW",
14922 sizeof(struct netr_DsRAddressToSitenamesW),
14923 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
14924 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
14925 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
14929 "netr_DsRGetDCNameEx2",
14930 sizeof(struct netr_DsRGetDCNameEx2),
14931 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
14932 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
14933 (ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
14937 "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
14938 sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
14939 (ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14940 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14941 (ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
14945 "netr_NetrEnumerateTrustedDomainsEx",
14946 sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
14947 (ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
14948 (ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
14949 (ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
14953 "netr_DsRAddressToSitenamesExW",
14954 sizeof(struct netr_DsRAddressToSitenamesExW),
14955 (ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
14956 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
14957 (ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
14961 "netr_DsrGetDcSiteCoverageW",
14962 sizeof(struct netr_DsrGetDcSiteCoverageW),
14963 (ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
14964 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
14965 (ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
14969 "netr_LogonSamLogonEx",
14970 sizeof(struct netr_LogonSamLogonEx),
14971 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
14972 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
14973 (ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
14977 "netr_DsrEnumerateDomainTrusts",
14978 sizeof(struct netr_DsrEnumerateDomainTrusts),
14979 (ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
14980 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
14981 (ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
14985 "netr_DsrDeregisterDNSHostRecords",
14986 sizeof(struct netr_DsrDeregisterDNSHostRecords),
14987 (ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
14988 (ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
14989 (ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
14993 "netr_ServerTrustPasswordsGet",
14994 sizeof(struct netr_ServerTrustPasswordsGet),
14995 (ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
14996 (ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
14997 (ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
15001 "netr_DsRGetForestTrustInformation",
15002 sizeof(struct netr_DsRGetForestTrustInformation),
15003 (ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
15004 (ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
15005 (ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
15009 "netr_GetForestTrustInformation",
15010 sizeof(struct netr_GetForestTrustInformation),
15011 (ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
15012 (ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
15013 (ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
15017 "netr_LogonSamLogonWithFlags",
15018 sizeof(struct netr_LogonSamLogonWithFlags),
15019 (ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
15020 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
15021 (ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
15025 "netr_NETRSERVERGETTRUSTINFO",
15026 sizeof(struct netr_NETRSERVERGETTRUSTINFO),
15027 (ndr_push_flags_fn_t) ndr_push_netr_NETRSERVERGETTRUSTINFO,
15028 (ndr_pull_flags_fn_t) ndr_pull_netr_NETRSERVERGETTRUSTINFO,
15029 (ndr_print_function_t) ndr_print_netr_NETRSERVERGETTRUSTINFO,
15032 { NULL, 0, NULL, NULL, NULL, false }
15035 static const char * const netlogon_endpoint_strings[] = {
15036 "ncacn_np:[\\pipe\\netlogon]",
15041 static const struct ndr_interface_string_array netlogon_endpoints = {
15043 .names = netlogon_endpoint_strings
15046 static const char * const netlogon_authservice_strings[] = {
15050 static const struct ndr_interface_string_array netlogon_authservices = {
15052 .names = netlogon_authservice_strings
15056 const struct ndr_interface_table ndr_table_netlogon = {
15057 .name = "netlogon",
15059 {0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
15060 NDR_NETLOGON_VERSION
15062 .helpstring = NDR_NETLOGON_HELPSTRING,
15064 .calls = netlogon_calls,
15065 .endpoints = &netlogon_endpoints,
15066 .authservices = &netlogon_authservices