1
/* parser auto-generated by pidl */
4
#include "../librpc/gen_ndr/ndr_netlogon.h"
6
#include "librpc/gen_ndr/ndr_misc.h"
7
#include "librpc/gen_ndr/ndr_lsa.h"
8
#include "librpc/gen_ndr/ndr_samr.h"
9
#include "librpc/gen_ndr/ndr_security.h"
10
#include "librpc/gen_ndr/ndr_nbt.h"
11
static enum ndr_err_code ndr_push_netr_UasInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasInfo *r)
13
if (ndr_flags & NDR_SCALARS) {
14
NDR_CHECK(ndr_push_align(ndr, 5));
15
NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
16
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priv));
17
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_flags));
18
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_count));
19
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pw_count));
20
NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logon));
21
NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->last_logoff));
22
NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->logoff_time));
23
NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->kickoff_time));
24
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->password_age));
25
NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_can_change));
26
NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->pw_must_change));
27
NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer));
28
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
29
NDR_CHECK(ndr_push_unique_ptr(ndr, r->script_path));
30
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
31
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
33
if (ndr_flags & NDR_BUFFERS) {
34
if (r->account_name) {
35
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
36
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
37
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
38
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
41
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
42
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
43
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->computer, CH_UTF16)));
44
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->computer, ndr_charset_length(r->computer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
47
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
48
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
49
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
50
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
53
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
54
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
55
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->script_path, CH_UTF16)));
56
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->script_path, ndr_charset_length(r->script_path, CH_UTF16), sizeof(uint16_t), CH_UTF16));
59
return NDR_ERR_SUCCESS;
62
static enum ndr_err_code ndr_pull_netr_UasInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasInfo *r)
64
uint32_t _ptr_account_name;
65
TALLOC_CTX *_mem_save_account_name_0;
66
uint32_t _ptr_computer;
67
TALLOC_CTX *_mem_save_computer_0;
69
TALLOC_CTX *_mem_save_domain_0;
70
uint32_t _ptr_script_path;
71
TALLOC_CTX *_mem_save_script_path_0;
72
if (ndr_flags & NDR_SCALARS) {
73
NDR_CHECK(ndr_pull_align(ndr, 5));
74
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
75
if (_ptr_account_name) {
76
NDR_PULL_ALLOC(ndr, r->account_name);
78
r->account_name = NULL;
80
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priv));
81
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_flags));
82
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_count));
83
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pw_count));
84
NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logon));
85
NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->last_logoff));
86
NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->logoff_time));
87
NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->kickoff_time));
88
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->password_age));
89
NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_can_change));
90
NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->pw_must_change));
91
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer));
93
NDR_PULL_ALLOC(ndr, r->computer);
97
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
99
NDR_PULL_ALLOC(ndr, r->domain);
103
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_script_path));
104
if (_ptr_script_path) {
105
NDR_PULL_ALLOC(ndr, r->script_path);
107
r->script_path = NULL;
109
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
110
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
112
if (ndr_flags & NDR_BUFFERS) {
113
if (r->account_name) {
114
_mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
115
NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
116
NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
117
NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
118
if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
119
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));
121
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
122
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
123
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
126
_mem_save_computer_0 = NDR_PULL_GET_MEM_CTX(ndr);
127
NDR_PULL_SET_MEM_CTX(ndr, r->computer, 0);
128
NDR_CHECK(ndr_pull_array_size(ndr, &r->computer));
129
NDR_CHECK(ndr_pull_array_length(ndr, &r->computer));
130
if (ndr_get_array_length(ndr, &r->computer) > ndr_get_array_size(ndr, &r->computer)) {
131
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));
133
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t)));
134
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->computer, ndr_get_array_length(ndr, &r->computer), sizeof(uint16_t), CH_UTF16));
135
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_0, 0);
138
_mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
139
NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
140
NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
141
NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
142
if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
143
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));
145
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
146
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
147
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
149
if (r->script_path) {
150
_mem_save_script_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
151
NDR_PULL_SET_MEM_CTX(ndr, r->script_path, 0);
152
NDR_CHECK(ndr_pull_array_size(ndr, &r->script_path));
153
NDR_CHECK(ndr_pull_array_length(ndr, &r->script_path));
154
if (ndr_get_array_length(ndr, &r->script_path) > ndr_get_array_size(ndr, &r->script_path)) {
155
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));
157
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t)));
158
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->script_path, ndr_get_array_length(ndr, &r->script_path), sizeof(uint16_t), CH_UTF16));
159
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_script_path_0, 0);
162
return NDR_ERR_SUCCESS;
165
_PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r)
167
ndr_print_struct(ndr, name, "netr_UasInfo");
169
ndr_print_ptr(ndr, "account_name", r->account_name);
171
if (r->account_name) {
172
ndr_print_string(ndr, "account_name", r->account_name);
175
ndr_print_uint32(ndr, "priv", r->priv);
176
ndr_print_uint32(ndr, "auth_flags", r->auth_flags);
177
ndr_print_uint32(ndr, "logon_count", r->logon_count);
178
ndr_print_uint32(ndr, "bad_pw_count", r->bad_pw_count);
179
ndr_print_time_t(ndr, "last_logon", r->last_logon);
180
ndr_print_time_t(ndr, "last_logoff", r->last_logoff);
181
ndr_print_time_t(ndr, "logoff_time", r->logoff_time);
182
ndr_print_time_t(ndr, "kickoff_time", r->kickoff_time);
183
ndr_print_uint32(ndr, "password_age", r->password_age);
184
ndr_print_time_t(ndr, "pw_can_change", r->pw_can_change);
185
ndr_print_time_t(ndr, "pw_must_change", r->pw_must_change);
186
ndr_print_ptr(ndr, "computer", r->computer);
189
ndr_print_string(ndr, "computer", r->computer);
192
ndr_print_ptr(ndr, "domain", r->domain);
195
ndr_print_string(ndr, "domain", r->domain);
198
ndr_print_ptr(ndr, "script_path", r->script_path);
200
if (r->script_path) {
201
ndr_print_string(ndr, "script_path", r->script_path);
204
ndr_print_uint32(ndr, "unknown", r->unknown);
208
static enum ndr_err_code ndr_push_netr_UasLogoffInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_UasLogoffInfo *r)
210
if (ndr_flags & NDR_SCALARS) {
211
NDR_CHECK(ndr_push_align(ndr, 4));
212
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->duration));
213
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
214
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
216
if (ndr_flags & NDR_BUFFERS) {
218
return NDR_ERR_SUCCESS;
221
static enum ndr_err_code ndr_pull_netr_UasLogoffInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_UasLogoffInfo *r)
223
if (ndr_flags & NDR_SCALARS) {
224
NDR_CHECK(ndr_pull_align(ndr, 4));
225
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->duration));
226
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
227
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
229
if (ndr_flags & NDR_BUFFERS) {
231
return NDR_ERR_SUCCESS;
234
_PUBLIC_ void ndr_print_netr_UasLogoffInfo(struct ndr_print *ndr, const char *name, const struct netr_UasLogoffInfo *r)
236
ndr_print_struct(ndr, name, "netr_UasLogoffInfo");
238
ndr_print_uint32(ndr, "duration", r->duration);
239
ndr_print_uint16(ndr, "logon_count", r->logon_count);
243
_PUBLIC_ enum ndr_err_code ndr_push_netr_AcctLockStr(struct ndr_push *ndr, int ndr_flags, const struct netr_AcctLockStr *r)
245
if (ndr_flags & NDR_SCALARS) {
246
NDR_CHECK(ndr_push_align(ndr, 4));
247
NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->lockout_duration));
248
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reset_count));
249
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_attempt_lockout));
250
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy));
251
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
253
if (ndr_flags & NDR_BUFFERS) {
255
return NDR_ERR_SUCCESS;
258
_PUBLIC_ enum ndr_err_code ndr_pull_netr_AcctLockStr(struct ndr_pull *ndr, int ndr_flags, struct netr_AcctLockStr *r)
260
if (ndr_flags & NDR_SCALARS) {
261
NDR_CHECK(ndr_pull_align(ndr, 4));
262
NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->lockout_duration));
263
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reset_count));
264
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_attempt_lockout));
265
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
266
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
268
if (ndr_flags & NDR_BUFFERS) {
270
return NDR_ERR_SUCCESS;
273
_PUBLIC_ void ndr_print_netr_AcctLockStr(struct ndr_print *ndr, const char *name, const struct netr_AcctLockStr *r)
275
ndr_print_struct(ndr, name, "netr_AcctLockStr");
277
ndr_print_dlong(ndr, "lockout_duration", r->lockout_duration);
278
ndr_print_udlong(ndr, "reset_count", r->reset_count);
279
ndr_print_uint32(ndr, "bad_attempt_lockout", r->bad_attempt_lockout);
280
ndr_print_uint32(ndr, "dummy", r->dummy);
284
_PUBLIC_ enum ndr_err_code ndr_push_netr_LogonParameterControl(struct ndr_push *ndr, int ndr_flags, uint32_t r)
286
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
287
return NDR_ERR_SUCCESS;
290
_PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonParameterControl(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
293
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
295
return NDR_ERR_SUCCESS;
298
_PUBLIC_ void ndr_print_netr_LogonParameterControl(struct ndr_print *ndr, const char *name, uint32_t r)
300
ndr_print_uint32(ndr, name, r);
302
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_ALLOWED", MSV1_0_CLEARTEXT_PASSWORD_ALLOWED, r);
303
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_UPDATE_LOGON_STATISTICS", MSV1_0_UPDATE_LOGON_STATISTICS, r);
304
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_USER_PARAMETERS", MSV1_0_RETURN_USER_PARAMETERS, r);
305
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DONT_TRY_GUEST_ACCOUNT", MSV1_0_DONT_TRY_GUEST_ACCOUNT, r);
306
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT", MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT, r);
307
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PASSWORD_EXPIRY", MSV1_0_RETURN_PASSWORD_EXPIRY, r);
308
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_CLIENT_CHALLENGE", MSV1_0_USE_CLIENT_CHALLENGE, r);
309
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_GUEST_ACCOUNT_ONLY", MSV1_0_TRY_GUEST_ACCOUNT_ONLY, r);
310
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_RETURN_PROFILE_PATH", MSV1_0_RETURN_PROFILE_PATH, r);
311
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY", MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY, r);
312
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT", MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT, r);
313
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_DISABLE_PERSONAL_FALLBACK", MSV1_0_DISABLE_PERSONAL_FALLBACK, r);
314
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_FORCE_GUEST", MSV1_0_ALLOW_FORCE_GUEST, r);
315
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED", MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED, r);
316
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY", MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY, r);
317
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_ALLOW_MSVCHAPV2", MSV1_0_ALLOW_MSVCHAPV2, r);
318
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_S4U2SELF", MSV1_0_S4U2SELF, r);
319
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_CHECK_LOGONHOURS_FOR_S4U", MSV1_0_CHECK_LOGONHOURS_FOR_S4U, r);
320
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "MSV1_0_SUBAUTHENTICATION_DLL_EX", MSV1_0_SUBAUTHENTICATION_DLL_EX, r);
324
static enum ndr_err_code ndr_push_netr_IdentityInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_IdentityInfo *r)
326
if (ndr_flags & NDR_SCALARS) {
327
NDR_CHECK(ndr_push_align(ndr, 5));
328
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
329
NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->parameter_control));
330
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_low));
331
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_id_high));
332
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
333
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstation));
334
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
336
if (ndr_flags & NDR_BUFFERS) {
337
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
338
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
339
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
341
return NDR_ERR_SUCCESS;
344
static enum ndr_err_code ndr_pull_netr_IdentityInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_IdentityInfo *r)
346
if (ndr_flags & NDR_SCALARS) {
347
NDR_CHECK(ndr_pull_align(ndr, 5));
348
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
349
NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->parameter_control));
350
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_low));
351
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_id_high));
352
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
353
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstation));
354
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
356
if (ndr_flags & NDR_BUFFERS) {
357
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
358
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
359
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstation));
361
return NDR_ERR_SUCCESS;
364
_PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *name, const struct netr_IdentityInfo *r)
366
ndr_print_struct(ndr, name, "netr_IdentityInfo");
368
ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
369
ndr_print_netr_LogonParameterControl(ndr, "parameter_control", r->parameter_control);
370
ndr_print_uint32(ndr, "logon_id_low", r->logon_id_low);
371
ndr_print_uint32(ndr, "logon_id_high", r->logon_id_high);
372
ndr_print_lsa_String(ndr, "account_name", &r->account_name);
373
ndr_print_lsa_String(ndr, "workstation", &r->workstation);
377
static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordInfo *r)
379
if (ndr_flags & NDR_SCALARS) {
380
NDR_CHECK(ndr_push_align(ndr, 5));
381
NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
382
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
383
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
384
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
386
if (ndr_flags & NDR_BUFFERS) {
387
NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
389
return NDR_ERR_SUCCESS;
392
static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordInfo *r)
394
if (ndr_flags & NDR_SCALARS) {
395
NDR_CHECK(ndr_pull_align(ndr, 5));
396
NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
397
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
398
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
399
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
401
if (ndr_flags & NDR_BUFFERS) {
402
NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
404
return NDR_ERR_SUCCESS;
407
_PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r)
409
ndr_print_struct(ndr, name, "netr_PasswordInfo");
411
ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
412
ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
413
ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
417
static enum ndr_err_code ndr_push_netr_ChallengeResponse(struct ndr_push *ndr, int ndr_flags, const struct netr_ChallengeResponse *r)
420
uint32_t _flags_save_STRUCT = ndr->flags;
421
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
422
if (ndr_flags & NDR_SCALARS) {
423
NDR_CHECK(ndr_push_align(ndr, 5));
424
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
425
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
426
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
427
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
429
if (ndr_flags & NDR_BUFFERS) {
431
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
432
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
433
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
434
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
437
ndr->flags = _flags_save_STRUCT;
439
return NDR_ERR_SUCCESS;
442
static enum ndr_err_code ndr_pull_netr_ChallengeResponse(struct ndr_pull *ndr, int ndr_flags, struct netr_ChallengeResponse *r)
445
TALLOC_CTX *_mem_save_data_0;
447
uint32_t _flags_save_STRUCT = ndr->flags;
448
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
449
if (ndr_flags & NDR_SCALARS) {
450
NDR_CHECK(ndr_pull_align(ndr, 5));
451
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
452
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
453
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
455
NDR_PULL_ALLOC(ndr, r->data);
459
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
461
if (ndr_flags & NDR_BUFFERS) {
463
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
464
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
465
NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
466
NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
467
if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
468
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));
470
NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
471
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
472
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
475
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
478
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
481
ndr->flags = _flags_save_STRUCT;
483
return NDR_ERR_SUCCESS;
486
_PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r)
488
ndr_print_struct(ndr, name, "netr_ChallengeResponse");
490
uint32_t _flags_save_STRUCT = ndr->flags;
491
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
493
ndr_print_uint16(ndr, "length", r->length);
494
ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
495
ndr_print_ptr(ndr, "data", r->data);
498
ndr_print_array_uint8(ndr, "data", r->data, r->length);
502
ndr->flags = _flags_save_STRUCT;
506
static enum ndr_err_code ndr_push_netr_NetworkInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_NetworkInfo *r)
509
uint32_t _flags_save_STRUCT = ndr->flags;
510
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
511
if (ndr_flags & NDR_SCALARS) {
512
NDR_CHECK(ndr_push_align(ndr, 5));
513
NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
514
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
515
NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
516
NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
517
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
519
if (ndr_flags & NDR_BUFFERS) {
520
NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
521
NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
522
NDR_CHECK(ndr_push_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
524
ndr->flags = _flags_save_STRUCT;
526
return NDR_ERR_SUCCESS;
529
static enum ndr_err_code ndr_pull_netr_NetworkInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_NetworkInfo *r)
532
uint32_t _flags_save_STRUCT = ndr->flags;
533
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
534
if (ndr_flags & NDR_SCALARS) {
535
NDR_CHECK(ndr_pull_align(ndr, 5));
536
NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
537
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
538
NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->nt));
539
NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_SCALARS, &r->lm));
540
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
542
if (ndr_flags & NDR_BUFFERS) {
543
NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
544
NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->nt));
545
NDR_CHECK(ndr_pull_netr_ChallengeResponse(ndr, NDR_BUFFERS, &r->lm));
547
ndr->flags = _flags_save_STRUCT;
549
return NDR_ERR_SUCCESS;
552
_PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r)
554
ndr_print_struct(ndr, name, "netr_NetworkInfo");
556
uint32_t _flags_save_STRUCT = ndr->flags;
557
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
559
ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
560
ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
561
ndr_print_netr_ChallengeResponse(ndr, "nt", &r->nt);
562
ndr_print_netr_ChallengeResponse(ndr, "lm", &r->lm);
564
ndr->flags = _flags_save_STRUCT;
568
static enum ndr_err_code ndr_push_netr_GenericInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo *r)
571
uint32_t _flags_save_STRUCT = ndr->flags;
572
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
573
if (ndr_flags & NDR_SCALARS) {
574
NDR_CHECK(ndr_push_align(ndr, 5));
575
NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
576
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
577
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
578
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
579
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
581
if (ndr_flags & NDR_BUFFERS) {
582
NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
583
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
585
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
586
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
589
ndr->flags = _flags_save_STRUCT;
591
return NDR_ERR_SUCCESS;
594
static enum ndr_err_code ndr_pull_netr_GenericInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo *r)
597
TALLOC_CTX *_mem_save_data_0;
599
uint32_t _flags_save_STRUCT = ndr->flags;
600
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
601
if (ndr_flags & NDR_SCALARS) {
602
NDR_CHECK(ndr_pull_align(ndr, 5));
603
NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_SCALARS, &r->identity_info));
604
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
605
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
606
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
608
NDR_PULL_ALLOC(ndr, r->data);
612
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
614
if (ndr_flags & NDR_BUFFERS) {
615
NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
616
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
618
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
619
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
620
NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
621
NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
622
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
623
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
626
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
629
ndr->flags = _flags_save_STRUCT;
631
return NDR_ERR_SUCCESS;
634
_PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r)
636
ndr_print_struct(ndr, name, "netr_GenericInfo");
638
uint32_t _flags_save_STRUCT = ndr->flags;
639
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
641
ndr_print_netr_IdentityInfo(ndr, "identity_info", &r->identity_info);
642
ndr_print_lsa_String(ndr, "package_name", &r->package_name);
643
ndr_print_uint32(ndr, "length", r->length);
644
ndr_print_ptr(ndr, "data", r->data);
647
ndr_print_array_uint8(ndr, "data", r->data, r->length);
651
ndr->flags = _flags_save_STRUCT;
655
static enum ndr_err_code ndr_push_netr_LogonInfoClass(struct ndr_push *ndr, int ndr_flags, enum netr_LogonInfoClass r)
657
NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
658
return NDR_ERR_SUCCESS;
661
static enum ndr_err_code ndr_pull_netr_LogonInfoClass(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonInfoClass *r)
664
NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
666
return NDR_ERR_SUCCESS;
669
_PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r)
671
const char *val = NULL;
674
case NetlogonInteractiveInformation: val = "NetlogonInteractiveInformation"; break;
675
case NetlogonNetworkInformation: val = "NetlogonNetworkInformation"; break;
676
case NetlogonServiceInformation: val = "NetlogonServiceInformation"; break;
677
case NetlogonGenericInformation: val = "NetlogonGenericInformation"; break;
678
case NetlogonInteractiveTransitiveInformation: val = "NetlogonInteractiveTransitiveInformation"; break;
679
case NetlogonNetworkTransitiveInformation: val = "NetlogonNetworkTransitiveInformation"; break;
680
case NetlogonServiceTransitiveInformation: val = "NetlogonServiceTransitiveInformation"; break;
682
ndr_print_enum(ndr, name, "ENUM", val, r);
685
_PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r)
687
if (ndr_flags & NDR_SCALARS) {
688
int level = ndr_push_get_switch_value(ndr, r);
689
NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, level));
690
NDR_CHECK(ndr_push_union_align(ndr, 5));
692
case NetlogonInteractiveInformation: {
693
NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
696
case NetlogonNetworkInformation: {
697
NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
700
case NetlogonServiceInformation: {
701
NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
704
case NetlogonGenericInformation: {
705
NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
708
case NetlogonInteractiveTransitiveInformation: {
709
NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
712
case NetlogonNetworkTransitiveInformation: {
713
NDR_CHECK(ndr_push_unique_ptr(ndr, r->network));
716
case NetlogonServiceTransitiveInformation: {
717
NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
721
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
724
if (ndr_flags & NDR_BUFFERS) {
725
int level = ndr_push_get_switch_value(ndr, r);
727
case NetlogonInteractiveInformation:
729
NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
733
case NetlogonNetworkInformation:
735
NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
739
case NetlogonServiceInformation:
741
NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
745
case NetlogonGenericInformation:
747
NDR_CHECK(ndr_push_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
751
case NetlogonInteractiveTransitiveInformation:
753
NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
757
case NetlogonNetworkTransitiveInformation:
759
NDR_CHECK(ndr_push_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
763
case NetlogonServiceTransitiveInformation:
765
NDR_CHECK(ndr_push_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
770
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
773
return NDR_ERR_SUCCESS;
776
_PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r)
780
TALLOC_CTX *_mem_save_password_0;
781
TALLOC_CTX *_mem_save_network_0;
782
TALLOC_CTX *_mem_save_generic_0;
783
level = ndr_pull_get_switch_value(ndr, r);
784
if (ndr_flags & NDR_SCALARS) {
785
NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
786
if (_level != level) {
787
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
789
NDR_CHECK(ndr_pull_union_align(ndr, 5));
791
case NetlogonInteractiveInformation: {
792
uint32_t _ptr_password;
793
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
795
NDR_PULL_ALLOC(ndr, r->password);
801
case NetlogonNetworkInformation: {
802
uint32_t _ptr_network;
803
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
805
NDR_PULL_ALLOC(ndr, r->network);
811
case NetlogonServiceInformation: {
812
uint32_t _ptr_password;
813
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
815
NDR_PULL_ALLOC(ndr, r->password);
821
case NetlogonGenericInformation: {
822
uint32_t _ptr_generic;
823
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
825
NDR_PULL_ALLOC(ndr, r->generic);
831
case NetlogonInteractiveTransitiveInformation: {
832
uint32_t _ptr_password;
833
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
835
NDR_PULL_ALLOC(ndr, r->password);
841
case NetlogonNetworkTransitiveInformation: {
842
uint32_t _ptr_network;
843
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_network));
845
NDR_PULL_ALLOC(ndr, r->network);
851
case NetlogonServiceTransitiveInformation: {
852
uint32_t _ptr_password;
853
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
855
NDR_PULL_ALLOC(ndr, r->password);
862
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
865
if (ndr_flags & NDR_BUFFERS) {
867
case NetlogonInteractiveInformation:
869
_mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
870
NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
871
NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
872
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
876
case NetlogonNetworkInformation:
878
_mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
879
NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
880
NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
881
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
885
case NetlogonServiceInformation:
887
_mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
888
NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
889
NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
890
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
894
case NetlogonGenericInformation:
896
_mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
897
NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
898
NDR_CHECK(ndr_pull_netr_GenericInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
899
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
903
case NetlogonInteractiveTransitiveInformation:
905
_mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
906
NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
907
NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
908
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
912
case NetlogonNetworkTransitiveInformation:
914
_mem_save_network_0 = NDR_PULL_GET_MEM_CTX(ndr);
915
NDR_PULL_SET_MEM_CTX(ndr, r->network, 0);
916
NDR_CHECK(ndr_pull_netr_NetworkInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->network));
917
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_network_0, 0);
921
case NetlogonServiceTransitiveInformation:
923
_mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
924
NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
925
NDR_CHECK(ndr_pull_netr_PasswordInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
926
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
931
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
934
return NDR_ERR_SUCCESS;
937
_PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r)
940
level = ndr_print_get_switch_value(ndr, r);
941
ndr_print_union(ndr, name, level, "netr_LogonLevel");
943
case NetlogonInteractiveInformation:
944
ndr_print_ptr(ndr, "password", r->password);
947
ndr_print_netr_PasswordInfo(ndr, "password", r->password);
952
case NetlogonNetworkInformation:
953
ndr_print_ptr(ndr, "network", r->network);
956
ndr_print_netr_NetworkInfo(ndr, "network", r->network);
961
case NetlogonServiceInformation:
962
ndr_print_ptr(ndr, "password", r->password);
965
ndr_print_netr_PasswordInfo(ndr, "password", r->password);
970
case NetlogonGenericInformation:
971
ndr_print_ptr(ndr, "generic", r->generic);
974
ndr_print_netr_GenericInfo(ndr, "generic", r->generic);
979
case NetlogonInteractiveTransitiveInformation:
980
ndr_print_ptr(ndr, "password", r->password);
983
ndr_print_netr_PasswordInfo(ndr, "password", r->password);
988
case NetlogonNetworkTransitiveInformation:
989
ndr_print_ptr(ndr, "network", r->network);
992
ndr_print_netr_NetworkInfo(ndr, "network", r->network);
997
case NetlogonServiceTransitiveInformation:
998
ndr_print_ptr(ndr, "password", r->password);
1001
ndr_print_netr_PasswordInfo(ndr, "password", r->password);
1007
ndr_print_bad_level(ndr, name, level);
1011
_PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r)
1014
uint32_t _flags_save_STRUCT = ndr->flags;
1015
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1016
if (ndr_flags & NDR_SCALARS) {
1017
NDR_CHECK(ndr_push_align(ndr, 1));
1018
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1019
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1021
if (ndr_flags & NDR_BUFFERS) {
1023
ndr->flags = _flags_save_STRUCT;
1025
return NDR_ERR_SUCCESS;
1028
_PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r)
1031
uint32_t _flags_save_STRUCT = ndr->flags;
1032
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1033
if (ndr_flags & NDR_SCALARS) {
1034
NDR_CHECK(ndr_pull_align(ndr, 1));
1035
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 16));
1036
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1038
if (ndr_flags & NDR_BUFFERS) {
1040
ndr->flags = _flags_save_STRUCT;
1042
return NDR_ERR_SUCCESS;
1045
_PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r)
1047
ndr_print_struct(ndr, name, "netr_UserSessionKey");
1049
uint32_t _flags_save_STRUCT = ndr->flags;
1050
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1052
ndr_print_array_uint8(ndr, "key", r->key, 16);
1054
ndr->flags = _flags_save_STRUCT;
1058
_PUBLIC_ enum ndr_err_code ndr_push_netr_LMSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_LMSessionKey *r)
1061
uint32_t _flags_save_STRUCT = ndr->flags;
1062
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1063
if (ndr_flags & NDR_SCALARS) {
1064
NDR_CHECK(ndr_push_align(ndr, 1));
1065
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1066
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1068
if (ndr_flags & NDR_BUFFERS) {
1070
ndr->flags = _flags_save_STRUCT;
1072
return NDR_ERR_SUCCESS;
1075
_PUBLIC_ enum ndr_err_code ndr_pull_netr_LMSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_LMSessionKey *r)
1078
uint32_t _flags_save_STRUCT = ndr->flags;
1079
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1080
if (ndr_flags & NDR_SCALARS) {
1081
NDR_CHECK(ndr_pull_align(ndr, 1));
1082
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->key, 8));
1083
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1085
if (ndr_flags & NDR_BUFFERS) {
1087
ndr->flags = _flags_save_STRUCT;
1089
return NDR_ERR_SUCCESS;
1092
_PUBLIC_ void ndr_print_netr_LMSessionKey(struct ndr_print *ndr, const char *name, const struct netr_LMSessionKey *r)
1094
ndr_print_struct(ndr, name, "netr_LMSessionKey");
1096
uint32_t _flags_save_STRUCT = ndr->flags;
1097
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1099
ndr_print_array_uint8(ndr, "key", r->key, 8);
1101
ndr->flags = _flags_save_STRUCT;
1105
_PUBLIC_ enum ndr_err_code ndr_push_netr_UserFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1107
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1108
return NDR_ERR_SUCCESS;
1111
_PUBLIC_ enum ndr_err_code ndr_pull_netr_UserFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1114
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1116
return NDR_ERR_SUCCESS;
1119
_PUBLIC_ void ndr_print_netr_UserFlags(struct ndr_print *ndr, const char *name, uint32_t r)
1121
ndr_print_uint32(ndr, name, r);
1123
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GUEST", NETLOGON_GUEST, r);
1124
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NOENCRYPTION", NETLOGON_NOENCRYPTION, r);
1125
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_CACHED_ACCOUNT", NETLOGON_CACHED_ACCOUNT, r);
1126
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_USED_LM_PASSWORD", NETLOGON_USED_LM_PASSWORD, r);
1127
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_EXTRA_SIDS", NETLOGON_EXTRA_SIDS, r);
1128
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SUBAUTH_SESSION_KEY", NETLOGON_SUBAUTH_SESSION_KEY, r);
1129
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_SERVER_TRUST_ACCOUNT", NETLOGON_SERVER_TRUST_ACCOUNT, r);
1130
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NTLMV2_ENABLED", NETLOGON_NTLMV2_ENABLED, r);
1131
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_RESOURCE_GROUPS", NETLOGON_RESOURCE_GROUPS, r);
1132
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_PROFILE_PATH_RETURNED", NETLOGON_PROFILE_PATH_RETURNED, r);
1133
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_GRACE_LOGON", NETLOGON_GRACE_LOGON, r);
1137
static enum ndr_err_code ndr_push_netr_SamBaseInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_SamBaseInfo *r)
1139
uint32_t cntr_unknown_0;
1140
if (ndr_flags & NDR_SCALARS) {
1141
NDR_CHECK(ndr_push_align(ndr, 5));
1142
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
1143
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
1144
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
1145
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
1146
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
1147
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
1148
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1149
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1150
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1151
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1152
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1153
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1154
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
1155
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
1156
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
1157
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1158
NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1159
NDR_CHECK(ndr_push_netr_UserFlags(ndr, NDR_SCALARS, r->user_flags));
1160
NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1161
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1162
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1163
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
1164
NDR_CHECK(ndr_push_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1165
NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
1166
for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1167
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown[cntr_unknown_0]));
1169
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1171
if (ndr_flags & NDR_BUFFERS) {
1172
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1173
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1174
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1175
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1176
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1177
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1178
NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1179
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1180
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1181
if (r->domain_sid) {
1182
NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1185
return NDR_ERR_SUCCESS;
1188
static enum ndr_err_code ndr_pull_netr_SamBaseInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_SamBaseInfo *r)
1190
uint32_t _ptr_domain_sid;
1191
TALLOC_CTX *_mem_save_domain_sid_0;
1192
uint32_t cntr_unknown_0;
1193
if (ndr_flags & NDR_SCALARS) {
1194
NDR_CHECK(ndr_pull_align(ndr, 5));
1195
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
1196
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
1197
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
1198
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
1199
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
1200
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
1201
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1202
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1203
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1204
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1205
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1206
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1207
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
1208
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
1209
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1210
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1211
NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1212
NDR_CHECK(ndr_pull_netr_UserFlags(ndr, NDR_SCALARS, &r->user_flags));
1213
NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->key));
1214
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->logon_server));
1215
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain));
1216
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1217
if (_ptr_domain_sid) {
1218
NDR_PULL_ALLOC(ndr, r->domain_sid);
1220
r->domain_sid = NULL;
1222
NDR_CHECK(ndr_pull_netr_LMSessionKey(ndr, NDR_SCALARS, &r->LMSessKey));
1223
NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
1224
for (cntr_unknown_0 = 0; cntr_unknown_0 < 7; cntr_unknown_0++) {
1225
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown[cntr_unknown_0]));
1227
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1229
if (ndr_flags & NDR_BUFFERS) {
1230
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1231
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1232
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1233
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1234
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1235
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1236
NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1237
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->logon_server));
1238
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain));
1239
if (r->domain_sid) {
1240
_mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1241
NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1242
NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1243
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1246
return NDR_ERR_SUCCESS;
1249
_PUBLIC_ void ndr_print_netr_SamBaseInfo(struct ndr_print *ndr, const char *name, const struct netr_SamBaseInfo *r)
1251
uint32_t cntr_unknown_0;
1252
ndr_print_struct(ndr, name, "netr_SamBaseInfo");
1254
ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
1255
ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
1256
ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
1257
ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
1258
ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
1259
ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
1260
ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1261
ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1262
ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
1263
ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
1264
ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
1265
ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
1266
ndr_print_uint16(ndr, "logon_count", r->logon_count);
1267
ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
1268
ndr_print_uint32(ndr, "rid", r->rid);
1269
ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1270
ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1271
ndr_print_netr_UserFlags(ndr, "user_flags", r->user_flags);
1272
ndr_print_netr_UserSessionKey(ndr, "key", &r->key);
1273
ndr_print_lsa_StringLarge(ndr, "logon_server", &r->logon_server);
1274
ndr_print_lsa_StringLarge(ndr, "domain", &r->domain);
1275
ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1277
if (r->domain_sid) {
1278
ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1281
ndr_print_netr_LMSessionKey(ndr, "LMSessKey", &r->LMSessKey);
1282
ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
1283
ndr->print(ndr, "%s: ARRAY(%d)", "unknown", (int)7);
1285
for (cntr_unknown_0=0;cntr_unknown_0<7;cntr_unknown_0++) {
1287
if (asprintf(&idx_0, "[%d]", cntr_unknown_0) != -1) {
1288
ndr_print_uint32(ndr, "unknown", r->unknown[cntr_unknown_0]);
1296
static enum ndr_err_code ndr_push_netr_SamInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo2 *r)
1298
if (ndr_flags & NDR_SCALARS) {
1299
NDR_CHECK(ndr_push_align(ndr, 5));
1300
NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1301
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1303
if (ndr_flags & NDR_BUFFERS) {
1304
NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1306
return NDR_ERR_SUCCESS;
1309
static enum ndr_err_code ndr_pull_netr_SamInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo2 *r)
1311
if (ndr_flags & NDR_SCALARS) {
1312
NDR_CHECK(ndr_pull_align(ndr, 5));
1313
NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1314
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1316
if (ndr_flags & NDR_BUFFERS) {
1317
NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1319
return NDR_ERR_SUCCESS;
1322
_PUBLIC_ void ndr_print_netr_SamInfo2(struct ndr_print *ndr, const char *name, const struct netr_SamInfo2 *r)
1324
ndr_print_struct(ndr, name, "netr_SamInfo2");
1326
ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1330
static enum ndr_err_code ndr_push_netr_SidAttr(struct ndr_push *ndr, int ndr_flags, const struct netr_SidAttr *r)
1332
if (ndr_flags & NDR_SCALARS) {
1333
NDR_CHECK(ndr_push_align(ndr, 5));
1334
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1335
NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1336
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1338
if (ndr_flags & NDR_BUFFERS) {
1340
NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1343
return NDR_ERR_SUCCESS;
1346
static enum ndr_err_code ndr_pull_netr_SidAttr(struct ndr_pull *ndr, int ndr_flags, struct netr_SidAttr *r)
1349
TALLOC_CTX *_mem_save_sid_0;
1350
if (ndr_flags & NDR_SCALARS) {
1351
NDR_CHECK(ndr_pull_align(ndr, 5));
1352
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1354
NDR_PULL_ALLOC(ndr, r->sid);
1358
NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1359
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1361
if (ndr_flags & NDR_BUFFERS) {
1363
_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1364
NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1365
NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1366
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1369
return NDR_ERR_SUCCESS;
1372
_PUBLIC_ void ndr_print_netr_SidAttr(struct ndr_print *ndr, const char *name, const struct netr_SidAttr *r)
1374
ndr_print_struct(ndr, name, "netr_SidAttr");
1376
ndr_print_ptr(ndr, "sid", r->sid);
1379
ndr_print_dom_sid2(ndr, "sid", r->sid);
1382
ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1386
_PUBLIC_ enum ndr_err_code ndr_push_netr_SamInfo3(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo3 *r)
1388
uint32_t cntr_sids_1;
1389
if (ndr_flags & NDR_SCALARS) {
1390
NDR_CHECK(ndr_push_align(ndr, 5));
1391
NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1392
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1393
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1394
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1396
if (ndr_flags & NDR_BUFFERS) {
1397
NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1399
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sidcount));
1400
for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1401
NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1403
for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1404
NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1408
return NDR_ERR_SUCCESS;
1411
_PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo3 *r)
1414
uint32_t cntr_sids_1;
1415
TALLOC_CTX *_mem_save_sids_0;
1416
TALLOC_CTX *_mem_save_sids_1;
1417
if (ndr_flags & NDR_SCALARS) {
1418
NDR_CHECK(ndr_pull_align(ndr, 5));
1419
NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1420
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1421
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1423
NDR_PULL_ALLOC(ndr, r->sids);
1427
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1429
if (ndr_flags & NDR_BUFFERS) {
1430
NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1432
_mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1433
NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1434
NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1435
NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1436
_mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1437
NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1438
for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1439
NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1441
for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1442
NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1444
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1445
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1448
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1451
return NDR_ERR_SUCCESS;
1454
_PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r)
1456
uint32_t cntr_sids_1;
1457
ndr_print_struct(ndr, name, "netr_SamInfo3");
1459
ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1460
ndr_print_uint32(ndr, "sidcount", r->sidcount);
1461
ndr_print_ptr(ndr, "sids", r->sids);
1464
ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1466
for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1468
if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1469
ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1479
static enum ndr_err_code ndr_push_netr_SamInfo6(struct ndr_push *ndr, int ndr_flags, const struct netr_SamInfo6 *r)
1481
uint32_t cntr_sids_1;
1482
uint32_t cntr_unknown4_0;
1483
if (ndr_flags & NDR_SCALARS) {
1484
NDR_CHECK(ndr_push_align(ndr, 5));
1485
NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1486
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sidcount));
1487
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1488
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->forest));
1489
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principle));
1490
for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1491
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4[cntr_unknown4_0]));
1493
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1495
if (ndr_flags & NDR_BUFFERS) {
1496
NDR_CHECK(ndr_push_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1498
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sidcount));
1499
for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1500
NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1502
for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1503
NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1506
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1507
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1509
return NDR_ERR_SUCCESS;
1512
static enum ndr_err_code ndr_pull_netr_SamInfo6(struct ndr_pull *ndr, int ndr_flags, struct netr_SamInfo6 *r)
1515
uint32_t cntr_sids_1;
1516
TALLOC_CTX *_mem_save_sids_0;
1517
TALLOC_CTX *_mem_save_sids_1;
1518
uint32_t cntr_unknown4_0;
1519
if (ndr_flags & NDR_SCALARS) {
1520
NDR_CHECK(ndr_pull_align(ndr, 5));
1521
NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_SCALARS, &r->base));
1522
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sidcount));
1523
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1525
NDR_PULL_ALLOC(ndr, r->sids);
1529
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->forest));
1530
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principle));
1531
for (cntr_unknown4_0 = 0; cntr_unknown4_0 < 20; cntr_unknown4_0++) {
1532
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4[cntr_unknown4_0]));
1534
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1536
if (ndr_flags & NDR_BUFFERS) {
1537
NDR_CHECK(ndr_pull_netr_SamBaseInfo(ndr, NDR_BUFFERS, &r->base));
1539
_mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1540
NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1541
NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1542
NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1543
_mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1544
NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1545
for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1546
NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1548
for (cntr_sids_1 = 0; cntr_sids_1 < r->sidcount; cntr_sids_1++) {
1549
NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1551
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1552
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1554
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->forest));
1555
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principle));
1557
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sidcount));
1560
return NDR_ERR_SUCCESS;
1563
_PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r)
1565
uint32_t cntr_sids_1;
1566
uint32_t cntr_unknown4_0;
1567
ndr_print_struct(ndr, name, "netr_SamInfo6");
1569
ndr_print_netr_SamBaseInfo(ndr, "base", &r->base);
1570
ndr_print_uint32(ndr, "sidcount", r->sidcount);
1571
ndr_print_ptr(ndr, "sids", r->sids);
1574
ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sidcount);
1576
for (cntr_sids_1=0;cntr_sids_1<r->sidcount;cntr_sids_1++) {
1578
if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1579
ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1586
ndr_print_lsa_String(ndr, "forest", &r->forest);
1587
ndr_print_lsa_String(ndr, "principle", &r->principle);
1588
ndr->print(ndr, "%s: ARRAY(%d)", "unknown4", (int)20);
1590
for (cntr_unknown4_0=0;cntr_unknown4_0<20;cntr_unknown4_0++) {
1592
if (asprintf(&idx_0, "[%d]", cntr_unknown4_0) != -1) {
1593
ndr_print_uint32(ndr, "unknown4", r->unknown4[cntr_unknown4_0]);
1601
static enum ndr_err_code ndr_push_netr_PacInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_PacInfo *r)
1603
uint32_t cntr_expansionroom_0;
1604
if (ndr_flags & NDR_SCALARS) {
1605
NDR_CHECK(ndr_push_align(ndr, 5));
1606
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pac_size));
1607
NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1608
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1609
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1610
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1611
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_size));
1612
NDR_CHECK(ndr_push_unique_ptr(ndr, r->auth));
1613
NDR_CHECK(ndr_push_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1614
for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1615
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->expansionroom[cntr_expansionroom_0]));
1617
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1618
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1619
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1620
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1621
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1623
if (ndr_flags & NDR_BUFFERS) {
1625
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pac_size));
1626
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pac, r->pac_size));
1628
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1629
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1630
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1632
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->auth_size));
1633
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->auth, r->auth_size));
1635
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1636
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1637
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1638
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1640
return NDR_ERR_SUCCESS;
1643
static enum ndr_err_code ndr_pull_netr_PacInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_PacInfo *r)
1646
TALLOC_CTX *_mem_save_pac_0;
1648
TALLOC_CTX *_mem_save_auth_0;
1649
uint32_t cntr_expansionroom_0;
1650
if (ndr_flags & NDR_SCALARS) {
1651
NDR_CHECK(ndr_pull_align(ndr, 5));
1652
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pac_size));
1653
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1655
NDR_PULL_ALLOC(ndr, r->pac);
1659
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_domain));
1660
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_server));
1661
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->principal_name));
1662
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_size));
1663
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_auth));
1665
NDR_PULL_ALLOC(ndr, r->auth);
1669
NDR_CHECK(ndr_pull_netr_UserSessionKey(ndr, NDR_SCALARS, &r->user_session_key));
1670
for (cntr_expansionroom_0 = 0; cntr_expansionroom_0 < 10; cntr_expansionroom_0++) {
1671
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->expansionroom[cntr_expansionroom_0]));
1673
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
1674
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
1675
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
1676
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
1677
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1679
if (ndr_flags & NDR_BUFFERS) {
1681
_mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1682
NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1683
NDR_CHECK(ndr_pull_array_size(ndr, &r->pac));
1684
NDR_PULL_ALLOC_N(ndr, r->pac, ndr_get_array_size(ndr, &r->pac));
1685
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pac, ndr_get_array_size(ndr, &r->pac)));
1686
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
1688
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_domain));
1689
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_server));
1690
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->principal_name));
1692
_mem_save_auth_0 = NDR_PULL_GET_MEM_CTX(ndr);
1693
NDR_PULL_SET_MEM_CTX(ndr, r->auth, 0);
1694
NDR_CHECK(ndr_pull_array_size(ndr, &r->auth));
1695
NDR_PULL_ALLOC_N(ndr, r->auth, ndr_get_array_size(ndr, &r->auth));
1696
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->auth, ndr_get_array_size(ndr, &r->auth)));
1697
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_0, 0);
1699
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
1700
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
1701
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
1702
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
1704
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pac, r->pac_size));
1707
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->auth, r->auth_size));
1710
return NDR_ERR_SUCCESS;
1713
_PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r)
1715
uint32_t cntr_expansionroom_0;
1716
ndr_print_struct(ndr, name, "netr_PacInfo");
1718
ndr_print_uint32(ndr, "pac_size", r->pac_size);
1719
ndr_print_ptr(ndr, "pac", r->pac);
1722
ndr_print_array_uint8(ndr, "pac", r->pac, r->pac_size);
1725
ndr_print_lsa_String(ndr, "logon_domain", &r->logon_domain);
1726
ndr_print_lsa_String(ndr, "logon_server", &r->logon_server);
1727
ndr_print_lsa_String(ndr, "principal_name", &r->principal_name);
1728
ndr_print_uint32(ndr, "auth_size", r->auth_size);
1729
ndr_print_ptr(ndr, "auth", r->auth);
1732
ndr_print_array_uint8(ndr, "auth", r->auth, r->auth_size);
1735
ndr_print_netr_UserSessionKey(ndr, "user_session_key", &r->user_session_key);
1736
ndr->print(ndr, "%s: ARRAY(%d)", "expansionroom", (int)10);
1738
for (cntr_expansionroom_0=0;cntr_expansionroom_0<10;cntr_expansionroom_0++) {
1740
if (asprintf(&idx_0, "[%d]", cntr_expansionroom_0) != -1) {
1741
ndr_print_uint32(ndr, "expansionroom", r->expansionroom[cntr_expansionroom_0]);
1746
ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
1747
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
1748
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
1749
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
1753
static enum ndr_err_code ndr_push_netr_GenericInfo2(struct ndr_push *ndr, int ndr_flags, const struct netr_GenericInfo2 *r)
1756
uint32_t _flags_save_STRUCT = ndr->flags;
1757
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1758
if (ndr_flags & NDR_SCALARS) {
1759
NDR_CHECK(ndr_push_align(ndr, 5));
1760
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
1761
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
1762
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1764
if (ndr_flags & NDR_BUFFERS) {
1766
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
1767
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
1770
ndr->flags = _flags_save_STRUCT;
1772
return NDR_ERR_SUCCESS;
1775
static enum ndr_err_code ndr_pull_netr_GenericInfo2(struct ndr_pull *ndr, int ndr_flags, struct netr_GenericInfo2 *r)
1778
TALLOC_CTX *_mem_save_data_0;
1780
uint32_t _flags_save_STRUCT = ndr->flags;
1781
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1782
if (ndr_flags & NDR_SCALARS) {
1783
NDR_CHECK(ndr_pull_align(ndr, 5));
1784
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
1785
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
1787
NDR_PULL_ALLOC(ndr, r->data);
1791
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1793
if (ndr_flags & NDR_BUFFERS) {
1795
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
1796
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
1797
NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
1798
NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
1799
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
1800
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
1803
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
1806
ndr->flags = _flags_save_STRUCT;
1808
return NDR_ERR_SUCCESS;
1811
_PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r)
1813
ndr_print_struct(ndr, name, "netr_GenericInfo2");
1815
uint32_t _flags_save_STRUCT = ndr->flags;
1816
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1818
ndr_print_uint32(ndr, "length", r->length);
1819
ndr_print_ptr(ndr, "data", r->data);
1822
ndr_print_array_uint8(ndr, "data", r->data, r->length);
1826
ndr->flags = _flags_save_STRUCT;
1830
_PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r)
1832
if (ndr_flags & NDR_SCALARS) {
1833
int level = ndr_push_get_switch_value(ndr, r);
1834
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1835
NDR_CHECK(ndr_push_union_align(ndr, 5));
1837
case NetlogonValidationSamInfo: {
1838
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam2));
1841
case NetlogonValidationSamInfo2: {
1842
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam3));
1846
NDR_CHECK(ndr_push_unique_ptr(ndr, r->pac));
1849
case NetlogonValidationGenericInfo2: {
1850
NDR_CHECK(ndr_push_unique_ptr(ndr, r->generic));
1853
case NetlogonValidationSamInfo4: {
1854
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sam6));
1858
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1861
if (ndr_flags & NDR_BUFFERS) {
1862
int level = ndr_push_get_switch_value(ndr, r);
1864
case NetlogonValidationSamInfo:
1866
NDR_CHECK(ndr_push_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1870
case NetlogonValidationSamInfo2:
1872
NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1878
NDR_CHECK(ndr_push_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1882
case NetlogonValidationGenericInfo2:
1884
NDR_CHECK(ndr_push_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
1888
case NetlogonValidationSamInfo4:
1890
NDR_CHECK(ndr_push_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
1895
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1898
return NDR_ERR_SUCCESS;
1901
_PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r)
1905
TALLOC_CTX *_mem_save_sam2_0;
1906
TALLOC_CTX *_mem_save_sam3_0;
1907
TALLOC_CTX *_mem_save_pac_0;
1908
TALLOC_CTX *_mem_save_generic_0;
1909
TALLOC_CTX *_mem_save_sam6_0;
1910
level = ndr_pull_get_switch_value(ndr, r);
1911
if (ndr_flags & NDR_SCALARS) {
1912
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1913
if (_level != level) {
1914
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1916
NDR_CHECK(ndr_pull_union_align(ndr, 5));
1918
case NetlogonValidationSamInfo: {
1920
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam2));
1922
NDR_PULL_ALLOC(ndr, r->sam2);
1928
case NetlogonValidationSamInfo2: {
1930
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam3));
1932
NDR_PULL_ALLOC(ndr, r->sam3);
1940
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pac));
1942
NDR_PULL_ALLOC(ndr, r->pac);
1948
case NetlogonValidationGenericInfo2: {
1949
uint32_t _ptr_generic;
1950
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_generic));
1952
NDR_PULL_ALLOC(ndr, r->generic);
1958
case NetlogonValidationSamInfo4: {
1960
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam6));
1962
NDR_PULL_ALLOC(ndr, r->sam6);
1969
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1972
if (ndr_flags & NDR_BUFFERS) {
1974
case NetlogonValidationSamInfo:
1976
_mem_save_sam2_0 = NDR_PULL_GET_MEM_CTX(ndr);
1977
NDR_PULL_SET_MEM_CTX(ndr, r->sam2, 0);
1978
NDR_CHECK(ndr_pull_netr_SamInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam2));
1979
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam2_0, 0);
1983
case NetlogonValidationSamInfo2:
1985
_mem_save_sam3_0 = NDR_PULL_GET_MEM_CTX(ndr);
1986
NDR_PULL_SET_MEM_CTX(ndr, r->sam3, 0);
1987
NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam3));
1988
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam3_0, 0);
1994
_mem_save_pac_0 = NDR_PULL_GET_MEM_CTX(ndr);
1995
NDR_PULL_SET_MEM_CTX(ndr, r->pac, 0);
1996
NDR_CHECK(ndr_pull_netr_PacInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->pac));
1997
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pac_0, 0);
2001
case NetlogonValidationGenericInfo2:
2003
_mem_save_generic_0 = NDR_PULL_GET_MEM_CTX(ndr);
2004
NDR_PULL_SET_MEM_CTX(ndr, r->generic, 0);
2005
NDR_CHECK(ndr_pull_netr_GenericInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->generic));
2006
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_generic_0, 0);
2010
case NetlogonValidationSamInfo4:
2012
_mem_save_sam6_0 = NDR_PULL_GET_MEM_CTX(ndr);
2013
NDR_PULL_SET_MEM_CTX(ndr, r->sam6, 0);
2014
NDR_CHECK(ndr_pull_netr_SamInfo6(ndr, NDR_SCALARS|NDR_BUFFERS, r->sam6));
2015
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam6_0, 0);
2020
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2023
return NDR_ERR_SUCCESS;
2026
_PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r)
2029
level = ndr_print_get_switch_value(ndr, r);
2030
ndr_print_union(ndr, name, level, "netr_Validation");
2032
case NetlogonValidationSamInfo:
2033
ndr_print_ptr(ndr, "sam2", r->sam2);
2036
ndr_print_netr_SamInfo2(ndr, "sam2", r->sam2);
2041
case NetlogonValidationSamInfo2:
2042
ndr_print_ptr(ndr, "sam3", r->sam3);
2045
ndr_print_netr_SamInfo3(ndr, "sam3", r->sam3);
2051
ndr_print_ptr(ndr, "pac", r->pac);
2054
ndr_print_netr_PacInfo(ndr, "pac", r->pac);
2059
case NetlogonValidationGenericInfo2:
2060
ndr_print_ptr(ndr, "generic", r->generic);
2063
ndr_print_netr_GenericInfo2(ndr, "generic", r->generic);
2068
case NetlogonValidationSamInfo4:
2069
ndr_print_ptr(ndr, "sam6", r->sam6);
2072
ndr_print_netr_SamInfo6(ndr, "sam6", r->sam6);
2078
ndr_print_bad_level(ndr, name, level);
2082
_PUBLIC_ enum ndr_err_code ndr_push_netr_Credential(struct ndr_push *ndr, int ndr_flags, const struct netr_Credential *r)
2085
uint32_t _flags_save_STRUCT = ndr->flags;
2086
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2087
if (ndr_flags & NDR_SCALARS) {
2088
NDR_CHECK(ndr_push_align(ndr, 1));
2089
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2090
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2092
if (ndr_flags & NDR_BUFFERS) {
2094
ndr->flags = _flags_save_STRUCT;
2096
return NDR_ERR_SUCCESS;
2099
_PUBLIC_ enum ndr_err_code ndr_pull_netr_Credential(struct ndr_pull *ndr, int ndr_flags, struct netr_Credential *r)
2102
uint32_t _flags_save_STRUCT = ndr->flags;
2103
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2104
if (ndr_flags & NDR_SCALARS) {
2105
NDR_CHECK(ndr_pull_align(ndr, 1));
2106
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 8));
2107
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2109
if (ndr_flags & NDR_BUFFERS) {
2111
ndr->flags = _flags_save_STRUCT;
2113
return NDR_ERR_SUCCESS;
2116
_PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, const struct netr_Credential *r)
2118
ndr_print_struct(ndr, name, "netr_Credential");
2120
uint32_t _flags_save_STRUCT = ndr->flags;
2121
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2123
ndr_print_array_uint8(ndr, "data", r->data, 8);
2125
ndr->flags = _flags_save_STRUCT;
2129
_PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r)
2131
if (ndr_flags & NDR_SCALARS) {
2132
NDR_CHECK(ndr_push_align(ndr, 4));
2133
NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2134
NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
2135
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2137
if (ndr_flags & NDR_BUFFERS) {
2139
return NDR_ERR_SUCCESS;
2142
_PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r)
2144
if (ndr_flags & NDR_SCALARS) {
2145
NDR_CHECK(ndr_pull_align(ndr, 4));
2146
NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, &r->cred));
2147
NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
2148
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2150
if (ndr_flags & NDR_BUFFERS) {
2152
return NDR_ERR_SUCCESS;
2155
_PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r)
2157
ndr_print_struct(ndr, name, "netr_Authenticator");
2159
ndr_print_netr_Credential(ndr, "cred", &r->cred);
2160
ndr_print_time_t(ndr, "timestamp", r->timestamp);
2164
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)
2166
if (ndr_flags & NDR_SCALARS) {
2167
NDR_CHECK(ndr_push_align(ndr, 5));
2168
NDR_CHECK(ndr_push_unique_ptr(ndr, r->account_name));
2169
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2170
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2171
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2172
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2173
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2174
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2175
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2176
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2177
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2179
if (ndr_flags & NDR_BUFFERS) {
2180
if (r->account_name) {
2181
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2182
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2183
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF16)));
2184
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
2186
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2187
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2188
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2189
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2191
return NDR_ERR_SUCCESS;
2194
static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_USER *r)
2196
uint32_t _ptr_account_name;
2197
TALLOC_CTX *_mem_save_account_name_0;
2198
if (ndr_flags & NDR_SCALARS) {
2199
NDR_CHECK(ndr_pull_align(ndr, 5));
2200
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
2201
if (_ptr_account_name) {
2202
NDR_PULL_ALLOC(ndr, r->account_name);
2204
r->account_name = NULL;
2206
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2207
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2208
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2209
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2210
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2211
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2212
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2213
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2214
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2216
if (ndr_flags & NDR_BUFFERS) {
2217
if (r->account_name) {
2218
_mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2219
NDR_PULL_SET_MEM_CTX(ndr, r->account_name, 0);
2220
NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
2221
NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
2222
if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
2223
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));
2225
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t)));
2226
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint16_t), CH_UTF16));
2227
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, 0);
2229
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2230
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2231
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2232
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2234
return NDR_ERR_SUCCESS;
2237
_PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r)
2239
ndr_print_struct(ndr, name, "netr_DELTA_DELETE_USER");
2241
ndr_print_ptr(ndr, "account_name", r->account_name);
2243
if (r->account_name) {
2244
ndr_print_string(ndr, "account_name", r->account_name);
2247
ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2248
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2249
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2250
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2251
ndr_print_uint32(ndr, "unknown5", r->unknown5);
2252
ndr_print_uint32(ndr, "unknown6", r->unknown6);
2253
ndr_print_uint32(ndr, "unknown7", r->unknown7);
2254
ndr_print_uint32(ndr, "unknown8", r->unknown8);
2258
static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEY16 *r)
2260
if (ndr_flags & NDR_SCALARS) {
2261
NDR_CHECK(ndr_push_align(ndr, 4));
2262
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2263
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
2264
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
2265
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2266
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2268
if (ndr_flags & NDR_BUFFERS) {
2270
return NDR_ERR_SUCCESS;
2273
static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY16 *r)
2275
if (ndr_flags & NDR_SCALARS) {
2276
NDR_CHECK(ndr_pull_align(ndr, 4));
2277
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
2278
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
2279
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
2280
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
2281
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2283
if (ndr_flags & NDR_BUFFERS) {
2285
return NDR_ERR_SUCCESS;
2288
_PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r)
2290
ndr_print_struct(ndr, name, "netr_USER_KEY16");
2292
ndr_print_uint16(ndr, "length", r->length);
2293
ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
2294
ndr_print_uint32(ndr, "flags", r->flags);
2295
ndr_print_samr_Password(ndr, "pwd", &r->pwd);
2299
static enum ndr_err_code ndr_push_netr_PasswordHistory(struct ndr_push *ndr, int ndr_flags, const struct netr_PasswordHistory *r)
2301
if (ndr_flags & NDR_SCALARS) {
2302
NDR_CHECK(ndr_push_align(ndr, 4));
2303
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2304
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nt_length));
2305
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nt_flags));
2306
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2307
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lm_length));
2308
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lm_flags));
2309
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2310
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2311
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2313
if (ndr_flags & NDR_BUFFERS) {
2315
return NDR_ERR_SUCCESS;
2318
static enum ndr_err_code ndr_pull_netr_PasswordHistory(struct ndr_pull *ndr, int ndr_flags, struct netr_PasswordHistory *r)
2320
if (ndr_flags & NDR_SCALARS) {
2321
NDR_CHECK(ndr_pull_align(ndr, 4));
2322
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_length));
2323
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nt_size));
2324
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nt_flags));
2325
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_length));
2326
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lm_size));
2327
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lm_flags));
2328
NDR_PULL_ALLOC_N(ndr, r->nt_history, r->nt_length);
2329
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->nt_history, r->nt_length));
2330
NDR_PULL_ALLOC_N(ndr, r->lm_history, r->lm_length);
2331
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->lm_history, r->lm_length));
2332
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2334
if (ndr_flags & NDR_BUFFERS) {
2336
return NDR_ERR_SUCCESS;
2339
_PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r)
2341
ndr_print_struct(ndr, name, "netr_PasswordHistory");
2343
ndr_print_uint16(ndr, "nt_length", r->nt_length);
2344
ndr_print_uint16(ndr, "nt_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->nt_length:r->nt_size);
2345
ndr_print_uint32(ndr, "nt_flags", r->nt_flags);
2346
ndr_print_uint16(ndr, "lm_length", r->lm_length);
2347
ndr_print_uint16(ndr, "lm_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->lm_length:r->lm_size);
2348
ndr_print_uint32(ndr, "lm_flags", r->lm_flags);
2349
ndr_print_array_uint8(ndr, "nt_history", r->nt_history, r->nt_length);
2350
ndr_print_array_uint8(ndr, "lm_history", r->lm_history, r->lm_length);
2354
static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS2 *r)
2356
if (ndr_flags & NDR_SCALARS) {
2357
NDR_CHECK(ndr_push_align(ndr, 4));
2358
NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2359
NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2360
NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2361
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2363
if (ndr_flags & NDR_BUFFERS) {
2365
return NDR_ERR_SUCCESS;
2368
static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS2 *r)
2370
if (ndr_flags & NDR_SCALARS) {
2371
NDR_CHECK(ndr_pull_align(ndr, 4));
2372
NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->lmpassword));
2373
NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_SCALARS, &r->ntpassword));
2374
NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
2375
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2377
if (ndr_flags & NDR_BUFFERS) {
2379
return NDR_ERR_SUCCESS;
2382
_PUBLIC_ void ndr_print_netr_USER_KEYS2(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS2 *r)
2384
ndr_print_struct(ndr, name, "netr_USER_KEYS2");
2386
ndr_print_netr_USER_KEY16(ndr, "lmpassword", &r->lmpassword);
2387
ndr_print_netr_USER_KEY16(ndr, "ntpassword", &r->ntpassword);
2388
ndr_print_netr_PasswordHistory(ndr, "history", &r->history);
2392
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)
2394
if (ndr_flags & NDR_SCALARS) {
2395
NDR_CHECK(ndr_push_align(ndr, 4));
2396
NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2397
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2399
if (ndr_flags & NDR_BUFFERS) {
2401
return NDR_ERR_SUCCESS;
2404
static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEY_UNION *r)
2406
if (ndr_flags & NDR_SCALARS) {
2407
NDR_CHECK(ndr_pull_align(ndr, 4));
2408
NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
2409
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2411
if (ndr_flags & NDR_BUFFERS) {
2413
return NDR_ERR_SUCCESS;
2416
_PUBLIC_ void ndr_print_netr_USER_KEY_UNION(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY_UNION *r)
2418
ndr_print_struct(ndr, name, "netr_USER_KEY_UNION");
2420
ndr_print_netr_USER_KEYS2(ndr, "keys2", &r->keys2);
2424
_PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr_flags, const struct netr_USER_KEYS *r)
2426
if (ndr_flags & NDR_SCALARS) {
2427
NDR_CHECK(ndr_push_align(ndr, 4));
2428
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2429
NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2430
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2432
if (ndr_flags & NDR_BUFFERS) {
2434
return NDR_ERR_SUCCESS;
2437
_PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_KEYS *r)
2439
if (ndr_flags & NDR_SCALARS) {
2440
NDR_CHECK(ndr_pull_align(ndr, 4));
2441
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2442
NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
2443
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2445
if (ndr_flags & NDR_BUFFERS) {
2447
return NDR_ERR_SUCCESS;
2450
_PUBLIC_ void ndr_print_netr_USER_KEYS(struct ndr_print *ndr, const char *name, const struct netr_USER_KEYS *r)
2452
ndr_print_struct(ndr, name, "netr_USER_KEYS");
2454
ndr_print_uint32(ndr, "version", r->version);
2455
ndr_print_netr_USER_KEY_UNION(ndr, "keys", &r->keys);
2459
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)
2461
if (ndr_flags & NDR_SCALARS) {
2462
NDR_CHECK(ndr_push_align(ndr, 5));
2463
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->SensitiveDataFlag));
2464
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->DataLength));
2466
uint32_t _flags_save_uint8 = ndr->flags;
2467
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2468
NDR_CHECK(ndr_push_unique_ptr(ndr, r->SensitiveData));
2469
ndr->flags = _flags_save_uint8;
2471
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2473
if (ndr_flags & NDR_BUFFERS) {
2475
uint32_t _flags_save_uint8 = ndr->flags;
2476
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2477
if (r->SensitiveData) {
2478
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->DataLength));
2479
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, r->DataLength));
2481
ndr->flags = _flags_save_uint8;
2484
return NDR_ERR_SUCCESS;
2487
static enum ndr_err_code ndr_pull_netr_USER_PRIVATE_INFO(struct ndr_pull *ndr, int ndr_flags, struct netr_USER_PRIVATE_INFO *r)
2489
uint32_t _ptr_SensitiveData;
2490
TALLOC_CTX *_mem_save_SensitiveData_0;
2491
if (ndr_flags & NDR_SCALARS) {
2492
NDR_CHECK(ndr_pull_align(ndr, 5));
2493
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->SensitiveDataFlag));
2494
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->DataLength));
2496
uint32_t _flags_save_uint8 = ndr->flags;
2497
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2498
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_SensitiveData));
2499
if (_ptr_SensitiveData) {
2500
NDR_PULL_ALLOC(ndr, r->SensitiveData);
2502
r->SensitiveData = NULL;
2504
ndr->flags = _flags_save_uint8;
2506
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2508
if (ndr_flags & NDR_BUFFERS) {
2510
uint32_t _flags_save_uint8 = ndr->flags;
2511
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2512
if (r->SensitiveData) {
2513
_mem_save_SensitiveData_0 = NDR_PULL_GET_MEM_CTX(ndr);
2514
NDR_PULL_SET_MEM_CTX(ndr, r->SensitiveData, 0);
2515
NDR_CHECK(ndr_pull_array_size(ndr, &r->SensitiveData));
2516
NDR_PULL_ALLOC_N(ndr, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData));
2517
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->SensitiveData, ndr_get_array_size(ndr, &r->SensitiveData)));
2518
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_SensitiveData_0, 0);
2520
ndr->flags = _flags_save_uint8;
2522
if (r->SensitiveData) {
2523
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->SensitiveData, r->DataLength));
2526
return NDR_ERR_SUCCESS;
2529
_PUBLIC_ void ndr_print_netr_USER_PRIVATE_INFO(struct ndr_print *ndr, const char *name, const struct netr_USER_PRIVATE_INFO *r)
2531
ndr_print_struct(ndr, name, "netr_USER_PRIVATE_INFO");
2533
ndr_print_uint8(ndr, "SensitiveDataFlag", r->SensitiveDataFlag);
2534
ndr_print_uint32(ndr, "DataLength", r->DataLength);
2535
ndr_print_ptr(ndr, "SensitiveData", r->SensitiveData);
2537
if (r->SensitiveData) {
2538
ndr_print_array_uint8(ndr, "SensitiveData", r->SensitiveData, r->DataLength);
2544
static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_USER *r)
2546
if (ndr_flags & NDR_SCALARS) {
2547
NDR_CHECK(ndr_push_align(ndr, 5));
2548
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2549
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2550
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2551
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2552
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2553
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2554
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2555
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2556
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2557
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2558
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2559
NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2560
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2561
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2562
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2563
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2564
NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2565
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2566
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2567
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_present));
2568
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_present));
2569
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2570
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2571
NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2572
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2573
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2574
NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2575
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2576
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2577
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2578
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2579
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2580
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2581
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2582
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2583
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2584
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2585
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2587
if (ndr_flags & NDR_BUFFERS) {
2588
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2589
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2590
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2591
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2592
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2593
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2594
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2595
NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2596
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2597
NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2598
NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2599
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2600
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2601
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2602
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2603
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2605
return NDR_ERR_SUCCESS;
2608
static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_USER *r)
2610
if (ndr_flags & NDR_SCALARS) {
2611
NDR_CHECK(ndr_pull_align(ndr, 5));
2612
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2613
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2614
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2615
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2616
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2617
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2618
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2619
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2620
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2621
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2622
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2623
NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2624
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2625
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2626
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2627
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2628
NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2629
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lmpassword));
2630
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->ntpassword));
2631
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_present));
2632
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_present));
2633
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2634
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2635
NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2636
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2637
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2638
NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_SCALARS, &r->user_private_info));
2639
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2640
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2641
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2642
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2643
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2644
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2645
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2646
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2647
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2648
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2649
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2651
if (ndr_flags & NDR_BUFFERS) {
2652
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2653
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2654
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2655
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2656
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2657
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2658
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2659
NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2660
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2661
NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2662
NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
2663
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2664
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2665
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2666
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2667
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2669
return NDR_ERR_SUCCESS;
2672
_PUBLIC_ void ndr_print_netr_DELTA_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_USER *r)
2674
ndr_print_struct(ndr, name, "netr_DELTA_USER");
2676
ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2677
ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2678
ndr_print_uint32(ndr, "rid", r->rid);
2679
ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2680
ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2681
ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2682
ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2683
ndr_print_lsa_String(ndr, "description", &r->description);
2684
ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2685
ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2686
ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2687
ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2688
ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2689
ndr_print_uint16(ndr, "logon_count", r->logon_count);
2690
ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2691
ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2692
ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2693
ndr_print_samr_Password(ndr, "lmpassword", &r->lmpassword);
2694
ndr_print_samr_Password(ndr, "ntpassword", &r->ntpassword);
2695
ndr_print_uint8(ndr, "nt_password_present", r->nt_password_present);
2696
ndr_print_uint8(ndr, "lm_password_present", r->lm_password_present);
2697
ndr_print_uint8(ndr, "password_expired", r->password_expired);
2698
ndr_print_lsa_String(ndr, "comment", &r->comment);
2699
ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2700
ndr_print_uint16(ndr, "country_code", r->country_code);
2701
ndr_print_uint16(ndr, "code_page", r->code_page);
2702
ndr_print_netr_USER_PRIVATE_INFO(ndr, "user_private_info", &r->user_private_info);
2703
ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2704
ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2705
ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2706
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2707
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2708
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2709
ndr_print_uint32(ndr, "unknown5", r->unknown5);
2710
ndr_print_uint32(ndr, "unknown6", r->unknown6);
2711
ndr_print_uint32(ndr, "unknown7", r->unknown7);
2712
ndr_print_uint32(ndr, "unknown8", r->unknown8);
2716
static enum ndr_err_code ndr_push_netr_DELTA_DOMAIN(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_DOMAIN *r)
2718
if (ndr_flags & NDR_SCALARS) {
2719
NDR_CHECK(ndr_push_align(ndr, 5));
2720
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2721
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2722
NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->force_logoff_time));
2723
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
2724
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
2725
NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
2726
NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
2727
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
2728
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
2729
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2730
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2731
NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2732
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2733
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2734
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2735
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_to_chgpass));
2736
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2737
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2738
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2739
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2741
if (ndr_flags & NDR_BUFFERS) {
2742
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2743
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2744
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2745
NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2746
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2747
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2748
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2750
return NDR_ERR_SUCCESS;
2753
static enum ndr_err_code ndr_pull_netr_DELTA_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DOMAIN *r)
2755
if (ndr_flags & NDR_SCALARS) {
2756
NDR_CHECK(ndr_pull_align(ndr, 5));
2757
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
2758
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
2759
NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->force_logoff_time));
2760
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
2761
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
2762
NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
2763
NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
2764
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
2765
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
2766
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2767
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2768
NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->account_lockout));
2769
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2770
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2771
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2772
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_to_chgpass));
2773
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2774
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2775
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2776
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2778
if (ndr_flags & NDR_BUFFERS) {
2779
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
2780
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
2781
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2782
NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->account_lockout));
2783
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2784
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2785
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2787
return NDR_ERR_SUCCESS;
2790
_PUBLIC_ void ndr_print_netr_DELTA_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DOMAIN *r)
2792
ndr_print_struct(ndr, name, "netr_DELTA_DOMAIN");
2794
ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
2795
ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
2796
ndr_print_dlong(ndr, "force_logoff_time", r->force_logoff_time);
2797
ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
2798
ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
2799
ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
2800
ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
2801
ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
2802
ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
2803
ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2804
ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2805
ndr_print_lsa_BinaryString(ndr, "account_lockout", &r->account_lockout);
2806
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2807
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2808
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2809
ndr_print_uint32(ndr, "logon_to_chgpass", r->logon_to_chgpass);
2810
ndr_print_uint32(ndr, "unknown6", r->unknown6);
2811
ndr_print_uint32(ndr, "unknown7", r->unknown7);
2812
ndr_print_uint32(ndr, "unknown8", r->unknown8);
2816
static enum ndr_err_code ndr_push_netr_DELTA_GROUP(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_GROUP *r)
2818
if (ndr_flags & NDR_SCALARS) {
2819
NDR_CHECK(ndr_push_align(ndr, 5));
2820
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2821
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2822
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
2823
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2824
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
2825
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2826
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2827
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2828
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2829
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2830
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2831
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2832
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2833
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2834
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2836
if (ndr_flags & NDR_BUFFERS) {
2837
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2838
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2839
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2840
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2841
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2842
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2843
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2845
return NDR_ERR_SUCCESS;
2848
static enum ndr_err_code ndr_pull_netr_DELTA_GROUP(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP *r)
2850
if (ndr_flags & NDR_SCALARS) {
2851
NDR_CHECK(ndr_pull_align(ndr, 5));
2852
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->group_name));
2853
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2854
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
2855
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2856
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
2857
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
2858
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2859
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2860
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2861
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2862
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2863
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2864
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2865
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2866
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2868
if (ndr_flags & NDR_BUFFERS) {
2869
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->group_name));
2870
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2871
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
2872
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2873
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2874
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2875
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2877
return NDR_ERR_SUCCESS;
2880
_PUBLIC_ void ndr_print_netr_DELTA_GROUP(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP *r)
2882
ndr_print_struct(ndr, name, "netr_DELTA_GROUP");
2884
ndr_print_lsa_String(ndr, "group_name", &r->group_name);
2885
ndr_print_uint32(ndr, "rid", r->rid);
2886
ndr_print_uint32(ndr, "attributes", r->attributes);
2887
ndr_print_lsa_String(ndr, "description", &r->description);
2888
ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
2889
ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
2890
ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2891
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2892
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2893
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2894
ndr_print_uint32(ndr, "unknown5", r->unknown5);
2895
ndr_print_uint32(ndr, "unknown6", r->unknown6);
2896
ndr_print_uint32(ndr, "unknown7", r->unknown7);
2897
ndr_print_uint32(ndr, "unknown8", r->unknown8);
2901
static enum ndr_err_code ndr_push_netr_DELTA_RENAME(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_RENAME *r)
2903
if (ndr_flags & NDR_SCALARS) {
2904
NDR_CHECK(ndr_push_align(ndr, 5));
2905
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2906
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2907
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2908
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2909
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2910
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2911
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
2912
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
2913
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
2914
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
2915
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2917
if (ndr_flags & NDR_BUFFERS) {
2918
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2919
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2920
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2921
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2922
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2923
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2925
return NDR_ERR_SUCCESS;
2928
static enum ndr_err_code ndr_pull_netr_DELTA_RENAME(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_RENAME *r)
2930
if (ndr_flags & NDR_SCALARS) {
2931
NDR_CHECK(ndr_pull_align(ndr, 5));
2932
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->OldName));
2933
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->NewName));
2934
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2935
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2936
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2937
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
2938
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
2939
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
2940
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
2941
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
2942
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2944
if (ndr_flags & NDR_BUFFERS) {
2945
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->OldName));
2946
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->NewName));
2947
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2948
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2949
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2950
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
2952
return NDR_ERR_SUCCESS;
2955
_PUBLIC_ void ndr_print_netr_DELTA_RENAME(struct ndr_print *ndr, const char *name, const struct netr_DELTA_RENAME *r)
2957
ndr_print_struct(ndr, name, "netr_DELTA_RENAME");
2959
ndr_print_lsa_String(ndr, "OldName", &r->OldName);
2960
ndr_print_lsa_String(ndr, "NewName", &r->NewName);
2961
ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2962
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2963
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2964
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
2965
ndr_print_uint32(ndr, "unknown5", r->unknown5);
2966
ndr_print_uint32(ndr, "unknown6", r->unknown6);
2967
ndr_print_uint32(ndr, "unknown7", r->unknown7);
2968
ndr_print_uint32(ndr, "unknown8", r->unknown8);
2972
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)
2974
uint32_t cntr_rids_1;
2975
uint32_t cntr_attribs_1;
2976
if (ndr_flags & NDR_SCALARS) {
2977
NDR_CHECK(ndr_push_align(ndr, 5));
2978
NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
2979
NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribs));
2980
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
2981
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
2982
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
2983
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
2984
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
2985
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2987
if (ndr_flags & NDR_BUFFERS) {
2989
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
2990
for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
2991
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
2995
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_rids));
2996
for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
2997
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribs[cntr_attribs_1]));
3001
return NDR_ERR_SUCCESS;
3004
static enum ndr_err_code ndr_pull_netr_DELTA_GROUP_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_GROUP_MEMBER *r)
3007
uint32_t cntr_rids_1;
3008
TALLOC_CTX *_mem_save_rids_0;
3009
TALLOC_CTX *_mem_save_rids_1;
3010
uint32_t _ptr_attribs;
3011
uint32_t cntr_attribs_1;
3012
TALLOC_CTX *_mem_save_attribs_0;
3013
TALLOC_CTX *_mem_save_attribs_1;
3014
if (ndr_flags & NDR_SCALARS) {
3015
NDR_CHECK(ndr_pull_align(ndr, 5));
3016
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
3018
NDR_PULL_ALLOC(ndr, r->rids);
3022
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribs));
3024
NDR_PULL_ALLOC(ndr, r->attribs);
3028
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
3029
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
3030
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
3031
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
3032
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
3033
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3035
if (ndr_flags & NDR_BUFFERS) {
3037
_mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
3038
NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3039
NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
3040
NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
3041
_mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
3042
NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3043
for (cntr_rids_1 = 0; cntr_rids_1 < r->num_rids; cntr_rids_1++) {
3044
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
3046
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
3047
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
3050
_mem_save_attribs_0 = NDR_PULL_GET_MEM_CTX(ndr);
3051
NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
3052
NDR_CHECK(ndr_pull_array_size(ndr, &r->attribs));
3053
NDR_PULL_ALLOC_N(ndr, r->attribs, ndr_get_array_size(ndr, &r->attribs));
3054
_mem_save_attribs_1 = NDR_PULL_GET_MEM_CTX(ndr);
3055
NDR_PULL_SET_MEM_CTX(ndr, r->attribs, 0);
3056
for (cntr_attribs_1 = 0; cntr_attribs_1 < r->num_rids; cntr_attribs_1++) {
3057
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribs[cntr_attribs_1]));
3059
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_1, 0);
3060
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribs_0, 0);
3063
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids));
3066
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attribs, r->num_rids));
3069
return NDR_ERR_SUCCESS;
3072
_PUBLIC_ void ndr_print_netr_DELTA_GROUP_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_GROUP_MEMBER *r)
3074
uint32_t cntr_rids_1;
3075
uint32_t cntr_attribs_1;
3076
ndr_print_struct(ndr, name, "netr_DELTA_GROUP_MEMBER");
3078
ndr_print_ptr(ndr, "rids", r->rids);
3081
ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids);
3083
for (cntr_rids_1=0;cntr_rids_1<r->num_rids;cntr_rids_1++) {
3085
if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
3086
ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
3093
ndr_print_ptr(ndr, "attribs", r->attribs);
3096
ndr->print(ndr, "%s: ARRAY(%d)", "attribs", (int)r->num_rids);
3098
for (cntr_attribs_1=0;cntr_attribs_1<r->num_rids;cntr_attribs_1++) {
3100
if (asprintf(&idx_1, "[%d]", cntr_attribs_1) != -1) {
3101
ndr_print_uint32(ndr, "attribs", r->attribs[cntr_attribs_1]);
3108
ndr_print_uint32(ndr, "num_rids", r->num_rids);
3109
ndr_print_uint32(ndr, "unknown1", r->unknown1);
3110
ndr_print_uint32(ndr, "unknown2", r->unknown2);
3111
ndr_print_uint32(ndr, "unknown3", r->unknown3);
3112
ndr_print_uint32(ndr, "unknown4", r->unknown4);
3116
static enum ndr_err_code ndr_push_netr_DELTA_ALIAS(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ALIAS *r)
3118
if (ndr_flags & NDR_SCALARS) {
3119
NDR_CHECK(ndr_push_align(ndr, 5));
3120
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3121
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3122
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3123
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3124
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3125
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3126
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3127
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3128
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3129
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3130
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3131
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3132
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3134
if (ndr_flags & NDR_BUFFERS) {
3135
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3136
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3137
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3138
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3139
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3140
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3142
return NDR_ERR_SUCCESS;
3145
static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS *r)
3147
if (ndr_flags & NDR_SCALARS) {
3148
NDR_CHECK(ndr_pull_align(ndr, 5));
3149
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->alias_name));
3150
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3151
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3152
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3153
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3154
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3155
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3156
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3157
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3158
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3159
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3160
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3161
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3163
if (ndr_flags & NDR_BUFFERS) {
3164
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->alias_name));
3165
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3166
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3167
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3168
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3169
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3171
return NDR_ERR_SUCCESS;
3174
_PUBLIC_ void ndr_print_netr_DELTA_ALIAS(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS *r)
3176
ndr_print_struct(ndr, name, "netr_DELTA_ALIAS");
3178
ndr_print_lsa_String(ndr, "alias_name", &r->alias_name);
3179
ndr_print_uint32(ndr, "rid", r->rid);
3180
ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3181
ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3182
ndr_print_lsa_String(ndr, "description", &r->description);
3183
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3184
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3185
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3186
ndr_print_uint32(ndr, "unknown5", r->unknown5);
3187
ndr_print_uint32(ndr, "unknown6", r->unknown6);
3188
ndr_print_uint32(ndr, "unknown7", r->unknown7);
3189
ndr_print_uint32(ndr, "unknown8", r->unknown8);
3193
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)
3195
if (ndr_flags & NDR_SCALARS) {
3196
NDR_CHECK(ndr_push_align(ndr, 5));
3197
NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3198
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
3199
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
3200
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
3201
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
3202
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3204
if (ndr_flags & NDR_BUFFERS) {
3205
NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3207
return NDR_ERR_SUCCESS;
3210
static enum ndr_err_code ndr_pull_netr_DELTA_ALIAS_MEMBER(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ALIAS_MEMBER *r)
3212
if (ndr_flags & NDR_SCALARS) {
3213
NDR_CHECK(ndr_pull_align(ndr, 5));
3214
NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS, &r->sids));
3215
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
3216
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
3217
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
3218
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
3219
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3221
if (ndr_flags & NDR_BUFFERS) {
3222
NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_BUFFERS, &r->sids));
3224
return NDR_ERR_SUCCESS;
3227
_PUBLIC_ void ndr_print_netr_DELTA_ALIAS_MEMBER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ALIAS_MEMBER *r)
3229
ndr_print_struct(ndr, name, "netr_DELTA_ALIAS_MEMBER");
3231
ndr_print_lsa_SidArray(ndr, "sids", &r->sids);
3232
ndr_print_uint32(ndr, "unknown1", r->unknown1);
3233
ndr_print_uint32(ndr, "unknown2", r->unknown2);
3234
ndr_print_uint32(ndr, "unknown3", r->unknown3);
3235
ndr_print_uint32(ndr, "unknown4", r->unknown4);
3239
static enum ndr_err_code ndr_push_netr_QUOTA_LIMITS(struct ndr_push *ndr, int ndr_flags, const struct netr_QUOTA_LIMITS *r)
3241
if (ndr_flags & NDR_SCALARS) {
3242
NDR_CHECK(ndr_push_align(ndr, 4));
3243
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagedpoollimit));
3244
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nonpagedpoollimit));
3245
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->minimumworkingsetsize));
3246
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximumworkingsetsize));
3247
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefilelimit));
3248
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->timelimit));
3249
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3251
if (ndr_flags & NDR_BUFFERS) {
3253
return NDR_ERR_SUCCESS;
3256
static enum ndr_err_code ndr_pull_netr_QUOTA_LIMITS(struct ndr_pull *ndr, int ndr_flags, struct netr_QUOTA_LIMITS *r)
3258
if (ndr_flags & NDR_SCALARS) {
3259
NDR_CHECK(ndr_pull_align(ndr, 4));
3260
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagedpoollimit));
3261
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nonpagedpoollimit));
3262
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->minimumworkingsetsize));
3263
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximumworkingsetsize));
3264
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefilelimit));
3265
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->timelimit));
3266
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3268
if (ndr_flags & NDR_BUFFERS) {
3270
return NDR_ERR_SUCCESS;
3273
_PUBLIC_ void ndr_print_netr_QUOTA_LIMITS(struct ndr_print *ndr, const char *name, const struct netr_QUOTA_LIMITS *r)
3275
ndr_print_struct(ndr, name, "netr_QUOTA_LIMITS");
3277
ndr_print_uint32(ndr, "pagedpoollimit", r->pagedpoollimit);
3278
ndr_print_uint32(ndr, "nonpagedpoollimit", r->nonpagedpoollimit);
3279
ndr_print_uint32(ndr, "minimumworkingsetsize", r->minimumworkingsetsize);
3280
ndr_print_uint32(ndr, "maximumworkingsetsize", r->maximumworkingsetsize);
3281
ndr_print_uint32(ndr, "pagefilelimit", r->pagefilelimit);
3282
ndr_print_NTTIME(ndr, "timelimit", r->timelimit);
3286
static enum ndr_err_code ndr_push_netr_DELTA_POLICY(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_POLICY *r)
3288
uint32_t cntr_eventauditoptions_1;
3289
if (ndr_flags & NDR_SCALARS) {
3290
NDR_CHECK(ndr_push_align(ndr, 5));
3291
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlogsize));
3292
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->auditretentionperiod));
3293
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auditingmode));
3294
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxauditeventcount));
3295
NDR_CHECK(ndr_push_unique_ptr(ndr, r->eventauditoptions));
3296
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3297
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3298
NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3299
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
3300
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->db_create_time));
3301
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3302
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3303
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3304
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3305
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3306
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3307
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3308
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3309
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3310
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3311
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3313
if (ndr_flags & NDR_BUFFERS) {
3314
if (r->eventauditoptions) {
3315
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->maxauditeventcount + 1));
3316
for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3317
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->eventauditoptions[cntr_eventauditoptions_1]));
3320
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3322
NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3324
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3325
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3326
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3327
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3328
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3330
return NDR_ERR_SUCCESS;
3333
static enum ndr_err_code ndr_pull_netr_DELTA_POLICY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_POLICY *r)
3335
uint32_t _ptr_eventauditoptions;
3336
uint32_t cntr_eventauditoptions_1;
3337
TALLOC_CTX *_mem_save_eventauditoptions_0;
3338
TALLOC_CTX *_mem_save_eventauditoptions_1;
3340
TALLOC_CTX *_mem_save_sid_0;
3341
if (ndr_flags & NDR_SCALARS) {
3342
NDR_CHECK(ndr_pull_align(ndr, 5));
3343
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlogsize));
3344
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->auditretentionperiod));
3345
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auditingmode));
3346
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxauditeventcount));
3347
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_eventauditoptions));
3348
if (_ptr_eventauditoptions) {
3349
NDR_PULL_ALLOC(ndr, r->eventauditoptions);
3351
r->eventauditoptions = NULL;
3353
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary_domain_name));
3354
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3356
NDR_PULL_ALLOC(ndr, r->sid);
3360
NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quota_limits));
3361
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
3362
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->db_create_time));
3363
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3364
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3365
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3366
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3367
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3368
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3369
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3370
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3371
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3372
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3373
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3375
if (ndr_flags & NDR_BUFFERS) {
3376
if (r->eventauditoptions) {
3377
_mem_save_eventauditoptions_0 = NDR_PULL_GET_MEM_CTX(ndr);
3378
NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3379
NDR_CHECK(ndr_pull_array_size(ndr, &r->eventauditoptions));
3380
NDR_PULL_ALLOC_N(ndr, r->eventauditoptions, ndr_get_array_size(ndr, &r->eventauditoptions));
3381
_mem_save_eventauditoptions_1 = NDR_PULL_GET_MEM_CTX(ndr);
3382
NDR_PULL_SET_MEM_CTX(ndr, r->eventauditoptions, 0);
3383
for (cntr_eventauditoptions_1 = 0; cntr_eventauditoptions_1 < r->maxauditeventcount + 1; cntr_eventauditoptions_1++) {
3384
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->eventauditoptions[cntr_eventauditoptions_1]));
3386
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_1, 0);
3387
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_eventauditoptions_0, 0);
3389
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary_domain_name));
3391
_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3392
NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3393
NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3394
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3396
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3397
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3398
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3399
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3400
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3401
if (r->eventauditoptions) {
3402
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->eventauditoptions, r->maxauditeventcount + 1));
3405
return NDR_ERR_SUCCESS;
3408
_PUBLIC_ void ndr_print_netr_DELTA_POLICY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_POLICY *r)
3410
uint32_t cntr_eventauditoptions_1;
3411
ndr_print_struct(ndr, name, "netr_DELTA_POLICY");
3413
ndr_print_uint32(ndr, "maxlogsize", r->maxlogsize);
3414
ndr_print_NTTIME(ndr, "auditretentionperiod", r->auditretentionperiod);
3415
ndr_print_uint8(ndr, "auditingmode", r->auditingmode);
3416
ndr_print_uint32(ndr, "maxauditeventcount", r->maxauditeventcount);
3417
ndr_print_ptr(ndr, "eventauditoptions", r->eventauditoptions);
3419
if (r->eventauditoptions) {
3420
ndr->print(ndr, "%s: ARRAY(%d)", "eventauditoptions", (int)r->maxauditeventcount + 1);
3422
for (cntr_eventauditoptions_1=0;cntr_eventauditoptions_1<r->maxauditeventcount + 1;cntr_eventauditoptions_1++) {
3424
if (asprintf(&idx_1, "[%d]", cntr_eventauditoptions_1) != -1) {
3425
ndr_print_uint32(ndr, "eventauditoptions", r->eventauditoptions[cntr_eventauditoptions_1]);
3432
ndr_print_lsa_String(ndr, "primary_domain_name", &r->primary_domain_name);
3433
ndr_print_ptr(ndr, "sid", r->sid);
3436
ndr_print_dom_sid2(ndr, "sid", r->sid);
3439
ndr_print_netr_QUOTA_LIMITS(ndr, "quota_limits", &r->quota_limits);
3440
ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
3441
ndr_print_NTTIME(ndr, "db_create_time", r->db_create_time);
3442
ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3443
ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3444
ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3445
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3446
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3447
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3448
ndr_print_uint32(ndr, "unknown5", r->unknown5);
3449
ndr_print_uint32(ndr, "unknown6", r->unknown6);
3450
ndr_print_uint32(ndr, "unknown7", r->unknown7);
3451
ndr_print_uint32(ndr, "unknown8", r->unknown8);
3455
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)
3457
uint32_t cntr_controller_names_1;
3458
if (ndr_flags & NDR_SCALARS) {
3459
NDR_CHECK(ndr_push_align(ndr, 5));
3460
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3461
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_controllers));
3462
NDR_CHECK(ndr_push_unique_ptr(ndr, r->controller_names));
3463
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3464
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3465
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3466
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3467
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3468
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3469
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3470
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3471
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3472
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3473
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3475
if (ndr_flags & NDR_BUFFERS) {
3476
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3477
if (r->controller_names) {
3478
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_controllers));
3479
for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3480
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3482
for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3483
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3486
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3487
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3488
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3489
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3490
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3492
return NDR_ERR_SUCCESS;
3495
static enum ndr_err_code ndr_pull_netr_DELTA_TRUSTED_DOMAIN(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_TRUSTED_DOMAIN *r)
3497
uint32_t _ptr_controller_names;
3498
uint32_t cntr_controller_names_1;
3499
TALLOC_CTX *_mem_save_controller_names_0;
3500
TALLOC_CTX *_mem_save_controller_names_1;
3501
if (ndr_flags & NDR_SCALARS) {
3502
NDR_CHECK(ndr_pull_align(ndr, 5));
3503
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
3504
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_controllers));
3505
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_controller_names));
3506
if (_ptr_controller_names) {
3507
NDR_PULL_ALLOC(ndr, r->controller_names);
3509
r->controller_names = NULL;
3511
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3512
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3513
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3514
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3515
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3516
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3517
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3518
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3519
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3520
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3521
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3523
if (ndr_flags & NDR_BUFFERS) {
3524
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
3525
if (r->controller_names) {
3526
_mem_save_controller_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3527
NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3528
NDR_CHECK(ndr_pull_array_size(ndr, &r->controller_names));
3529
NDR_PULL_ALLOC_N(ndr, r->controller_names, ndr_get_array_size(ndr, &r->controller_names));
3530
_mem_save_controller_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3531
NDR_PULL_SET_MEM_CTX(ndr, r->controller_names, 0);
3532
for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3533
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->controller_names[cntr_controller_names_1]));
3535
for (cntr_controller_names_1 = 0; cntr_controller_names_1 < r->num_controllers; cntr_controller_names_1++) {
3536
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->controller_names[cntr_controller_names_1]));
3538
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_1, 0);
3539
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_controller_names_0, 0);
3541
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3542
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3543
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3544
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3545
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3546
if (r->controller_names) {
3547
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->controller_names, r->num_controllers));
3550
return NDR_ERR_SUCCESS;
3553
_PUBLIC_ void ndr_print_netr_DELTA_TRUSTED_DOMAIN(struct ndr_print *ndr, const char *name, const struct netr_DELTA_TRUSTED_DOMAIN *r)
3555
uint32_t cntr_controller_names_1;
3556
ndr_print_struct(ndr, name, "netr_DELTA_TRUSTED_DOMAIN");
3558
ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
3559
ndr_print_uint32(ndr, "num_controllers", r->num_controllers);
3560
ndr_print_ptr(ndr, "controller_names", r->controller_names);
3562
if (r->controller_names) {
3563
ndr->print(ndr, "%s: ARRAY(%d)", "controller_names", (int)r->num_controllers);
3565
for (cntr_controller_names_1=0;cntr_controller_names_1<r->num_controllers;cntr_controller_names_1++) {
3567
if (asprintf(&idx_1, "[%d]", cntr_controller_names_1) != -1) {
3568
ndr_print_lsa_String(ndr, "controller_names", &r->controller_names[cntr_controller_names_1]);
3575
ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3576
ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3577
ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3578
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3579
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3580
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3581
ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3582
ndr_print_uint32(ndr, "unknown6", r->unknown6);
3583
ndr_print_uint32(ndr, "unknown7", r->unknown7);
3584
ndr_print_uint32(ndr, "unknown8", r->unknown8);
3588
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)
3590
if (ndr_flags & NDR_SCALARS) {
3591
NDR_CHECK(ndr_push_align(ndr, 2));
3592
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3593
NDR_CHECK(ndr_push_trailer_align(ndr, 2));
3595
if (ndr_flags & NDR_BUFFERS) {
3597
return NDR_ERR_SUCCESS;
3600
static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_TRUST(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_TRUST *r)
3602
if (ndr_flags & NDR_SCALARS) {
3603
NDR_CHECK(ndr_pull_align(ndr, 2));
3604
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3605
NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
3607
if (ndr_flags & NDR_BUFFERS) {
3609
return NDR_ERR_SUCCESS;
3612
_PUBLIC_ void ndr_print_netr_DELTA_DELETE_TRUST(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_TRUST *r)
3614
ndr_print_struct(ndr, name, "netr_DELTA_DELETE_TRUST");
3616
ndr_print_uint16(ndr, "unknown", r->unknown);
3620
static enum ndr_err_code ndr_push_netr_DELTA_ACCOUNT(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ACCOUNT *r)
3622
uint32_t cntr_privilege_attrib_1;
3623
uint32_t cntr_privilege_name_1;
3624
if (ndr_flags & NDR_SCALARS) {
3625
NDR_CHECK(ndr_push_align(ndr, 5));
3626
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_entries));
3627
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_control));
3628
NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_attrib));
3629
NDR_CHECK(ndr_push_unique_ptr(ndr, r->privilege_name));
3630
NDR_CHECK(ndr_push_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3631
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->system_flags));
3632
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3633
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3634
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3635
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3636
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3637
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3638
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3639
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3640
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3641
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3642
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3644
if (ndr_flags & NDR_BUFFERS) {
3645
if (r->privilege_attrib) {
3646
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->privilege_entries));
3647
for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3648
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->privilege_attrib[cntr_privilege_attrib_1]));
3651
if (r->privilege_name) {
3652
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->privilege_entries));
3653
for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3654
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3656
for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3657
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3660
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3661
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3662
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3663
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3664
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3666
return NDR_ERR_SUCCESS;
3669
static enum ndr_err_code ndr_pull_netr_DELTA_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ACCOUNT *r)
3671
uint32_t _ptr_privilege_attrib;
3672
uint32_t cntr_privilege_attrib_1;
3673
TALLOC_CTX *_mem_save_privilege_attrib_0;
3674
TALLOC_CTX *_mem_save_privilege_attrib_1;
3675
uint32_t _ptr_privilege_name;
3676
uint32_t cntr_privilege_name_1;
3677
TALLOC_CTX *_mem_save_privilege_name_0;
3678
TALLOC_CTX *_mem_save_privilege_name_1;
3679
if (ndr_flags & NDR_SCALARS) {
3680
NDR_CHECK(ndr_pull_align(ndr, 5));
3681
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_entries));
3682
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_control));
3683
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_attrib));
3684
if (_ptr_privilege_attrib) {
3685
NDR_PULL_ALLOC(ndr, r->privilege_attrib);
3687
r->privilege_attrib = NULL;
3689
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privilege_name));
3690
if (_ptr_privilege_name) {
3691
NDR_PULL_ALLOC(ndr, r->privilege_name);
3693
r->privilege_name = NULL;
3695
NDR_CHECK(ndr_pull_netr_QUOTA_LIMITS(ndr, NDR_SCALARS, &r->quotalimits));
3696
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->system_flags));
3697
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3698
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3699
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3700
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3701
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3702
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3703
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3704
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3705
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3706
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3707
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3709
if (ndr_flags & NDR_BUFFERS) {
3710
if (r->privilege_attrib) {
3711
_mem_save_privilege_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
3712
NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3713
NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_attrib));
3714
NDR_PULL_ALLOC_N(ndr, r->privilege_attrib, ndr_get_array_size(ndr, &r->privilege_attrib));
3715
_mem_save_privilege_attrib_1 = NDR_PULL_GET_MEM_CTX(ndr);
3716
NDR_PULL_SET_MEM_CTX(ndr, r->privilege_attrib, 0);
3717
for (cntr_privilege_attrib_1 = 0; cntr_privilege_attrib_1 < r->privilege_entries; cntr_privilege_attrib_1++) {
3718
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->privilege_attrib[cntr_privilege_attrib_1]));
3720
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_1, 0);
3721
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_attrib_0, 0);
3723
if (r->privilege_name) {
3724
_mem_save_privilege_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3725
NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3726
NDR_CHECK(ndr_pull_array_size(ndr, &r->privilege_name));
3727
NDR_PULL_ALLOC_N(ndr, r->privilege_name, ndr_get_array_size(ndr, &r->privilege_name));
3728
_mem_save_privilege_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
3729
NDR_PULL_SET_MEM_CTX(ndr, r->privilege_name, 0);
3730
for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3731
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->privilege_name[cntr_privilege_name_1]));
3733
for (cntr_privilege_name_1 = 0; cntr_privilege_name_1 < r->privilege_entries; cntr_privilege_name_1++) {
3734
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->privilege_name[cntr_privilege_name_1]));
3736
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_1, 0);
3737
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privilege_name_0, 0);
3739
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3740
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3741
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3742
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3743
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3744
if (r->privilege_attrib) {
3745
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_attrib, r->privilege_entries));
3747
if (r->privilege_name) {
3748
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privilege_name, r->privilege_entries));
3751
return NDR_ERR_SUCCESS;
3754
_PUBLIC_ void ndr_print_netr_DELTA_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ACCOUNT *r)
3756
uint32_t cntr_privilege_attrib_1;
3757
uint32_t cntr_privilege_name_1;
3758
ndr_print_struct(ndr, name, "netr_DELTA_ACCOUNT");
3760
ndr_print_uint32(ndr, "privilege_entries", r->privilege_entries);
3761
ndr_print_uint32(ndr, "privilege_control", r->privilege_control);
3762
ndr_print_ptr(ndr, "privilege_attrib", r->privilege_attrib);
3764
if (r->privilege_attrib) {
3765
ndr->print(ndr, "%s: ARRAY(%d)", "privilege_attrib", (int)r->privilege_entries);
3767
for (cntr_privilege_attrib_1=0;cntr_privilege_attrib_1<r->privilege_entries;cntr_privilege_attrib_1++) {
3769
if (asprintf(&idx_1, "[%d]", cntr_privilege_attrib_1) != -1) {
3770
ndr_print_uint32(ndr, "privilege_attrib", r->privilege_attrib[cntr_privilege_attrib_1]);
3777
ndr_print_ptr(ndr, "privilege_name", r->privilege_name);
3779
if (r->privilege_name) {
3780
ndr->print(ndr, "%s: ARRAY(%d)", "privilege_name", (int)r->privilege_entries);
3782
for (cntr_privilege_name_1=0;cntr_privilege_name_1<r->privilege_entries;cntr_privilege_name_1++) {
3784
if (asprintf(&idx_1, "[%d]", cntr_privilege_name_1) != -1) {
3785
ndr_print_lsa_String(ndr, "privilege_name", &r->privilege_name[cntr_privilege_name_1]);
3792
ndr_print_netr_QUOTA_LIMITS(ndr, "quotalimits", &r->quotalimits);
3793
ndr_print_uint32(ndr, "system_flags", r->system_flags);
3794
ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
3795
ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
3796
ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
3797
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
3798
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3799
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
3800
ndr_print_uint32(ndr, "unknown5", r->unknown5);
3801
ndr_print_uint32(ndr, "unknown6", r->unknown6);
3802
ndr_print_uint32(ndr, "unknown7", r->unknown7);
3803
ndr_print_uint32(ndr, "unknown8", r->unknown8);
3807
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)
3809
if (ndr_flags & NDR_SCALARS) {
3810
NDR_CHECK(ndr_push_align(ndr, 2));
3811
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3812
NDR_CHECK(ndr_push_trailer_align(ndr, 2));
3814
if (ndr_flags & NDR_BUFFERS) {
3816
return NDR_ERR_SUCCESS;
3819
static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_ACCOUNT(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_ACCOUNT *r)
3821
if (ndr_flags & NDR_SCALARS) {
3822
NDR_CHECK(ndr_pull_align(ndr, 2));
3823
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3824
NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
3826
if (ndr_flags & NDR_BUFFERS) {
3828
return NDR_ERR_SUCCESS;
3831
_PUBLIC_ void ndr_print_netr_DELTA_DELETE_ACCOUNT(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_ACCOUNT *r)
3833
ndr_print_struct(ndr, name, "netr_DELTA_DELETE_ACCOUNT");
3835
ndr_print_uint16(ndr, "unknown", r->unknown);
3839
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)
3841
if (ndr_flags & NDR_SCALARS) {
3842
NDR_CHECK(ndr_push_align(ndr, 2));
3843
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unknown));
3844
NDR_CHECK(ndr_push_trailer_align(ndr, 2));
3846
if (ndr_flags & NDR_BUFFERS) {
3848
return NDR_ERR_SUCCESS;
3851
static enum ndr_err_code ndr_pull_netr_DELTA_DELETE_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_DELETE_SECRET *r)
3853
if (ndr_flags & NDR_SCALARS) {
3854
NDR_CHECK(ndr_pull_align(ndr, 2));
3855
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unknown));
3856
NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
3858
if (ndr_flags & NDR_BUFFERS) {
3860
return NDR_ERR_SUCCESS;
3863
_PUBLIC_ void ndr_print_netr_DELTA_DELETE_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_SECRET *r)
3865
ndr_print_struct(ndr, name, "netr_DELTA_DELETE_SECRET");
3867
ndr_print_uint16(ndr, "unknown", r->unknown);
3871
static enum ndr_err_code ndr_push_netr_CIPHER_VALUE(struct ndr_push *ndr, int ndr_flags, const struct netr_CIPHER_VALUE *r)
3873
if (ndr_flags & NDR_SCALARS) {
3874
NDR_CHECK(ndr_push_align(ndr, 5));
3875
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
3876
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maxlen));
3877
NDR_CHECK(ndr_push_unique_ptr(ndr, r->cipher_data));
3878
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3880
if (ndr_flags & NDR_BUFFERS) {
3881
if (r->cipher_data) {
3882
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->maxlen));
3883
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3884
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len));
3885
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->cipher_data, r->len));
3888
return NDR_ERR_SUCCESS;
3891
static enum ndr_err_code ndr_pull_netr_CIPHER_VALUE(struct ndr_pull *ndr, int ndr_flags, struct netr_CIPHER_VALUE *r)
3893
uint32_t _ptr_cipher_data;
3894
TALLOC_CTX *_mem_save_cipher_data_0;
3895
if (ndr_flags & NDR_SCALARS) {
3896
NDR_CHECK(ndr_pull_align(ndr, 5));
3897
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
3898
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maxlen));
3899
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_cipher_data));
3900
if (_ptr_cipher_data) {
3901
NDR_PULL_ALLOC(ndr, r->cipher_data);
3903
r->cipher_data = NULL;
3905
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3907
if (ndr_flags & NDR_BUFFERS) {
3908
if (r->cipher_data) {
3909
_mem_save_cipher_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3910
NDR_PULL_SET_MEM_CTX(ndr, r->cipher_data, 0);
3911
NDR_CHECK(ndr_pull_array_size(ndr, &r->cipher_data));
3912
NDR_CHECK(ndr_pull_array_length(ndr, &r->cipher_data));
3913
if (ndr_get_array_length(ndr, &r->cipher_data) > ndr_get_array_size(ndr, &r->cipher_data)) {
3914
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));
3916
NDR_PULL_ALLOC_N(ndr, r->cipher_data, ndr_get_array_size(ndr, &r->cipher_data));
3917
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->cipher_data, ndr_get_array_length(ndr, &r->cipher_data)));
3918
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_cipher_data_0, 0);
3920
if (r->cipher_data) {
3921
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->cipher_data, r->maxlen));
3923
if (r->cipher_data) {
3924
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->cipher_data, r->len));
3927
return NDR_ERR_SUCCESS;
3930
_PUBLIC_ void ndr_print_netr_CIPHER_VALUE(struct ndr_print *ndr, const char *name, const struct netr_CIPHER_VALUE *r)
3932
ndr_print_struct(ndr, name, "netr_CIPHER_VALUE");
3934
ndr_print_uint32(ndr, "len", r->len);
3935
ndr_print_uint32(ndr, "maxlen", r->maxlen);
3936
ndr_print_ptr(ndr, "cipher_data", r->cipher_data);
3938
if (r->cipher_data) {
3939
ndr_print_array_uint8(ndr, "cipher_data", r->cipher_data, r->len);
3945
static enum ndr_err_code ndr_push_netr_DELTA_SECRET(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_SECRET *r)
3947
if (ndr_flags & NDR_SCALARS) {
3948
NDR_CHECK(ndr_push_align(ndr, 5));
3949
NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3950
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->current_cipher_set_time));
3951
NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3952
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->old_cipher_set_time));
3953
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SecurityInformation));
3954
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3955
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3956
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3957
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3958
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3959
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
3960
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown6));
3961
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown7));
3962
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown8));
3963
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3965
if (ndr_flags & NDR_BUFFERS) {
3966
NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3967
NDR_CHECK(ndr_push_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
3968
NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
3969
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
3970
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
3971
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
3972
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
3974
return NDR_ERR_SUCCESS;
3977
static enum ndr_err_code ndr_pull_netr_DELTA_SECRET(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_SECRET *r)
3979
if (ndr_flags & NDR_SCALARS) {
3980
NDR_CHECK(ndr_pull_align(ndr, 5));
3981
NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->current_cipher));
3982
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->current_cipher_set_time));
3983
NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_SCALARS, &r->old_cipher));
3984
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->old_cipher_set_time));
3985
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SecurityInformation));
3986
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS, &r->sdbuf));
3987
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
3988
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
3989
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
3990
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown4));
3991
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
3992
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown6));
3993
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown7));
3994
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown8));
3995
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3997
if (ndr_flags & NDR_BUFFERS) {
3998
NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->current_cipher));
3999
NDR_CHECK(ndr_pull_netr_CIPHER_VALUE(ndr, NDR_BUFFERS, &r->old_cipher));
4000
NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_BUFFERS, &r->sdbuf));
4001
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
4002
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
4003
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
4004
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown4));
4006
return NDR_ERR_SUCCESS;
4009
_PUBLIC_ void ndr_print_netr_DELTA_SECRET(struct ndr_print *ndr, const char *name, const struct netr_DELTA_SECRET *r)
4011
ndr_print_struct(ndr, name, "netr_DELTA_SECRET");
4013
ndr_print_netr_CIPHER_VALUE(ndr, "current_cipher", &r->current_cipher);
4014
ndr_print_NTTIME(ndr, "current_cipher_set_time", r->current_cipher_set_time);
4015
ndr_print_netr_CIPHER_VALUE(ndr, "old_cipher", &r->old_cipher);
4016
ndr_print_NTTIME(ndr, "old_cipher_set_time", r->old_cipher_set_time);
4017
ndr_print_uint32(ndr, "SecurityInformation", r->SecurityInformation);
4018
ndr_print_sec_desc_buf(ndr, "sdbuf", &r->sdbuf);
4019
ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
4020
ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
4021
ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
4022
ndr_print_lsa_String(ndr, "unknown4", &r->unknown4);
4023
ndr_print_uint32(ndr, "unknown5", r->unknown5);
4024
ndr_print_uint32(ndr, "unknown6", r->unknown6);
4025
ndr_print_uint32(ndr, "unknown7", r->unknown7);
4026
ndr_print_uint32(ndr, "unknown8", r->unknown8);
4030
static enum ndr_err_code ndr_push_netr_DeltaEnum(struct ndr_push *ndr, int ndr_flags, enum netr_DeltaEnum r)
4032
NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
4033
return NDR_ERR_SUCCESS;
4036
static enum ndr_err_code ndr_pull_netr_DeltaEnum(struct ndr_pull *ndr, int ndr_flags, enum netr_DeltaEnum *r)
4039
NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
4041
return NDR_ERR_SUCCESS;
4044
_PUBLIC_ void ndr_print_netr_DeltaEnum(struct ndr_print *ndr, const char *name, enum netr_DeltaEnum r)
4046
const char *val = NULL;
4049
case NETR_DELTA_DOMAIN: val = "NETR_DELTA_DOMAIN"; break;
4050
case NETR_DELTA_GROUP: val = "NETR_DELTA_GROUP"; break;
4051
case NETR_DELTA_DELETE_GROUP: val = "NETR_DELTA_DELETE_GROUP"; break;
4052
case NETR_DELTA_RENAME_GROUP: val = "NETR_DELTA_RENAME_GROUP"; break;
4053
case NETR_DELTA_USER: val = "NETR_DELTA_USER"; break;
4054
case NETR_DELTA_DELETE_USER: val = "NETR_DELTA_DELETE_USER"; break;
4055
case NETR_DELTA_RENAME_USER: val = "NETR_DELTA_RENAME_USER"; break;
4056
case NETR_DELTA_GROUP_MEMBER: val = "NETR_DELTA_GROUP_MEMBER"; break;
4057
case NETR_DELTA_ALIAS: val = "NETR_DELTA_ALIAS"; break;
4058
case NETR_DELTA_DELETE_ALIAS: val = "NETR_DELTA_DELETE_ALIAS"; break;
4059
case NETR_DELTA_RENAME_ALIAS: val = "NETR_DELTA_RENAME_ALIAS"; break;
4060
case NETR_DELTA_ALIAS_MEMBER: val = "NETR_DELTA_ALIAS_MEMBER"; break;
4061
case NETR_DELTA_POLICY: val = "NETR_DELTA_POLICY"; break;
4062
case NETR_DELTA_TRUSTED_DOMAIN: val = "NETR_DELTA_TRUSTED_DOMAIN"; break;
4063
case NETR_DELTA_DELETE_TRUST: val = "NETR_DELTA_DELETE_TRUST"; break;
4064
case NETR_DELTA_ACCOUNT: val = "NETR_DELTA_ACCOUNT"; break;
4065
case NETR_DELTA_DELETE_ACCOUNT: val = "NETR_DELTA_DELETE_ACCOUNT"; break;
4066
case NETR_DELTA_SECRET: val = "NETR_DELTA_SECRET"; break;
4067
case NETR_DELTA_DELETE_SECRET: val = "NETR_DELTA_DELETE_SECRET"; break;
4068
case NETR_DELTA_DELETE_GROUP2: val = "NETR_DELTA_DELETE_GROUP2"; break;
4069
case NETR_DELTA_DELETE_USER2: val = "NETR_DELTA_DELETE_USER2"; break;
4070
case NETR_DELTA_MODIFY_COUNT: val = "NETR_DELTA_MODIFY_COUNT"; break;
4072
ndr_print_enum(ndr, name, "ENUM", val, r);
4075
static enum ndr_err_code ndr_push_netr_DELTA_UNION(struct ndr_push *ndr, int ndr_flags, const union netr_DELTA_UNION *r)
4077
if (ndr_flags & NDR_SCALARS) {
4078
int level = ndr_push_get_switch_value(ndr, r);
4079
NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4080
NDR_CHECK(ndr_push_union_align(ndr, 5));
4082
case NETR_DELTA_DOMAIN: {
4083
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
4086
case NETR_DELTA_GROUP: {
4087
NDR_CHECK(ndr_push_unique_ptr(ndr, r->group));
4090
case NETR_DELTA_DELETE_GROUP: {
4093
case NETR_DELTA_RENAME_GROUP: {
4094
NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_group));
4097
case NETR_DELTA_USER: {
4098
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
4101
case NETR_DELTA_DELETE_USER: {
4104
case NETR_DELTA_RENAME_USER: {
4105
NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_user));
4108
case NETR_DELTA_GROUP_MEMBER: {
4109
NDR_CHECK(ndr_push_unique_ptr(ndr, r->group_member));
4112
case NETR_DELTA_ALIAS: {
4113
NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias));
4116
case NETR_DELTA_DELETE_ALIAS: {
4119
case NETR_DELTA_RENAME_ALIAS: {
4120
NDR_CHECK(ndr_push_unique_ptr(ndr, r->rename_alias));
4123
case NETR_DELTA_ALIAS_MEMBER: {
4124
NDR_CHECK(ndr_push_unique_ptr(ndr, r->alias_member));
4127
case NETR_DELTA_POLICY: {
4128
NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
4131
case NETR_DELTA_TRUSTED_DOMAIN: {
4132
NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain));
4135
case NETR_DELTA_DELETE_TRUST: {
4136
NDR_CHECK(ndr_push_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4139
case NETR_DELTA_ACCOUNT: {
4140
NDR_CHECK(ndr_push_unique_ptr(ndr, r->account));
4143
case NETR_DELTA_DELETE_ACCOUNT: {
4144
NDR_CHECK(ndr_push_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4147
case NETR_DELTA_SECRET: {
4148
NDR_CHECK(ndr_push_unique_ptr(ndr, r->secret));
4151
case NETR_DELTA_DELETE_SECRET: {
4152
NDR_CHECK(ndr_push_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4155
case NETR_DELTA_DELETE_GROUP2: {
4156
NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_group));
4159
case NETR_DELTA_DELETE_USER2: {
4160
NDR_CHECK(ndr_push_unique_ptr(ndr, r->delete_user));
4163
case NETR_DELTA_MODIFY_COUNT: {
4164
NDR_CHECK(ndr_push_unique_ptr(ndr, r->modified_count));
4168
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4171
if (ndr_flags & NDR_BUFFERS) {
4172
int level = ndr_push_get_switch_value(ndr, r);
4174
case NETR_DELTA_DOMAIN:
4176
NDR_CHECK(ndr_push_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4180
case NETR_DELTA_GROUP:
4182
NDR_CHECK(ndr_push_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4186
case NETR_DELTA_DELETE_GROUP:
4189
case NETR_DELTA_RENAME_GROUP:
4190
if (r->rename_group) {
4191
NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4195
case NETR_DELTA_USER:
4197
NDR_CHECK(ndr_push_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4201
case NETR_DELTA_DELETE_USER:
4204
case NETR_DELTA_RENAME_USER:
4205
if (r->rename_user) {
4206
NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4210
case NETR_DELTA_GROUP_MEMBER:
4211
if (r->group_member) {
4212
NDR_CHECK(ndr_push_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4216
case NETR_DELTA_ALIAS:
4218
NDR_CHECK(ndr_push_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4222
case NETR_DELTA_DELETE_ALIAS:
4225
case NETR_DELTA_RENAME_ALIAS:
4226
if (r->rename_alias) {
4227
NDR_CHECK(ndr_push_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4231
case NETR_DELTA_ALIAS_MEMBER:
4232
if (r->alias_member) {
4233
NDR_CHECK(ndr_push_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4237
case NETR_DELTA_POLICY:
4239
NDR_CHECK(ndr_push_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4243
case NETR_DELTA_TRUSTED_DOMAIN:
4244
if (r->trusted_domain) {
4245
NDR_CHECK(ndr_push_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4249
case NETR_DELTA_DELETE_TRUST:
4252
case NETR_DELTA_ACCOUNT:
4254
NDR_CHECK(ndr_push_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4258
case NETR_DELTA_DELETE_ACCOUNT:
4261
case NETR_DELTA_SECRET:
4263
NDR_CHECK(ndr_push_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4267
case NETR_DELTA_DELETE_SECRET:
4270
case NETR_DELTA_DELETE_GROUP2:
4271
if (r->delete_group) {
4272
NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4276
case NETR_DELTA_DELETE_USER2:
4277
if (r->delete_user) {
4278
NDR_CHECK(ndr_push_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4282
case NETR_DELTA_MODIFY_COUNT:
4283
if (r->modified_count) {
4284
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->modified_count));
4289
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4292
return NDR_ERR_SUCCESS;
4295
static enum ndr_err_code ndr_pull_netr_DELTA_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_UNION *r)
4299
TALLOC_CTX *_mem_save_domain_0;
4300
TALLOC_CTX *_mem_save_group_0;
4301
TALLOC_CTX *_mem_save_rename_group_0;
4302
TALLOC_CTX *_mem_save_user_0;
4303
TALLOC_CTX *_mem_save_rename_user_0;
4304
TALLOC_CTX *_mem_save_group_member_0;
4305
TALLOC_CTX *_mem_save_alias_0;
4306
TALLOC_CTX *_mem_save_rename_alias_0;
4307
TALLOC_CTX *_mem_save_alias_member_0;
4308
TALLOC_CTX *_mem_save_policy_0;
4309
TALLOC_CTX *_mem_save_trusted_domain_0;
4310
TALLOC_CTX *_mem_save_account_0;
4311
TALLOC_CTX *_mem_save_secret_0;
4312
TALLOC_CTX *_mem_save_delete_group_0;
4313
TALLOC_CTX *_mem_save_delete_user_0;
4314
TALLOC_CTX *_mem_save_modified_count_0;
4315
level = ndr_pull_get_switch_value(ndr, r);
4316
if (ndr_flags & NDR_SCALARS) {
4317
NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
4318
if (_level != level) {
4319
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4321
NDR_CHECK(ndr_pull_union_align(ndr, 5));
4323
case NETR_DELTA_DOMAIN: {
4324
uint32_t _ptr_domain;
4325
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
4327
NDR_PULL_ALLOC(ndr, r->domain);
4333
case NETR_DELTA_GROUP: {
4334
uint32_t _ptr_group;
4335
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group));
4337
NDR_PULL_ALLOC(ndr, r->group);
4343
case NETR_DELTA_DELETE_GROUP: {
4346
case NETR_DELTA_RENAME_GROUP: {
4347
uint32_t _ptr_rename_group;
4348
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_group));
4349
if (_ptr_rename_group) {
4350
NDR_PULL_ALLOC(ndr, r->rename_group);
4352
r->rename_group = NULL;
4356
case NETR_DELTA_USER: {
4358
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
4360
NDR_PULL_ALLOC(ndr, r->user);
4366
case NETR_DELTA_DELETE_USER: {
4369
case NETR_DELTA_RENAME_USER: {
4370
uint32_t _ptr_rename_user;
4371
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_user));
4372
if (_ptr_rename_user) {
4373
NDR_PULL_ALLOC(ndr, r->rename_user);
4375
r->rename_user = NULL;
4379
case NETR_DELTA_GROUP_MEMBER: {
4380
uint32_t _ptr_group_member;
4381
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_member));
4382
if (_ptr_group_member) {
4383
NDR_PULL_ALLOC(ndr, r->group_member);
4385
r->group_member = NULL;
4389
case NETR_DELTA_ALIAS: {
4390
uint32_t _ptr_alias;
4391
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias));
4393
NDR_PULL_ALLOC(ndr, r->alias);
4399
case NETR_DELTA_DELETE_ALIAS: {
4402
case NETR_DELTA_RENAME_ALIAS: {
4403
uint32_t _ptr_rename_alias;
4404
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rename_alias));
4405
if (_ptr_rename_alias) {
4406
NDR_PULL_ALLOC(ndr, r->rename_alias);
4408
r->rename_alias = NULL;
4412
case NETR_DELTA_ALIAS_MEMBER: {
4413
uint32_t _ptr_alias_member;
4414
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_alias_member));
4415
if (_ptr_alias_member) {
4416
NDR_PULL_ALLOC(ndr, r->alias_member);
4418
r->alias_member = NULL;
4422
case NETR_DELTA_POLICY: {
4423
uint32_t _ptr_policy;
4424
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
4426
NDR_PULL_ALLOC(ndr, r->policy);
4432
case NETR_DELTA_TRUSTED_DOMAIN: {
4433
uint32_t _ptr_trusted_domain;
4434
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain));
4435
if (_ptr_trusted_domain) {
4436
NDR_PULL_ALLOC(ndr, r->trusted_domain);
4438
r->trusted_domain = NULL;
4442
case NETR_DELTA_DELETE_TRUST: {
4443
NDR_CHECK(ndr_pull_netr_DELTA_DELETE_TRUST(ndr, NDR_SCALARS, &r->delete_trust));
4446
case NETR_DELTA_ACCOUNT: {
4447
uint32_t _ptr_account;
4448
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
4450
NDR_PULL_ALLOC(ndr, r->account);
4456
case NETR_DELTA_DELETE_ACCOUNT: {
4457
NDR_CHECK(ndr_pull_netr_DELTA_DELETE_ACCOUNT(ndr, NDR_SCALARS, &r->delete_account));
4460
case NETR_DELTA_SECRET: {
4461
uint32_t _ptr_secret;
4462
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secret));
4464
NDR_PULL_ALLOC(ndr, r->secret);
4470
case NETR_DELTA_DELETE_SECRET: {
4471
NDR_CHECK(ndr_pull_netr_DELTA_DELETE_SECRET(ndr, NDR_SCALARS, &r->delete_secret));
4474
case NETR_DELTA_DELETE_GROUP2: {
4475
uint32_t _ptr_delete_group;
4476
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_group));
4477
if (_ptr_delete_group) {
4478
NDR_PULL_ALLOC(ndr, r->delete_group);
4480
r->delete_group = NULL;
4484
case NETR_DELTA_DELETE_USER2: {
4485
uint32_t _ptr_delete_user;
4486
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delete_user));
4487
if (_ptr_delete_user) {
4488
NDR_PULL_ALLOC(ndr, r->delete_user);
4490
r->delete_user = NULL;
4494
case NETR_DELTA_MODIFY_COUNT: {
4495
uint32_t _ptr_modified_count;
4496
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_modified_count));
4497
if (_ptr_modified_count) {
4498
NDR_PULL_ALLOC(ndr, r->modified_count);
4500
r->modified_count = NULL;
4505
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4508
if (ndr_flags & NDR_BUFFERS) {
4510
case NETR_DELTA_DOMAIN:
4512
_mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4513
NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
4514
NDR_CHECK(ndr_pull_netr_DELTA_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain));
4515
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
4519
case NETR_DELTA_GROUP:
4521
_mem_save_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4522
NDR_PULL_SET_MEM_CTX(ndr, r->group, 0);
4523
NDR_CHECK(ndr_pull_netr_DELTA_GROUP(ndr, NDR_SCALARS|NDR_BUFFERS, r->group));
4524
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_0, 0);
4528
case NETR_DELTA_DELETE_GROUP:
4531
case NETR_DELTA_RENAME_GROUP:
4532
if (r->rename_group) {
4533
_mem_save_rename_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4534
NDR_PULL_SET_MEM_CTX(ndr, r->rename_group, 0);
4535
NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_group));
4536
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_group_0, 0);
4540
case NETR_DELTA_USER:
4542
_mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4543
NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
4544
NDR_CHECK(ndr_pull_netr_DELTA_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->user));
4545
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
4549
case NETR_DELTA_DELETE_USER:
4552
case NETR_DELTA_RENAME_USER:
4553
if (r->rename_user) {
4554
_mem_save_rename_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4555
NDR_PULL_SET_MEM_CTX(ndr, r->rename_user, 0);
4556
NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_user));
4557
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_user_0, 0);
4561
case NETR_DELTA_GROUP_MEMBER:
4562
if (r->group_member) {
4563
_mem_save_group_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4564
NDR_PULL_SET_MEM_CTX(ndr, r->group_member, 0);
4565
NDR_CHECK(ndr_pull_netr_DELTA_GROUP_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->group_member));
4566
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_member_0, 0);
4570
case NETR_DELTA_ALIAS:
4572
_mem_save_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4573
NDR_PULL_SET_MEM_CTX(ndr, r->alias, 0);
4574
NDR_CHECK(ndr_pull_netr_DELTA_ALIAS(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias));
4575
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_0, 0);
4579
case NETR_DELTA_DELETE_ALIAS:
4582
case NETR_DELTA_RENAME_ALIAS:
4583
if (r->rename_alias) {
4584
_mem_save_rename_alias_0 = NDR_PULL_GET_MEM_CTX(ndr);
4585
NDR_PULL_SET_MEM_CTX(ndr, r->rename_alias, 0);
4586
NDR_CHECK(ndr_pull_netr_DELTA_RENAME(ndr, NDR_SCALARS|NDR_BUFFERS, r->rename_alias));
4587
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rename_alias_0, 0);
4591
case NETR_DELTA_ALIAS_MEMBER:
4592
if (r->alias_member) {
4593
_mem_save_alias_member_0 = NDR_PULL_GET_MEM_CTX(ndr);
4594
NDR_PULL_SET_MEM_CTX(ndr, r->alias_member, 0);
4595
NDR_CHECK(ndr_pull_netr_DELTA_ALIAS_MEMBER(ndr, NDR_SCALARS|NDR_BUFFERS, r->alias_member));
4596
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_member_0, 0);
4600
case NETR_DELTA_POLICY:
4602
_mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
4603
NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
4604
NDR_CHECK(ndr_pull_netr_DELTA_POLICY(ndr, NDR_SCALARS|NDR_BUFFERS, r->policy));
4605
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
4609
case NETR_DELTA_TRUSTED_DOMAIN:
4610
if (r->trusted_domain) {
4611
_mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
4612
NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain, 0);
4613
NDR_CHECK(ndr_pull_netr_DELTA_TRUSTED_DOMAIN(ndr, NDR_SCALARS|NDR_BUFFERS, r->trusted_domain));
4614
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, 0);
4618
case NETR_DELTA_DELETE_TRUST:
4621
case NETR_DELTA_ACCOUNT:
4623
_mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
4624
NDR_PULL_SET_MEM_CTX(ndr, r->account, 0);
4625
NDR_CHECK(ndr_pull_netr_DELTA_ACCOUNT(ndr, NDR_SCALARS|NDR_BUFFERS, r->account));
4626
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
4630
case NETR_DELTA_DELETE_ACCOUNT:
4633
case NETR_DELTA_SECRET:
4635
_mem_save_secret_0 = NDR_PULL_GET_MEM_CTX(ndr);
4636
NDR_PULL_SET_MEM_CTX(ndr, r->secret, 0);
4637
NDR_CHECK(ndr_pull_netr_DELTA_SECRET(ndr, NDR_SCALARS|NDR_BUFFERS, r->secret));
4638
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secret_0, 0);
4642
case NETR_DELTA_DELETE_SECRET:
4645
case NETR_DELTA_DELETE_GROUP2:
4646
if (r->delete_group) {
4647
_mem_save_delete_group_0 = NDR_PULL_GET_MEM_CTX(ndr);
4648
NDR_PULL_SET_MEM_CTX(ndr, r->delete_group, 0);
4649
NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_group));
4650
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_group_0, 0);
4654
case NETR_DELTA_DELETE_USER2:
4655
if (r->delete_user) {
4656
_mem_save_delete_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
4657
NDR_PULL_SET_MEM_CTX(ndr, r->delete_user, 0);
4658
NDR_CHECK(ndr_pull_netr_DELTA_DELETE_USER(ndr, NDR_SCALARS|NDR_BUFFERS, r->delete_user));
4659
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delete_user_0, 0);
4663
case NETR_DELTA_MODIFY_COUNT:
4664
if (r->modified_count) {
4665
_mem_save_modified_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
4666
NDR_PULL_SET_MEM_CTX(ndr, r->modified_count, 0);
4667
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->modified_count));
4668
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_modified_count_0, 0);
4673
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4676
return NDR_ERR_SUCCESS;
4679
_PUBLIC_ void ndr_print_netr_DELTA_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_UNION *r)
4682
level = ndr_print_get_switch_value(ndr, r);
4683
ndr_print_union(ndr, name, level, "netr_DELTA_UNION");
4685
case NETR_DELTA_DOMAIN:
4686
ndr_print_ptr(ndr, "domain", r->domain);
4689
ndr_print_netr_DELTA_DOMAIN(ndr, "domain", r->domain);
4694
case NETR_DELTA_GROUP:
4695
ndr_print_ptr(ndr, "group", r->group);
4698
ndr_print_netr_DELTA_GROUP(ndr, "group", r->group);
4703
case NETR_DELTA_DELETE_GROUP:
4706
case NETR_DELTA_RENAME_GROUP:
4707
ndr_print_ptr(ndr, "rename_group", r->rename_group);
4709
if (r->rename_group) {
4710
ndr_print_netr_DELTA_RENAME(ndr, "rename_group", r->rename_group);
4715
case NETR_DELTA_USER:
4716
ndr_print_ptr(ndr, "user", r->user);
4719
ndr_print_netr_DELTA_USER(ndr, "user", r->user);
4724
case NETR_DELTA_DELETE_USER:
4727
case NETR_DELTA_RENAME_USER:
4728
ndr_print_ptr(ndr, "rename_user", r->rename_user);
4730
if (r->rename_user) {
4731
ndr_print_netr_DELTA_RENAME(ndr, "rename_user", r->rename_user);
4736
case NETR_DELTA_GROUP_MEMBER:
4737
ndr_print_ptr(ndr, "group_member", r->group_member);
4739
if (r->group_member) {
4740
ndr_print_netr_DELTA_GROUP_MEMBER(ndr, "group_member", r->group_member);
4745
case NETR_DELTA_ALIAS:
4746
ndr_print_ptr(ndr, "alias", r->alias);
4749
ndr_print_netr_DELTA_ALIAS(ndr, "alias", r->alias);
4754
case NETR_DELTA_DELETE_ALIAS:
4757
case NETR_DELTA_RENAME_ALIAS:
4758
ndr_print_ptr(ndr, "rename_alias", r->rename_alias);
4760
if (r->rename_alias) {
4761
ndr_print_netr_DELTA_RENAME(ndr, "rename_alias", r->rename_alias);
4766
case NETR_DELTA_ALIAS_MEMBER:
4767
ndr_print_ptr(ndr, "alias_member", r->alias_member);
4769
if (r->alias_member) {
4770
ndr_print_netr_DELTA_ALIAS_MEMBER(ndr, "alias_member", r->alias_member);
4775
case NETR_DELTA_POLICY:
4776
ndr_print_ptr(ndr, "policy", r->policy);
4779
ndr_print_netr_DELTA_POLICY(ndr, "policy", r->policy);
4784
case NETR_DELTA_TRUSTED_DOMAIN:
4785
ndr_print_ptr(ndr, "trusted_domain", r->trusted_domain);
4787
if (r->trusted_domain) {
4788
ndr_print_netr_DELTA_TRUSTED_DOMAIN(ndr, "trusted_domain", r->trusted_domain);
4793
case NETR_DELTA_DELETE_TRUST:
4794
ndr_print_netr_DELTA_DELETE_TRUST(ndr, "delete_trust", &r->delete_trust);
4797
case NETR_DELTA_ACCOUNT:
4798
ndr_print_ptr(ndr, "account", r->account);
4801
ndr_print_netr_DELTA_ACCOUNT(ndr, "account", r->account);
4806
case NETR_DELTA_DELETE_ACCOUNT:
4807
ndr_print_netr_DELTA_DELETE_ACCOUNT(ndr, "delete_account", &r->delete_account);
4810
case NETR_DELTA_SECRET:
4811
ndr_print_ptr(ndr, "secret", r->secret);
4814
ndr_print_netr_DELTA_SECRET(ndr, "secret", r->secret);
4819
case NETR_DELTA_DELETE_SECRET:
4820
ndr_print_netr_DELTA_DELETE_SECRET(ndr, "delete_secret", &r->delete_secret);
4823
case NETR_DELTA_DELETE_GROUP2:
4824
ndr_print_ptr(ndr, "delete_group", r->delete_group);
4826
if (r->delete_group) {
4827
ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_group", r->delete_group);
4832
case NETR_DELTA_DELETE_USER2:
4833
ndr_print_ptr(ndr, "delete_user", r->delete_user);
4835
if (r->delete_user) {
4836
ndr_print_netr_DELTA_DELETE_USER(ndr, "delete_user", r->delete_user);
4841
case NETR_DELTA_MODIFY_COUNT:
4842
ndr_print_ptr(ndr, "modified_count", r->modified_count);
4844
if (r->modified_count) {
4845
ndr_print_udlong(ndr, "modified_count", *r->modified_count);
4851
ndr_print_bad_level(ndr, name, level);
4855
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)
4857
if (ndr_flags & NDR_SCALARS) {
4858
int level = ndr_push_get_switch_value(ndr, r);
4859
NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, level));
4860
NDR_CHECK(ndr_push_union_align(ndr, 5));
4862
case NETR_DELTA_DOMAIN: {
4863
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4866
case NETR_DELTA_GROUP: {
4867
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4870
case NETR_DELTA_DELETE_GROUP: {
4871
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4874
case NETR_DELTA_RENAME_GROUP: {
4875
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4878
case NETR_DELTA_USER: {
4879
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4882
case NETR_DELTA_DELETE_USER: {
4883
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4886
case NETR_DELTA_RENAME_USER: {
4887
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4890
case NETR_DELTA_GROUP_MEMBER: {
4891
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4894
case NETR_DELTA_ALIAS: {
4895
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4898
case NETR_DELTA_DELETE_ALIAS: {
4899
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4902
case NETR_DELTA_RENAME_ALIAS: {
4903
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4906
case NETR_DELTA_ALIAS_MEMBER: {
4907
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4910
case NETR_DELTA_POLICY: {
4911
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4914
case NETR_DELTA_TRUSTED_DOMAIN: {
4915
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4918
case NETR_DELTA_DELETE_TRUST: {
4919
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4922
case NETR_DELTA_ACCOUNT: {
4923
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4926
case NETR_DELTA_DELETE_ACCOUNT: {
4927
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4930
case NETR_DELTA_SECRET: {
4931
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4934
case NETR_DELTA_DELETE_SECRET: {
4935
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
4938
case NETR_DELTA_DELETE_GROUP2: {
4939
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4942
case NETR_DELTA_DELETE_USER2: {
4943
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4946
case NETR_DELTA_MODIFY_COUNT: {
4950
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4953
if (ndr_flags & NDR_BUFFERS) {
4954
int level = ndr_push_get_switch_value(ndr, r);
4956
case NETR_DELTA_DOMAIN:
4959
case NETR_DELTA_GROUP:
4962
case NETR_DELTA_DELETE_GROUP:
4965
case NETR_DELTA_RENAME_GROUP:
4968
case NETR_DELTA_USER:
4971
case NETR_DELTA_DELETE_USER:
4974
case NETR_DELTA_RENAME_USER:
4977
case NETR_DELTA_GROUP_MEMBER:
4980
case NETR_DELTA_ALIAS:
4983
case NETR_DELTA_DELETE_ALIAS:
4986
case NETR_DELTA_RENAME_ALIAS:
4989
case NETR_DELTA_ALIAS_MEMBER:
4992
case NETR_DELTA_POLICY:
4994
NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4998
case NETR_DELTA_TRUSTED_DOMAIN:
5000
NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5004
case NETR_DELTA_DELETE_TRUST:
5006
NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5010
case NETR_DELTA_ACCOUNT:
5012
NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5016
case NETR_DELTA_DELETE_ACCOUNT:
5018
NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5022
case NETR_DELTA_SECRET:
5024
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
5025
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5026
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
5027
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5031
case NETR_DELTA_DELETE_SECRET:
5033
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
5034
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5035
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
5036
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5040
case NETR_DELTA_DELETE_GROUP2:
5043
case NETR_DELTA_DELETE_USER2:
5046
case NETR_DELTA_MODIFY_COUNT:
5050
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5053
return NDR_ERR_SUCCESS;
5056
static enum ndr_err_code ndr_pull_netr_DELTA_ID_UNION(struct ndr_pull *ndr, int ndr_flags, union netr_DELTA_ID_UNION *r)
5060
TALLOC_CTX *_mem_save_sid_0;
5061
TALLOC_CTX *_mem_save_name_0;
5062
level = ndr_pull_get_switch_value(ndr, r);
5063
if (ndr_flags & NDR_SCALARS) {
5064
NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
5065
if (_level != level) {
5066
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5068
NDR_CHECK(ndr_pull_union_align(ndr, 5));
5070
case NETR_DELTA_DOMAIN: {
5071
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5074
case NETR_DELTA_GROUP: {
5075
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5078
case NETR_DELTA_DELETE_GROUP: {
5079
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5082
case NETR_DELTA_RENAME_GROUP: {
5083
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5086
case NETR_DELTA_USER: {
5087
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5090
case NETR_DELTA_DELETE_USER: {
5091
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5094
case NETR_DELTA_RENAME_USER: {
5095
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5098
case NETR_DELTA_GROUP_MEMBER: {
5099
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5102
case NETR_DELTA_ALIAS: {
5103
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5106
case NETR_DELTA_DELETE_ALIAS: {
5107
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5110
case NETR_DELTA_RENAME_ALIAS: {
5111
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5114
case NETR_DELTA_ALIAS_MEMBER: {
5115
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5118
case NETR_DELTA_POLICY: {
5120
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5122
NDR_PULL_ALLOC(ndr, r->sid);
5128
case NETR_DELTA_TRUSTED_DOMAIN: {
5130
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5132
NDR_PULL_ALLOC(ndr, r->sid);
5138
case NETR_DELTA_DELETE_TRUST: {
5140
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5142
NDR_PULL_ALLOC(ndr, r->sid);
5148
case NETR_DELTA_ACCOUNT: {
5150
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5152
NDR_PULL_ALLOC(ndr, r->sid);
5158
case NETR_DELTA_DELETE_ACCOUNT: {
5160
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5162
NDR_PULL_ALLOC(ndr, r->sid);
5168
case NETR_DELTA_SECRET: {
5170
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5172
NDR_PULL_ALLOC(ndr, r->name);
5178
case NETR_DELTA_DELETE_SECRET: {
5180
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
5182
NDR_PULL_ALLOC(ndr, r->name);
5188
case NETR_DELTA_DELETE_GROUP2: {
5189
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5192
case NETR_DELTA_DELETE_USER2: {
5193
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
5196
case NETR_DELTA_MODIFY_COUNT: {
5200
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5203
if (ndr_flags & NDR_BUFFERS) {
5205
case NETR_DELTA_DOMAIN:
5208
case NETR_DELTA_GROUP:
5211
case NETR_DELTA_DELETE_GROUP:
5214
case NETR_DELTA_RENAME_GROUP:
5217
case NETR_DELTA_USER:
5220
case NETR_DELTA_DELETE_USER:
5223
case NETR_DELTA_RENAME_USER:
5226
case NETR_DELTA_GROUP_MEMBER:
5229
case NETR_DELTA_ALIAS:
5232
case NETR_DELTA_DELETE_ALIAS:
5235
case NETR_DELTA_RENAME_ALIAS:
5238
case NETR_DELTA_ALIAS_MEMBER:
5241
case NETR_DELTA_POLICY:
5243
_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5244
NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5245
NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5246
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5250
case NETR_DELTA_TRUSTED_DOMAIN:
5252
_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5253
NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5254
NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5255
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5259
case NETR_DELTA_DELETE_TRUST:
5261
_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5262
NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5263
NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5264
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5268
case NETR_DELTA_ACCOUNT:
5270
_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5271
NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5272
NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5273
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5277
case NETR_DELTA_DELETE_ACCOUNT:
5279
_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5280
NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
5281
NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
5282
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
5286
case NETR_DELTA_SECRET:
5288
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5289
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5290
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5291
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5292
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5293
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));
5295
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5296
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5297
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5301
case NETR_DELTA_DELETE_SECRET:
5303
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5304
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
5305
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
5306
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
5307
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
5308
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));
5310
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
5311
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
5312
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
5316
case NETR_DELTA_DELETE_GROUP2:
5319
case NETR_DELTA_DELETE_USER2:
5322
case NETR_DELTA_MODIFY_COUNT:
5326
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5329
return NDR_ERR_SUCCESS;
5332
_PUBLIC_ void ndr_print_netr_DELTA_ID_UNION(struct ndr_print *ndr, const char *name, const union netr_DELTA_ID_UNION *r)
5335
level = ndr_print_get_switch_value(ndr, r);
5336
ndr_print_union(ndr, name, level, "netr_DELTA_ID_UNION");
5338
case NETR_DELTA_DOMAIN:
5339
ndr_print_uint32(ndr, "rid", r->rid);
5342
case NETR_DELTA_GROUP:
5343
ndr_print_uint32(ndr, "rid", r->rid);
5346
case NETR_DELTA_DELETE_GROUP:
5347
ndr_print_uint32(ndr, "rid", r->rid);
5350
case NETR_DELTA_RENAME_GROUP:
5351
ndr_print_uint32(ndr, "rid", r->rid);
5354
case NETR_DELTA_USER:
5355
ndr_print_uint32(ndr, "rid", r->rid);
5358
case NETR_DELTA_DELETE_USER:
5359
ndr_print_uint32(ndr, "rid", r->rid);
5362
case NETR_DELTA_RENAME_USER:
5363
ndr_print_uint32(ndr, "rid", r->rid);
5366
case NETR_DELTA_GROUP_MEMBER:
5367
ndr_print_uint32(ndr, "rid", r->rid);
5370
case NETR_DELTA_ALIAS:
5371
ndr_print_uint32(ndr, "rid", r->rid);
5374
case NETR_DELTA_DELETE_ALIAS:
5375
ndr_print_uint32(ndr, "rid", r->rid);
5378
case NETR_DELTA_RENAME_ALIAS:
5379
ndr_print_uint32(ndr, "rid", r->rid);
5382
case NETR_DELTA_ALIAS_MEMBER:
5383
ndr_print_uint32(ndr, "rid", r->rid);
5386
case NETR_DELTA_POLICY:
5387
ndr_print_ptr(ndr, "sid", r->sid);
5390
ndr_print_dom_sid2(ndr, "sid", r->sid);
5395
case NETR_DELTA_TRUSTED_DOMAIN:
5396
ndr_print_ptr(ndr, "sid", r->sid);
5399
ndr_print_dom_sid2(ndr, "sid", r->sid);
5404
case NETR_DELTA_DELETE_TRUST:
5405
ndr_print_ptr(ndr, "sid", r->sid);
5408
ndr_print_dom_sid2(ndr, "sid", r->sid);
5413
case NETR_DELTA_ACCOUNT:
5414
ndr_print_ptr(ndr, "sid", r->sid);
5417
ndr_print_dom_sid2(ndr, "sid", r->sid);
5422
case NETR_DELTA_DELETE_ACCOUNT:
5423
ndr_print_ptr(ndr, "sid", r->sid);
5426
ndr_print_dom_sid2(ndr, "sid", r->sid);
5431
case NETR_DELTA_SECRET:
5432
ndr_print_ptr(ndr, "name", r->name);
5435
ndr_print_string(ndr, "name", r->name);
5440
case NETR_DELTA_DELETE_SECRET:
5441
ndr_print_ptr(ndr, "name", r->name);
5444
ndr_print_string(ndr, "name", r->name);
5449
case NETR_DELTA_DELETE_GROUP2:
5450
ndr_print_uint32(ndr, "rid", r->rid);
5453
case NETR_DELTA_DELETE_USER2:
5454
ndr_print_uint32(ndr, "rid", r->rid);
5457
case NETR_DELTA_MODIFY_COUNT:
5461
ndr_print_bad_level(ndr, name, level);
5465
static enum ndr_err_code ndr_push_netr_DELTA_ENUM(struct ndr_push *ndr, int ndr_flags, const struct netr_DELTA_ENUM *r)
5467
if (ndr_flags & NDR_SCALARS) {
5468
NDR_CHECK(ndr_push_align(ndr, 5));
5469
NDR_CHECK(ndr_push_netr_DeltaEnum(ndr, NDR_SCALARS, r->delta_type));
5470
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5471
NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5472
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->delta_union, r->delta_type));
5473
NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5474
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5476
if (ndr_flags & NDR_BUFFERS) {
5477
NDR_CHECK(ndr_push_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5478
NDR_CHECK(ndr_push_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5480
return NDR_ERR_SUCCESS;
5483
static enum ndr_err_code ndr_pull_netr_DELTA_ENUM(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM *r)
5485
if (ndr_flags & NDR_SCALARS) {
5486
NDR_CHECK(ndr_pull_align(ndr, 5));
5487
NDR_CHECK(ndr_pull_netr_DeltaEnum(ndr, NDR_SCALARS, &r->delta_type));
5488
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_id_union, r->delta_type));
5489
NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_SCALARS, &r->delta_id_union));
5490
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->delta_union, r->delta_type));
5491
NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_SCALARS, &r->delta_union));
5492
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5494
if (ndr_flags & NDR_BUFFERS) {
5495
NDR_CHECK(ndr_pull_netr_DELTA_ID_UNION(ndr, NDR_BUFFERS, &r->delta_id_union));
5496
NDR_CHECK(ndr_pull_netr_DELTA_UNION(ndr, NDR_BUFFERS, &r->delta_union));
5498
return NDR_ERR_SUCCESS;
5501
_PUBLIC_ void ndr_print_netr_DELTA_ENUM(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM *r)
5503
ndr_print_struct(ndr, name, "netr_DELTA_ENUM");
5505
ndr_print_netr_DeltaEnum(ndr, "delta_type", r->delta_type);
5506
ndr_print_set_switch_value(ndr, &r->delta_id_union, r->delta_type);
5507
ndr_print_netr_DELTA_ID_UNION(ndr, "delta_id_union", &r->delta_id_union);
5508
ndr_print_set_switch_value(ndr, &r->delta_union, r->delta_type);
5509
ndr_print_netr_DELTA_UNION(ndr, "delta_union", &r->delta_union);
5513
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)
5515
uint32_t cntr_delta_enum_1;
5516
if (ndr_flags & NDR_SCALARS) {
5517
NDR_CHECK(ndr_push_align(ndr, 5));
5518
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_deltas));
5519
NDR_CHECK(ndr_push_unique_ptr(ndr, r->delta_enum));
5520
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5522
if (ndr_flags & NDR_BUFFERS) {
5523
if (r->delta_enum) {
5524
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_deltas));
5525
for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5526
NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5528
for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5529
NDR_CHECK(ndr_push_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5533
return NDR_ERR_SUCCESS;
5536
static enum ndr_err_code ndr_pull_netr_DELTA_ENUM_ARRAY(struct ndr_pull *ndr, int ndr_flags, struct netr_DELTA_ENUM_ARRAY *r)
5538
uint32_t _ptr_delta_enum;
5539
uint32_t cntr_delta_enum_1;
5540
TALLOC_CTX *_mem_save_delta_enum_0;
5541
TALLOC_CTX *_mem_save_delta_enum_1;
5542
if (ndr_flags & NDR_SCALARS) {
5543
NDR_CHECK(ndr_pull_align(ndr, 5));
5544
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_deltas));
5545
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum));
5546
if (_ptr_delta_enum) {
5547
NDR_PULL_ALLOC(ndr, r->delta_enum);
5549
r->delta_enum = NULL;
5551
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5553
if (ndr_flags & NDR_BUFFERS) {
5554
if (r->delta_enum) {
5555
_mem_save_delta_enum_0 = NDR_PULL_GET_MEM_CTX(ndr);
5556
NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5557
NDR_CHECK(ndr_pull_array_size(ndr, &r->delta_enum));
5558
NDR_PULL_ALLOC_N(ndr, r->delta_enum, ndr_get_array_size(ndr, &r->delta_enum));
5559
_mem_save_delta_enum_1 = NDR_PULL_GET_MEM_CTX(ndr);
5560
NDR_PULL_SET_MEM_CTX(ndr, r->delta_enum, 0);
5561
for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5562
NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_SCALARS, &r->delta_enum[cntr_delta_enum_1]));
5564
for (cntr_delta_enum_1 = 0; cntr_delta_enum_1 < r->num_deltas; cntr_delta_enum_1++) {
5565
NDR_CHECK(ndr_pull_netr_DELTA_ENUM(ndr, NDR_BUFFERS, &r->delta_enum[cntr_delta_enum_1]));
5567
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_1, 0);
5568
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_0, 0);
5570
if (r->delta_enum) {
5571
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->delta_enum, r->num_deltas));
5574
return NDR_ERR_SUCCESS;
5577
_PUBLIC_ void ndr_print_netr_DELTA_ENUM_ARRAY(struct ndr_print *ndr, const char *name, const struct netr_DELTA_ENUM_ARRAY *r)
5579
uint32_t cntr_delta_enum_1;
5580
ndr_print_struct(ndr, name, "netr_DELTA_ENUM_ARRAY");
5582
ndr_print_uint32(ndr, "num_deltas", r->num_deltas);
5583
ndr_print_ptr(ndr, "delta_enum", r->delta_enum);
5585
if (r->delta_enum) {
5586
ndr->print(ndr, "%s: ARRAY(%d)", "delta_enum", (int)r->num_deltas);
5588
for (cntr_delta_enum_1=0;cntr_delta_enum_1<r->num_deltas;cntr_delta_enum_1++) {
5590
if (asprintf(&idx_1, "[%d]", cntr_delta_enum_1) != -1) {
5591
ndr_print_netr_DELTA_ENUM(ndr, "delta_enum", &r->delta_enum[cntr_delta_enum_1]);
5601
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)
5604
uint32_t _flags_save_STRUCT = ndr->flags;
5605
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5606
if (ndr_flags & NDR_SCALARS) {
5607
NDR_CHECK(ndr_push_align(ndr, 4));
5608
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5609
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timecreated));
5610
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number));
5611
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
5613
if (ndr_flags & NDR_BUFFERS) {
5615
ndr->flags = _flags_save_STRUCT;
5617
return NDR_ERR_SUCCESS;
5620
static enum ndr_err_code ndr_pull_netr_UAS_INFO_0(struct ndr_pull *ndr, int ndr_flags, struct netr_UAS_INFO_0 *r)
5623
uint32_t _flags_save_STRUCT = ndr->flags;
5624
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5625
if (ndr_flags & NDR_SCALARS) {
5626
NDR_CHECK(ndr_pull_align(ndr, 4));
5627
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->computer_name, 16));
5628
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timecreated));
5629
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number));
5630
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
5632
if (ndr_flags & NDR_BUFFERS) {
5634
ndr->flags = _flags_save_STRUCT;
5636
return NDR_ERR_SUCCESS;
5639
_PUBLIC_ void ndr_print_netr_UAS_INFO_0(struct ndr_print *ndr, const char *name, const struct netr_UAS_INFO_0 *r)
5641
ndr_print_struct(ndr, name, "netr_UAS_INFO_0");
5643
uint32_t _flags_save_STRUCT = ndr->flags;
5644
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
5646
ndr_print_array_uint8(ndr, "computer_name", r->computer_name, 16);
5647
ndr_print_uint32(ndr, "timecreated", r->timecreated);
5648
ndr_print_uint32(ndr, "serial_number", r->serial_number);
5650
ndr->flags = _flags_save_STRUCT;
5654
static enum ndr_err_code ndr_push_netr_AccountBuffer(struct ndr_push *ndr, int ndr_flags, const struct netr_AccountBuffer *r)
5656
if (ndr_flags & NDR_SCALARS) {
5657
NDR_CHECK(ndr_push_align(ndr, 4));
5659
uint32_t _flags_save_DATA_BLOB = ndr->flags;
5660
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5661
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->blob));
5662
ndr->flags = _flags_save_DATA_BLOB;
5664
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
5666
if (ndr_flags & NDR_BUFFERS) {
5668
return NDR_ERR_SUCCESS;
5671
static enum ndr_err_code ndr_pull_netr_AccountBuffer(struct ndr_pull *ndr, int ndr_flags, struct netr_AccountBuffer *r)
5673
if (ndr_flags & NDR_SCALARS) {
5674
NDR_CHECK(ndr_pull_align(ndr, 4));
5676
uint32_t _flags_save_DATA_BLOB = ndr->flags;
5677
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
5678
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->blob));
5679
ndr->flags = _flags_save_DATA_BLOB;
5681
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
5683
if (ndr_flags & NDR_BUFFERS) {
5685
return NDR_ERR_SUCCESS;
5688
_PUBLIC_ void ndr_print_netr_AccountBuffer(struct ndr_print *ndr, const char *name, const struct netr_AccountBuffer *r)
5690
ndr_print_struct(ndr, name, "netr_AccountBuffer");
5692
ndr_print_DATA_BLOB(ndr, "blob", r->blob);
5696
static enum ndr_err_code ndr_push_netr_InfoFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5698
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5699
return NDR_ERR_SUCCESS;
5702
static enum ndr_err_code ndr_pull_netr_InfoFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5705
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5707
return NDR_ERR_SUCCESS;
5710
_PUBLIC_ void ndr_print_netr_InfoFlags(struct ndr_print *ndr, const char *name, uint32_t r)
5712
ndr_print_uint32(ndr, name, r);
5714
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_NEEDED", NETLOGON_REPLICATION_NEEDED, r);
5715
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REPLICATION_IN_PROGRESS", NETLOGON_REPLICATION_IN_PROGRESS, r);
5716
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_FULL_SYNC_REPLICATION", NETLOGON_FULL_SYNC_REPLICATION, r);
5717
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_REDO_NEEDED", NETLOGON_REDO_NEEDED, r);
5718
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_IP", NETLOGON_HAS_IP, r);
5719
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_HAS_TIMESERV", NETLOGON_HAS_TIMESERV, r);
5720
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_DNS_UPDATE_FAILURE", NETLOGON_DNS_UPDATE_FAILURE, r);
5721
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_VERIFY_STATUS_RETURNED", NETLOGON_VERIFY_STATUS_RETURNED, r);
5725
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)
5727
if (ndr_flags & NDR_SCALARS) {
5728
NDR_CHECK(ndr_push_align(ndr, 4));
5729
NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5730
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status));
5731
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
5733
if (ndr_flags & NDR_BUFFERS) {
5735
return NDR_ERR_SUCCESS;
5738
static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_1(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_1 *r)
5740
if (ndr_flags & NDR_SCALARS) {
5741
NDR_CHECK(ndr_pull_align(ndr, 4));
5742
NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5743
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status));
5744
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
5746
if (ndr_flags & NDR_BUFFERS) {
5748
return NDR_ERR_SUCCESS;
5751
_PUBLIC_ void ndr_print_netr_NETLOGON_INFO_1(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_1 *r)
5753
ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_1");
5755
ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5756
ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status);
5760
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)
5762
if (ndr_flags & NDR_SCALARS) {
5763
NDR_CHECK(ndr_push_align(ndr, 5));
5764
NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5765
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->pdc_connection_status));
5766
NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5767
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->tc_connection_status));
5768
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5770
if (ndr_flags & NDR_BUFFERS) {
5771
if (r->trusted_dc_name) {
5772
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5773
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5774
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5775
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));
5778
return NDR_ERR_SUCCESS;
5781
static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_2(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_2 *r)
5783
uint32_t _ptr_trusted_dc_name;
5784
TALLOC_CTX *_mem_save_trusted_dc_name_0;
5785
if (ndr_flags & NDR_SCALARS) {
5786
NDR_CHECK(ndr_pull_align(ndr, 5));
5787
NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5788
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->pdc_connection_status));
5789
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5790
if (_ptr_trusted_dc_name) {
5791
NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5793
r->trusted_dc_name = NULL;
5795
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->tc_connection_status));
5796
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5798
if (ndr_flags & NDR_BUFFERS) {
5799
if (r->trusted_dc_name) {
5800
_mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5801
NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5802
NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5803
NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5804
if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5805
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));
5807
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5808
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));
5809
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5812
return NDR_ERR_SUCCESS;
5815
_PUBLIC_ void ndr_print_netr_NETLOGON_INFO_2(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_2 *r)
5817
ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_2");
5819
ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5820
ndr_print_WERROR(ndr, "pdc_connection_status", r->pdc_connection_status);
5821
ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5823
if (r->trusted_dc_name) {
5824
ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5827
ndr_print_WERROR(ndr, "tc_connection_status", r->tc_connection_status);
5831
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)
5833
if (ndr_flags & NDR_SCALARS) {
5834
NDR_CHECK(ndr_push_align(ndr, 4));
5835
NDR_CHECK(ndr_push_netr_InfoFlags(ndr, NDR_SCALARS, r->flags));
5836
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logon_attempts));
5837
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
5838
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
5839
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
5840
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown4));
5841
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown5));
5842
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
5844
if (ndr_flags & NDR_BUFFERS) {
5846
return NDR_ERR_SUCCESS;
5849
static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_3(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_3 *r)
5851
if (ndr_flags & NDR_SCALARS) {
5852
NDR_CHECK(ndr_pull_align(ndr, 4));
5853
NDR_CHECK(ndr_pull_netr_InfoFlags(ndr, NDR_SCALARS, &r->flags));
5854
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logon_attempts));
5855
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
5856
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
5857
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
5858
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown4));
5859
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown5));
5860
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
5862
if (ndr_flags & NDR_BUFFERS) {
5864
return NDR_ERR_SUCCESS;
5867
_PUBLIC_ void ndr_print_netr_NETLOGON_INFO_3(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_3 *r)
5869
ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_3");
5871
ndr_print_netr_InfoFlags(ndr, "flags", r->flags);
5872
ndr_print_uint32(ndr, "logon_attempts", r->logon_attempts);
5873
ndr_print_uint32(ndr, "unknown1", r->unknown1);
5874
ndr_print_uint32(ndr, "unknown2", r->unknown2);
5875
ndr_print_uint32(ndr, "unknown3", r->unknown3);
5876
ndr_print_uint32(ndr, "unknown4", r->unknown4);
5877
ndr_print_uint32(ndr, "unknown5", r->unknown5);
5881
static enum ndr_err_code ndr_push_netr_NETLOGON_INFO_4(struct ndr_push *ndr, int ndr_flags, const struct netr_NETLOGON_INFO_4 *r)
5883
if (ndr_flags & NDR_SCALARS) {
5884
NDR_CHECK(ndr_push_align(ndr, 5));
5885
NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_dc_name));
5886
NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domain_name));
5887
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5889
if (ndr_flags & NDR_BUFFERS) {
5890
if (r->trusted_dc_name) {
5891
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5892
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5893
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_dc_name, CH_UTF16)));
5894
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));
5896
if (r->trusted_domain_name) {
5897
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5898
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
5899
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->trusted_domain_name, CH_UTF16)));
5900
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->trusted_domain_name, ndr_charset_length(r->trusted_domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
5903
return NDR_ERR_SUCCESS;
5906
static enum ndr_err_code ndr_pull_netr_NETLOGON_INFO_4(struct ndr_pull *ndr, int ndr_flags, struct netr_NETLOGON_INFO_4 *r)
5908
uint32_t _ptr_trusted_dc_name;
5909
TALLOC_CTX *_mem_save_trusted_dc_name_0;
5910
uint32_t _ptr_trusted_domain_name;
5911
TALLOC_CTX *_mem_save_trusted_domain_name_0;
5912
if (ndr_flags & NDR_SCALARS) {
5913
NDR_CHECK(ndr_pull_align(ndr, 5));
5914
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_dc_name));
5915
if (_ptr_trusted_dc_name) {
5916
NDR_PULL_ALLOC(ndr, r->trusted_dc_name);
5918
r->trusted_dc_name = NULL;
5920
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
5921
if (_ptr_trusted_domain_name) {
5922
NDR_PULL_ALLOC(ndr, r->trusted_domain_name);
5924
r->trusted_domain_name = NULL;
5926
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5928
if (ndr_flags & NDR_BUFFERS) {
5929
if (r->trusted_dc_name) {
5930
_mem_save_trusted_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5931
NDR_PULL_SET_MEM_CTX(ndr, r->trusted_dc_name, 0);
5932
NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_dc_name));
5933
NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_dc_name));
5934
if (ndr_get_array_length(ndr, &r->trusted_dc_name) > ndr_get_array_size(ndr, &r->trusted_dc_name)) {
5935
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));
5937
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_dc_name), sizeof(uint16_t)));
5938
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));
5939
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_dc_name_0, 0);
5941
if (r->trusted_domain_name) {
5942
_mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5943
NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domain_name, 0);
5944
NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domain_name));
5945
NDR_CHECK(ndr_pull_array_length(ndr, &r->trusted_domain_name));
5946
if (ndr_get_array_length(ndr, &r->trusted_domain_name) > ndr_get_array_size(ndr, &r->trusted_domain_name)) {
5947
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->trusted_domain_name), ndr_get_array_length(ndr, &r->trusted_domain_name));
5949
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->trusted_domain_name), sizeof(uint16_t)));
5950
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->trusted_domain_name, ndr_get_array_length(ndr, &r->trusted_domain_name), sizeof(uint16_t), CH_UTF16));
5951
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
5954
return NDR_ERR_SUCCESS;
5957
_PUBLIC_ void ndr_print_netr_NETLOGON_INFO_4(struct ndr_print *ndr, const char *name, const struct netr_NETLOGON_INFO_4 *r)
5959
ndr_print_struct(ndr, name, "netr_NETLOGON_INFO_4");
5961
ndr_print_ptr(ndr, "trusted_dc_name", r->trusted_dc_name);
5963
if (r->trusted_dc_name) {
5964
ndr_print_string(ndr, "trusted_dc_name", r->trusted_dc_name);
5967
ndr_print_ptr(ndr, "trusted_domain_name", r->trusted_domain_name);
5969
if (r->trusted_domain_name) {
5970
ndr_print_string(ndr, "trusted_domain_name", r->trusted_domain_name);
5976
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)
5978
if (ndr_flags & NDR_SCALARS) {
5979
int level = ndr_push_get_switch_value(ndr, r);
5980
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5981
NDR_CHECK(ndr_push_union_align(ndr, 5));
5984
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
5988
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
5992
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
5996
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
6004
if (ndr_flags & NDR_BUFFERS) {
6005
int level = ndr_push_get_switch_value(ndr, r);
6009
NDR_CHECK(ndr_push_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
6015
NDR_CHECK(ndr_push_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6021
NDR_CHECK(ndr_push_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
6027
NDR_CHECK(ndr_push_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6036
return NDR_ERR_SUCCESS;
6039
static enum ndr_err_code ndr_pull_netr_CONTROL_QUERY_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_QUERY_INFORMATION *r)
6043
TALLOC_CTX *_mem_save_info1_0;
6044
TALLOC_CTX *_mem_save_info2_0;
6045
TALLOC_CTX *_mem_save_info3_0;
6046
TALLOC_CTX *_mem_save_info4_0;
6047
level = ndr_pull_get_switch_value(ndr, r);
6048
if (ndr_flags & NDR_SCALARS) {
6049
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6050
if (_level != level) {
6051
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6053
NDR_CHECK(ndr_pull_union_align(ndr, 5));
6056
uint32_t _ptr_info1;
6057
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
6059
NDR_PULL_ALLOC(ndr, r->info1);
6066
uint32_t _ptr_info2;
6067
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
6069
NDR_PULL_ALLOC(ndr, r->info2);
6076
uint32_t _ptr_info3;
6077
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
6079
NDR_PULL_ALLOC(ndr, r->info3);
6086
uint32_t _ptr_info4;
6087
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
6089
NDR_PULL_ALLOC(ndr, r->info4);
6100
if (ndr_flags & NDR_BUFFERS) {
6104
_mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
6105
NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
6106
NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_1(ndr, NDR_SCALARS, r->info1));
6107
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
6113
_mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
6114
NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
6115
NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
6116
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
6122
_mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
6123
NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
6124
NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_3(ndr, NDR_SCALARS, r->info3));
6125
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
6131
_mem_save_info4_0 = NDR_PULL_GET_MEM_CTX(ndr);
6132
NDR_PULL_SET_MEM_CTX(ndr, r->info4, 0);
6133
NDR_CHECK(ndr_pull_netr_NETLOGON_INFO_4(ndr, NDR_SCALARS|NDR_BUFFERS, r->info4));
6134
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info4_0, 0);
6143
return NDR_ERR_SUCCESS;
6146
_PUBLIC_ void ndr_print_netr_CONTROL_QUERY_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_QUERY_INFORMATION *r)
6149
level = ndr_print_get_switch_value(ndr, r);
6150
ndr_print_union(ndr, name, level, "netr_CONTROL_QUERY_INFORMATION");
6153
ndr_print_ptr(ndr, "info1", r->info1);
6156
ndr_print_netr_NETLOGON_INFO_1(ndr, "info1", r->info1);
6162
ndr_print_ptr(ndr, "info2", r->info2);
6165
ndr_print_netr_NETLOGON_INFO_2(ndr, "info2", r->info2);
6171
ndr_print_ptr(ndr, "info3", r->info3);
6174
ndr_print_netr_NETLOGON_INFO_3(ndr, "info3", r->info3);
6180
ndr_print_ptr(ndr, "info4", r->info4);
6183
ndr_print_netr_NETLOGON_INFO_4(ndr, "info4", r->info4);
6194
static enum ndr_err_code ndr_push_netr_LogonControlCode(struct ndr_push *ndr, int ndr_flags, enum netr_LogonControlCode r)
6196
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6197
return NDR_ERR_SUCCESS;
6200
static enum ndr_err_code ndr_pull_netr_LogonControlCode(struct ndr_pull *ndr, int ndr_flags, enum netr_LogonControlCode *r)
6203
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6205
return NDR_ERR_SUCCESS;
6208
_PUBLIC_ void ndr_print_netr_LogonControlCode(struct ndr_print *ndr, const char *name, enum netr_LogonControlCode r)
6210
const char *val = NULL;
6213
case NETLOGON_CONTROL_QUERY: val = "NETLOGON_CONTROL_QUERY"; break;
6214
case NETLOGON_CONTROL_REPLICATE: val = "NETLOGON_CONTROL_REPLICATE"; break;
6215
case NETLOGON_CONTROL_SYNCHRONIZE: val = "NETLOGON_CONTROL_SYNCHRONIZE"; break;
6216
case NETLOGON_CONTROL_PDC_REPLICATE: val = "NETLOGON_CONTROL_PDC_REPLICATE"; break;
6217
case NETLOGON_CONTROL_REDISCOVER: val = "NETLOGON_CONTROL_REDISCOVER"; break;
6218
case NETLOGON_CONTROL_TC_QUERY: val = "NETLOGON_CONTROL_TC_QUERY"; break;
6219
case NETLOGON_CONTROL_TRANSPORT_NOTIFY: val = "NETLOGON_CONTROL_TRANSPORT_NOTIFY"; break;
6220
case NETLOGON_CONTROL_FIND_USER: val = "NETLOGON_CONTROL_FIND_USER"; break;
6221
case NETLOGON_CONTROL_CHANGE_PASSWORD: val = "NETLOGON_CONTROL_CHANGE_PASSWORD"; break;
6222
case NETLOGON_CONTROL_TC_VERIFY: val = "NETLOGON_CONTROL_TC_VERIFY"; break;
6223
case NETLOGON_CONTROL_FORCE_DNS_REG: val = "NETLOGON_CONTROL_FORCE_DNS_REG"; break;
6224
case NETLOGON_CONTROL_QUERY_DNS_REG: val = "NETLOGON_CONTROL_QUERY_DNS_REG"; break;
6225
case NETLOGON_CONTROL_BACKUP_CHANGE_LOG: val = "NETLOGON_CONTROL_BACKUP_CHANGE_LOG"; break;
6226
case NETLOGON_CONTROL_TRUNCATE_LOG: val = "NETLOGON_CONTROL_TRUNCATE_LOG"; break;
6227
case NETLOGON_CONTROL_SET_DBFLAG: val = "NETLOGON_CONTROL_SET_DBFLAG"; break;
6228
case NETLOGON_CONTROL_BREAKPOINT: val = "NETLOGON_CONTROL_BREAKPOINT"; break;
6230
ndr_print_enum(ndr, name, "ENUM", val, r);
6233
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)
6235
if (ndr_flags & NDR_SCALARS) {
6236
int level = ndr_push_get_switch_value(ndr, r);
6237
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
6238
NDR_CHECK(ndr_push_union_align(ndr, 5));
6240
case NETLOGON_CONTROL_REDISCOVER: {
6241
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6244
case NETLOGON_CONTROL_TC_QUERY: {
6245
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6248
case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6249
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6252
case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6253
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6256
case NETLOGON_CONTROL_TC_VERIFY: {
6257
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain));
6260
case NETLOGON_CONTROL_FIND_USER: {
6261
NDR_CHECK(ndr_push_unique_ptr(ndr, r->user));
6264
case NETLOGON_CONTROL_SET_DBFLAG: {
6265
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->debug_level));
6273
if (ndr_flags & NDR_BUFFERS) {
6274
int level = ndr_push_get_switch_value(ndr, r);
6276
case NETLOGON_CONTROL_REDISCOVER:
6278
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6279
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6280
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6281
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6285
case NETLOGON_CONTROL_TC_QUERY:
6287
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6288
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6289
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6290
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6294
case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6296
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6297
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6298
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6299
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6303
case NETLOGON_CONTROL_CHANGE_PASSWORD:
6305
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6306
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6307
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6308
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6312
case NETLOGON_CONTROL_TC_VERIFY:
6314
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6315
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6316
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain, CH_UTF16)));
6317
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain, ndr_charset_length(r->domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6321
case NETLOGON_CONTROL_FIND_USER:
6323
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6324
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
6325
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user, CH_UTF16)));
6326
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user, ndr_charset_length(r->user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
6330
case NETLOGON_CONTROL_SET_DBFLAG:
6338
return NDR_ERR_SUCCESS;
6341
static enum ndr_err_code ndr_pull_netr_CONTROL_DATA_INFORMATION(struct ndr_pull *ndr, int ndr_flags, union netr_CONTROL_DATA_INFORMATION *r)
6345
TALLOC_CTX *_mem_save_domain_0;
6346
TALLOC_CTX *_mem_save_user_0;
6347
level = ndr_pull_get_switch_value(ndr, r);
6348
if (ndr_flags & NDR_SCALARS) {
6349
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
6350
if (_level != level) {
6351
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
6353
NDR_CHECK(ndr_pull_union_align(ndr, 5));
6355
case NETLOGON_CONTROL_REDISCOVER: {
6356
uint32_t _ptr_domain;
6357
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6359
NDR_PULL_ALLOC(ndr, r->domain);
6365
case NETLOGON_CONTROL_TC_QUERY: {
6366
uint32_t _ptr_domain;
6367
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6369
NDR_PULL_ALLOC(ndr, r->domain);
6375
case NETLOGON_CONTROL_TRANSPORT_NOTIFY: {
6376
uint32_t _ptr_domain;
6377
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6379
NDR_PULL_ALLOC(ndr, r->domain);
6385
case NETLOGON_CONTROL_CHANGE_PASSWORD: {
6386
uint32_t _ptr_domain;
6387
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6389
NDR_PULL_ALLOC(ndr, r->domain);
6395
case NETLOGON_CONTROL_TC_VERIFY: {
6396
uint32_t _ptr_domain;
6397
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
6399
NDR_PULL_ALLOC(ndr, r->domain);
6405
case NETLOGON_CONTROL_FIND_USER: {
6407
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user));
6409
NDR_PULL_ALLOC(ndr, r->user);
6415
case NETLOGON_CONTROL_SET_DBFLAG: {
6416
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->debug_level));
6424
if (ndr_flags & NDR_BUFFERS) {
6426
case NETLOGON_CONTROL_REDISCOVER:
6428
_mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6429
NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6430
NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6431
NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6432
if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6433
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));
6435
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6436
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6437
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6441
case NETLOGON_CONTROL_TC_QUERY:
6443
_mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6444
NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6445
NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6446
NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6447
if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6448
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));
6450
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6451
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6452
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6456
case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6458
_mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6459
NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6460
NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6461
NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6462
if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6463
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));
6465
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6466
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6467
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6471
case NETLOGON_CONTROL_CHANGE_PASSWORD:
6473
_mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6474
NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6475
NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6476
NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6477
if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6478
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));
6480
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6481
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6482
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6486
case NETLOGON_CONTROL_TC_VERIFY:
6488
_mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
6489
NDR_PULL_SET_MEM_CTX(ndr, r->domain, 0);
6490
NDR_CHECK(ndr_pull_array_size(ndr, &r->domain));
6491
NDR_CHECK(ndr_pull_array_length(ndr, &r->domain));
6492
if (ndr_get_array_length(ndr, &r->domain) > ndr_get_array_size(ndr, &r->domain)) {
6493
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));
6495
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t)));
6496
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain, ndr_get_array_length(ndr, &r->domain), sizeof(uint16_t), CH_UTF16));
6497
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
6501
case NETLOGON_CONTROL_FIND_USER:
6503
_mem_save_user_0 = NDR_PULL_GET_MEM_CTX(ndr);
6504
NDR_PULL_SET_MEM_CTX(ndr, r->user, 0);
6505
NDR_CHECK(ndr_pull_array_size(ndr, &r->user));
6506
NDR_CHECK(ndr_pull_array_length(ndr, &r->user));
6507
if (ndr_get_array_length(ndr, &r->user) > ndr_get_array_size(ndr, &r->user)) {
6508
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->user), ndr_get_array_length(ndr, &r->user));
6510
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t)));
6511
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user, ndr_get_array_length(ndr, &r->user), sizeof(uint16_t), CH_UTF16));
6512
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
6516
case NETLOGON_CONTROL_SET_DBFLAG:
6524
return NDR_ERR_SUCCESS;
6527
_PUBLIC_ void ndr_print_netr_CONTROL_DATA_INFORMATION(struct ndr_print *ndr, const char *name, const union netr_CONTROL_DATA_INFORMATION *r)
6530
level = ndr_print_get_switch_value(ndr, r);
6531
ndr_print_union(ndr, name, level, "netr_CONTROL_DATA_INFORMATION");
6533
case NETLOGON_CONTROL_REDISCOVER:
6534
ndr_print_ptr(ndr, "domain", r->domain);
6537
ndr_print_string(ndr, "domain", r->domain);
6542
case NETLOGON_CONTROL_TC_QUERY:
6543
ndr_print_ptr(ndr, "domain", r->domain);
6546
ndr_print_string(ndr, "domain", r->domain);
6551
case NETLOGON_CONTROL_TRANSPORT_NOTIFY:
6552
ndr_print_ptr(ndr, "domain", r->domain);
6555
ndr_print_string(ndr, "domain", r->domain);
6560
case NETLOGON_CONTROL_CHANGE_PASSWORD:
6561
ndr_print_ptr(ndr, "domain", r->domain);
6564
ndr_print_string(ndr, "domain", r->domain);
6569
case NETLOGON_CONTROL_TC_VERIFY:
6570
ndr_print_ptr(ndr, "domain", r->domain);
6573
ndr_print_string(ndr, "domain", r->domain);
6578
case NETLOGON_CONTROL_FIND_USER:
6579
ndr_print_ptr(ndr, "user", r->user);
6582
ndr_print_string(ndr, "user", r->user);
6587
case NETLOGON_CONTROL_SET_DBFLAG:
6588
ndr_print_uint32(ndr, "debug_level", r->debug_level);
6597
_PUBLIC_ enum ndr_err_code ndr_push_netr_NegotiateFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6599
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6600
return NDR_ERR_SUCCESS;
6603
_PUBLIC_ enum ndr_err_code ndr_pull_netr_NegotiateFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6606
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6608
return NDR_ERR_SUCCESS;
6611
_PUBLIC_ void ndr_print_netr_NegotiateFlags(struct ndr_print *ndr, const char *name, uint32_t r)
6613
ndr_print_uint32(ndr, name, r);
6615
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ACCOUNT_LOCKOUT", NETLOGON_NEG_ACCOUNT_LOCKOUT, r);
6616
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PERSISTENT_SAMREPL", NETLOGON_NEG_PERSISTENT_SAMREPL, r);
6617
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_ARCFOUR", NETLOGON_NEG_ARCFOUR, r);
6618
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PROMOTION_COUNT", NETLOGON_NEG_PROMOTION_COUNT, r);
6619
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CHANGELOG_BDC", NETLOGON_NEG_CHANGELOG_BDC, r);
6620
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_FULL_SYNC_REPL", NETLOGON_NEG_FULL_SYNC_REPL, r);
6621
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_MULTIPLE_SIDS", NETLOGON_NEG_MULTIPLE_SIDS, r);
6622
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_REDO", NETLOGON_NEG_REDO, r);
6623
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL", NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL, r);
6624
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SEND_PASSWORD_INFO_PDC", NETLOGON_NEG_SEND_PASSWORD_INFO_PDC, r);
6625
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GENERIC_PASSTHROUGH", NETLOGON_NEG_GENERIC_PASSTHROUGH, r);
6626
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CONCURRENT_RPC", NETLOGON_NEG_CONCURRENT_RPC, r);
6627
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL", NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL, r);
6628
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL", NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL, r);
6629
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_STRONG_KEYS", NETLOGON_NEG_STRONG_KEYS, r);
6630
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_TRANSITIVE_TRUSTS", NETLOGON_NEG_TRANSITIVE_TRUSTS, r);
6631
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_DNS_DOMAIN_TRUSTS", NETLOGON_NEG_DNS_DOMAIN_TRUSTS, r);
6632
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_PASSWORD_SET2", NETLOGON_NEG_PASSWORD_SET2, r);
6633
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_GETDOMAININFO", NETLOGON_NEG_GETDOMAININFO, r);
6634
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_CROSS_FOREST_TRUSTS", NETLOGON_NEG_CROSS_FOREST_TRUSTS, r);
6635
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION", NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION, r);
6636
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_RODC_PASSTHROUGH", NETLOGON_NEG_RODC_PASSTHROUGH, r);
6637
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES_SHA2", NETLOGON_NEG_SUPPORTS_AES_SHA2, r);
6638
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_SUPPORTS_AES", NETLOGON_NEG_SUPPORTS_AES, r);
6639
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC_LSASS", NETLOGON_NEG_AUTHENTICATED_RPC_LSASS, r);
6640
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETLOGON_NEG_AUTHENTICATED_RPC", NETLOGON_NEG_AUTHENTICATED_RPC, r);
6644
static enum ndr_err_code ndr_push_SyncStateEnum(struct ndr_push *ndr, int ndr_flags, enum SyncStateEnum r)
6646
NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
6647
return NDR_ERR_SUCCESS;
6650
static enum ndr_err_code ndr_pull_SyncStateEnum(struct ndr_pull *ndr, int ndr_flags, enum SyncStateEnum *r)
6653
NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
6655
return NDR_ERR_SUCCESS;
6658
_PUBLIC_ void ndr_print_SyncStateEnum(struct ndr_print *ndr, const char *name, enum SyncStateEnum r)
6660
const char *val = NULL;
6663
case SYNCSTATE_NORMAL_STATE: val = "SYNCSTATE_NORMAL_STATE"; break;
6664
case SYNCSTATE_DOMAIN_STATE: val = "SYNCSTATE_DOMAIN_STATE"; break;
6665
case SYNCSTATE_GROUP_STATE: val = "SYNCSTATE_GROUP_STATE"; break;
6666
case SYNCSTATE_UAS_BUILT_IN_GROUP_STATE: val = "SYNCSTATE_UAS_BUILT_IN_GROUP_STATE"; break;
6667
case SYNCSTATE_USER_STATE: val = "SYNCSTATE_USER_STATE"; break;
6668
case SYNCSTATE_GROUP_MEMBER_STATE: val = "SYNCSTATE_GROUP_MEMBER_STATE"; break;
6669
case SYNCSTATE_ALIAS_STATE: val = "SYNCSTATE_ALIAS_STATE"; break;
6670
case SYNCSTATE_ALIAS_MEMBER_STATE: val = "SYNCSTATE_ALIAS_MEMBER_STATE"; break;
6671
case SYNCSTATE_SAM_DONE_STATE: val = "SYNCSTATE_SAM_DONE_STATE"; break;
6673
ndr_print_enum(ndr, name, "ENUM", val, r);
6676
static enum ndr_err_code ndr_push_netr_ChangeLogFlags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
6678
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
6679
return NDR_ERR_SUCCESS;
6682
static enum ndr_err_code ndr_pull_netr_ChangeLogFlags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
6685
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
6687
return NDR_ERR_SUCCESS;
6690
_PUBLIC_ void ndr_print_netr_ChangeLogFlags(struct ndr_print *ndr, const char *name, uint16_t r)
6692
ndr_print_uint16(ndr, name, r);
6694
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED", NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED, r);
6695
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_CHANGED_PASSWORD", NETR_CHANGELOG_CHANGED_PASSWORD, r);
6696
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_SID_INCLUDED", NETR_CHANGELOG_SID_INCLUDED, r);
6697
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_NAME_INCLUDED", NETR_CHANGELOG_NAME_INCLUDED, r);
6698
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_CHANGELOG_FIRST_PROMOTION_OBJ", NETR_CHANGELOG_FIRST_PROMOTION_OBJ, r);
6702
static enum ndr_err_code ndr_push_netr_ChangeLogObject(struct ndr_push *ndr, int ndr_flags, const union netr_ChangeLogObject *r)
6704
if (ndr_flags & NDR_SCALARS) {
6705
int level = ndr_push_get_switch_value(ndr, r);
6706
NDR_CHECK(ndr_push_union_align(ndr, 4));
6708
case NETR_CHANGELOG_SID_INCLUDED: {
6709
NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6712
case NETR_CHANGELOG_NAME_INCLUDED: {
6714
uint32_t _flags_save_string = ndr->flags;
6715
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
6716
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->object_name));
6717
ndr->flags = _flags_save_string;
6726
if (ndr_flags & NDR_BUFFERS) {
6727
int level = ndr_push_get_switch_value(ndr, r);
6729
case NETR_CHANGELOG_SID_INCLUDED:
6732
case NETR_CHANGELOG_NAME_INCLUDED:
6740
return NDR_ERR_SUCCESS;
6743
static enum ndr_err_code ndr_pull_netr_ChangeLogObject(struct ndr_pull *ndr, int ndr_flags, union netr_ChangeLogObject *r)
6746
level = ndr_pull_get_switch_value(ndr, r);
6747
if (ndr_flags & NDR_SCALARS) {
6748
NDR_CHECK(ndr_pull_union_align(ndr, 4));
6750
case NETR_CHANGELOG_SID_INCLUDED: {
6751
NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->object_sid));
6754
case NETR_CHANGELOG_NAME_INCLUDED: {
6756
uint32_t _flags_save_string = ndr->flags;
6757
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
6758
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->object_name));
6759
ndr->flags = _flags_save_string;
6768
if (ndr_flags & NDR_BUFFERS) {
6770
case NETR_CHANGELOG_SID_INCLUDED:
6773
case NETR_CHANGELOG_NAME_INCLUDED:
6781
return NDR_ERR_SUCCESS;
6784
_PUBLIC_ void ndr_print_netr_ChangeLogObject(struct ndr_print *ndr, const char *name, const union netr_ChangeLogObject *r)
6787
level = ndr_print_get_switch_value(ndr, r);
6788
ndr_print_union(ndr, name, level, "netr_ChangeLogObject");
6790
case NETR_CHANGELOG_SID_INCLUDED:
6791
ndr_print_dom_sid(ndr, "object_sid", &r->object_sid);
6794
case NETR_CHANGELOG_NAME_INCLUDED:
6795
ndr_print_string(ndr, "object_name", r->object_name);
6804
_PUBLIC_ enum ndr_err_code ndr_push_netr_ChangeLogEntry(struct ndr_push *ndr, int ndr_flags, const struct netr_ChangeLogEntry *r)
6806
if (ndr_flags & NDR_SCALARS) {
6807
NDR_CHECK(ndr_push_align(ndr, 4));
6808
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number1));
6809
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->serial_number2));
6810
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->object_rid));
6811
NDR_CHECK(ndr_push_netr_ChangeLogFlags(ndr, NDR_SCALARS, r->flags));
6812
NDR_CHECK(ndr_push_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, r->db_index));
6813
NDR_CHECK(ndr_push_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, r->delta_type));
6814
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6815
NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6816
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
6818
if (ndr_flags & NDR_BUFFERS) {
6819
NDR_CHECK(ndr_push_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6821
return NDR_ERR_SUCCESS;
6824
_PUBLIC_ enum ndr_err_code ndr_pull_netr_ChangeLogEntry(struct ndr_pull *ndr, int ndr_flags, struct netr_ChangeLogEntry *r)
6826
if (ndr_flags & NDR_SCALARS) {
6827
NDR_CHECK(ndr_pull_align(ndr, 4));
6828
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number1));
6829
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->serial_number2));
6830
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->object_rid));
6831
NDR_CHECK(ndr_pull_netr_ChangeLogFlags(ndr, NDR_SCALARS, &r->flags));
6832
NDR_CHECK(ndr_pull_netr_SamDatabaseID8Bit(ndr, NDR_SCALARS, &r->db_index));
6833
NDR_CHECK(ndr_pull_netr_DeltaEnum8Bit(ndr, NDR_SCALARS, &r->delta_type));
6834
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED)));
6835
NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_SCALARS, &r->object));
6836
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
6838
if (ndr_flags & NDR_BUFFERS) {
6839
NDR_CHECK(ndr_pull_netr_ChangeLogObject(ndr, NDR_BUFFERS, &r->object));
6841
return NDR_ERR_SUCCESS;
6844
_PUBLIC_ void ndr_print_netr_ChangeLogEntry(struct ndr_print *ndr, const char *name, const struct netr_ChangeLogEntry *r)
6846
ndr_print_struct(ndr, name, "netr_ChangeLogEntry");
6848
ndr_print_uint32(ndr, "serial_number1", r->serial_number1);
6849
ndr_print_uint32(ndr, "serial_number2", r->serial_number2);
6850
ndr_print_uint32(ndr, "object_rid", r->object_rid);
6851
ndr_print_netr_ChangeLogFlags(ndr, "flags", r->flags);
6852
ndr_print_netr_SamDatabaseID8Bit(ndr, "db_index", r->db_index);
6853
ndr_print_netr_DeltaEnum8Bit(ndr, "delta_type", r->delta_type);
6854
ndr_print_set_switch_value(ndr, &r->object, r->flags & (NETR_CHANGELOG_SID_INCLUDED | NETR_CHANGELOG_NAME_INCLUDED));
6855
ndr_print_netr_ChangeLogObject(ndr, "object", &r->object);
6859
_PUBLIC_ size_t ndr_size_netr_ChangeLogEntry(const struct netr_ChangeLogEntry *r, struct smb_iconv_convenience *ic, int flags)
6861
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_netr_ChangeLogEntry, ic);
6864
static enum ndr_err_code ndr_push_netr_Blob(struct ndr_push *ndr, int ndr_flags, const struct netr_Blob *r)
6866
if (ndr_flags & NDR_SCALARS) {
6867
NDR_CHECK(ndr_push_align(ndr, 5));
6868
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
6869
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
6870
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
6872
if (ndr_flags & NDR_BUFFERS) {
6874
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
6875
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
6878
return NDR_ERR_SUCCESS;
6881
static enum ndr_err_code ndr_pull_netr_Blob(struct ndr_pull *ndr, int ndr_flags, struct netr_Blob *r)
6884
TALLOC_CTX *_mem_save_data_0;
6885
if (ndr_flags & NDR_SCALARS) {
6886
NDR_CHECK(ndr_pull_align(ndr, 5));
6887
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
6888
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
6890
NDR_PULL_ALLOC(ndr, r->data);
6894
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
6896
if (ndr_flags & NDR_BUFFERS) {
6898
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
6899
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
6900
NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
6901
NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
6902
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
6903
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
6906
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
6909
return NDR_ERR_SUCCESS;
6912
_PUBLIC_ void ndr_print_netr_Blob(struct ndr_print *ndr, const char *name, const struct netr_Blob *r)
6914
ndr_print_struct(ndr, name, "netr_Blob");
6916
ndr_print_uint32(ndr, "length", r->length);
6917
ndr_print_ptr(ndr, "data", r->data);
6920
ndr_print_array_uint8(ndr, "data", r->data, r->length);
6926
static enum ndr_err_code ndr_push_netr_DsRGetDCName_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6928
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6929
return NDR_ERR_SUCCESS;
6932
static enum ndr_err_code ndr_pull_netr_DsRGetDCName_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
6935
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
6937
return NDR_ERR_SUCCESS;
6940
_PUBLIC_ void ndr_print_netr_DsRGetDCName_flags(struct ndr_print *ndr, const char *name, uint32_t r)
6942
ndr_print_uint32(ndr, name, r);
6944
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_FORCE_REDISCOVERY", DS_FORCE_REDISCOVERY, r);
6945
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_REQUIRED", DS_DIRECTORY_SERVICE_REQUIRED, r);
6946
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_PREFERRED", DS_DIRECTORY_SERVICE_PREFERRED, r);
6947
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GC_SERVER_REQUIRED", DS_GC_SERVER_REQUIRED, r);
6948
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_PDC_REQUIRED", DS_PDC_REQUIRED, r);
6949
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_BACKGROUND_ONLY", DS_BACKGROUND_ONLY, r);
6950
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IP_REQUIRED", DS_IP_REQUIRED, r);
6951
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_KDC_REQUIRED", DS_KDC_REQUIRED, r);
6952
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TIMESERV_REQUIRED", DS_TIMESERV_REQUIRED, r);
6953
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WRITABLE_REQUIRED", DS_WRITABLE_REQUIRED, r);
6954
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_GOOD_TIMESERV_PREFERRED", DS_GOOD_TIMESERV_PREFERRED, r);
6955
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_AVOID_SELF", DS_AVOID_SELF, r);
6956
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_ONLY_LDAP_NEEDED", DS_ONLY_LDAP_NEEDED, r);
6957
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_FLAT_NAME", DS_IS_FLAT_NAME, r);
6958
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_IS_DNS_NAME", DS_IS_DNS_NAME, r);
6959
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_TRY_NEXTCLOSEST_SITE", DS_TRY_NEXTCLOSEST_SITE, r);
6960
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DIRECTORY_SERVICE_6_REQUIRED", DS_DIRECTORY_SERVICE_6_REQUIRED, r);
6961
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_WEB_SERVICE_REQUIRED", DS_WEB_SERVICE_REQUIRED, r);
6962
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_DNS_NAME", DS_RETURN_DNS_NAME, r);
6963
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_RETURN_FLAT_NAME", DS_RETURN_FLAT_NAME, r);
6967
static enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo_AddressType(struct ndr_push *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType r)
6969
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
6970
return NDR_ERR_SUCCESS;
6973
static enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo_AddressType(struct ndr_pull *ndr, int ndr_flags, enum netr_DsRGetDCNameInfo_AddressType *r)
6976
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
6978
return NDR_ERR_SUCCESS;
6981
_PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo_AddressType(struct ndr_print *ndr, const char *name, enum netr_DsRGetDCNameInfo_AddressType r)
6983
const char *val = NULL;
6986
case DS_ADDRESS_TYPE_INET: val = "DS_ADDRESS_TYPE_INET"; break;
6987
case DS_ADDRESS_TYPE_NETBIOS: val = "DS_ADDRESS_TYPE_NETBIOS"; break;
6989
ndr_print_enum(ndr, name, "ENUM", val, r);
6992
static enum ndr_err_code ndr_push_netr_DsR_DcFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
6994
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
6995
return NDR_ERR_SUCCESS;
6998
static enum ndr_err_code ndr_pull_netr_DsR_DcFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7001
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7003
return NDR_ERR_SUCCESS;
7006
_PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7008
ndr_print_uint32(ndr, name, r);
7010
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_PDC", DS_SERVER_PDC, r);
7011
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GC", DS_SERVER_GC, r);
7012
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_LDAP", DS_SERVER_LDAP, r);
7013
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_DS", DS_SERVER_DS, r);
7014
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_KDC", DS_SERVER_KDC, r);
7015
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_TIMESERV", DS_SERVER_TIMESERV, r);
7016
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_CLOSEST", DS_SERVER_CLOSEST, r);
7017
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_WRITABLE", DS_SERVER_WRITABLE, r);
7018
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_GOOD_TIMESERV", DS_SERVER_GOOD_TIMESERV, r);
7019
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_NDNC", DS_SERVER_NDNC, r);
7020
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_SELECT_SECRET_DOMAIN_6", DS_SERVER_SELECT_SECRET_DOMAIN_6, r);
7021
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_SERVER_FULL_SECRET_DOMAIN_6", DS_SERVER_FULL_SECRET_DOMAIN_6, r);
7022
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_CONTROLLER", DS_DNS_CONTROLLER, r);
7023
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_DOMAIN", DS_DNS_DOMAIN, r);
7024
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DS_DNS_FOREST", DS_DNS_FOREST, r);
7028
_PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r)
7030
if (ndr_flags & NDR_SCALARS) {
7031
NDR_CHECK(ndr_push_align(ndr, 5));
7032
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_unc));
7033
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_address));
7034
NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, r->dc_address_type));
7035
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
7036
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
7037
NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_name));
7038
NDR_CHECK(ndr_push_netr_DsR_DcFlags(ndr, NDR_SCALARS, r->dc_flags));
7039
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dc_site_name));
7040
NDR_CHECK(ndr_push_unique_ptr(ndr, r->client_site_name));
7041
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7043
if (ndr_flags & NDR_BUFFERS) {
7045
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
7046
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7047
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_unc, CH_UTF16)));
7048
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_unc, ndr_charset_length(r->dc_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7050
if (r->dc_address) {
7051
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
7052
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7053
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_address, CH_UTF16)));
7054
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dc_address, ndr_charset_length(r->dc_address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7056
if (r->domain_name) {
7057
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
7058
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7059
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
7060
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7062
if (r->forest_name) {
7063
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
7064
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7065
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->forest_name, CH_UTF16)));
7066
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->forest_name, ndr_charset_length(r->forest_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7068
if (r->dc_site_name) {
7069
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
7070
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7071
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dc_site_name, CH_UTF16)));
7072
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));
7074
if (r->client_site_name) {
7075
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
7076
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7077
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->client_site_name, CH_UTF16)));
7078
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));
7081
return NDR_ERR_SUCCESS;
7084
_PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r)
7086
uint32_t _ptr_dc_unc;
7087
TALLOC_CTX *_mem_save_dc_unc_0;
7088
uint32_t _ptr_dc_address;
7089
TALLOC_CTX *_mem_save_dc_address_0;
7090
uint32_t _ptr_domain_name;
7091
TALLOC_CTX *_mem_save_domain_name_0;
7092
uint32_t _ptr_forest_name;
7093
TALLOC_CTX *_mem_save_forest_name_0;
7094
uint32_t _ptr_dc_site_name;
7095
TALLOC_CTX *_mem_save_dc_site_name_0;
7096
uint32_t _ptr_client_site_name;
7097
TALLOC_CTX *_mem_save_client_site_name_0;
7098
if (ndr_flags & NDR_SCALARS) {
7099
NDR_CHECK(ndr_pull_align(ndr, 5));
7100
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_unc));
7102
NDR_PULL_ALLOC(ndr, r->dc_unc);
7106
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_address));
7107
if (_ptr_dc_address) {
7108
NDR_PULL_ALLOC(ndr, r->dc_address);
7110
r->dc_address = NULL;
7112
NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo_AddressType(ndr, NDR_SCALARS, &r->dc_address_type));
7113
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
7114
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
7115
if (_ptr_domain_name) {
7116
NDR_PULL_ALLOC(ndr, r->domain_name);
7118
r->domain_name = NULL;
7120
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_name));
7121
if (_ptr_forest_name) {
7122
NDR_PULL_ALLOC(ndr, r->forest_name);
7124
r->forest_name = NULL;
7126
NDR_CHECK(ndr_pull_netr_DsR_DcFlags(ndr, NDR_SCALARS, &r->dc_flags));
7127
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_site_name));
7128
if (_ptr_dc_site_name) {
7129
NDR_PULL_ALLOC(ndr, r->dc_site_name);
7131
r->dc_site_name = NULL;
7133
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_site_name));
7134
if (_ptr_client_site_name) {
7135
NDR_PULL_ALLOC(ndr, r->client_site_name);
7137
r->client_site_name = NULL;
7139
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7141
if (ndr_flags & NDR_BUFFERS) {
7143
_mem_save_dc_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
7144
NDR_PULL_SET_MEM_CTX(ndr, r->dc_unc, 0);
7145
NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_unc));
7146
NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_unc));
7147
if (ndr_get_array_length(ndr, &r->dc_unc) > ndr_get_array_size(ndr, &r->dc_unc)) {
7148
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));
7150
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t)));
7151
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_unc, ndr_get_array_length(ndr, &r->dc_unc), sizeof(uint16_t), CH_UTF16));
7152
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_unc_0, 0);
7154
if (r->dc_address) {
7155
_mem_save_dc_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
7156
NDR_PULL_SET_MEM_CTX(ndr, r->dc_address, 0);
7157
NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_address));
7158
NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_address));
7159
if (ndr_get_array_length(ndr, &r->dc_address) > ndr_get_array_size(ndr, &r->dc_address)) {
7160
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));
7162
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t)));
7163
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dc_address, ndr_get_array_length(ndr, &r->dc_address), sizeof(uint16_t), CH_UTF16));
7164
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_address_0, 0);
7166
if (r->domain_name) {
7167
_mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7168
NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
7169
NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
7170
NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
7171
if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
7172
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));
7174
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
7175
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
7176
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
7178
if (r->forest_name) {
7179
_mem_save_forest_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7180
NDR_PULL_SET_MEM_CTX(ndr, r->forest_name, 0);
7181
NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_name));
7182
NDR_CHECK(ndr_pull_array_length(ndr, &r->forest_name));
7183
if (ndr_get_array_length(ndr, &r->forest_name) > ndr_get_array_size(ndr, &r->forest_name)) {
7184
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));
7186
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t)));
7187
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->forest_name, ndr_get_array_length(ndr, &r->forest_name), sizeof(uint16_t), CH_UTF16));
7188
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_name_0, 0);
7190
if (r->dc_site_name) {
7191
_mem_save_dc_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7192
NDR_PULL_SET_MEM_CTX(ndr, r->dc_site_name, 0);
7193
NDR_CHECK(ndr_pull_array_size(ndr, &r->dc_site_name));
7194
NDR_CHECK(ndr_pull_array_length(ndr, &r->dc_site_name));
7195
if (ndr_get_array_length(ndr, &r->dc_site_name) > ndr_get_array_size(ndr, &r->dc_site_name)) {
7196
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));
7198
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dc_site_name), sizeof(uint16_t)));
7199
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));
7200
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_site_name_0, 0);
7202
if (r->client_site_name) {
7203
_mem_save_client_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7204
NDR_PULL_SET_MEM_CTX(ndr, r->client_site_name, 0);
7205
NDR_CHECK(ndr_pull_array_size(ndr, &r->client_site_name));
7206
NDR_CHECK(ndr_pull_array_length(ndr, &r->client_site_name));
7207
if (ndr_get_array_length(ndr, &r->client_site_name) > ndr_get_array_size(ndr, &r->client_site_name)) {
7208
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));
7210
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->client_site_name), sizeof(uint16_t)));
7211
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));
7212
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_site_name_0, 0);
7215
return NDR_ERR_SUCCESS;
7218
_PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r)
7220
ndr_print_struct(ndr, name, "netr_DsRGetDCNameInfo");
7222
ndr_print_ptr(ndr, "dc_unc", r->dc_unc);
7225
ndr_print_string(ndr, "dc_unc", r->dc_unc);
7228
ndr_print_ptr(ndr, "dc_address", r->dc_address);
7230
if (r->dc_address) {
7231
ndr_print_string(ndr, "dc_address", r->dc_address);
7234
ndr_print_netr_DsRGetDCNameInfo_AddressType(ndr, "dc_address_type", r->dc_address_type);
7235
ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
7236
ndr_print_ptr(ndr, "domain_name", r->domain_name);
7238
if (r->domain_name) {
7239
ndr_print_string(ndr, "domain_name", r->domain_name);
7242
ndr_print_ptr(ndr, "forest_name", r->forest_name);
7244
if (r->forest_name) {
7245
ndr_print_string(ndr, "forest_name", r->forest_name);
7248
ndr_print_netr_DsR_DcFlags(ndr, "dc_flags", r->dc_flags);
7249
ndr_print_ptr(ndr, "dc_site_name", r->dc_site_name);
7251
if (r->dc_site_name) {
7252
ndr_print_string(ndr, "dc_site_name", r->dc_site_name);
7255
ndr_print_ptr(ndr, "client_site_name", r->client_site_name);
7257
if (r->client_site_name) {
7258
ndr_print_string(ndr, "client_site_name", r->client_site_name);
7264
static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r)
7266
if (ndr_flags & NDR_SCALARS) {
7267
int level = ndr_push_get_switch_value(ndr, r);
7268
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7269
NDR_CHECK(ndr_push_union_align(ndr, 4));
7272
NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities));
7276
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7279
if (ndr_flags & NDR_BUFFERS) {
7280
int level = ndr_push_get_switch_value(ndr, r);
7286
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7289
return NDR_ERR_SUCCESS;
7292
static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r)
7296
level = ndr_pull_get_switch_value(ndr, r);
7297
if (ndr_flags & NDR_SCALARS) {
7298
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
7299
if (_level != level) {
7300
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
7302
NDR_CHECK(ndr_pull_union_align(ndr, 4));
7305
NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities));
7309
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7312
if (ndr_flags & NDR_BUFFERS) {
7318
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7321
return NDR_ERR_SUCCESS;
7324
_PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r)
7327
level = ndr_print_get_switch_value(ndr, r);
7328
ndr_print_union(ndr, name, level, "netr_Capabilities");
7331
ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities);
7335
ndr_print_bad_level(ndr, name, level);
7339
static enum ndr_err_code ndr_push_netr_TrustFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7341
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7342
return NDR_ERR_SUCCESS;
7345
static enum ndr_err_code ndr_pull_netr_TrustFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7348
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7350
return NDR_ERR_SUCCESS;
7353
_PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7355
ndr_print_uint32(ndr, name, r);
7357
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_IN_FOREST", NETR_TRUST_FLAG_IN_FOREST, r);
7358
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_OUTBOUND", NETR_TRUST_FLAG_OUTBOUND, r);
7359
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_TREEROOT", NETR_TRUST_FLAG_TREEROOT, r);
7360
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_PRIMARY", NETR_TRUST_FLAG_PRIMARY, r);
7361
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_NATIVE", NETR_TRUST_FLAG_NATIVE, r);
7362
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_INBOUND", NETR_TRUST_FLAG_INBOUND, r);
7363
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_MIT_KRB5", NETR_TRUST_FLAG_MIT_KRB5, r);
7364
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_FLAG_AES", NETR_TRUST_FLAG_AES, r);
7368
static enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
7370
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
7371
return NDR_ERR_SUCCESS;
7374
static enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
7377
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
7379
return NDR_ERR_SUCCESS;
7382
_PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r)
7384
ndr_print_uint32(ndr, name, r);
7386
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS", NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS, r);
7387
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_WS_FLAG_HANDLES_SPN_UPDATE", NETR_WS_FLAG_HANDLES_SPN_UPDATE, r);
7391
static enum ndr_err_code ndr_push_netr_SuiteMask(struct ndr_push *ndr, int ndr_flags, uint16_t r)
7393
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
7394
return NDR_ERR_SUCCESS;
7397
static enum ndr_err_code ndr_pull_netr_SuiteMask(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
7400
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
7402
return NDR_ERR_SUCCESS;
7405
_PUBLIC_ void ndr_print_netr_SuiteMask(struct ndr_print *ndr, const char *name, uint16_t r)
7407
ndr_print_uint16(ndr, name, r);
7409
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BACKOFFICE", NETR_VER_SUITE_BACKOFFICE, r);
7410
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_BLADE", NETR_VER_SUITE_BLADE, r);
7411
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_COMPUTE_SERVER", NETR_VER_SUITE_COMPUTE_SERVER, r);
7412
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_DATACENTER", NETR_VER_SUITE_DATACENTER, r);
7413
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_ENTERPRISE", NETR_VER_SUITE_ENTERPRISE, r);
7414
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_EMBEDDEDNT", NETR_VER_SUITE_EMBEDDEDNT, r);
7415
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_PERSONAL", NETR_VER_SUITE_PERSONAL, r);
7416
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SINGLEUSERTS", NETR_VER_SUITE_SINGLEUSERTS, r);
7417
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS", NETR_VER_SUITE_SMALLBUSINESS, r);
7418
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED", NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED, r);
7419
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_STORAGE_SERVER", NETR_VER_SUITE_STORAGE_SERVER, r);
7420
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_TERMINAL", NETR_VER_SUITE_TERMINAL, r);
7421
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "NETR_VER_SUITE_WH_SERVER", NETR_VER_SUITE_WH_SERVER, r);
7425
static enum ndr_err_code ndr_push_netr_ProductType(struct ndr_push *ndr, int ndr_flags, uint8_t r)
7427
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r));
7428
return NDR_ERR_SUCCESS;
7431
static enum ndr_err_code ndr_pull_netr_ProductType(struct ndr_pull *ndr, int ndr_flags, uint8_t *r)
7434
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &v));
7436
return NDR_ERR_SUCCESS;
7439
_PUBLIC_ void ndr_print_netr_ProductType(struct ndr_print *ndr, const char *name, uint8_t r)
7441
ndr_print_uint8(ndr, name, r);
7443
ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_DOMAIN_CONTROLLER", NETR_VER_NT_DOMAIN_CONTROLLER, r);
7444
ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_SERVER", NETR_VER_NT_SERVER, r);
7445
ndr_print_bitmap_flag(ndr, sizeof(uint8_t), "NETR_VER_NT_WORKSTATION", NETR_VER_NT_WORKSTATION, r);
7449
static enum ndr_err_code ndr_push_netr_LsaPolicyInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_LsaPolicyInformation *r)
7451
if (ndr_flags & NDR_SCALARS) {
7452
NDR_CHECK(ndr_push_align(ndr, 5));
7453
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->policy_size));
7454
NDR_CHECK(ndr_push_unique_ptr(ndr, r->policy));
7455
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7457
if (ndr_flags & NDR_BUFFERS) {
7459
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->policy_size));
7460
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->policy, r->policy_size));
7463
return NDR_ERR_SUCCESS;
7466
static enum ndr_err_code ndr_pull_netr_LsaPolicyInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_LsaPolicyInformation *r)
7468
uint32_t _ptr_policy;
7469
TALLOC_CTX *_mem_save_policy_0;
7470
if (ndr_flags & NDR_SCALARS) {
7471
NDR_CHECK(ndr_pull_align(ndr, 5));
7472
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->policy_size));
7473
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_policy));
7475
NDR_PULL_ALLOC(ndr, r->policy);
7479
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7481
if (ndr_flags & NDR_BUFFERS) {
7483
_mem_save_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
7484
NDR_PULL_SET_MEM_CTX(ndr, r->policy, 0);
7485
NDR_CHECK(ndr_pull_array_size(ndr, &r->policy));
7486
NDR_PULL_ALLOC_N(ndr, r->policy, ndr_get_array_size(ndr, &r->policy));
7487
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->policy, ndr_get_array_size(ndr, &r->policy)));
7488
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_0, 0);
7491
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->policy, r->policy_size));
7494
return NDR_ERR_SUCCESS;
7497
_PUBLIC_ void ndr_print_netr_LsaPolicyInformation(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInformation *r)
7499
ndr_print_struct(ndr, name, "netr_LsaPolicyInformation");
7501
ndr_print_uint32(ndr, "policy_size", r->policy_size);
7502
ndr_print_ptr(ndr, "policy", r->policy);
7505
ndr_print_array_uint8(ndr, "policy", r->policy, r->policy_size);
7511
static enum ndr_err_code ndr_push_netr_OsVersionInfoEx(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionInfoEx *r)
7513
if (ndr_flags & NDR_SCALARS) {
7514
NDR_CHECK(ndr_push_align(ndr, 4));
7515
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 284));
7516
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MajorVersion));
7517
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MinorVersion));
7518
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BuildNumber));
7519
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PlatformId));
7521
uint32_t _flags_save_string = ndr->flags;
7522
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7524
struct ndr_push *_ndr_CSDVersion;
7525
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256));
7526
NDR_CHECK(ndr_push_string(_ndr_CSDVersion, NDR_SCALARS, r->CSDVersion));
7527
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_CSDVersion, 0, 256));
7529
ndr->flags = _flags_save_string;
7531
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMajor));
7532
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMinor));
7533
NDR_CHECK(ndr_push_netr_SuiteMask(ndr, NDR_SCALARS, r->SuiteMask));
7534
NDR_CHECK(ndr_push_netr_ProductType(ndr, NDR_SCALARS, r->ProductType));
7535
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Reserved));
7536
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7538
if (ndr_flags & NDR_BUFFERS) {
7540
return NDR_ERR_SUCCESS;
7543
static enum ndr_err_code ndr_pull_netr_OsVersionInfoEx(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionInfoEx *r)
7545
if (ndr_flags & NDR_SCALARS) {
7546
NDR_CHECK(ndr_pull_align(ndr, 4));
7547
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->OSVersionInfoSize));
7548
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MajorVersion));
7549
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion));
7550
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BuildNumber));
7551
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PlatformId));
7553
uint32_t _flags_save_string = ndr->flags;
7554
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7556
struct ndr_pull *_ndr_CSDVersion;
7557
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256));
7558
NDR_CHECK(ndr_pull_string(_ndr_CSDVersion, NDR_SCALARS, &r->CSDVersion));
7559
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_CSDVersion, 0, 256));
7561
ndr->flags = _flags_save_string;
7563
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMajor));
7564
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMinor));
7565
NDR_CHECK(ndr_pull_netr_SuiteMask(ndr, NDR_SCALARS, &r->SuiteMask));
7566
NDR_CHECK(ndr_pull_netr_ProductType(ndr, NDR_SCALARS, &r->ProductType));
7567
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Reserved));
7568
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7570
if (ndr_flags & NDR_BUFFERS) {
7572
return NDR_ERR_SUCCESS;
7575
_PUBLIC_ void ndr_print_netr_OsVersionInfoEx(struct ndr_print *ndr, const char *name, const struct netr_OsVersionInfoEx *r)
7577
ndr_print_struct(ndr, name, "netr_OsVersionInfoEx");
7579
ndr_print_uint32(ndr, "OSVersionInfoSize", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?284:r->OSVersionInfoSize);
7580
ndr_print_uint32(ndr, "MajorVersion", r->MajorVersion);
7581
ndr_print_uint32(ndr, "MinorVersion", r->MinorVersion);
7582
ndr_print_uint32(ndr, "BuildNumber", r->BuildNumber);
7583
ndr_print_uint32(ndr, "PlatformId", r->PlatformId);
7584
ndr_print_string(ndr, "CSDVersion", r->CSDVersion);
7585
ndr_print_uint16(ndr, "ServicePackMajor", r->ServicePackMajor);
7586
ndr_print_uint16(ndr, "ServicePackMinor", r->ServicePackMinor);
7587
ndr_print_netr_SuiteMask(ndr, "SuiteMask", r->SuiteMask);
7588
ndr_print_netr_ProductType(ndr, "ProductType", r->ProductType);
7589
ndr_print_uint8(ndr, "Reserved", r->Reserved);
7593
static enum ndr_err_code ndr_push_netr_OsVersion(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersion *r)
7595
if (ndr_flags & NDR_SCALARS) {
7596
NDR_CHECK(ndr_push_align(ndr, 4));
7597
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
7598
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7599
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 142));
7600
NDR_CHECK(ndr_push_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
7601
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
7603
if (ndr_flags & NDR_BUFFERS) {
7605
return NDR_ERR_SUCCESS;
7608
static enum ndr_err_code ndr_pull_netr_OsVersion(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersion *r)
7610
if (ndr_flags & NDR_SCALARS) {
7611
NDR_CHECK(ndr_pull_align(ndr, 4));
7612
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
7613
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
7614
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
7615
NDR_CHECK(ndr_pull_netr_OsVersionInfoEx(ndr, NDR_SCALARS, &r->os));
7616
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
7618
if (ndr_flags & NDR_BUFFERS) {
7620
return NDR_ERR_SUCCESS;
7623
_PUBLIC_ void ndr_print_netr_OsVersion(struct ndr_print *ndr, const char *name, const struct netr_OsVersion *r)
7625
ndr_print_struct(ndr, name, "netr_OsVersion");
7627
ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->length);
7628
ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
7629
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?142:r->size);
7630
ndr_print_netr_OsVersionInfoEx(ndr, "os", &r->os);
7634
static enum ndr_err_code ndr_push_netr_OsVersionContainer(struct ndr_push *ndr, int ndr_flags, const struct netr_OsVersionContainer *r)
7636
if (ndr_flags & NDR_SCALARS) {
7637
NDR_CHECK(ndr_push_align(ndr, 5));
7638
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
7639
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->os == NULL?0:284));
7640
NDR_CHECK(ndr_push_unique_ptr(ndr, r->os));
7641
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7643
if (ndr_flags & NDR_BUFFERS) {
7645
NDR_CHECK(ndr_push_netr_OsVersion(ndr, NDR_SCALARS, r->os));
7648
return NDR_ERR_SUCCESS;
7651
static enum ndr_err_code ndr_pull_netr_OsVersionContainer(struct ndr_pull *ndr, int ndr_flags, struct netr_OsVersionContainer *r)
7654
TALLOC_CTX *_mem_save_os_0;
7655
if (ndr_flags & NDR_SCALARS) {
7656
NDR_CHECK(ndr_pull_align(ndr, 5));
7657
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
7658
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
7659
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_os));
7661
NDR_PULL_ALLOC(ndr, r->os);
7665
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7667
if (ndr_flags & NDR_BUFFERS) {
7669
_mem_save_os_0 = NDR_PULL_GET_MEM_CTX(ndr);
7670
NDR_PULL_SET_MEM_CTX(ndr, r->os, 0);
7671
NDR_CHECK(ndr_pull_netr_OsVersion(ndr, NDR_SCALARS, r->os));
7672
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_os_0, 0);
7675
return NDR_ERR_SUCCESS;
7678
_PUBLIC_ void ndr_print_netr_OsVersionContainer(struct ndr_print *ndr, const char *name, const struct netr_OsVersionContainer *r)
7680
ndr_print_struct(ndr, name, "netr_OsVersionContainer");
7682
ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->length);
7683
ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->os == NULL?0:284:r->size);
7684
ndr_print_ptr(ndr, "os", r->os);
7687
ndr_print_netr_OsVersion(ndr, "os", r->os);
7693
static enum ndr_err_code ndr_push_netr_WorkstationInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_WorkstationInformation *r)
7695
if (ndr_flags & NDR_SCALARS) {
7696
NDR_CHECK(ndr_push_align(ndr, 5));
7697
NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
7698
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_hostname));
7699
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
7700
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy1));
7701
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy2));
7702
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy3));
7703
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dummy4));
7704
NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
7705
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->os_name));
7706
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
7707
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
7708
NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
7709
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
7710
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
7711
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
7712
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
7714
if (ndr_flags & NDR_BUFFERS) {
7715
NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
7716
if (r->dns_hostname) {
7717
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
7718
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7719
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_hostname, CH_UTF16)));
7720
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_hostname, ndr_charset_length(r->dns_hostname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7723
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
7724
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7725
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sitename, CH_UTF16)));
7726
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->sitename, ndr_charset_length(r->sitename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7729
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
7730
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7731
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy1, CH_UTF16)));
7732
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy1, ndr_charset_length(r->dummy1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7735
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
7736
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7737
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy2, CH_UTF16)));
7738
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy2, ndr_charset_length(r->dummy2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7741
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
7742
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7743
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy3, CH_UTF16)));
7744
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy3, ndr_charset_length(r->dummy3, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7747
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
7748
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7749
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dummy4, CH_UTF16)));
7750
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dummy4, ndr_charset_length(r->dummy4, CH_UTF16), sizeof(uint16_t), CH_UTF16));
7752
NDR_CHECK(ndr_push_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
7753
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
7754
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
7755
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
7757
return NDR_ERR_SUCCESS;
7760
static enum ndr_err_code ndr_pull_netr_WorkstationInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_WorkstationInformation *r)
7762
uint32_t _ptr_dns_hostname;
7763
TALLOC_CTX *_mem_save_dns_hostname_0;
7764
uint32_t _ptr_sitename;
7765
TALLOC_CTX *_mem_save_sitename_0;
7766
uint32_t _ptr_dummy1;
7767
TALLOC_CTX *_mem_save_dummy1_0;
7768
uint32_t _ptr_dummy2;
7769
TALLOC_CTX *_mem_save_dummy2_0;
7770
uint32_t _ptr_dummy3;
7771
TALLOC_CTX *_mem_save_dummy3_0;
7772
uint32_t _ptr_dummy4;
7773
TALLOC_CTX *_mem_save_dummy4_0;
7774
if (ndr_flags & NDR_SCALARS) {
7775
NDR_CHECK(ndr_pull_align(ndr, 5));
7776
NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
7777
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_hostname));
7778
if (_ptr_dns_hostname) {
7779
NDR_PULL_ALLOC(ndr, r->dns_hostname);
7781
r->dns_hostname = NULL;
7783
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
7784
if (_ptr_sitename) {
7785
NDR_PULL_ALLOC(ndr, r->sitename);
7789
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy1));
7791
NDR_PULL_ALLOC(ndr, r->dummy1);
7795
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy2));
7797
NDR_PULL_ALLOC(ndr, r->dummy2);
7801
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy3));
7803
NDR_PULL_ALLOC(ndr, r->dummy3);
7807
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dummy4));
7809
NDR_PULL_ALLOC(ndr, r->dummy4);
7813
NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_SCALARS, &r->os_version));
7814
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->os_name));
7815
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string3));
7816
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->dummy_string4));
7817
NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
7818
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
7819
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
7820
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
7821
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
7823
if (ndr_flags & NDR_BUFFERS) {
7824
NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
7825
if (r->dns_hostname) {
7826
_mem_save_dns_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
7827
NDR_PULL_SET_MEM_CTX(ndr, r->dns_hostname, 0);
7828
NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_hostname));
7829
NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_hostname));
7830
if (ndr_get_array_length(ndr, &r->dns_hostname) > ndr_get_array_size(ndr, &r->dns_hostname)) {
7831
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_hostname), ndr_get_array_length(ndr, &r->dns_hostname));
7833
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t)));
7834
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_hostname, ndr_get_array_length(ndr, &r->dns_hostname), sizeof(uint16_t), CH_UTF16));
7835
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_hostname_0, 0);
7838
_mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
7839
NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
7840
NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
7841
NDR_CHECK(ndr_pull_array_length(ndr, &r->sitename));
7842
if (ndr_get_array_length(ndr, &r->sitename) > ndr_get_array_size(ndr, &r->sitename)) {
7843
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->sitename), ndr_get_array_length(ndr, &r->sitename));
7845
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t)));
7846
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->sitename, ndr_get_array_length(ndr, &r->sitename), sizeof(uint16_t), CH_UTF16));
7847
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
7850
_mem_save_dummy1_0 = NDR_PULL_GET_MEM_CTX(ndr);
7851
NDR_PULL_SET_MEM_CTX(ndr, r->dummy1, 0);
7852
NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy1));
7853
NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy1));
7854
if (ndr_get_array_length(ndr, &r->dummy1) > ndr_get_array_size(ndr, &r->dummy1)) {
7855
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy1), ndr_get_array_length(ndr, &r->dummy1));
7857
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t)));
7858
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy1, ndr_get_array_length(ndr, &r->dummy1), sizeof(uint16_t), CH_UTF16));
7859
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy1_0, 0);
7862
_mem_save_dummy2_0 = NDR_PULL_GET_MEM_CTX(ndr);
7863
NDR_PULL_SET_MEM_CTX(ndr, r->dummy2, 0);
7864
NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy2));
7865
NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy2));
7866
if (ndr_get_array_length(ndr, &r->dummy2) > ndr_get_array_size(ndr, &r->dummy2)) {
7867
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy2), ndr_get_array_length(ndr, &r->dummy2));
7869
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t)));
7870
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy2, ndr_get_array_length(ndr, &r->dummy2), sizeof(uint16_t), CH_UTF16));
7871
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy2_0, 0);
7874
_mem_save_dummy3_0 = NDR_PULL_GET_MEM_CTX(ndr);
7875
NDR_PULL_SET_MEM_CTX(ndr, r->dummy3, 0);
7876
NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy3));
7877
NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy3));
7878
if (ndr_get_array_length(ndr, &r->dummy3) > ndr_get_array_size(ndr, &r->dummy3)) {
7879
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy3), ndr_get_array_length(ndr, &r->dummy3));
7881
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t)));
7882
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy3, ndr_get_array_length(ndr, &r->dummy3), sizeof(uint16_t), CH_UTF16));
7883
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy3_0, 0);
7886
_mem_save_dummy4_0 = NDR_PULL_GET_MEM_CTX(ndr);
7887
NDR_PULL_SET_MEM_CTX(ndr, r->dummy4, 0);
7888
NDR_CHECK(ndr_pull_array_size(ndr, &r->dummy4));
7889
NDR_CHECK(ndr_pull_array_length(ndr, &r->dummy4));
7890
if (ndr_get_array_length(ndr, &r->dummy4) > ndr_get_array_size(ndr, &r->dummy4)) {
7891
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dummy4), ndr_get_array_length(ndr, &r->dummy4));
7893
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t)));
7894
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dummy4, ndr_get_array_length(ndr, &r->dummy4), sizeof(uint16_t), CH_UTF16));
7895
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dummy4_0, 0);
7897
NDR_CHECK(ndr_pull_netr_OsVersionContainer(ndr, NDR_BUFFERS, &r->os_version));
7898
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->os_name));
7899
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string3));
7900
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->dummy_string4));
7902
return NDR_ERR_SUCCESS;
7905
_PUBLIC_ void ndr_print_netr_WorkstationInformation(struct ndr_print *ndr, const char *name, const struct netr_WorkstationInformation *r)
7907
ndr_print_struct(ndr, name, "netr_WorkstationInformation");
7909
ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
7910
ndr_print_ptr(ndr, "dns_hostname", r->dns_hostname);
7912
if (r->dns_hostname) {
7913
ndr_print_string(ndr, "dns_hostname", r->dns_hostname);
7916
ndr_print_ptr(ndr, "sitename", r->sitename);
7919
ndr_print_string(ndr, "sitename", r->sitename);
7922
ndr_print_ptr(ndr, "dummy1", r->dummy1);
7925
ndr_print_string(ndr, "dummy1", r->dummy1);
7928
ndr_print_ptr(ndr, "dummy2", r->dummy2);
7931
ndr_print_string(ndr, "dummy2", r->dummy2);
7934
ndr_print_ptr(ndr, "dummy3", r->dummy3);
7937
ndr_print_string(ndr, "dummy3", r->dummy3);
7940
ndr_print_ptr(ndr, "dummy4", r->dummy4);
7943
ndr_print_string(ndr, "dummy4", r->dummy4);
7946
ndr_print_netr_OsVersionContainer(ndr, "os_version", &r->os_version);
7947
ndr_print_lsa_String(ndr, "os_name", &r->os_name);
7948
ndr_print_lsa_String(ndr, "dummy_string3", &r->dummy_string3);
7949
ndr_print_lsa_String(ndr, "dummy_string4", &r->dummy_string4);
7950
ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
7951
ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
7952
ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
7953
ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
7957
static enum ndr_err_code ndr_push_netr_WorkstationInfo(struct ndr_push *ndr, int ndr_flags, const union netr_WorkstationInfo *r)
7959
if (ndr_flags & NDR_SCALARS) {
7960
int level = ndr_push_get_switch_value(ndr, r);
7961
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
7962
NDR_CHECK(ndr_push_union_align(ndr, 5));
7965
NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_info));
7969
NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
7973
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7976
if (ndr_flags & NDR_BUFFERS) {
7977
int level = ndr_push_get_switch_value(ndr, r);
7980
if (r->workstation_info) {
7981
NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
7986
if (r->lsa_policy_info) {
7987
NDR_CHECK(ndr_push_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
7992
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
7995
return NDR_ERR_SUCCESS;
7998
static enum ndr_err_code ndr_pull_netr_WorkstationInfo(struct ndr_pull *ndr, int ndr_flags, union netr_WorkstationInfo *r)
8002
TALLOC_CTX *_mem_save_workstation_info_0;
8003
TALLOC_CTX *_mem_save_lsa_policy_info_0;
8004
level = ndr_pull_get_switch_value(ndr, r);
8005
if (ndr_flags & NDR_SCALARS) {
8006
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8007
if (_level != level) {
8008
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8010
NDR_CHECK(ndr_pull_union_align(ndr, 5));
8013
uint32_t _ptr_workstation_info;
8014
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_info));
8015
if (_ptr_workstation_info) {
8016
NDR_PULL_ALLOC(ndr, r->workstation_info);
8018
r->workstation_info = NULL;
8023
uint32_t _ptr_lsa_policy_info;
8024
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
8025
if (_ptr_lsa_policy_info) {
8026
NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
8028
r->lsa_policy_info = NULL;
8033
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8036
if (ndr_flags & NDR_BUFFERS) {
8039
if (r->workstation_info) {
8040
_mem_save_workstation_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8041
NDR_PULL_SET_MEM_CTX(ndr, r->workstation_info, 0);
8042
NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->workstation_info));
8043
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_info_0, 0);
8048
if (r->lsa_policy_info) {
8049
_mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8050
NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
8051
NDR_CHECK(ndr_pull_netr_WorkstationInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8052
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
8057
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8060
return NDR_ERR_SUCCESS;
8063
_PUBLIC_ void ndr_print_netr_WorkstationInfo(struct ndr_print *ndr, const char *name, const union netr_WorkstationInfo *r)
8066
level = ndr_print_get_switch_value(ndr, r);
8067
ndr_print_union(ndr, name, level, "netr_WorkstationInfo");
8070
ndr_print_ptr(ndr, "workstation_info", r->workstation_info);
8072
if (r->workstation_info) {
8073
ndr_print_netr_WorkstationInformation(ndr, "workstation_info", r->workstation_info);
8079
ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
8081
if (r->lsa_policy_info) {
8082
ndr_print_netr_WorkstationInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
8088
ndr_print_bad_level(ndr, name, level);
8092
static enum ndr_err_code ndr_push_netr_trust_extension(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension *r)
8094
if (ndr_flags & NDR_SCALARS) {
8095
NDR_CHECK(ndr_push_align(ndr, 4));
8096
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
8097
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
8098
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 8));
8099
NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->flags));
8100
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
8101
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_type));
8102
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trust_attributes));
8103
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8105
if (ndr_flags & NDR_BUFFERS) {
8107
return NDR_ERR_SUCCESS;
8110
static enum ndr_err_code ndr_pull_netr_trust_extension(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension *r)
8112
if (ndr_flags & NDR_SCALARS) {
8113
NDR_CHECK(ndr_pull_align(ndr, 4));
8114
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
8115
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy));
8116
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8117
NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->flags));
8118
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
8119
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_type));
8120
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trust_attributes));
8121
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8123
if (ndr_flags & NDR_BUFFERS) {
8125
return NDR_ERR_SUCCESS;
8128
_PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r)
8130
ndr_print_struct(ndr, name, "netr_trust_extension");
8132
ndr_print_uint32(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->length);
8133
ndr_print_uint32(ndr, "dummy", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->dummy);
8134
ndr_print_uint32(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?8:r->size);
8135
ndr_print_netr_TrustFlags(ndr, "flags", r->flags);
8136
ndr_print_uint32(ndr, "parent_index", r->parent_index);
8137
ndr_print_uint32(ndr, "trust_type", r->trust_type);
8138
ndr_print_uint32(ndr, "trust_attributes", r->trust_attributes);
8142
static enum ndr_err_code ndr_push_netr_trust_extension_container(struct ndr_push *ndr, int ndr_flags, const struct netr_trust_extension_container *r)
8144
if (ndr_flags & NDR_SCALARS) {
8145
NDR_CHECK(ndr_push_align(ndr, 5));
8146
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
8147
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
8148
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
8149
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8151
if (ndr_flags & NDR_BUFFERS) {
8153
NDR_CHECK(ndr_push_netr_trust_extension(ndr, NDR_SCALARS, r->info));
8156
return NDR_ERR_SUCCESS;
8159
static enum ndr_err_code ndr_pull_netr_trust_extension_container(struct ndr_pull *ndr, int ndr_flags, struct netr_trust_extension_container *r)
8162
TALLOC_CTX *_mem_save_info_0;
8163
if (ndr_flags & NDR_SCALARS) {
8164
NDR_CHECK(ndr_pull_align(ndr, 5));
8165
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
8166
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
8167
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8169
NDR_PULL_ALLOC(ndr, r->info);
8173
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8175
if (ndr_flags & NDR_BUFFERS) {
8177
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8178
NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
8179
NDR_CHECK(ndr_pull_netr_trust_extension(ndr, NDR_SCALARS, r->info));
8180
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
8183
return NDR_ERR_SUCCESS;
8186
_PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r)
8188
ndr_print_struct(ndr, name, "netr_trust_extension_container");
8190
ndr_print_uint16(ndr, "length", r->length);
8191
ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->length:r->size);
8192
ndr_print_ptr(ndr, "info", r->info);
8195
ndr_print_netr_trust_extension(ndr, "info", r->info);
8201
static enum ndr_err_code ndr_push_netr_OneDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_OneDomainInfo *r)
8203
if (ndr_flags & NDR_SCALARS) {
8204
NDR_CHECK(ndr_push_align(ndr, 5));
8205
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domainname));
8206
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domainname));
8207
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forestname));
8208
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8209
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
8210
NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8211
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8212
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8213
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8214
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long1));
8215
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long2));
8216
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8217
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8218
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8220
if (ndr_flags & NDR_BUFFERS) {
8221
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domainname));
8222
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domainname));
8223
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forestname));
8224
if (r->domain_sid) {
8225
NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8227
NDR_CHECK(ndr_push_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8228
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8229
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8230
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8232
return NDR_ERR_SUCCESS;
8235
static enum ndr_err_code ndr_pull_netr_OneDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_OneDomainInfo *r)
8237
uint32_t _ptr_domain_sid;
8238
TALLOC_CTX *_mem_save_domain_sid_0;
8239
if (ndr_flags & NDR_SCALARS) {
8240
NDR_CHECK(ndr_pull_align(ndr, 5));
8241
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domainname));
8242
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domainname));
8243
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forestname));
8244
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
8245
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
8246
if (_ptr_domain_sid) {
8247
NDR_PULL_ALLOC(ndr, r->domain_sid);
8249
r->domain_sid = NULL;
8251
NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_SCALARS, &r->trust_extension));
8252
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8253
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8254
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8255
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long1));
8256
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long2));
8257
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8258
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8259
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8261
if (ndr_flags & NDR_BUFFERS) {
8262
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domainname));
8263
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domainname));
8264
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forestname));
8265
if (r->domain_sid) {
8266
_mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8267
NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
8268
NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
8269
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
8271
NDR_CHECK(ndr_pull_netr_trust_extension_container(ndr, NDR_BUFFERS, &r->trust_extension));
8272
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8273
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8274
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8276
return NDR_ERR_SUCCESS;
8279
_PUBLIC_ void ndr_print_netr_OneDomainInfo(struct ndr_print *ndr, const char *name, const struct netr_OneDomainInfo *r)
8281
ndr_print_struct(ndr, name, "netr_OneDomainInfo");
8283
ndr_print_lsa_StringLarge(ndr, "domainname", &r->domainname);
8284
ndr_print_lsa_StringLarge(ndr, "dns_domainname", &r->dns_domainname);
8285
ndr_print_lsa_StringLarge(ndr, "dns_forestname", &r->dns_forestname);
8286
ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
8287
ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
8289
if (r->domain_sid) {
8290
ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
8293
ndr_print_netr_trust_extension_container(ndr, "trust_extension", &r->trust_extension);
8294
ndr_print_lsa_StringLarge(ndr, "dummy_string2", &r->dummy_string2);
8295
ndr_print_lsa_StringLarge(ndr, "dummy_string3", &r->dummy_string3);
8296
ndr_print_lsa_StringLarge(ndr, "dummy_string4", &r->dummy_string4);
8297
ndr_print_uint32(ndr, "dummy_long1", r->dummy_long1);
8298
ndr_print_uint32(ndr, "dummy_long2", r->dummy_long2);
8299
ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8300
ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8304
_PUBLIC_ enum ndr_err_code ndr_push_netr_SupportedEncTypes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8306
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8307
return NDR_ERR_SUCCESS;
8310
_PUBLIC_ enum ndr_err_code ndr_pull_netr_SupportedEncTypes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8313
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8315
return NDR_ERR_SUCCESS;
8318
_PUBLIC_ void ndr_print_netr_SupportedEncTypes(struct ndr_print *ndr, const char *name, uint32_t r)
8320
ndr_print_uint32(ndr, name, r);
8322
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_CRC32", ENC_CRC32, r);
8323
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_RSA_MD5", ENC_RSA_MD5, r);
8324
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_RC4_HMAC_MD5", ENC_RC4_HMAC_MD5, r);
8325
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_HMAC_SHA1_96_AES128", ENC_HMAC_SHA1_96_AES128, r);
8326
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ENC_HMAC_SHA1_96_AES256", ENC_HMAC_SHA1_96_AES256, r);
8330
static enum ndr_err_code ndr_push_netr_DomainInformation(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainInformation *r)
8332
uint32_t cntr_trusted_domains_1;
8333
if (ndr_flags & NDR_SCALARS) {
8334
NDR_CHECK(ndr_push_align(ndr, 5));
8335
NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8336
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->trusted_domain_count));
8337
NDR_CHECK(ndr_push_unique_ptr(ndr, r->trusted_domains));
8338
NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8339
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_hostname));
8340
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8341
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8342
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8343
NDR_CHECK(ndr_push_netr_WorkstationFlags(ndr, NDR_SCALARS, r->workstation_flags));
8344
NDR_CHECK(ndr_push_netr_SupportedEncTypes(ndr, NDR_SCALARS, r->supported_enc_types));
8345
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long3));
8346
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dummy_long4));
8347
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8349
if (ndr_flags & NDR_BUFFERS) {
8350
NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8351
if (r->trusted_domains) {
8352
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->trusted_domain_count));
8353
for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8354
NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8356
for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8357
NDR_CHECK(ndr_push_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8360
NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8361
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_hostname));
8362
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8363
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8364
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8366
return NDR_ERR_SUCCESS;
8369
static enum ndr_err_code ndr_pull_netr_DomainInformation(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainInformation *r)
8371
uint32_t _ptr_trusted_domains;
8372
uint32_t cntr_trusted_domains_1;
8373
TALLOC_CTX *_mem_save_trusted_domains_0;
8374
TALLOC_CTX *_mem_save_trusted_domains_1;
8375
if (ndr_flags & NDR_SCALARS) {
8376
NDR_CHECK(ndr_pull_align(ndr, 5));
8377
NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->primary_domain));
8378
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->trusted_domain_count));
8379
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domains));
8380
if (_ptr_trusted_domains) {
8381
NDR_PULL_ALLOC(ndr, r->trusted_domains);
8383
r->trusted_domains = NULL;
8385
NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS, &r->lsa_policy));
8386
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_hostname));
8387
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string2));
8388
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string3));
8389
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dummy_string4));
8390
NDR_CHECK(ndr_pull_netr_WorkstationFlags(ndr, NDR_SCALARS, &r->workstation_flags));
8391
NDR_CHECK(ndr_pull_netr_SupportedEncTypes(ndr, NDR_SCALARS, &r->supported_enc_types));
8392
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long3));
8393
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dummy_long4));
8394
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8396
if (ndr_flags & NDR_BUFFERS) {
8397
NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->primary_domain));
8398
if (r->trusted_domains) {
8399
_mem_save_trusted_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
8400
NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8401
NDR_CHECK(ndr_pull_array_size(ndr, &r->trusted_domains));
8402
NDR_PULL_ALLOC_N(ndr, r->trusted_domains, ndr_get_array_size(ndr, &r->trusted_domains));
8403
_mem_save_trusted_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
8404
NDR_PULL_SET_MEM_CTX(ndr, r->trusted_domains, 0);
8405
for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8406
NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_SCALARS, &r->trusted_domains[cntr_trusted_domains_1]));
8408
for (cntr_trusted_domains_1 = 0; cntr_trusted_domains_1 < r->trusted_domain_count; cntr_trusted_domains_1++) {
8409
NDR_CHECK(ndr_pull_netr_OneDomainInfo(ndr, NDR_BUFFERS, &r->trusted_domains[cntr_trusted_domains_1]));
8411
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_1, 0);
8412
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_0, 0);
8414
NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_BUFFERS, &r->lsa_policy));
8415
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_hostname));
8416
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string2));
8417
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string3));
8418
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dummy_string4));
8419
if (r->trusted_domains) {
8420
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->trusted_domains, r->trusted_domain_count));
8423
return NDR_ERR_SUCCESS;
8426
_PUBLIC_ void ndr_print_netr_DomainInformation(struct ndr_print *ndr, const char *name, const struct netr_DomainInformation *r)
8428
uint32_t cntr_trusted_domains_1;
8429
ndr_print_struct(ndr, name, "netr_DomainInformation");
8431
ndr_print_netr_OneDomainInfo(ndr, "primary_domain", &r->primary_domain);
8432
ndr_print_uint32(ndr, "trusted_domain_count", r->trusted_domain_count);
8433
ndr_print_ptr(ndr, "trusted_domains", r->trusted_domains);
8435
if (r->trusted_domains) {
8436
ndr->print(ndr, "%s: ARRAY(%d)", "trusted_domains", (int)r->trusted_domain_count);
8438
for (cntr_trusted_domains_1=0;cntr_trusted_domains_1<r->trusted_domain_count;cntr_trusted_domains_1++) {
8440
if (asprintf(&idx_1, "[%d]", cntr_trusted_domains_1) != -1) {
8441
ndr_print_netr_OneDomainInfo(ndr, "trusted_domains", &r->trusted_domains[cntr_trusted_domains_1]);
8448
ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy", &r->lsa_policy);
8449
ndr_print_lsa_StringLarge(ndr, "dns_hostname", &r->dns_hostname);
8450
ndr_print_lsa_StringLarge(ndr, "dummy_string2", &r->dummy_string2);
8451
ndr_print_lsa_StringLarge(ndr, "dummy_string3", &r->dummy_string3);
8452
ndr_print_lsa_StringLarge(ndr, "dummy_string4", &r->dummy_string4);
8453
ndr_print_netr_WorkstationFlags(ndr, "workstation_flags", r->workstation_flags);
8454
ndr_print_netr_SupportedEncTypes(ndr, "supported_enc_types", r->supported_enc_types);
8455
ndr_print_uint32(ndr, "dummy_long3", r->dummy_long3);
8456
ndr_print_uint32(ndr, "dummy_long4", r->dummy_long4);
8460
static enum ndr_err_code ndr_push_netr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union netr_DomainInfo *r)
8462
if (ndr_flags & NDR_SCALARS) {
8463
int level = ndr_push_get_switch_value(ndr, r);
8464
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
8465
NDR_CHECK(ndr_push_union_align(ndr, 5));
8468
NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_info));
8472
NDR_CHECK(ndr_push_unique_ptr(ndr, r->lsa_policy_info));
8476
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8479
if (ndr_flags & NDR_BUFFERS) {
8480
int level = ndr_push_get_switch_value(ndr, r);
8483
if (r->domain_info) {
8484
NDR_CHECK(ndr_push_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8489
if (r->lsa_policy_info) {
8490
NDR_CHECK(ndr_push_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8495
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8498
return NDR_ERR_SUCCESS;
8501
static enum ndr_err_code ndr_pull_netr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union netr_DomainInfo *r)
8505
TALLOC_CTX *_mem_save_domain_info_0;
8506
TALLOC_CTX *_mem_save_lsa_policy_info_0;
8507
level = ndr_pull_get_switch_value(ndr, r);
8508
if (ndr_flags & NDR_SCALARS) {
8509
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
8510
if (_level != level) {
8511
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
8513
NDR_CHECK(ndr_pull_union_align(ndr, 5));
8516
uint32_t _ptr_domain_info;
8517
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_info));
8518
if (_ptr_domain_info) {
8519
NDR_PULL_ALLOC(ndr, r->domain_info);
8521
r->domain_info = NULL;
8526
uint32_t _ptr_lsa_policy_info;
8527
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lsa_policy_info));
8528
if (_ptr_lsa_policy_info) {
8529
NDR_PULL_ALLOC(ndr, r->lsa_policy_info);
8531
r->lsa_policy_info = NULL;
8536
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8539
if (ndr_flags & NDR_BUFFERS) {
8542
if (r->domain_info) {
8543
_mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8544
NDR_PULL_SET_MEM_CTX(ndr, r->domain_info, 0);
8545
NDR_CHECK(ndr_pull_netr_DomainInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_info));
8546
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, 0);
8551
if (r->lsa_policy_info) {
8552
_mem_save_lsa_policy_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8553
NDR_PULL_SET_MEM_CTX(ndr, r->lsa_policy_info, 0);
8554
NDR_CHECK(ndr_pull_netr_LsaPolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->lsa_policy_info));
8555
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lsa_policy_info_0, 0);
8560
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
8563
return NDR_ERR_SUCCESS;
8566
_PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r)
8569
level = ndr_print_get_switch_value(ndr, r);
8570
ndr_print_union(ndr, name, level, "netr_DomainInfo");
8573
ndr_print_ptr(ndr, "domain_info", r->domain_info);
8575
if (r->domain_info) {
8576
ndr_print_netr_DomainInformation(ndr, "domain_info", r->domain_info);
8582
ndr_print_ptr(ndr, "lsa_policy_info", r->lsa_policy_info);
8584
if (r->lsa_policy_info) {
8585
ndr_print_netr_LsaPolicyInformation(ndr, "lsa_policy_info", r->lsa_policy_info);
8591
ndr_print_bad_level(ndr, name, level);
8595
static enum ndr_err_code ndr_push_netr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct netr_CryptPassword *r)
8598
uint32_t _flags_save_STRUCT = ndr->flags;
8599
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8600
if (ndr_flags & NDR_SCALARS) {
8601
NDR_CHECK(ndr_push_align(ndr, 4));
8602
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8603
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
8604
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
8606
if (ndr_flags & NDR_BUFFERS) {
8608
ndr->flags = _flags_save_STRUCT;
8610
return NDR_ERR_SUCCESS;
8613
static enum ndr_err_code ndr_pull_netr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct netr_CryptPassword *r)
8616
uint32_t _flags_save_STRUCT = ndr->flags;
8617
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8618
if (ndr_flags & NDR_SCALARS) {
8619
NDR_CHECK(ndr_pull_align(ndr, 4));
8620
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 512));
8621
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
8622
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
8624
if (ndr_flags & NDR_BUFFERS) {
8626
ndr->flags = _flags_save_STRUCT;
8628
return NDR_ERR_SUCCESS;
8631
_PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r)
8633
ndr_print_struct(ndr, name, "netr_CryptPassword");
8635
uint32_t _flags_save_STRUCT = ndr->flags;
8636
ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
8638
ndr_print_array_uint8(ndr, "data", r->data, 512);
8639
ndr_print_uint32(ndr, "length", r->length);
8641
ndr->flags = _flags_save_STRUCT;
8645
static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesWCtr *r)
8647
uint32_t cntr_sitename_1;
8648
if (ndr_flags & NDR_SCALARS) {
8649
NDR_CHECK(ndr_push_align(ndr, 5));
8650
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8651
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
8652
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8654
if (ndr_flags & NDR_BUFFERS) {
8656
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8657
for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8658
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8660
for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8661
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8665
return NDR_ERR_SUCCESS;
8668
static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesWCtr *r)
8670
uint32_t _ptr_sitename;
8671
uint32_t cntr_sitename_1;
8672
TALLOC_CTX *_mem_save_sitename_0;
8673
TALLOC_CTX *_mem_save_sitename_1;
8674
if (ndr_flags & NDR_SCALARS) {
8675
NDR_CHECK(ndr_pull_align(ndr, 5));
8676
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
8677
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
8678
if (_ptr_sitename) {
8679
NDR_PULL_ALLOC(ndr, r->sitename);
8683
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8685
if (ndr_flags & NDR_BUFFERS) {
8687
_mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
8688
NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8689
NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
8690
NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
8691
_mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
8692
NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
8693
for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8694
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
8696
for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
8697
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
8699
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
8700
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
8703
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
8706
return NDR_ERR_SUCCESS;
8709
_PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r)
8711
uint32_t cntr_sitename_1;
8712
ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesWCtr");
8714
ndr_print_uint32(ndr, "count", r->count);
8715
ndr_print_ptr(ndr, "sitename", r->sitename);
8718
ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
8720
for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
8722
if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
8723
ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
8733
static enum ndr_err_code ndr_push_netr_DsRAddress(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddress *r)
8735
if (ndr_flags & NDR_SCALARS) {
8736
NDR_CHECK(ndr_push_align(ndr, 5));
8737
NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
8738
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
8739
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8741
if (ndr_flags & NDR_BUFFERS) {
8743
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
8744
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->size));
8747
return NDR_ERR_SUCCESS;
8750
static enum ndr_err_code ndr_pull_netr_DsRAddress(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddress *r)
8752
uint32_t _ptr_buffer;
8753
TALLOC_CTX *_mem_save_buffer_0;
8754
if (ndr_flags & NDR_SCALARS) {
8755
NDR_CHECK(ndr_pull_align(ndr, 5));
8756
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
8758
NDR_PULL_ALLOC(ndr, r->buffer);
8762
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
8763
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8765
if (ndr_flags & NDR_BUFFERS) {
8767
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
8768
NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
8769
NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
8770
NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
8771
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
8772
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
8775
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->size));
8778
return NDR_ERR_SUCCESS;
8781
_PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r)
8783
ndr_print_struct(ndr, name, "netr_DsRAddress");
8785
ndr_print_ptr(ndr, "buffer", r->buffer);
8788
ndr_print_array_uint8(ndr, "buffer", r->buffer, r->size);
8791
ndr_print_uint32(ndr, "size", r->size);
8795
static enum ndr_err_code ndr_push_netr_TrustType(struct ndr_push *ndr, int ndr_flags, enum netr_TrustType r)
8797
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
8798
return NDR_ERR_SUCCESS;
8801
static enum ndr_err_code ndr_pull_netr_TrustType(struct ndr_pull *ndr, int ndr_flags, enum netr_TrustType *r)
8804
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
8806
return NDR_ERR_SUCCESS;
8809
_PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r)
8811
const char *val = NULL;
8814
case NETR_TRUST_TYPE_DOWNLEVEL: val = "NETR_TRUST_TYPE_DOWNLEVEL"; break;
8815
case NETR_TRUST_TYPE_UPLEVEL: val = "NETR_TRUST_TYPE_UPLEVEL"; break;
8816
case NETR_TRUST_TYPE_MIT: val = "NETR_TRUST_TYPE_MIT"; break;
8817
case NETR_TRUST_TYPE_DCE: val = "NETR_TRUST_TYPE_DCE"; break;
8819
ndr_print_enum(ndr, name, "ENUM", val, r);
8822
static enum ndr_err_code ndr_push_netr_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8824
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
8825
return NDR_ERR_SUCCESS;
8828
static enum ndr_err_code ndr_pull_netr_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
8831
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
8833
return NDR_ERR_SUCCESS;
8836
_PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
8838
ndr_print_uint32(ndr, name, r);
8840
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE", NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
8841
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY", NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
8842
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
8843
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
8844
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
8845
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_WITHIN_FOREST", NETR_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
8846
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
8850
static enum ndr_err_code ndr_push_netr_DomainTrust(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrust *r)
8852
if (ndr_flags & NDR_SCALARS) {
8853
NDR_CHECK(ndr_push_align(ndr, 5));
8854
NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_name));
8855
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
8856
NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->trust_flags));
8857
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->parent_index));
8858
NDR_CHECK(ndr_push_netr_TrustType(ndr, NDR_SCALARS, r->trust_type));
8859
NDR_CHECK(ndr_push_netr_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
8860
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
8861
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
8862
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8864
if (ndr_flags & NDR_BUFFERS) {
8865
if (r->netbios_name) {
8866
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8867
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8868
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF16)));
8869
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8872
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8873
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
8874
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF16)));
8875
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
8878
NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8881
return NDR_ERR_SUCCESS;
8884
static enum ndr_err_code ndr_pull_netr_DomainTrust(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrust *r)
8886
uint32_t _ptr_netbios_name;
8887
TALLOC_CTX *_mem_save_netbios_name_0;
8888
uint32_t _ptr_dns_name;
8889
TALLOC_CTX *_mem_save_dns_name_0;
8891
TALLOC_CTX *_mem_save_sid_0;
8892
if (ndr_flags & NDR_SCALARS) {
8893
NDR_CHECK(ndr_pull_align(ndr, 5));
8894
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_name));
8895
if (_ptr_netbios_name) {
8896
NDR_PULL_ALLOC(ndr, r->netbios_name);
8898
r->netbios_name = NULL;
8900
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
8901
if (_ptr_dns_name) {
8902
NDR_PULL_ALLOC(ndr, r->dns_name);
8906
NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->trust_flags));
8907
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->parent_index));
8908
NDR_CHECK(ndr_pull_netr_TrustType(ndr, NDR_SCALARS, &r->trust_type));
8909
NDR_CHECK(ndr_pull_netr_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
8910
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
8912
NDR_PULL_ALLOC(ndr, r->sid);
8916
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid));
8917
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
8919
if (ndr_flags & NDR_BUFFERS) {
8920
if (r->netbios_name) {
8921
_mem_save_netbios_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8922
NDR_PULL_SET_MEM_CTX(ndr, r->netbios_name, 0);
8923
NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
8924
NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
8925
if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
8926
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));
8928
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t)));
8929
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint16_t), CH_UTF16));
8930
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_name_0, 0);
8933
_mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8934
NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
8935
NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
8936
NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
8937
if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
8938
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
8940
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t)));
8941
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint16_t), CH_UTF16));
8942
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
8945
_mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8946
NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
8947
NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
8948
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
8951
return NDR_ERR_SUCCESS;
8954
_PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r)
8956
ndr_print_struct(ndr, name, "netr_DomainTrust");
8958
ndr_print_ptr(ndr, "netbios_name", r->netbios_name);
8960
if (r->netbios_name) {
8961
ndr_print_string(ndr, "netbios_name", r->netbios_name);
8964
ndr_print_ptr(ndr, "dns_name", r->dns_name);
8967
ndr_print_string(ndr, "dns_name", r->dns_name);
8970
ndr_print_netr_TrustFlags(ndr, "trust_flags", r->trust_flags);
8971
ndr_print_uint32(ndr, "parent_index", r->parent_index);
8972
ndr_print_netr_TrustType(ndr, "trust_type", r->trust_type);
8973
ndr_print_netr_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
8974
ndr_print_ptr(ndr, "sid", r->sid);
8977
ndr_print_dom_sid2(ndr, "sid", r->sid);
8980
ndr_print_GUID(ndr, "guid", &r->guid);
8984
static enum ndr_err_code ndr_push_netr_DomainTrustList(struct ndr_push *ndr, int ndr_flags, const struct netr_DomainTrustList *r)
8986
uint32_t cntr_array_1;
8987
if (ndr_flags & NDR_SCALARS) {
8988
NDR_CHECK(ndr_push_align(ndr, 5));
8989
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
8990
NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
8991
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
8993
if (ndr_flags & NDR_BUFFERS) {
8995
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
8996
for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
8997
NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
8999
for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
9000
NDR_CHECK(ndr_push_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
9004
return NDR_ERR_SUCCESS;
9007
static enum ndr_err_code ndr_pull_netr_DomainTrustList(struct ndr_pull *ndr, int ndr_flags, struct netr_DomainTrustList *r)
9009
uint32_t _ptr_array;
9010
uint32_t cntr_array_1;
9011
TALLOC_CTX *_mem_save_array_0;
9012
TALLOC_CTX *_mem_save_array_1;
9013
if (ndr_flags & NDR_SCALARS) {
9014
NDR_CHECK(ndr_pull_align(ndr, 5));
9015
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9016
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
9018
NDR_PULL_ALLOC(ndr, r->array);
9022
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9024
if (ndr_flags & NDR_BUFFERS) {
9026
_mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
9027
NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9028
NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
9029
NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
9030
_mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
9031
NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
9032
for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
9033
NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
9035
for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
9036
NDR_CHECK(ndr_pull_netr_DomainTrust(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
9038
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
9039
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
9042
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
9045
return NDR_ERR_SUCCESS;
9048
_PUBLIC_ void ndr_print_netr_DomainTrustList(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustList *r)
9050
uint32_t cntr_array_1;
9051
ndr_print_struct(ndr, name, "netr_DomainTrustList");
9053
ndr_print_uint32(ndr, "count", r->count);
9054
ndr_print_ptr(ndr, "array", r->array);
9057
ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
9059
for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
9061
if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
9062
ndr_print_netr_DomainTrust(ndr, "array", &r->array[cntr_array_1]);
9072
static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExWCtr(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRAddressToSitenamesExWCtr *r)
9074
uint32_t cntr_sitename_1;
9075
uint32_t cntr_subnetname_1;
9076
if (ndr_flags & NDR_SCALARS) {
9077
NDR_CHECK(ndr_push_align(ndr, 5));
9078
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9079
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sitename));
9080
NDR_CHECK(ndr_push_unique_ptr(ndr, r->subnetname));
9081
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9083
if (ndr_flags & NDR_BUFFERS) {
9085
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9086
for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
9087
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
9089
for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
9090
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
9093
if (r->subnetname) {
9094
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9095
for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
9096
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
9098
for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
9099
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
9103
return NDR_ERR_SUCCESS;
9106
static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExWCtr(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRAddressToSitenamesExWCtr *r)
9108
uint32_t _ptr_sitename;
9109
uint32_t cntr_sitename_1;
9110
TALLOC_CTX *_mem_save_sitename_0;
9111
TALLOC_CTX *_mem_save_sitename_1;
9112
uint32_t _ptr_subnetname;
9113
uint32_t cntr_subnetname_1;
9114
TALLOC_CTX *_mem_save_subnetname_0;
9115
TALLOC_CTX *_mem_save_subnetname_1;
9116
if (ndr_flags & NDR_SCALARS) {
9117
NDR_CHECK(ndr_pull_align(ndr, 5));
9118
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9119
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sitename));
9120
if (_ptr_sitename) {
9121
NDR_PULL_ALLOC(ndr, r->sitename);
9125
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_subnetname));
9126
if (_ptr_subnetname) {
9127
NDR_PULL_ALLOC(ndr, r->subnetname);
9129
r->subnetname = NULL;
9131
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9133
if (ndr_flags & NDR_BUFFERS) {
9135
_mem_save_sitename_0 = NDR_PULL_GET_MEM_CTX(ndr);
9136
NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
9137
NDR_CHECK(ndr_pull_array_size(ndr, &r->sitename));
9138
NDR_PULL_ALLOC_N(ndr, r->sitename, ndr_get_array_size(ndr, &r->sitename));
9139
_mem_save_sitename_1 = NDR_PULL_GET_MEM_CTX(ndr);
9140
NDR_PULL_SET_MEM_CTX(ndr, r->sitename, 0);
9141
for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
9142
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sitename[cntr_sitename_1]));
9144
for (cntr_sitename_1 = 0; cntr_sitename_1 < r->count; cntr_sitename_1++) {
9145
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sitename[cntr_sitename_1]));
9147
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_1, 0);
9148
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sitename_0, 0);
9150
if (r->subnetname) {
9151
_mem_save_subnetname_0 = NDR_PULL_GET_MEM_CTX(ndr);
9152
NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
9153
NDR_CHECK(ndr_pull_array_size(ndr, &r->subnetname));
9154
NDR_PULL_ALLOC_N(ndr, r->subnetname, ndr_get_array_size(ndr, &r->subnetname));
9155
_mem_save_subnetname_1 = NDR_PULL_GET_MEM_CTX(ndr);
9156
NDR_PULL_SET_MEM_CTX(ndr, r->subnetname, 0);
9157
for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
9158
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->subnetname[cntr_subnetname_1]));
9160
for (cntr_subnetname_1 = 0; cntr_subnetname_1 < r->count; cntr_subnetname_1++) {
9161
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->subnetname[cntr_subnetname_1]));
9163
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_1, 0);
9164
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_subnetname_0, 0);
9167
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sitename, r->count));
9169
if (r->subnetname) {
9170
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->subnetname, r->count));
9173
return NDR_ERR_SUCCESS;
9176
_PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesExWCtr *r)
9178
uint32_t cntr_sitename_1;
9179
uint32_t cntr_subnetname_1;
9180
ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExWCtr");
9182
ndr_print_uint32(ndr, "count", r->count);
9183
ndr_print_ptr(ndr, "sitename", r->sitename);
9186
ndr->print(ndr, "%s: ARRAY(%d)", "sitename", (int)r->count);
9188
for (cntr_sitename_1=0;cntr_sitename_1<r->count;cntr_sitename_1++) {
9190
if (asprintf(&idx_1, "[%d]", cntr_sitename_1) != -1) {
9191
ndr_print_lsa_String(ndr, "sitename", &r->sitename[cntr_sitename_1]);
9198
ndr_print_ptr(ndr, "subnetname", r->subnetname);
9200
if (r->subnetname) {
9201
ndr->print(ndr, "%s: ARRAY(%d)", "subnetname", (int)r->count);
9203
for (cntr_subnetname_1=0;cntr_subnetname_1<r->count;cntr_subnetname_1++) {
9205
if (asprintf(&idx_1, "[%d]", cntr_subnetname_1) != -1) {
9206
ndr_print_lsa_String(ndr, "subnetname", &r->subnetname[cntr_subnetname_1]);
9216
static enum ndr_err_code ndr_push_DcSitesCtr(struct ndr_push *ndr, int ndr_flags, const struct DcSitesCtr *r)
9218
uint32_t cntr_sites_1;
9219
if (ndr_flags & NDR_SCALARS) {
9220
NDR_CHECK(ndr_push_align(ndr, 5));
9221
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sites));
9222
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sites));
9223
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9225
if (ndr_flags & NDR_BUFFERS) {
9227
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sites));
9228
for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9229
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9231
for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9232
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9236
return NDR_ERR_SUCCESS;
9239
static enum ndr_err_code ndr_pull_DcSitesCtr(struct ndr_pull *ndr, int ndr_flags, struct DcSitesCtr *r)
9241
uint32_t _ptr_sites;
9242
uint32_t cntr_sites_1;
9243
TALLOC_CTX *_mem_save_sites_0;
9244
TALLOC_CTX *_mem_save_sites_1;
9245
if (ndr_flags & NDR_SCALARS) {
9246
NDR_CHECK(ndr_pull_align(ndr, 5));
9247
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sites));
9248
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sites));
9250
NDR_PULL_ALLOC(ndr, r->sites);
9254
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9256
if (ndr_flags & NDR_BUFFERS) {
9258
_mem_save_sites_0 = NDR_PULL_GET_MEM_CTX(ndr);
9259
NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9260
NDR_CHECK(ndr_pull_array_size(ndr, &r->sites));
9261
NDR_PULL_ALLOC_N(ndr, r->sites, ndr_get_array_size(ndr, &r->sites));
9262
_mem_save_sites_1 = NDR_PULL_GET_MEM_CTX(ndr);
9263
NDR_PULL_SET_MEM_CTX(ndr, r->sites, 0);
9264
for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9265
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->sites[cntr_sites_1]));
9267
for (cntr_sites_1 = 0; cntr_sites_1 < r->num_sites; cntr_sites_1++) {
9268
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->sites[cntr_sites_1]));
9270
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_1, 0);
9271
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sites_0, 0);
9274
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sites, r->num_sites));
9277
return NDR_ERR_SUCCESS;
9280
_PUBLIC_ void ndr_print_DcSitesCtr(struct ndr_print *ndr, const char *name, const struct DcSitesCtr *r)
9282
uint32_t cntr_sites_1;
9283
ndr_print_struct(ndr, name, "DcSitesCtr");
9285
ndr_print_uint32(ndr, "num_sites", r->num_sites);
9286
ndr_print_ptr(ndr, "sites", r->sites);
9289
ndr->print(ndr, "%s: ARRAY(%d)", "sites", (int)r->num_sites);
9291
for (cntr_sites_1=0;cntr_sites_1<r->num_sites;cntr_sites_1++) {
9293
if (asprintf(&idx_1, "[%d]", cntr_sites_1) != -1) {
9294
ndr_print_lsa_String(ndr, "sites", &r->sites[cntr_sites_1]);
9304
static enum ndr_err_code ndr_push_netr_TrustInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_TrustInfo *r)
9306
uint32_t cntr_data_1;
9307
uint32_t cntr_entries_1;
9308
if (ndr_flags & NDR_SCALARS) {
9309
NDR_CHECK(ndr_push_align(ndr, 5));
9310
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
9311
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
9312
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entry_count));
9313
NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
9314
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
9316
if (ndr_flags & NDR_BUFFERS) {
9318
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9319
for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9320
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data[cntr_data_1]));
9324
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
9325
for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9326
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9328
for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9329
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9333
return NDR_ERR_SUCCESS;
9336
static enum ndr_err_code ndr_pull_netr_TrustInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_TrustInfo *r)
9339
uint32_t cntr_data_1;
9340
TALLOC_CTX *_mem_save_data_0;
9341
TALLOC_CTX *_mem_save_data_1;
9342
uint32_t _ptr_entries;
9343
uint32_t cntr_entries_1;
9344
TALLOC_CTX *_mem_save_entries_0;
9345
TALLOC_CTX *_mem_save_entries_1;
9346
if (ndr_flags & NDR_SCALARS) {
9347
NDR_CHECK(ndr_pull_align(ndr, 5));
9348
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
9349
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
9351
NDR_PULL_ALLOC(ndr, r->data);
9355
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entry_count));
9356
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
9358
NDR_PULL_ALLOC(ndr, r->entries);
9362
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
9364
if (ndr_flags & NDR_BUFFERS) {
9366
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
9367
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9368
NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
9369
NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
9370
_mem_save_data_1 = NDR_PULL_GET_MEM_CTX(ndr);
9371
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
9372
for (cntr_data_1 = 0; cntr_data_1 < r->count; cntr_data_1++) {
9373
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data[cntr_data_1]));
9375
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_1, 0);
9376
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
9379
_mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
9380
NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9381
NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
9382
NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
9383
_mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
9384
NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
9385
for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9386
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
9388
for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
9389
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
9391
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
9392
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
9395
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->count));
9398
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
9401
return NDR_ERR_SUCCESS;
9404
_PUBLIC_ void ndr_print_netr_TrustInfo(struct ndr_print *ndr, const char *name, const struct netr_TrustInfo *r)
9406
uint32_t cntr_data_1;
9407
uint32_t cntr_entries_1;
9408
ndr_print_struct(ndr, name, "netr_TrustInfo");
9410
ndr_print_uint32(ndr, "count", r->count);
9411
ndr_print_ptr(ndr, "data", r->data);
9414
ndr->print(ndr, "%s: ARRAY(%d)", "data", (int)r->count);
9416
for (cntr_data_1=0;cntr_data_1<r->count;cntr_data_1++) {
9418
if (asprintf(&idx_1, "[%d]", cntr_data_1) != -1) {
9419
ndr_print_uint32(ndr, "data", r->data[cntr_data_1]);
9426
ndr_print_uint32(ndr, "entry_count", r->entry_count);
9427
ndr_print_ptr(ndr, "entries", r->entries);
9430
ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
9432
for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
9434
if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
9435
ndr_print_lsa_String(ndr, "entries", &r->entries[cntr_entries_1]);
9445
static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogon *r)
9447
if (flags & NDR_IN) {
9448
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9449
if (r->in.server_name) {
9450
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9451
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9452
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9453
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));
9455
if (r->in.account_name == NULL) {
9456
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9458
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9459
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9460
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9461
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));
9462
if (r->in.workstation == NULL) {
9463
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9465
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9466
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9467
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9468
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9470
if (flags & NDR_OUT) {
9471
if (r->out.info == NULL) {
9472
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9474
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9476
NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9478
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9480
return NDR_ERR_SUCCESS;
9483
static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
9485
uint32_t _ptr_server_name;
9487
TALLOC_CTX *_mem_save_server_name_0;
9488
TALLOC_CTX *_mem_save_info_0;
9489
TALLOC_CTX *_mem_save_info_1;
9490
if (flags & NDR_IN) {
9491
ZERO_STRUCT(r->out);
9493
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9494
if (_ptr_server_name) {
9495
NDR_PULL_ALLOC(ndr, r->in.server_name);
9497
r->in.server_name = NULL;
9499
if (r->in.server_name) {
9500
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9501
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9502
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9503
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9504
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9505
return 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));
9507
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9508
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));
9509
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9511
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9512
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9513
if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9514
return 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));
9516
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9517
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));
9518
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9519
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9520
if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
9521
return 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));
9523
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
9524
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
9525
NDR_PULL_ALLOC(ndr, r->out.info);
9526
ZERO_STRUCTP(r->out.info);
9528
if (flags & NDR_OUT) {
9529
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9530
NDR_PULL_ALLOC(ndr, r->out.info);
9532
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9533
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9534
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9536
NDR_PULL_ALLOC(ndr, *r->out.info);
9538
*r->out.info = NULL;
9541
_mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9542
NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9543
NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9544
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9546
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9547
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9549
return NDR_ERR_SUCCESS;
9552
_PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogon *r)
9554
ndr_print_struct(ndr, name, "netr_LogonUasLogon");
9556
if (flags & NDR_SET_VALUES) {
9557
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9559
if (flags & NDR_IN) {
9560
ndr_print_struct(ndr, "in", "netr_LogonUasLogon");
9562
ndr_print_ptr(ndr, "server_name", r->in.server_name);
9564
if (r->in.server_name) {
9565
ndr_print_string(ndr, "server_name", r->in.server_name);
9568
ndr_print_ptr(ndr, "account_name", r->in.account_name);
9570
ndr_print_string(ndr, "account_name", r->in.account_name);
9572
ndr_print_ptr(ndr, "workstation", r->in.workstation);
9574
ndr_print_string(ndr, "workstation", r->in.workstation);
9578
if (flags & NDR_OUT) {
9579
ndr_print_struct(ndr, "out", "netr_LogonUasLogon");
9581
ndr_print_ptr(ndr, "info", r->out.info);
9583
ndr_print_ptr(ndr, "info", *r->out.info);
9586
ndr_print_netr_UasInfo(ndr, "info", *r->out.info);
9590
ndr_print_WERROR(ndr, "result", r->out.result);
9596
static enum ndr_err_code ndr_push_netr_LogonUasLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonUasLogoff *r)
9598
if (flags & NDR_IN) {
9599
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9600
if (r->in.server_name) {
9601
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9602
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9603
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9604
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));
9606
if (r->in.account_name == NULL) {
9607
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9609
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9610
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9611
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
9612
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));
9613
if (r->in.workstation == NULL) {
9614
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9616
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9617
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9618
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.workstation, CH_UTF16)));
9619
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.workstation, ndr_charset_length(r->in.workstation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9621
if (flags & NDR_OUT) {
9622
if (r->out.info == NULL) {
9623
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9625
NDR_CHECK(ndr_push_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9626
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
9628
return NDR_ERR_SUCCESS;
9631
static enum ndr_err_code ndr_pull_netr_LogonUasLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogoff *r)
9633
uint32_t _ptr_server_name;
9634
TALLOC_CTX *_mem_save_server_name_0;
9635
TALLOC_CTX *_mem_save_info_0;
9636
if (flags & NDR_IN) {
9637
ZERO_STRUCT(r->out);
9639
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9640
if (_ptr_server_name) {
9641
NDR_PULL_ALLOC(ndr, r->in.server_name);
9643
r->in.server_name = NULL;
9645
if (r->in.server_name) {
9646
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9647
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9648
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9649
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9650
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9651
return 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));
9653
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9654
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));
9655
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9657
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
9658
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
9659
if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
9660
return 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));
9662
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
9663
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));
9664
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.workstation));
9665
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.workstation));
9666
if (ndr_get_array_length(ndr, &r->in.workstation) > ndr_get_array_size(ndr, &r->in.workstation)) {
9667
return 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));
9669
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t)));
9670
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.workstation, ndr_get_array_length(ndr, &r->in.workstation), sizeof(uint16_t), CH_UTF16));
9671
NDR_PULL_ALLOC(ndr, r->out.info);
9672
ZERO_STRUCTP(r->out.info);
9674
if (flags & NDR_OUT) {
9675
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9676
NDR_PULL_ALLOC(ndr, r->out.info);
9678
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9679
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9680
NDR_CHECK(ndr_pull_netr_UasLogoffInfo(ndr, NDR_SCALARS, r->out.info));
9681
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9682
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
9684
return NDR_ERR_SUCCESS;
9687
_PUBLIC_ void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r)
9689
ndr_print_struct(ndr, name, "netr_LogonUasLogoff");
9691
if (flags & NDR_SET_VALUES) {
9692
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9694
if (flags & NDR_IN) {
9695
ndr_print_struct(ndr, "in", "netr_LogonUasLogoff");
9697
ndr_print_ptr(ndr, "server_name", r->in.server_name);
9699
if (r->in.server_name) {
9700
ndr_print_string(ndr, "server_name", r->in.server_name);
9703
ndr_print_ptr(ndr, "account_name", r->in.account_name);
9705
ndr_print_string(ndr, "account_name", r->in.account_name);
9707
ndr_print_ptr(ndr, "workstation", r->in.workstation);
9709
ndr_print_string(ndr, "workstation", r->in.workstation);
9713
if (flags & NDR_OUT) {
9714
ndr_print_struct(ndr, "out", "netr_LogonUasLogoff");
9716
ndr_print_ptr(ndr, "info", r->out.info);
9718
ndr_print_netr_UasLogoffInfo(ndr, "info", r->out.info);
9720
ndr_print_WERROR(ndr, "result", r->out.result);
9726
static enum ndr_err_code ndr_push_netr_LogonSamLogon(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogon *r)
9728
if (flags & NDR_IN) {
9729
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9730
if (r->in.server_name) {
9731
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9732
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9733
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9734
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));
9736
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9737
if (r->in.computer_name) {
9738
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9739
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9740
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9741
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));
9743
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9744
if (r->in.credential) {
9745
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9747
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9748
if (r->in.return_authenticator) {
9749
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9751
NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9752
if (r->in.logon == NULL) {
9753
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9755
NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9756
NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9757
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
9759
if (flags & NDR_OUT) {
9760
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
9761
if (r->out.return_authenticator) {
9762
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9764
if (r->out.validation == NULL) {
9765
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9767
NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9768
NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9769
if (r->out.authoritative == NULL) {
9770
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9772
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
9773
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9775
return NDR_ERR_SUCCESS;
9778
static enum ndr_err_code ndr_pull_netr_LogonSamLogon(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogon *r)
9780
uint32_t _ptr_server_name;
9781
uint32_t _ptr_computer_name;
9782
uint32_t _ptr_credential;
9783
uint32_t _ptr_return_authenticator;
9784
TALLOC_CTX *_mem_save_server_name_0;
9785
TALLOC_CTX *_mem_save_computer_name_0;
9786
TALLOC_CTX *_mem_save_credential_0;
9787
TALLOC_CTX *_mem_save_return_authenticator_0;
9788
TALLOC_CTX *_mem_save_logon_0;
9789
TALLOC_CTX *_mem_save_validation_0;
9790
TALLOC_CTX *_mem_save_authoritative_0;
9791
if (flags & NDR_IN) {
9792
ZERO_STRUCT(r->out);
9794
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
9795
if (_ptr_server_name) {
9796
NDR_PULL_ALLOC(ndr, r->in.server_name);
9798
r->in.server_name = NULL;
9800
if (r->in.server_name) {
9801
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9802
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
9803
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
9804
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
9805
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
9806
return 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));
9808
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
9809
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));
9810
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
9812
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
9813
if (_ptr_computer_name) {
9814
NDR_PULL_ALLOC(ndr, r->in.computer_name);
9816
r->in.computer_name = NULL;
9818
if (r->in.computer_name) {
9819
_mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9820
NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
9821
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
9822
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
9823
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
9824
return 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));
9826
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
9827
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));
9828
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
9830
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
9831
if (_ptr_credential) {
9832
NDR_PULL_ALLOC(ndr, r->in.credential);
9834
r->in.credential = NULL;
9836
if (r->in.credential) {
9837
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
9838
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
9839
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9840
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
9842
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9843
if (_ptr_return_authenticator) {
9844
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
9846
r->in.return_authenticator = NULL;
9848
if (r->in.return_authenticator) {
9849
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9850
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
9851
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9852
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9854
NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
9855
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9856
NDR_PULL_ALLOC(ndr, r->in.logon);
9858
_mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
9859
NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
9860
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
9861
NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
9862
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
9863
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
9864
NDR_PULL_ALLOC(ndr, r->out.validation);
9865
ZERO_STRUCTP(r->out.validation);
9866
NDR_PULL_ALLOC(ndr, r->out.authoritative);
9867
ZERO_STRUCTP(r->out.authoritative);
9869
if (flags & NDR_OUT) {
9870
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
9871
if (_ptr_return_authenticator) {
9872
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
9874
r->out.return_authenticator = NULL;
9876
if (r->out.return_authenticator) {
9877
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
9878
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
9879
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
9880
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
9882
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9883
NDR_PULL_ALLOC(ndr, r->out.validation);
9885
_mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
9886
NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
9887
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
9888
NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
9889
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
9890
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9891
NDR_PULL_ALLOC(ndr, r->out.authoritative);
9893
_mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
9894
NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
9895
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
9896
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
9897
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9899
return NDR_ERR_SUCCESS;
9902
_PUBLIC_ void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r)
9904
ndr_print_struct(ndr, name, "netr_LogonSamLogon");
9906
if (flags & NDR_SET_VALUES) {
9907
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9909
if (flags & NDR_IN) {
9910
ndr_print_struct(ndr, "in", "netr_LogonSamLogon");
9912
ndr_print_ptr(ndr, "server_name", r->in.server_name);
9914
if (r->in.server_name) {
9915
ndr_print_string(ndr, "server_name", r->in.server_name);
9918
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
9920
if (r->in.computer_name) {
9921
ndr_print_string(ndr, "computer_name", r->in.computer_name);
9924
ndr_print_ptr(ndr, "credential", r->in.credential);
9926
if (r->in.credential) {
9927
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
9930
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
9932
if (r->in.return_authenticator) {
9933
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
9936
ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
9937
ndr_print_ptr(ndr, "logon", r->in.logon);
9939
ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
9940
ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
9942
ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
9945
if (flags & NDR_OUT) {
9946
ndr_print_struct(ndr, "out", "netr_LogonSamLogon");
9948
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
9950
if (r->out.return_authenticator) {
9951
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
9954
ndr_print_ptr(ndr, "validation", r->out.validation);
9956
ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
9957
ndr_print_netr_Validation(ndr, "validation", r->out.validation);
9959
ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
9961
ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
9963
ndr_print_NTSTATUS(ndr, "result", r->out.result);
9969
static enum ndr_err_code ndr_push_netr_LogonSamLogoff(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogoff *r)
9971
if (flags & NDR_IN) {
9972
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
9973
if (r->in.server_name) {
9974
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9975
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9976
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
9977
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));
9979
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
9980
if (r->in.computer_name) {
9981
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9982
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9983
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
9984
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));
9986
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
9987
if (r->in.credential) {
9988
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
9990
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
9991
if (r->in.return_authenticator) {
9992
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
9994
NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
9995
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
9996
NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
9998
if (flags & NDR_OUT) {
9999
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
10000
if (r->out.return_authenticator) {
10001
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10003
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10005
return NDR_ERR_SUCCESS;
10008
static enum ndr_err_code ndr_pull_netr_LogonSamLogoff(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogoff *r)
10010
uint32_t _ptr_server_name;
10011
uint32_t _ptr_computer_name;
10012
uint32_t _ptr_credential;
10013
uint32_t _ptr_return_authenticator;
10014
TALLOC_CTX *_mem_save_server_name_0;
10015
TALLOC_CTX *_mem_save_computer_name_0;
10016
TALLOC_CTX *_mem_save_credential_0;
10017
TALLOC_CTX *_mem_save_return_authenticator_0;
10018
if (flags & NDR_IN) {
10019
ZERO_STRUCT(r->out);
10021
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10022
if (_ptr_server_name) {
10023
NDR_PULL_ALLOC(ndr, r->in.server_name);
10025
r->in.server_name = NULL;
10027
if (r->in.server_name) {
10028
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10029
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10030
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10031
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10032
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10033
return 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));
10035
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10036
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));
10037
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10039
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
10040
if (_ptr_computer_name) {
10041
NDR_PULL_ALLOC(ndr, r->in.computer_name);
10043
r->in.computer_name = NULL;
10045
if (r->in.computer_name) {
10046
_mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10047
NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
10048
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10049
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10050
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10051
return 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));
10053
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10054
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));
10055
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
10057
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
10058
if (_ptr_credential) {
10059
NDR_PULL_ALLOC(ndr, r->in.credential);
10061
r->in.credential = NULL;
10063
if (r->in.credential) {
10064
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10065
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
10066
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10067
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
10069
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
10070
if (_ptr_return_authenticator) {
10071
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10073
r->in.return_authenticator = NULL;
10075
if (r->in.return_authenticator) {
10076
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10077
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
10078
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10079
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
10081
NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
10082
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level));
10083
NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon));
10085
if (flags & NDR_OUT) {
10086
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
10087
if (_ptr_return_authenticator) {
10088
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10090
r->out.return_authenticator = NULL;
10092
if (r->out.return_authenticator) {
10093
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10094
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
10095
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10096
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
10098
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10100
return NDR_ERR_SUCCESS;
10103
_PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r)
10105
ndr_print_struct(ndr, name, "netr_LogonSamLogoff");
10107
if (flags & NDR_SET_VALUES) {
10108
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10110
if (flags & NDR_IN) {
10111
ndr_print_struct(ndr, "in", "netr_LogonSamLogoff");
10113
ndr_print_ptr(ndr, "server_name", r->in.server_name);
10115
if (r->in.server_name) {
10116
ndr_print_string(ndr, "server_name", r->in.server_name);
10119
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10121
if (r->in.computer_name) {
10122
ndr_print_string(ndr, "computer_name", r->in.computer_name);
10125
ndr_print_ptr(ndr, "credential", r->in.credential);
10127
if (r->in.credential) {
10128
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10131
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10133
if (r->in.return_authenticator) {
10134
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10137
ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
10138
ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level);
10139
ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon);
10142
if (flags & NDR_OUT) {
10143
ndr_print_struct(ndr, "out", "netr_LogonSamLogoff");
10145
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10147
if (r->out.return_authenticator) {
10148
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10151
ndr_print_NTSTATUS(ndr, "result", r->out.result);
10157
_PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
10159
if (flags & NDR_IN) {
10160
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10161
if (r->in.server_name) {
10162
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10163
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10164
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10165
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));
10167
if (r->in.computer_name == NULL) {
10168
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10170
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10171
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10172
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10173
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));
10174
if (r->in.credentials == NULL) {
10175
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10177
NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10179
if (flags & NDR_OUT) {
10180
if (r->out.return_credentials == NULL) {
10181
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10183
NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10184
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10186
return NDR_ERR_SUCCESS;
10189
_PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
10191
uint32_t _ptr_server_name;
10192
TALLOC_CTX *_mem_save_server_name_0;
10193
TALLOC_CTX *_mem_save_credentials_0;
10194
TALLOC_CTX *_mem_save_return_credentials_0;
10195
if (flags & NDR_IN) {
10196
ZERO_STRUCT(r->out);
10198
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10199
if (_ptr_server_name) {
10200
NDR_PULL_ALLOC(ndr, r->in.server_name);
10202
r->in.server_name = NULL;
10204
if (r->in.server_name) {
10205
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10206
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10207
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10208
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10209
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10210
return 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));
10212
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10213
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));
10214
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10216
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10217
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10218
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10219
return 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));
10221
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10222
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));
10223
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10224
NDR_PULL_ALLOC(ndr, r->in.credentials);
10226
_mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10227
NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10228
NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10229
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10230
NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10231
ZERO_STRUCTP(r->out.return_credentials);
10233
if (flags & NDR_OUT) {
10234
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10235
NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10237
_mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10238
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10239
NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10240
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10241
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10243
return NDR_ERR_SUCCESS;
10246
_PUBLIC_ void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r)
10248
ndr_print_struct(ndr, name, "netr_ServerReqChallenge");
10250
if (flags & NDR_SET_VALUES) {
10251
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10253
if (flags & NDR_IN) {
10254
ndr_print_struct(ndr, "in", "netr_ServerReqChallenge");
10256
ndr_print_ptr(ndr, "server_name", r->in.server_name);
10258
if (r->in.server_name) {
10259
ndr_print_string(ndr, "server_name", r->in.server_name);
10262
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10264
ndr_print_string(ndr, "computer_name", r->in.computer_name);
10266
ndr_print_ptr(ndr, "credentials", r->in.credentials);
10268
ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10272
if (flags & NDR_OUT) {
10273
ndr_print_struct(ndr, "out", "netr_ServerReqChallenge");
10275
ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10277
ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10279
ndr_print_NTSTATUS(ndr, "result", r->out.result);
10285
static enum ndr_err_code ndr_push_netr_ServerAuthenticate(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate *r)
10287
if (flags & NDR_IN) {
10288
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10289
if (r->in.server_name) {
10290
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10291
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10292
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10293
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));
10295
if (r->in.account_name == NULL) {
10296
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10298
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10299
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10300
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10301
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));
10302
NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10303
if (r->in.computer_name == NULL) {
10304
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10306
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10307
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10308
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10309
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));
10310
if (r->in.credentials == NULL) {
10311
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10313
NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10315
if (flags & NDR_OUT) {
10316
if (r->out.return_credentials == NULL) {
10317
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10319
NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10320
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10322
return NDR_ERR_SUCCESS;
10325
static enum ndr_err_code ndr_pull_netr_ServerAuthenticate(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate *r)
10327
uint32_t _ptr_server_name;
10328
TALLOC_CTX *_mem_save_server_name_0;
10329
TALLOC_CTX *_mem_save_credentials_0;
10330
TALLOC_CTX *_mem_save_return_credentials_0;
10331
if (flags & NDR_IN) {
10332
ZERO_STRUCT(r->out);
10334
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10335
if (_ptr_server_name) {
10336
NDR_PULL_ALLOC(ndr, r->in.server_name);
10338
r->in.server_name = NULL;
10340
if (r->in.server_name) {
10341
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10342
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10343
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10344
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10345
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10346
return 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));
10348
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10349
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));
10350
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10352
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10353
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10354
if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10355
return 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));
10357
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10358
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));
10359
NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10360
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10361
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10362
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10363
return 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));
10365
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10366
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));
10367
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10368
NDR_PULL_ALLOC(ndr, r->in.credentials);
10370
_mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10371
NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
10372
NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
10373
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10374
NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10375
ZERO_STRUCTP(r->out.return_credentials);
10377
if (flags & NDR_OUT) {
10378
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10379
NDR_PULL_ALLOC(ndr, r->out.return_credentials);
10381
_mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
10382
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
10383
NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
10384
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
10385
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10387
return NDR_ERR_SUCCESS;
10390
_PUBLIC_ void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r)
10392
ndr_print_struct(ndr, name, "netr_ServerAuthenticate");
10394
if (flags & NDR_SET_VALUES) {
10395
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10397
if (flags & NDR_IN) {
10398
ndr_print_struct(ndr, "in", "netr_ServerAuthenticate");
10400
ndr_print_ptr(ndr, "server_name", r->in.server_name);
10402
if (r->in.server_name) {
10403
ndr_print_string(ndr, "server_name", r->in.server_name);
10406
ndr_print_ptr(ndr, "account_name", r->in.account_name);
10408
ndr_print_string(ndr, "account_name", r->in.account_name);
10410
ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10411
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10413
ndr_print_string(ndr, "computer_name", r->in.computer_name);
10415
ndr_print_ptr(ndr, "credentials", r->in.credentials);
10417
ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
10421
if (flags & NDR_OUT) {
10422
ndr_print_struct(ndr, "out", "netr_ServerAuthenticate");
10424
ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
10426
ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
10428
ndr_print_NTSTATUS(ndr, "result", r->out.result);
10434
static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet *r)
10436
if (flags & NDR_IN) {
10437
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
10438
if (r->in.server_name) {
10439
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10440
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10441
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
10442
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));
10444
if (r->in.account_name == NULL) {
10445
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10447
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10448
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10449
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
10450
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));
10451
NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
10452
if (r->in.computer_name == NULL) {
10453
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10455
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10456
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10457
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
10458
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));
10459
if (r->in.credential == NULL) {
10460
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10462
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10463
if (r->in.new_password == NULL) {
10464
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10466
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10468
if (flags & NDR_OUT) {
10469
if (r->out.return_authenticator == NULL) {
10470
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10472
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10473
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10475
return NDR_ERR_SUCCESS;
10478
static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet *r)
10480
uint32_t _ptr_server_name;
10481
TALLOC_CTX *_mem_save_server_name_0;
10482
TALLOC_CTX *_mem_save_credential_0;
10483
TALLOC_CTX *_mem_save_return_authenticator_0;
10484
TALLOC_CTX *_mem_save_new_password_0;
10485
if (flags & NDR_IN) {
10486
ZERO_STRUCT(r->out);
10488
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
10489
if (_ptr_server_name) {
10490
NDR_PULL_ALLOC(ndr, r->in.server_name);
10492
r->in.server_name = NULL;
10494
if (r->in.server_name) {
10495
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10496
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
10497
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
10498
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
10499
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
10500
return 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));
10502
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
10503
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));
10504
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
10506
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
10507
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
10508
if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
10509
return 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));
10511
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
10512
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));
10513
NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
10514
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
10515
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
10516
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
10517
return 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));
10519
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
10520
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));
10521
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10522
NDR_PULL_ALLOC(ndr, r->in.credential);
10524
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10525
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10526
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10527
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10528
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10529
NDR_PULL_ALLOC(ndr, r->in.new_password);
10531
_mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10532
NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
10533
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password));
10534
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
10535
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10536
ZERO_STRUCTP(r->out.return_authenticator);
10538
if (flags & NDR_OUT) {
10539
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10540
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10542
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10543
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10544
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10545
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10546
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10548
return NDR_ERR_SUCCESS;
10551
_PUBLIC_ void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r)
10553
ndr_print_struct(ndr, name, "netr_ServerPasswordSet");
10555
if (flags & NDR_SET_VALUES) {
10556
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10558
if (flags & NDR_IN) {
10559
ndr_print_struct(ndr, "in", "netr_ServerPasswordSet");
10561
ndr_print_ptr(ndr, "server_name", r->in.server_name);
10563
if (r->in.server_name) {
10564
ndr_print_string(ndr, "server_name", r->in.server_name);
10567
ndr_print_ptr(ndr, "account_name", r->in.account_name);
10569
ndr_print_string(ndr, "account_name", r->in.account_name);
10571
ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
10572
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
10574
ndr_print_string(ndr, "computer_name", r->in.computer_name);
10576
ndr_print_ptr(ndr, "credential", r->in.credential);
10578
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10580
ndr_print_ptr(ndr, "new_password", r->in.new_password);
10582
ndr_print_samr_Password(ndr, "new_password", r->in.new_password);
10586
if (flags & NDR_OUT) {
10587
ndr_print_struct(ndr, "out", "netr_ServerPasswordSet");
10589
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10591
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10593
ndr_print_NTSTATUS(ndr, "result", r->out.result);
10599
static enum ndr_err_code ndr_push_netr_DatabaseDeltas(struct ndr_push *ndr, int flags, const struct netr_DatabaseDeltas *r)
10601
if (flags & NDR_IN) {
10602
if (r->in.logon_server == NULL) {
10603
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10605
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10606
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10607
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10608
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));
10609
if (r->in.computername == NULL) {
10610
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10612
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10613
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10614
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10615
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10616
if (r->in.credential == NULL) {
10617
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10619
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10620
if (r->in.return_authenticator == NULL) {
10621
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10623
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10624
NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10625
if (r->in.sequence_num == NULL) {
10626
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10628
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->in.sequence_num));
10629
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10631
if (flags & NDR_OUT) {
10632
if (r->out.return_authenticator == NULL) {
10633
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10635
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10636
if (r->out.sequence_num == NULL) {
10637
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10639
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, *r->out.sequence_num));
10640
if (r->out.delta_enum_array == NULL) {
10641
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10643
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10644
if (*r->out.delta_enum_array) {
10645
NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10647
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10649
return NDR_ERR_SUCCESS;
10652
static enum ndr_err_code ndr_pull_netr_DatabaseDeltas(struct ndr_pull *ndr, int flags, struct netr_DatabaseDeltas *r)
10654
uint32_t _ptr_delta_enum_array;
10655
TALLOC_CTX *_mem_save_credential_0;
10656
TALLOC_CTX *_mem_save_return_authenticator_0;
10657
TALLOC_CTX *_mem_save_sequence_num_0;
10658
TALLOC_CTX *_mem_save_delta_enum_array_0;
10659
TALLOC_CTX *_mem_save_delta_enum_array_1;
10660
if (flags & NDR_IN) {
10661
ZERO_STRUCT(r->out);
10663
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10664
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10665
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10666
return 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));
10668
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10669
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));
10670
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10671
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10672
if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10673
return 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));
10675
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10676
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10677
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10678
NDR_PULL_ALLOC(ndr, r->in.credential);
10680
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10681
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10682
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10683
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10684
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10685
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10687
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10688
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10689
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10690
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10691
NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10692
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10693
NDR_PULL_ALLOC(ndr, r->in.sequence_num);
10695
_mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10696
NDR_PULL_SET_MEM_CTX(ndr, r->in.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10697
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->in.sequence_num));
10698
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10699
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10700
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10701
*r->out.return_authenticator = *r->in.return_authenticator;
10702
NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10703
*r->out.sequence_num = *r->in.sequence_num;
10704
NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10705
ZERO_STRUCTP(r->out.delta_enum_array);
10707
if (flags & NDR_OUT) {
10708
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10709
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10711
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10712
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10713
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10714
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10715
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10716
NDR_PULL_ALLOC(ndr, r->out.sequence_num);
10718
_mem_save_sequence_num_0 = NDR_PULL_GET_MEM_CTX(ndr);
10719
NDR_PULL_SET_MEM_CTX(ndr, r->out.sequence_num, LIBNDR_FLAG_REF_ALLOC);
10720
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, r->out.sequence_num));
10721
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sequence_num_0, LIBNDR_FLAG_REF_ALLOC);
10722
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10723
NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10725
_mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10726
NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10727
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10728
if (_ptr_delta_enum_array) {
10729
NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10731
*r->out.delta_enum_array = NULL;
10733
if (*r->out.delta_enum_array) {
10734
_mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10735
NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10736
NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10737
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10739
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10740
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10742
return NDR_ERR_SUCCESS;
10745
_PUBLIC_ void ndr_print_netr_DatabaseDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseDeltas *r)
10747
ndr_print_struct(ndr, name, "netr_DatabaseDeltas");
10749
if (flags & NDR_SET_VALUES) {
10750
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10752
if (flags & NDR_IN) {
10753
ndr_print_struct(ndr, "in", "netr_DatabaseDeltas");
10755
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10757
ndr_print_string(ndr, "logon_server", r->in.logon_server);
10759
ndr_print_ptr(ndr, "computername", r->in.computername);
10761
ndr_print_string(ndr, "computername", r->in.computername);
10763
ndr_print_ptr(ndr, "credential", r->in.credential);
10765
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10767
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10769
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10771
ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10772
ndr_print_ptr(ndr, "sequence_num", r->in.sequence_num);
10774
ndr_print_udlong(ndr, "sequence_num", *r->in.sequence_num);
10776
ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10779
if (flags & NDR_OUT) {
10780
ndr_print_struct(ndr, "out", "netr_DatabaseDeltas");
10782
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10784
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10786
ndr_print_ptr(ndr, "sequence_num", r->out.sequence_num);
10788
ndr_print_udlong(ndr, "sequence_num", *r->out.sequence_num);
10790
ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10792
ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
10794
if (*r->out.delta_enum_array) {
10795
ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
10799
ndr_print_NTSTATUS(ndr, "result", r->out.result);
10805
static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync *r)
10807
if (flags & NDR_IN) {
10808
if (r->in.logon_server == NULL) {
10809
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10811
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10812
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10813
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
10814
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));
10815
if (r->in.computername == NULL) {
10816
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10818
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10819
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
10820
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
10821
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
10822
if (r->in.credential == NULL) {
10823
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10825
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10826
if (r->in.return_authenticator == NULL) {
10827
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10829
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10830
NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
10831
if (r->in.sync_context == NULL) {
10832
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10834
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
10835
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
10837
if (flags & NDR_OUT) {
10838
if (r->out.return_authenticator == NULL) {
10839
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10841
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10842
if (r->out.sync_context == NULL) {
10843
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10845
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
10846
if (r->out.delta_enum_array == NULL) {
10847
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10849
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
10850
if (*r->out.delta_enum_array) {
10851
NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10853
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10855
return NDR_ERR_SUCCESS;
10858
static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
10860
uint32_t _ptr_delta_enum_array;
10861
TALLOC_CTX *_mem_save_credential_0;
10862
TALLOC_CTX *_mem_save_return_authenticator_0;
10863
TALLOC_CTX *_mem_save_sync_context_0;
10864
TALLOC_CTX *_mem_save_delta_enum_array_0;
10865
TALLOC_CTX *_mem_save_delta_enum_array_1;
10866
if (flags & NDR_IN) {
10867
ZERO_STRUCT(r->out);
10869
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
10870
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
10871
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
10872
return 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));
10874
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
10875
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));
10876
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
10877
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
10878
if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
10879
return 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));
10881
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
10882
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
10883
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10884
NDR_PULL_ALLOC(ndr, r->in.credential);
10886
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
10887
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
10888
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
10889
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
10890
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10891
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
10893
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10894
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10895
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
10896
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10897
NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
10898
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10899
NDR_PULL_ALLOC(ndr, r->in.sync_context);
10901
_mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10902
NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
10903
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
10904
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10905
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
10906
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10907
*r->out.return_authenticator = *r->in.return_authenticator;
10908
NDR_PULL_ALLOC(ndr, r->out.sync_context);
10909
*r->out.sync_context = *r->in.sync_context;
10910
NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10911
ZERO_STRUCTP(r->out.delta_enum_array);
10913
if (flags & NDR_OUT) {
10914
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10915
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
10917
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
10918
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
10919
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
10920
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
10921
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10922
NDR_PULL_ALLOC(ndr, r->out.sync_context);
10924
_mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
10925
NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
10926
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
10927
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
10928
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10929
NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
10931
_mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
10932
NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
10933
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
10934
if (_ptr_delta_enum_array) {
10935
NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
10937
*r->out.delta_enum_array = NULL;
10939
if (*r->out.delta_enum_array) {
10940
_mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
10941
NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
10942
NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
10943
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
10945
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
10946
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10948
return NDR_ERR_SUCCESS;
10951
_PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync *r)
10953
ndr_print_struct(ndr, name, "netr_DatabaseSync");
10955
if (flags & NDR_SET_VALUES) {
10956
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10958
if (flags & NDR_IN) {
10959
ndr_print_struct(ndr, "in", "netr_DatabaseSync");
10961
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
10963
ndr_print_string(ndr, "logon_server", r->in.logon_server);
10965
ndr_print_ptr(ndr, "computername", r->in.computername);
10967
ndr_print_string(ndr, "computername", r->in.computername);
10969
ndr_print_ptr(ndr, "credential", r->in.credential);
10971
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
10973
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
10975
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
10977
ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
10978
ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
10980
ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
10982
ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
10985
if (flags & NDR_OUT) {
10986
ndr_print_struct(ndr, "out", "netr_DatabaseSync");
10988
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
10990
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
10992
ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
10994
ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
10996
ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
10998
ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
11000
if (*r->out.delta_enum_array) {
11001
ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
11005
ndr_print_NTSTATUS(ndr, "result", r->out.result);
11011
static enum ndr_err_code ndr_push_netr_AccountDeltas(struct ndr_push *ndr, int flags, const struct netr_AccountDeltas *r)
11013
if (flags & NDR_IN) {
11014
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11015
if (r->in.logon_server) {
11016
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11017
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11018
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11019
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));
11021
if (r->in.computername == NULL) {
11022
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11024
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11025
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11026
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11027
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11028
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11029
if (r->in.return_authenticator == NULL) {
11030
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11032
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11033
NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
11034
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
11035
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11036
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
11038
if (flags & NDR_OUT) {
11039
if (r->out.return_authenticator == NULL) {
11040
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11042
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11043
if (r->out.buffer == NULL) {
11044
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11047
struct ndr_push *_ndr_buffer;
11048
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11049
NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11050
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
11052
if (r->out.count_returned == NULL) {
11053
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11055
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
11056
if (r->out.total_entries == NULL) {
11057
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11059
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
11060
if (r->out.recordid == NULL) {
11061
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11063
NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11064
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11066
return NDR_ERR_SUCCESS;
11069
static enum ndr_err_code ndr_pull_netr_AccountDeltas(struct ndr_pull *ndr, int flags, struct netr_AccountDeltas *r)
11071
uint32_t _ptr_logon_server;
11072
TALLOC_CTX *_mem_save_logon_server_0;
11073
TALLOC_CTX *_mem_save_return_authenticator_0;
11074
TALLOC_CTX *_mem_save_buffer_0;
11075
TALLOC_CTX *_mem_save_count_returned_0;
11076
TALLOC_CTX *_mem_save_total_entries_0;
11077
TALLOC_CTX *_mem_save_recordid_0;
11078
if (flags & NDR_IN) {
11079
ZERO_STRUCT(r->out);
11081
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11082
if (_ptr_logon_server) {
11083
NDR_PULL_ALLOC(ndr, r->in.logon_server);
11085
r->in.logon_server = NULL;
11087
if (r->in.logon_server) {
11088
_mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11089
NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11090
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11091
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11092
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11093
return 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));
11095
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11096
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));
11097
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11099
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11100
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11101
if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
11102
return 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));
11104
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
11105
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
11106
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11107
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11108
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11110
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11111
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11112
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11113
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11114
NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, &r->in.uas));
11115
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
11116
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11117
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
11118
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11119
*r->out.return_authenticator = *r->in.return_authenticator;
11120
NDR_PULL_ALLOC(ndr, r->out.buffer);
11121
ZERO_STRUCTP(r->out.buffer);
11122
NDR_PULL_ALLOC(ndr, r->out.count_returned);
11123
ZERO_STRUCTP(r->out.count_returned);
11124
NDR_PULL_ALLOC(ndr, r->out.total_entries);
11125
ZERO_STRUCTP(r->out.total_entries);
11126
NDR_PULL_ALLOC(ndr, r->out.recordid);
11127
ZERO_STRUCTP(r->out.recordid);
11129
if (flags & NDR_OUT) {
11130
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11131
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11133
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11134
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11135
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11136
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11137
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11138
NDR_PULL_ALLOC(ndr, r->out.buffer);
11140
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
11141
NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
11143
struct ndr_pull *_ndr_buffer;
11144
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11145
NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11146
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
11148
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
11149
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11150
NDR_PULL_ALLOC(ndr, r->out.count_returned);
11152
_mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
11153
NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
11154
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
11155
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
11156
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11157
NDR_PULL_ALLOC(ndr, r->out.total_entries);
11159
_mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
11160
NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
11161
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
11162
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
11163
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11164
NDR_PULL_ALLOC(ndr, r->out.recordid);
11166
_mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11167
NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
11168
NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11169
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11170
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11172
return NDR_ERR_SUCCESS;
11175
_PUBLIC_ void ndr_print_netr_AccountDeltas(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountDeltas *r)
11177
ndr_print_struct(ndr, name, "netr_AccountDeltas");
11179
if (flags & NDR_SET_VALUES) {
11180
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11182
if (flags & NDR_IN) {
11183
ndr_print_struct(ndr, "in", "netr_AccountDeltas");
11185
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11187
if (r->in.logon_server) {
11188
ndr_print_string(ndr, "logon_server", r->in.logon_server);
11191
ndr_print_ptr(ndr, "computername", r->in.computername);
11193
ndr_print_string(ndr, "computername", r->in.computername);
11195
ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
11196
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11198
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11200
ndr_print_netr_UAS_INFO_0(ndr, "uas", &r->in.uas);
11201
ndr_print_uint32(ndr, "count", r->in.count);
11202
ndr_print_uint32(ndr, "level", r->in.level);
11203
ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
11206
if (flags & NDR_OUT) {
11207
ndr_print_struct(ndr, "out", "netr_AccountDeltas");
11209
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11211
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11213
ndr_print_ptr(ndr, "buffer", r->out.buffer);
11215
ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
11217
ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
11219
ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
11221
ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
11223
ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
11225
ndr_print_ptr(ndr, "recordid", r->out.recordid);
11227
ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
11229
ndr_print_NTSTATUS(ndr, "result", r->out.result);
11235
static enum ndr_err_code ndr_push_netr_AccountSync(struct ndr_push *ndr, int flags, const struct netr_AccountSync *r)
11237
if (flags & NDR_IN) {
11238
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11239
if (r->in.logon_server) {
11240
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11241
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11242
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11243
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));
11245
if (r->in.computername == NULL) {
11246
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11248
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11249
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11250
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
11251
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11252
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11253
if (r->in.return_authenticator == NULL) {
11254
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11256
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11257
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reference));
11258
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11259
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buffersize));
11260
if (r->in.recordid == NULL) {
11261
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11263
NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11265
if (flags & NDR_OUT) {
11266
if (r->out.return_authenticator == NULL) {
11267
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11269
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11270
if (r->out.buffer == NULL) {
11271
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11274
struct ndr_push *_ndr_buffer;
11275
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11276
NDR_CHECK(ndr_push_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11277
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_buffer, 4, -1));
11279
if (r->out.count_returned == NULL) {
11280
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11282
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count_returned));
11283
if (r->out.total_entries == NULL) {
11284
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11286
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
11287
if (r->out.next_reference == NULL) {
11288
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11290
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.next_reference));
11291
if (r->out.recordid == NULL) {
11292
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11294
NDR_CHECK(ndr_push_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11295
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11297
return NDR_ERR_SUCCESS;
11300
static enum ndr_err_code ndr_pull_netr_AccountSync(struct ndr_pull *ndr, int flags, struct netr_AccountSync *r)
11302
uint32_t _ptr_logon_server;
11303
TALLOC_CTX *_mem_save_logon_server_0;
11304
TALLOC_CTX *_mem_save_return_authenticator_0;
11305
TALLOC_CTX *_mem_save_buffer_0;
11306
TALLOC_CTX *_mem_save_count_returned_0;
11307
TALLOC_CTX *_mem_save_total_entries_0;
11308
TALLOC_CTX *_mem_save_next_reference_0;
11309
TALLOC_CTX *_mem_save_recordid_0;
11310
if (flags & NDR_IN) {
11311
ZERO_STRUCT(r->out);
11313
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11314
if (_ptr_logon_server) {
11315
NDR_PULL_ALLOC(ndr, r->in.logon_server);
11317
r->in.logon_server = NULL;
11319
if (r->in.logon_server) {
11320
_mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11321
NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11322
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11323
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11324
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11325
return 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));
11327
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11328
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));
11329
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11331
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
11332
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
11333
if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
11334
return 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));
11336
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
11337
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
11338
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
11339
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11340
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
11342
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11343
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11344
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
11345
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11346
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reference));
11347
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11348
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buffersize));
11349
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11350
NDR_PULL_ALLOC(ndr, r->in.recordid);
11352
_mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11353
NDR_PULL_SET_MEM_CTX(ndr, r->in.recordid, LIBNDR_FLAG_REF_ALLOC);
11354
NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->in.recordid));
11355
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11356
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11357
*r->out.return_authenticator = *r->in.return_authenticator;
11358
NDR_PULL_ALLOC(ndr, r->out.buffer);
11359
ZERO_STRUCTP(r->out.buffer);
11360
NDR_PULL_ALLOC(ndr, r->out.count_returned);
11361
ZERO_STRUCTP(r->out.count_returned);
11362
NDR_PULL_ALLOC(ndr, r->out.total_entries);
11363
ZERO_STRUCTP(r->out.total_entries);
11364
NDR_PULL_ALLOC(ndr, r->out.next_reference);
11365
ZERO_STRUCTP(r->out.next_reference);
11366
NDR_PULL_ALLOC(ndr, r->out.recordid);
11367
*r->out.recordid = *r->in.recordid;
11369
if (flags & NDR_OUT) {
11370
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11371
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
11373
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
11374
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
11375
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
11376
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
11377
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11378
NDR_PULL_ALLOC(ndr, r->out.buffer);
11380
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
11381
NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, LIBNDR_FLAG_REF_ALLOC);
11383
struct ndr_pull *_ndr_buffer;
11384
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_buffer, 4, -1));
11385
NDR_CHECK(ndr_pull_netr_AccountBuffer(_ndr_buffer, NDR_SCALARS, r->out.buffer));
11386
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_buffer, 4, -1));
11388
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, LIBNDR_FLAG_REF_ALLOC);
11389
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11390
NDR_PULL_ALLOC(ndr, r->out.count_returned);
11392
_mem_save_count_returned_0 = NDR_PULL_GET_MEM_CTX(ndr);
11393
NDR_PULL_SET_MEM_CTX(ndr, r->out.count_returned, LIBNDR_FLAG_REF_ALLOC);
11394
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count_returned));
11395
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_returned_0, LIBNDR_FLAG_REF_ALLOC);
11396
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11397
NDR_PULL_ALLOC(ndr, r->out.total_entries);
11399
_mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
11400
NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
11401
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
11402
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
11403
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11404
NDR_PULL_ALLOC(ndr, r->out.next_reference);
11406
_mem_save_next_reference_0 = NDR_PULL_GET_MEM_CTX(ndr);
11407
NDR_PULL_SET_MEM_CTX(ndr, r->out.next_reference, LIBNDR_FLAG_REF_ALLOC);
11408
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.next_reference));
11409
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_next_reference_0, LIBNDR_FLAG_REF_ALLOC);
11410
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11411
NDR_PULL_ALLOC(ndr, r->out.recordid);
11413
_mem_save_recordid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11414
NDR_PULL_SET_MEM_CTX(ndr, r->out.recordid, LIBNDR_FLAG_REF_ALLOC);
11415
NDR_CHECK(ndr_pull_netr_UAS_INFO_0(ndr, NDR_SCALARS, r->out.recordid));
11416
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_recordid_0, LIBNDR_FLAG_REF_ALLOC);
11417
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11419
return NDR_ERR_SUCCESS;
11422
_PUBLIC_ void ndr_print_netr_AccountSync(struct ndr_print *ndr, const char *name, int flags, const struct netr_AccountSync *r)
11424
ndr_print_struct(ndr, name, "netr_AccountSync");
11426
if (flags & NDR_SET_VALUES) {
11427
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11429
if (flags & NDR_IN) {
11430
ndr_print_struct(ndr, "in", "netr_AccountSync");
11432
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11434
if (r->in.logon_server) {
11435
ndr_print_string(ndr, "logon_server", r->in.logon_server);
11438
ndr_print_ptr(ndr, "computername", r->in.computername);
11440
ndr_print_string(ndr, "computername", r->in.computername);
11442
ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
11443
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
11445
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
11447
ndr_print_uint32(ndr, "reference", r->in.reference);
11448
ndr_print_uint32(ndr, "level", r->in.level);
11449
ndr_print_uint32(ndr, "buffersize", r->in.buffersize);
11450
ndr_print_ptr(ndr, "recordid", r->in.recordid);
11452
ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->in.recordid);
11456
if (flags & NDR_OUT) {
11457
ndr_print_struct(ndr, "out", "netr_AccountSync");
11459
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
11461
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
11463
ndr_print_ptr(ndr, "buffer", r->out.buffer);
11465
ndr_print_netr_AccountBuffer(ndr, "buffer", r->out.buffer);
11467
ndr_print_ptr(ndr, "count_returned", r->out.count_returned);
11469
ndr_print_uint32(ndr, "count_returned", *r->out.count_returned);
11471
ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
11473
ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
11475
ndr_print_ptr(ndr, "next_reference", r->out.next_reference);
11477
ndr_print_uint32(ndr, "next_reference", *r->out.next_reference);
11479
ndr_print_ptr(ndr, "recordid", r->out.recordid);
11481
ndr_print_netr_UAS_INFO_0(ndr, "recordid", r->out.recordid);
11483
ndr_print_NTSTATUS(ndr, "result", r->out.result);
11489
static enum ndr_err_code ndr_push_netr_GetDcName(struct ndr_push *ndr, int flags, const struct netr_GetDcName *r)
11491
if (flags & NDR_IN) {
11492
if (r->in.logon_server == NULL) {
11493
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11495
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11496
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11497
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11498
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));
11499
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11500
if (r->in.domainname) {
11501
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11502
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11503
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11504
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11507
if (flags & NDR_OUT) {
11508
if (r->out.dcname == NULL) {
11509
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11511
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11512
if (*r->out.dcname) {
11513
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11514
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11515
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11516
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11518
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11520
return NDR_ERR_SUCCESS;
11523
static enum ndr_err_code ndr_pull_netr_GetDcName(struct ndr_pull *ndr, int flags, struct netr_GetDcName *r)
11525
uint32_t _ptr_domainname;
11526
uint32_t _ptr_dcname;
11527
TALLOC_CTX *_mem_save_domainname_0;
11528
TALLOC_CTX *_mem_save_dcname_0;
11529
TALLOC_CTX *_mem_save_dcname_1;
11530
if (flags & NDR_IN) {
11531
ZERO_STRUCT(r->out);
11533
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11534
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11535
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11536
return 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));
11538
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11539
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));
11540
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11541
if (_ptr_domainname) {
11542
NDR_PULL_ALLOC(ndr, r->in.domainname);
11544
r->in.domainname = NULL;
11546
if (r->in.domainname) {
11547
_mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11548
NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11549
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11550
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11551
if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11552
return 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));
11554
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11555
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11556
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11558
NDR_PULL_ALLOC(ndr, r->out.dcname);
11559
ZERO_STRUCTP(r->out.dcname);
11561
if (flags & NDR_OUT) {
11562
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11563
NDR_PULL_ALLOC(ndr, r->out.dcname);
11565
_mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11566
NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11567
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11569
NDR_PULL_ALLOC(ndr, *r->out.dcname);
11571
*r->out.dcname = NULL;
11573
if (*r->out.dcname) {
11574
_mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11575
NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11576
NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11577
NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11578
if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11579
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));
11581
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11582
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11583
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11585
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11586
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11588
return NDR_ERR_SUCCESS;
11591
_PUBLIC_ void ndr_print_netr_GetDcName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetDcName *r)
11593
ndr_print_struct(ndr, name, "netr_GetDcName");
11595
if (flags & NDR_SET_VALUES) {
11596
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11598
if (flags & NDR_IN) {
11599
ndr_print_struct(ndr, "in", "netr_GetDcName");
11601
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11603
ndr_print_string(ndr, "logon_server", r->in.logon_server);
11605
ndr_print_ptr(ndr, "domainname", r->in.domainname);
11607
if (r->in.domainname) {
11608
ndr_print_string(ndr, "domainname", r->in.domainname);
11613
if (flags & NDR_OUT) {
11614
ndr_print_struct(ndr, "out", "netr_GetDcName");
11616
ndr_print_ptr(ndr, "dcname", r->out.dcname);
11618
ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11620
if (*r->out.dcname) {
11621
ndr_print_string(ndr, "dcname", *r->out.dcname);
11625
ndr_print_WERROR(ndr, "result", r->out.result);
11631
static enum ndr_err_code ndr_push_netr_LogonControl(struct ndr_push *ndr, int flags, const struct netr_LogonControl *r)
11633
if (flags & NDR_IN) {
11634
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11635
if (r->in.logon_server) {
11636
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11637
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11638
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11639
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));
11641
NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11642
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11644
if (flags & NDR_OUT) {
11645
if (r->out.query == NULL) {
11646
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11648
NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11649
NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11650
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11652
return NDR_ERR_SUCCESS;
11655
static enum ndr_err_code ndr_pull_netr_LogonControl(struct ndr_pull *ndr, int flags, struct netr_LogonControl *r)
11657
uint32_t _ptr_logon_server;
11658
TALLOC_CTX *_mem_save_logon_server_0;
11659
TALLOC_CTX *_mem_save_query_0;
11660
if (flags & NDR_IN) {
11661
ZERO_STRUCT(r->out);
11663
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11664
if (_ptr_logon_server) {
11665
NDR_PULL_ALLOC(ndr, r->in.logon_server);
11667
r->in.logon_server = NULL;
11669
if (r->in.logon_server) {
11670
_mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11671
NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11672
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11673
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11674
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11675
return 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));
11677
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11678
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));
11679
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11681
NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11682
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11683
NDR_PULL_ALLOC(ndr, r->out.query);
11684
ZERO_STRUCTP(r->out.query);
11686
if (flags & NDR_OUT) {
11687
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11688
NDR_PULL_ALLOC(ndr, r->out.query);
11690
_mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11691
NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11692
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11693
NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11694
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11695
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11697
return NDR_ERR_SUCCESS;
11700
_PUBLIC_ void ndr_print_netr_LogonControl(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl *r)
11702
ndr_print_struct(ndr, name, "netr_LogonControl");
11704
if (flags & NDR_SET_VALUES) {
11705
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11707
if (flags & NDR_IN) {
11708
ndr_print_struct(ndr, "in", "netr_LogonControl");
11710
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11712
if (r->in.logon_server) {
11713
ndr_print_string(ndr, "logon_server", r->in.logon_server);
11716
ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11717
ndr_print_uint32(ndr, "level", r->in.level);
11720
if (flags & NDR_OUT) {
11721
ndr_print_struct(ndr, "out", "netr_LogonControl");
11723
ndr_print_ptr(ndr, "query", r->out.query);
11725
ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
11726
ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
11728
ndr_print_WERROR(ndr, "result", r->out.result);
11734
static enum ndr_err_code ndr_push_netr_GetAnyDCName(struct ndr_push *ndr, int flags, const struct netr_GetAnyDCName *r)
11736
if (flags & NDR_IN) {
11737
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11738
if (r->in.logon_server) {
11739
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11740
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11741
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11742
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));
11744
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domainname));
11745
if (r->in.domainname) {
11746
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11747
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11748
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domainname, CH_UTF16)));
11749
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domainname, ndr_charset_length(r->in.domainname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11752
if (flags & NDR_OUT) {
11753
if (r->out.dcname == NULL) {
11754
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11756
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dcname));
11757
if (*r->out.dcname) {
11758
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11759
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11760
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.dcname, CH_UTF16)));
11761
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.dcname, ndr_charset_length(*r->out.dcname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11763
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11765
return NDR_ERR_SUCCESS;
11768
static enum ndr_err_code ndr_pull_netr_GetAnyDCName(struct ndr_pull *ndr, int flags, struct netr_GetAnyDCName *r)
11770
uint32_t _ptr_logon_server;
11771
uint32_t _ptr_domainname;
11772
uint32_t _ptr_dcname;
11773
TALLOC_CTX *_mem_save_logon_server_0;
11774
TALLOC_CTX *_mem_save_domainname_0;
11775
TALLOC_CTX *_mem_save_dcname_0;
11776
TALLOC_CTX *_mem_save_dcname_1;
11777
if (flags & NDR_IN) {
11778
ZERO_STRUCT(r->out);
11780
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11781
if (_ptr_logon_server) {
11782
NDR_PULL_ALLOC(ndr, r->in.logon_server);
11784
r->in.logon_server = NULL;
11786
if (r->in.logon_server) {
11787
_mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11788
NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11789
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11790
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11791
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11792
return 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));
11794
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11795
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));
11796
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11798
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domainname));
11799
if (_ptr_domainname) {
11800
NDR_PULL_ALLOC(ndr, r->in.domainname);
11802
r->in.domainname = NULL;
11804
if (r->in.domainname) {
11805
_mem_save_domainname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11806
NDR_PULL_SET_MEM_CTX(ndr, r->in.domainname, 0);
11807
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domainname));
11808
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domainname));
11809
if (ndr_get_array_length(ndr, &r->in.domainname) > ndr_get_array_size(ndr, &r->in.domainname)) {
11810
return 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));
11812
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t)));
11813
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domainname, ndr_get_array_length(ndr, &r->in.domainname), sizeof(uint16_t), CH_UTF16));
11814
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domainname_0, 0);
11816
NDR_PULL_ALLOC(ndr, r->out.dcname);
11817
ZERO_STRUCTP(r->out.dcname);
11819
if (flags & NDR_OUT) {
11820
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11821
NDR_PULL_ALLOC(ndr, r->out.dcname);
11823
_mem_save_dcname_0 = NDR_PULL_GET_MEM_CTX(ndr);
11824
NDR_PULL_SET_MEM_CTX(ndr, r->out.dcname, LIBNDR_FLAG_REF_ALLOC);
11825
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dcname));
11827
NDR_PULL_ALLOC(ndr, *r->out.dcname);
11829
*r->out.dcname = NULL;
11831
if (*r->out.dcname) {
11832
_mem_save_dcname_1 = NDR_PULL_GET_MEM_CTX(ndr);
11833
NDR_PULL_SET_MEM_CTX(ndr, *r->out.dcname, 0);
11834
NDR_CHECK(ndr_pull_array_size(ndr, r->out.dcname));
11835
NDR_CHECK(ndr_pull_array_length(ndr, r->out.dcname));
11836
if (ndr_get_array_length(ndr, r->out.dcname) > ndr_get_array_size(ndr, r->out.dcname)) {
11837
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));
11839
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t)));
11840
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.dcname, ndr_get_array_length(ndr, r->out.dcname), sizeof(uint16_t), CH_UTF16));
11841
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_1, 0);
11843
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dcname_0, LIBNDR_FLAG_REF_ALLOC);
11844
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11846
return NDR_ERR_SUCCESS;
11849
_PUBLIC_ void ndr_print_netr_GetAnyDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetAnyDCName *r)
11851
ndr_print_struct(ndr, name, "netr_GetAnyDCName");
11853
if (flags & NDR_SET_VALUES) {
11854
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11856
if (flags & NDR_IN) {
11857
ndr_print_struct(ndr, "in", "netr_GetAnyDCName");
11859
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11861
if (r->in.logon_server) {
11862
ndr_print_string(ndr, "logon_server", r->in.logon_server);
11865
ndr_print_ptr(ndr, "domainname", r->in.domainname);
11867
if (r->in.domainname) {
11868
ndr_print_string(ndr, "domainname", r->in.domainname);
11873
if (flags & NDR_OUT) {
11874
ndr_print_struct(ndr, "out", "netr_GetAnyDCName");
11876
ndr_print_ptr(ndr, "dcname", r->out.dcname);
11878
ndr_print_ptr(ndr, "dcname", *r->out.dcname);
11880
if (*r->out.dcname) {
11881
ndr_print_string(ndr, "dcname", *r->out.dcname);
11885
ndr_print_WERROR(ndr, "result", r->out.result);
11891
static enum ndr_err_code ndr_push_netr_LogonControl2(struct ndr_push *ndr, int flags, const struct netr_LogonControl2 *r)
11893
if (flags & NDR_IN) {
11894
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
11895
if (r->in.logon_server) {
11896
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11897
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11898
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
11899
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));
11901
NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
11902
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
11903
if (r->in.data == NULL) {
11904
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11906
NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
11907
NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11909
if (flags & NDR_OUT) {
11910
if (r->out.query == NULL) {
11911
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11913
NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
11914
NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11915
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
11917
return NDR_ERR_SUCCESS;
11920
static enum ndr_err_code ndr_pull_netr_LogonControl2(struct ndr_pull *ndr, int flags, struct netr_LogonControl2 *r)
11922
uint32_t _ptr_logon_server;
11923
TALLOC_CTX *_mem_save_logon_server_0;
11924
TALLOC_CTX *_mem_save_data_0;
11925
TALLOC_CTX *_mem_save_query_0;
11926
if (flags & NDR_IN) {
11927
ZERO_STRUCT(r->out);
11929
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
11930
if (_ptr_logon_server) {
11931
NDR_PULL_ALLOC(ndr, r->in.logon_server);
11933
r->in.logon_server = NULL;
11935
if (r->in.logon_server) {
11936
_mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11937
NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
11938
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
11939
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
11940
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
11941
return 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));
11943
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
11944
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));
11945
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
11947
NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
11948
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
11949
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11950
NDR_PULL_ALLOC(ndr, r->in.data);
11952
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
11953
NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
11954
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
11955
NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
11956
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
11957
NDR_PULL_ALLOC(ndr, r->out.query);
11958
ZERO_STRUCTP(r->out.query);
11960
if (flags & NDR_OUT) {
11961
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11962
NDR_PULL_ALLOC(ndr, r->out.query);
11964
_mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
11965
NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
11966
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
11967
NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
11968
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
11969
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
11971
return NDR_ERR_SUCCESS;
11974
_PUBLIC_ void ndr_print_netr_LogonControl2(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2 *r)
11976
ndr_print_struct(ndr, name, "netr_LogonControl2");
11978
if (flags & NDR_SET_VALUES) {
11979
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11981
if (flags & NDR_IN) {
11982
ndr_print_struct(ndr, "in", "netr_LogonControl2");
11984
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
11986
if (r->in.logon_server) {
11987
ndr_print_string(ndr, "logon_server", r->in.logon_server);
11990
ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
11991
ndr_print_uint32(ndr, "level", r->in.level);
11992
ndr_print_ptr(ndr, "data", r->in.data);
11994
ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
11995
ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
11999
if (flags & NDR_OUT) {
12000
ndr_print_struct(ndr, "out", "netr_LogonControl2");
12002
ndr_print_ptr(ndr, "query", r->out.query);
12004
ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
12005
ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
12007
ndr_print_WERROR(ndr, "result", r->out.result);
12013
static enum ndr_err_code ndr_push_netr_ServerAuthenticate2(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate2 *r)
12015
if (flags & NDR_IN) {
12016
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12017
if (r->in.server_name) {
12018
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12019
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12020
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12021
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));
12023
if (r->in.account_name == NULL) {
12024
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12026
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12027
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12028
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
12029
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));
12030
NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
12031
if (r->in.computer_name == NULL) {
12032
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12034
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12035
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12036
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
12037
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));
12038
if (r->in.credentials == NULL) {
12039
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12041
NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
12042
if (r->in.negotiate_flags == NULL) {
12043
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12045
NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
12047
if (flags & NDR_OUT) {
12048
if (r->out.return_credentials == NULL) {
12049
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12051
NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
12052
if (r->out.negotiate_flags == NULL) {
12053
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12055
NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
12056
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12058
return NDR_ERR_SUCCESS;
12061
static enum ndr_err_code ndr_pull_netr_ServerAuthenticate2(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate2 *r)
12063
uint32_t _ptr_server_name;
12064
TALLOC_CTX *_mem_save_server_name_0;
12065
TALLOC_CTX *_mem_save_credentials_0;
12066
TALLOC_CTX *_mem_save_return_credentials_0;
12067
TALLOC_CTX *_mem_save_negotiate_flags_0;
12068
if (flags & NDR_IN) {
12069
ZERO_STRUCT(r->out);
12071
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12072
if (_ptr_server_name) {
12073
NDR_PULL_ALLOC(ndr, r->in.server_name);
12075
r->in.server_name = NULL;
12077
if (r->in.server_name) {
12078
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12079
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12080
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12081
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12082
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12083
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
12085
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12086
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));
12087
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12089
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
12090
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
12091
if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
12092
return 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));
12094
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
12095
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));
12096
NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
12097
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
12098
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
12099
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
12100
return 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));
12102
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
12103
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));
12104
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12105
NDR_PULL_ALLOC(ndr, r->in.credentials);
12107
_mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
12108
NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
12109
NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
12110
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
12111
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12112
NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
12114
_mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
12115
NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
12116
NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
12117
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
12118
NDR_PULL_ALLOC(ndr, r->out.return_credentials);
12119
ZERO_STRUCTP(r->out.return_credentials);
12120
NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
12121
*r->out.negotiate_flags = *r->in.negotiate_flags;
12123
if (flags & NDR_OUT) {
12124
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12125
NDR_PULL_ALLOC(ndr, r->out.return_credentials);
12127
_mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
12128
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
12129
NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
12130
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
12131
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12132
NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
12134
_mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
12135
NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
12136
NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
12137
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
12138
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12140
return NDR_ERR_SUCCESS;
12143
_PUBLIC_ void ndr_print_netr_ServerAuthenticate2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate2 *r)
12145
ndr_print_struct(ndr, name, "netr_ServerAuthenticate2");
12147
if (flags & NDR_SET_VALUES) {
12148
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12150
if (flags & NDR_IN) {
12151
ndr_print_struct(ndr, "in", "netr_ServerAuthenticate2");
12153
ndr_print_ptr(ndr, "server_name", r->in.server_name);
12155
if (r->in.server_name) {
12156
ndr_print_string(ndr, "server_name", r->in.server_name);
12159
ndr_print_ptr(ndr, "account_name", r->in.account_name);
12161
ndr_print_string(ndr, "account_name", r->in.account_name);
12163
ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
12164
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
12166
ndr_print_string(ndr, "computer_name", r->in.computer_name);
12168
ndr_print_ptr(ndr, "credentials", r->in.credentials);
12170
ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
12172
ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
12174
ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
12178
if (flags & NDR_OUT) {
12179
ndr_print_struct(ndr, "out", "netr_ServerAuthenticate2");
12181
ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
12183
ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
12185
ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
12187
ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
12189
ndr_print_NTSTATUS(ndr, "result", r->out.result);
12195
static enum ndr_err_code ndr_push_netr_DatabaseSync2(struct ndr_push *ndr, int flags, const struct netr_DatabaseSync2 *r)
12197
if (flags & NDR_IN) {
12198
if (r->in.logon_server == NULL) {
12199
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12201
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12202
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12203
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12204
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));
12205
if (r->in.computername == NULL) {
12206
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12208
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12209
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12210
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12211
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12212
if (r->in.credential == NULL) {
12213
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12215
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12216
if (r->in.return_authenticator == NULL) {
12217
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12219
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12220
NDR_CHECK(ndr_push_netr_SamDatabaseID(ndr, NDR_SCALARS, r->in.database_id));
12221
NDR_CHECK(ndr_push_SyncStateEnum(ndr, NDR_SCALARS, r->in.restart_state));
12222
if (r->in.sync_context == NULL) {
12223
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12225
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.sync_context));
12226
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.preferredmaximumlength));
12228
if (flags & NDR_OUT) {
12229
if (r->out.return_authenticator == NULL) {
12230
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12232
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12233
if (r->out.sync_context == NULL) {
12234
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12236
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.sync_context));
12237
if (r->out.delta_enum_array == NULL) {
12238
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12240
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12241
if (*r->out.delta_enum_array) {
12242
NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12244
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12246
return NDR_ERR_SUCCESS;
12249
static enum ndr_err_code ndr_pull_netr_DatabaseSync2(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync2 *r)
12251
uint32_t _ptr_delta_enum_array;
12252
TALLOC_CTX *_mem_save_credential_0;
12253
TALLOC_CTX *_mem_save_return_authenticator_0;
12254
TALLOC_CTX *_mem_save_sync_context_0;
12255
TALLOC_CTX *_mem_save_delta_enum_array_0;
12256
TALLOC_CTX *_mem_save_delta_enum_array_1;
12257
if (flags & NDR_IN) {
12258
ZERO_STRUCT(r->out);
12260
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12261
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12262
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12263
return 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));
12265
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12266
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));
12267
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12268
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12269
if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
12270
return 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));
12272
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
12273
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
12274
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12275
NDR_PULL_ALLOC(ndr, r->in.credential);
12277
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12278
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12279
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12280
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12281
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12282
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12284
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12285
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12286
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12287
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12288
NDR_CHECK(ndr_pull_netr_SamDatabaseID(ndr, NDR_SCALARS, &r->in.database_id));
12289
NDR_CHECK(ndr_pull_SyncStateEnum(ndr, NDR_SCALARS, &r->in.restart_state));
12290
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12291
NDR_PULL_ALLOC(ndr, r->in.sync_context);
12293
_mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12294
NDR_PULL_SET_MEM_CTX(ndr, r->in.sync_context, LIBNDR_FLAG_REF_ALLOC);
12295
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.sync_context));
12296
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12297
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.preferredmaximumlength));
12298
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12299
*r->out.return_authenticator = *r->in.return_authenticator;
12300
NDR_PULL_ALLOC(ndr, r->out.sync_context);
12301
*r->out.sync_context = *r->in.sync_context;
12302
NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12303
ZERO_STRUCTP(r->out.delta_enum_array);
12305
if (flags & NDR_OUT) {
12306
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12307
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12309
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12310
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12311
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12312
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12313
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12314
NDR_PULL_ALLOC(ndr, r->out.sync_context);
12316
_mem_save_sync_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
12317
NDR_PULL_SET_MEM_CTX(ndr, r->out.sync_context, LIBNDR_FLAG_REF_ALLOC);
12318
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.sync_context));
12319
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sync_context_0, LIBNDR_FLAG_REF_ALLOC);
12320
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12321
NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12323
_mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12324
NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12325
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12326
if (_ptr_delta_enum_array) {
12327
NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12329
*r->out.delta_enum_array = NULL;
12331
if (*r->out.delta_enum_array) {
12332
_mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12333
NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12334
NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12335
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12337
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12338
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12340
return NDR_ERR_SUCCESS;
12343
_PUBLIC_ void ndr_print_netr_DatabaseSync2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseSync2 *r)
12345
ndr_print_struct(ndr, name, "netr_DatabaseSync2");
12347
if (flags & NDR_SET_VALUES) {
12348
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12350
if (flags & NDR_IN) {
12351
ndr_print_struct(ndr, "in", "netr_DatabaseSync2");
12353
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12355
ndr_print_string(ndr, "logon_server", r->in.logon_server);
12357
ndr_print_ptr(ndr, "computername", r->in.computername);
12359
ndr_print_string(ndr, "computername", r->in.computername);
12361
ndr_print_ptr(ndr, "credential", r->in.credential);
12363
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12365
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12367
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12369
ndr_print_netr_SamDatabaseID(ndr, "database_id", r->in.database_id);
12370
ndr_print_SyncStateEnum(ndr, "restart_state", r->in.restart_state);
12371
ndr_print_ptr(ndr, "sync_context", r->in.sync_context);
12373
ndr_print_uint32(ndr, "sync_context", *r->in.sync_context);
12375
ndr_print_uint32(ndr, "preferredmaximumlength", r->in.preferredmaximumlength);
12378
if (flags & NDR_OUT) {
12379
ndr_print_struct(ndr, "out", "netr_DatabaseSync2");
12381
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12383
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12385
ndr_print_ptr(ndr, "sync_context", r->out.sync_context);
12387
ndr_print_uint32(ndr, "sync_context", *r->out.sync_context);
12389
ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12391
ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12393
if (*r->out.delta_enum_array) {
12394
ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12398
ndr_print_NTSTATUS(ndr, "result", r->out.result);
12404
static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int flags, const struct netr_DatabaseRedo *r)
12406
if (flags & NDR_IN) {
12407
if (r->in.logon_server == NULL) {
12408
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12410
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12411
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12412
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12413
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));
12414
if (r->in.computername == NULL) {
12415
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12417
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12418
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12419
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
12420
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12421
if (r->in.credential == NULL) {
12422
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12424
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12425
if (r->in.return_authenticator == NULL) {
12426
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12428
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12430
struct ndr_push *_ndr_change_log_entry;
12431
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12432
NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12433
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12435
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
12437
if (flags & NDR_OUT) {
12438
if (r->out.return_authenticator == NULL) {
12439
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12441
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12442
if (r->out.delta_enum_array == NULL) {
12443
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12445
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
12446
if (*r->out.delta_enum_array) {
12447
NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12449
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12451
return NDR_ERR_SUCCESS;
12454
static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int flags, struct netr_DatabaseRedo *r)
12456
uint32_t _ptr_delta_enum_array;
12457
TALLOC_CTX *_mem_save_credential_0;
12458
TALLOC_CTX *_mem_save_return_authenticator_0;
12459
TALLOC_CTX *_mem_save_delta_enum_array_0;
12460
TALLOC_CTX *_mem_save_delta_enum_array_1;
12461
if (flags & NDR_IN) {
12462
ZERO_STRUCT(r->out);
12464
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12465
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12466
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12467
return 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));
12469
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12470
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));
12471
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computername));
12472
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computername));
12473
if (ndr_get_array_length(ndr, &r->in.computername) > ndr_get_array_size(ndr, &r->in.computername)) {
12474
return 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));
12476
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
12477
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
12478
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12479
NDR_PULL_ALLOC(ndr, r->in.credential);
12481
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
12482
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
12483
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
12484
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
12485
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12486
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
12488
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12489
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12490
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
12491
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12493
struct ndr_pull *_ndr_change_log_entry;
12494
NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, r->in.change_log_entry_size));
12495
NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
12496
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, r->in.change_log_entry_size));
12498
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
12499
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12500
*r->out.return_authenticator = *r->in.return_authenticator;
12501
NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12502
ZERO_STRUCTP(r->out.delta_enum_array);
12504
if (flags & NDR_OUT) {
12505
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12506
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
12508
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
12509
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
12510
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
12511
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
12512
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12513
NDR_PULL_ALLOC(ndr, r->out.delta_enum_array);
12515
_mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
12516
NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
12517
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
12518
if (_ptr_delta_enum_array) {
12519
NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
12521
*r->out.delta_enum_array = NULL;
12523
if (*r->out.delta_enum_array) {
12524
_mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
12525
NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
12526
NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
12527
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
12529
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
12530
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12532
return NDR_ERR_SUCCESS;
12535
_PUBLIC_ void ndr_print_netr_DatabaseRedo(struct ndr_print *ndr, const char *name, int flags, const struct netr_DatabaseRedo *r)
12537
ndr_print_struct(ndr, name, "netr_DatabaseRedo");
12539
if (flags & NDR_SET_VALUES) {
12540
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12542
if (flags & NDR_IN) {
12543
ndr_print_struct(ndr, "in", "netr_DatabaseRedo");
12545
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12547
ndr_print_string(ndr, "logon_server", r->in.logon_server);
12549
ndr_print_ptr(ndr, "computername", r->in.computername);
12551
ndr_print_string(ndr, "computername", r->in.computername);
12553
ndr_print_ptr(ndr, "credential", r->in.credential);
12555
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
12557
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
12559
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
12561
ndr_print_netr_ChangeLogEntry(ndr, "change_log_entry", &r->in.change_log_entry);
12562
ndr_print_uint32(ndr, "change_log_entry_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags):r->in.change_log_entry_size);
12565
if (flags & NDR_OUT) {
12566
ndr_print_struct(ndr, "out", "netr_DatabaseRedo");
12568
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
12570
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
12572
ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
12574
ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
12576
if (*r->out.delta_enum_array) {
12577
ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
12581
ndr_print_NTSTATUS(ndr, "result", r->out.result);
12587
static enum ndr_err_code ndr_push_netr_LogonControl2Ex(struct ndr_push *ndr, int flags, const struct netr_LogonControl2Ex *r)
12589
if (flags & NDR_IN) {
12590
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.logon_server));
12591
if (r->in.logon_server) {
12592
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12593
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12594
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.logon_server, CH_UTF16)));
12595
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));
12597
NDR_CHECK(ndr_push_netr_LogonControlCode(ndr, NDR_SCALARS, r->in.function_code));
12598
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
12599
if (r->in.data == NULL) {
12600
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12602
NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.data, r->in.function_code));
12603
NDR_CHECK(ndr_push_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12605
if (flags & NDR_OUT) {
12606
if (r->out.query == NULL) {
12607
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12609
NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.query, r->in.level));
12610
NDR_CHECK(ndr_push_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12611
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12613
return NDR_ERR_SUCCESS;
12616
static enum ndr_err_code ndr_pull_netr_LogonControl2Ex(struct ndr_pull *ndr, int flags, struct netr_LogonControl2Ex *r)
12618
uint32_t _ptr_logon_server;
12619
TALLOC_CTX *_mem_save_logon_server_0;
12620
TALLOC_CTX *_mem_save_data_0;
12621
TALLOC_CTX *_mem_save_query_0;
12622
if (flags & NDR_IN) {
12623
ZERO_STRUCT(r->out);
12625
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
12626
if (_ptr_logon_server) {
12627
NDR_PULL_ALLOC(ndr, r->in.logon_server);
12629
r->in.logon_server = NULL;
12631
if (r->in.logon_server) {
12632
_mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12633
NDR_PULL_SET_MEM_CTX(ndr, r->in.logon_server, 0);
12634
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.logon_server));
12635
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.logon_server));
12636
if (ndr_get_array_length(ndr, &r->in.logon_server) > ndr_get_array_size(ndr, &r->in.logon_server)) {
12637
return 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));
12639
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.logon_server), sizeof(uint16_t)));
12640
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));
12641
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
12643
NDR_CHECK(ndr_pull_netr_LogonControlCode(ndr, NDR_SCALARS, &r->in.function_code));
12644
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
12645
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12646
NDR_PULL_ALLOC(ndr, r->in.data);
12648
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
12649
NDR_PULL_SET_MEM_CTX(ndr, r->in.data, LIBNDR_FLAG_REF_ALLOC);
12650
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.data, r->in.function_code));
12651
NDR_CHECK(ndr_pull_netr_CONTROL_DATA_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.data));
12652
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
12653
NDR_PULL_ALLOC(ndr, r->out.query);
12654
ZERO_STRUCTP(r->out.query);
12656
if (flags & NDR_OUT) {
12657
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12658
NDR_PULL_ALLOC(ndr, r->out.query);
12660
_mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
12661
NDR_PULL_SET_MEM_CTX(ndr, r->out.query, LIBNDR_FLAG_REF_ALLOC);
12662
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.query, r->in.level));
12663
NDR_CHECK(ndr_pull_netr_CONTROL_QUERY_INFORMATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.query));
12664
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
12665
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12667
return NDR_ERR_SUCCESS;
12670
_PUBLIC_ void ndr_print_netr_LogonControl2Ex(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonControl2Ex *r)
12672
ndr_print_struct(ndr, name, "netr_LogonControl2Ex");
12674
if (flags & NDR_SET_VALUES) {
12675
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12677
if (flags & NDR_IN) {
12678
ndr_print_struct(ndr, "in", "netr_LogonControl2Ex");
12680
ndr_print_ptr(ndr, "logon_server", r->in.logon_server);
12682
if (r->in.logon_server) {
12683
ndr_print_string(ndr, "logon_server", r->in.logon_server);
12686
ndr_print_netr_LogonControlCode(ndr, "function_code", r->in.function_code);
12687
ndr_print_uint32(ndr, "level", r->in.level);
12688
ndr_print_ptr(ndr, "data", r->in.data);
12690
ndr_print_set_switch_value(ndr, r->in.data, r->in.function_code);
12691
ndr_print_netr_CONTROL_DATA_INFORMATION(ndr, "data", r->in.data);
12695
if (flags & NDR_OUT) {
12696
ndr_print_struct(ndr, "out", "netr_LogonControl2Ex");
12698
ndr_print_ptr(ndr, "query", r->out.query);
12700
ndr_print_set_switch_value(ndr, r->out.query, r->in.level);
12701
ndr_print_netr_CONTROL_QUERY_INFORMATION(ndr, "query", r->out.query);
12703
ndr_print_WERROR(ndr, "result", r->out.result);
12709
static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomains(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12711
if (flags & NDR_IN) {
12712
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
12713
if (r->in.server_name) {
12714
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12715
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12716
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
12717
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));
12720
if (flags & NDR_OUT) {
12721
if (r->out.trusted_domains_blob == NULL) {
12722
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12724
NDR_CHECK(ndr_push_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12725
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12727
return NDR_ERR_SUCCESS;
12730
static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomains(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomains *r)
12732
uint32_t _ptr_server_name;
12733
TALLOC_CTX *_mem_save_server_name_0;
12734
TALLOC_CTX *_mem_save_trusted_domains_blob_0;
12735
if (flags & NDR_IN) {
12736
ZERO_STRUCT(r->out);
12738
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
12739
if (_ptr_server_name) {
12740
NDR_PULL_ALLOC(ndr, r->in.server_name);
12742
r->in.server_name = NULL;
12744
if (r->in.server_name) {
12745
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12746
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
12747
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
12748
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
12749
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
12750
return 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));
12752
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
12753
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));
12754
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
12756
NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12757
ZERO_STRUCTP(r->out.trusted_domains_blob);
12759
if (flags & NDR_OUT) {
12760
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12761
NDR_PULL_ALLOC(ndr, r->out.trusted_domains_blob);
12763
_mem_save_trusted_domains_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
12764
NDR_PULL_SET_MEM_CTX(ndr, r->out.trusted_domains_blob, LIBNDR_FLAG_REF_ALLOC);
12765
NDR_CHECK(ndr_pull_netr_Blob(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusted_domains_blob));
12766
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domains_blob_0, LIBNDR_FLAG_REF_ALLOC);
12767
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12769
return NDR_ERR_SUCCESS;
12772
_PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r)
12774
ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomains");
12776
if (flags & NDR_SET_VALUES) {
12777
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12779
if (flags & NDR_IN) {
12780
ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomains");
12782
ndr_print_ptr(ndr, "server_name", r->in.server_name);
12784
if (r->in.server_name) {
12785
ndr_print_string(ndr, "server_name", r->in.server_name);
12790
if (flags & NDR_OUT) {
12791
ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomains");
12793
ndr_print_ptr(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12795
ndr_print_netr_Blob(ndr, "trusted_domains_blob", r->out.trusted_domains_blob);
12797
ndr_print_WERROR(ndr, "result", r->out.result);
12803
static enum ndr_err_code ndr_push_netr_DsRGetDCName(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCName *r)
12805
if (flags & NDR_IN) {
12806
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
12807
if (r->in.server_unc) {
12808
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12809
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12810
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
12811
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));
12813
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
12814
if (r->in.domain_name) {
12815
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12816
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12817
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
12818
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));
12820
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
12821
if (r->in.domain_guid) {
12822
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12824
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_guid));
12825
if (r->in.site_guid) {
12826
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12828
NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
12830
if (flags & NDR_OUT) {
12831
if (r->out.info == NULL) {
12832
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12834
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
12835
if (*r->out.info) {
12836
NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12838
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
12840
return NDR_ERR_SUCCESS;
12843
static enum ndr_err_code ndr_pull_netr_DsRGetDCName(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCName *r)
12845
uint32_t _ptr_server_unc;
12846
uint32_t _ptr_domain_name;
12847
uint32_t _ptr_domain_guid;
12848
uint32_t _ptr_site_guid;
12849
uint32_t _ptr_info;
12850
TALLOC_CTX *_mem_save_server_unc_0;
12851
TALLOC_CTX *_mem_save_domain_name_0;
12852
TALLOC_CTX *_mem_save_domain_guid_0;
12853
TALLOC_CTX *_mem_save_site_guid_0;
12854
TALLOC_CTX *_mem_save_info_0;
12855
TALLOC_CTX *_mem_save_info_1;
12856
if (flags & NDR_IN) {
12857
ZERO_STRUCT(r->out);
12859
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
12860
if (_ptr_server_unc) {
12861
NDR_PULL_ALLOC(ndr, r->in.server_unc);
12863
r->in.server_unc = NULL;
12865
if (r->in.server_unc) {
12866
_mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
12867
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
12868
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
12869
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
12870
if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
12871
return 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));
12873
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
12874
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));
12875
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
12877
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
12878
if (_ptr_domain_name) {
12879
NDR_PULL_ALLOC(ndr, r->in.domain_name);
12881
r->in.domain_name = NULL;
12883
if (r->in.domain_name) {
12884
_mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12885
NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
12886
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
12887
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
12888
if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
12889
return 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));
12891
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
12892
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));
12893
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
12895
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
12896
if (_ptr_domain_guid) {
12897
NDR_PULL_ALLOC(ndr, r->in.domain_guid);
12899
r->in.domain_guid = NULL;
12901
if (r->in.domain_guid) {
12902
_mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12903
NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
12904
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
12905
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
12907
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_guid));
12908
if (_ptr_site_guid) {
12909
NDR_PULL_ALLOC(ndr, r->in.site_guid);
12911
r->in.site_guid = NULL;
12913
if (r->in.site_guid) {
12914
_mem_save_site_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12915
NDR_PULL_SET_MEM_CTX(ndr, r->in.site_guid, 0);
12916
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.site_guid));
12917
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_guid_0, 0);
12919
NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
12920
NDR_PULL_ALLOC(ndr, r->out.info);
12921
ZERO_STRUCTP(r->out.info);
12923
if (flags & NDR_OUT) {
12924
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12925
NDR_PULL_ALLOC(ndr, r->out.info);
12927
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12928
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
12929
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
12931
NDR_PULL_ALLOC(ndr, *r->out.info);
12933
*r->out.info = NULL;
12935
if (*r->out.info) {
12936
_mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12937
NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
12938
NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
12939
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
12941
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
12942
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
12944
return NDR_ERR_SUCCESS;
12947
_PUBLIC_ void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r)
12949
ndr_print_struct(ndr, name, "netr_DsRGetDCName");
12951
if (flags & NDR_SET_VALUES) {
12952
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12954
if (flags & NDR_IN) {
12955
ndr_print_struct(ndr, "in", "netr_DsRGetDCName");
12957
ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
12959
if (r->in.server_unc) {
12960
ndr_print_string(ndr, "server_unc", r->in.server_unc);
12963
ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
12965
if (r->in.domain_name) {
12966
ndr_print_string(ndr, "domain_name", r->in.domain_name);
12969
ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
12971
if (r->in.domain_guid) {
12972
ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
12975
ndr_print_ptr(ndr, "site_guid", r->in.site_guid);
12977
if (r->in.site_guid) {
12978
ndr_print_GUID(ndr, "site_guid", r->in.site_guid);
12981
ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
12984
if (flags & NDR_OUT) {
12985
ndr_print_struct(ndr, "out", "netr_DsRGetDCName");
12987
ndr_print_ptr(ndr, "info", r->out.info);
12989
ndr_print_ptr(ndr, "info", *r->out.info);
12991
if (*r->out.info) {
12992
ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
12996
ndr_print_WERROR(ndr, "result", r->out.result);
13002
static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r)
13004
if (flags & NDR_IN) {
13005
if (r->in.server_name == NULL) {
13006
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13008
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13009
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13010
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13011
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));
13012
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13013
if (r->in.computer_name) {
13014
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13015
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13016
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13017
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));
13019
if (r->in.credential == NULL) {
13020
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13022
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13023
if (r->in.return_authenticator == NULL) {
13024
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13026
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13027
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level));
13029
if (flags & NDR_OUT) {
13030
if (r->out.return_authenticator == NULL) {
13031
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13033
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13034
if (r->out.capabilities == NULL) {
13035
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13037
NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
13038
NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
13039
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13041
return NDR_ERR_SUCCESS;
13044
static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r)
13046
uint32_t _ptr_computer_name;
13047
TALLOC_CTX *_mem_save_computer_name_0;
13048
TALLOC_CTX *_mem_save_credential_0;
13049
TALLOC_CTX *_mem_save_return_authenticator_0;
13050
TALLOC_CTX *_mem_save_capabilities_0;
13051
if (flags & NDR_IN) {
13052
ZERO_STRUCT(r->out);
13054
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13055
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13056
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13057
return 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));
13059
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13060
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));
13061
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13062
if (_ptr_computer_name) {
13063
NDR_PULL_ALLOC(ndr, r->in.computer_name);
13065
r->in.computer_name = NULL;
13067
if (r->in.computer_name) {
13068
_mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13069
NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13070
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13071
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13072
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13073
return 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));
13075
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13076
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));
13077
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13079
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13080
NDR_PULL_ALLOC(ndr, r->in.credential);
13082
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
13083
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
13084
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13085
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
13086
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13087
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
13089
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13090
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13091
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13092
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13093
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level));
13094
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13095
*r->out.return_authenticator = *r->in.return_authenticator;
13096
NDR_PULL_ALLOC(ndr, r->out.capabilities);
13097
ZERO_STRUCTP(r->out.capabilities);
13099
if (flags & NDR_OUT) {
13100
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13101
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
13103
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
13104
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
13105
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13106
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
13107
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13108
NDR_PULL_ALLOC(ndr, r->out.capabilities);
13110
_mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr);
13111
NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC);
13112
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level));
13113
NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities));
13114
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC);
13115
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13117
return NDR_ERR_SUCCESS;
13120
_PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r)
13122
ndr_print_struct(ndr, name, "netr_LogonGetCapabilities");
13124
if (flags & NDR_SET_VALUES) {
13125
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13127
if (flags & NDR_IN) {
13128
ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities");
13130
ndr_print_ptr(ndr, "server_name", r->in.server_name);
13132
ndr_print_string(ndr, "server_name", r->in.server_name);
13134
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13136
if (r->in.computer_name) {
13137
ndr_print_string(ndr, "computer_name", r->in.computer_name);
13140
ndr_print_ptr(ndr, "credential", r->in.credential);
13142
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
13144
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
13146
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
13148
ndr_print_uint32(ndr, "query_level", r->in.query_level);
13151
if (flags & NDR_OUT) {
13152
ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities");
13154
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
13156
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
13158
ndr_print_ptr(ndr, "capabilities", r->out.capabilities);
13160
ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level);
13161
ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities);
13163
ndr_print_NTSTATUS(ndr, "result", r->out.result);
13169
static enum ndr_err_code ndr_push_netr_NETRLOGONSETSERVICEBITS(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
13171
if (flags & NDR_IN) {
13173
if (flags & NDR_OUT) {
13174
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13176
return NDR_ERR_SUCCESS;
13179
static enum ndr_err_code ndr_pull_netr_NETRLOGONSETSERVICEBITS(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSETSERVICEBITS *r)
13181
if (flags & NDR_IN) {
13183
if (flags & NDR_OUT) {
13184
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13186
return NDR_ERR_SUCCESS;
13189
_PUBLIC_ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r)
13191
ndr_print_struct(ndr, name, "netr_NETRLOGONSETSERVICEBITS");
13193
if (flags & NDR_SET_VALUES) {
13194
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13196
if (flags & NDR_IN) {
13197
ndr_print_struct(ndr, "in", "netr_NETRLOGONSETSERVICEBITS");
13201
if (flags & NDR_OUT) {
13202
ndr_print_struct(ndr, "out", "netr_NETRLOGONSETSERVICEBITS");
13204
ndr_print_WERROR(ndr, "result", r->out.result);
13210
static enum ndr_err_code ndr_push_netr_LogonGetTrustRid(struct ndr_push *ndr, int flags, const struct netr_LogonGetTrustRid *r)
13212
if (flags & NDR_IN) {
13213
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13214
if (r->in.server_name) {
13215
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13216
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13217
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13218
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));
13220
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13221
if (r->in.domain_name) {
13222
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13223
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13224
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13225
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));
13228
if (flags & NDR_OUT) {
13229
if (r->out.rid == NULL) {
13230
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13232
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13233
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13235
return NDR_ERR_SUCCESS;
13238
static enum ndr_err_code ndr_pull_netr_LogonGetTrustRid(struct ndr_pull *ndr, int flags, struct netr_LogonGetTrustRid *r)
13240
uint32_t _ptr_server_name;
13241
uint32_t _ptr_domain_name;
13242
TALLOC_CTX *_mem_save_server_name_0;
13243
TALLOC_CTX *_mem_save_domain_name_0;
13244
TALLOC_CTX *_mem_save_rid_0;
13245
if (flags & NDR_IN) {
13246
ZERO_STRUCT(r->out);
13248
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13249
if (_ptr_server_name) {
13250
NDR_PULL_ALLOC(ndr, r->in.server_name);
13252
r->in.server_name = NULL;
13254
if (r->in.server_name) {
13255
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13256
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13257
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13258
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13259
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13260
return 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));
13262
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13263
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));
13264
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13266
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13267
if (_ptr_domain_name) {
13268
NDR_PULL_ALLOC(ndr, r->in.domain_name);
13270
r->in.domain_name = NULL;
13272
if (r->in.domain_name) {
13273
_mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13274
NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13275
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13276
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13277
if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13278
return 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));
13280
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13281
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));
13282
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13284
NDR_PULL_ALLOC(ndr, r->out.rid);
13285
ZERO_STRUCTP(r->out.rid);
13287
if (flags & NDR_OUT) {
13288
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13289
NDR_PULL_ALLOC(ndr, r->out.rid);
13291
_mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13292
NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13293
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13294
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13295
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13297
return NDR_ERR_SUCCESS;
13300
_PUBLIC_ void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r)
13302
ndr_print_struct(ndr, name, "netr_LogonGetTrustRid");
13304
if (flags & NDR_SET_VALUES) {
13305
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13307
if (flags & NDR_IN) {
13308
ndr_print_struct(ndr, "in", "netr_LogonGetTrustRid");
13310
ndr_print_ptr(ndr, "server_name", r->in.server_name);
13312
if (r->in.server_name) {
13313
ndr_print_string(ndr, "server_name", r->in.server_name);
13316
ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13318
if (r->in.domain_name) {
13319
ndr_print_string(ndr, "domain_name", r->in.domain_name);
13324
if (flags & NDR_OUT) {
13325
ndr_print_struct(ndr, "out", "netr_LogonGetTrustRid");
13327
ndr_print_ptr(ndr, "rid", r->out.rid);
13329
ndr_print_uint32(ndr, "rid", *r->out.rid);
13331
ndr_print_WERROR(ndr, "result", r->out.result);
13337
static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13339
if (flags & NDR_IN) {
13341
if (flags & NDR_OUT) {
13342
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13344
return NDR_ERR_SUCCESS;
13347
static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13349
if (flags & NDR_IN) {
13351
if (flags & NDR_OUT) {
13352
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13354
return NDR_ERR_SUCCESS;
13357
_PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r)
13359
ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTESERVERDIGEST");
13361
if (flags & NDR_SET_VALUES) {
13362
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13364
if (flags & NDR_IN) {
13365
ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13369
if (flags & NDR_OUT) {
13370
ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTESERVERDIGEST");
13372
ndr_print_WERROR(ndr, "result", r->out.result);
13378
static enum ndr_err_code ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13380
if (flags & NDR_IN) {
13382
if (flags & NDR_OUT) {
13383
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13385
return NDR_ERR_SUCCESS;
13388
static enum ndr_err_code ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13390
if (flags & NDR_IN) {
13392
if (flags & NDR_OUT) {
13393
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13395
return NDR_ERR_SUCCESS;
13398
_PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r)
13400
ndr_print_struct(ndr, name, "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13402
if (flags & NDR_SET_VALUES) {
13403
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13405
if (flags & NDR_IN) {
13406
ndr_print_struct(ndr, "in", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13410
if (flags & NDR_OUT) {
13411
ndr_print_struct(ndr, "out", "netr_NETRLOGONCOMPUTECLIENTDIGEST");
13413
ndr_print_WERROR(ndr, "result", r->out.result);
13419
_PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
13421
if (flags & NDR_IN) {
13422
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
13423
if (r->in.server_name) {
13424
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13425
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13426
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13427
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));
13429
if (r->in.account_name == NULL) {
13430
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13432
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13433
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13434
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
13435
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));
13436
NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
13437
if (r->in.computer_name == NULL) {
13438
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13440
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13441
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13442
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13443
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));
13444
if (r->in.credentials == NULL) {
13445
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13447
NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13448
if (r->in.negotiate_flags == NULL) {
13449
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13451
NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
13453
if (flags & NDR_OUT) {
13454
if (r->out.return_credentials == NULL) {
13455
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13457
NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13458
if (r->out.negotiate_flags == NULL) {
13459
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13461
NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->out.negotiate_flags));
13462
if (r->out.rid == NULL) {
13463
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13465
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
13466
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13468
return NDR_ERR_SUCCESS;
13471
_PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
13473
uint32_t _ptr_server_name;
13474
TALLOC_CTX *_mem_save_server_name_0;
13475
TALLOC_CTX *_mem_save_credentials_0;
13476
TALLOC_CTX *_mem_save_return_credentials_0;
13477
TALLOC_CTX *_mem_save_negotiate_flags_0;
13478
TALLOC_CTX *_mem_save_rid_0;
13479
if (flags & NDR_IN) {
13480
ZERO_STRUCT(r->out);
13482
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
13483
if (_ptr_server_name) {
13484
NDR_PULL_ALLOC(ndr, r->in.server_name);
13486
r->in.server_name = NULL;
13488
if (r->in.server_name) {
13489
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13490
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
13491
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
13492
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
13493
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
13494
return 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));
13496
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
13497
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));
13498
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
13500
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
13501
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
13502
if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
13503
return 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));
13505
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
13506
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));
13507
NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
13508
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13509
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13510
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13511
return 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));
13513
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13514
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));
13515
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13516
NDR_PULL_ALLOC(ndr, r->in.credentials);
13518
_mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13519
NDR_PULL_SET_MEM_CTX(ndr, r->in.credentials, LIBNDR_FLAG_REF_ALLOC);
13520
NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->in.credentials));
13521
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13522
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13523
NDR_PULL_ALLOC(ndr, r->in.negotiate_flags);
13525
_mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13526
NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13527
NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
13528
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13529
NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13530
ZERO_STRUCTP(r->out.return_credentials);
13531
NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13532
*r->out.negotiate_flags = *r->in.negotiate_flags;
13533
NDR_PULL_ALLOC(ndr, r->out.rid);
13534
ZERO_STRUCTP(r->out.rid);
13536
if (flags & NDR_OUT) {
13537
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13538
NDR_PULL_ALLOC(ndr, r->out.return_credentials);
13540
_mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
13541
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
13542
NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
13543
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
13544
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13545
NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
13547
_mem_save_negotiate_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
13548
NDR_PULL_SET_MEM_CTX(ndr, r->out.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
13549
NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->out.negotiate_flags));
13550
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
13551
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13552
NDR_PULL_ALLOC(ndr, r->out.rid);
13554
_mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13555
NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
13556
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
13557
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
13558
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13560
return NDR_ERR_SUCCESS;
13563
_PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r)
13565
ndr_print_struct(ndr, name, "netr_ServerAuthenticate3");
13567
if (flags & NDR_SET_VALUES) {
13568
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13570
if (flags & NDR_IN) {
13571
ndr_print_struct(ndr, "in", "netr_ServerAuthenticate3");
13573
ndr_print_ptr(ndr, "server_name", r->in.server_name);
13575
if (r->in.server_name) {
13576
ndr_print_string(ndr, "server_name", r->in.server_name);
13579
ndr_print_ptr(ndr, "account_name", r->in.account_name);
13581
ndr_print_string(ndr, "account_name", r->in.account_name);
13583
ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
13584
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13586
ndr_print_string(ndr, "computer_name", r->in.computer_name);
13588
ndr_print_ptr(ndr, "credentials", r->in.credentials);
13590
ndr_print_netr_Credential(ndr, "credentials", r->in.credentials);
13592
ndr_print_ptr(ndr, "negotiate_flags", r->in.negotiate_flags);
13594
ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->in.negotiate_flags);
13598
if (flags & NDR_OUT) {
13599
ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
13601
ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
13603
ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
13605
ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
13607
ndr_print_netr_NegotiateFlags(ndr, "negotiate_flags", *r->out.negotiate_flags);
13609
ndr_print_ptr(ndr, "rid", r->out.rid);
13611
ndr_print_uint32(ndr, "rid", *r->out.rid);
13613
ndr_print_NTSTATUS(ndr, "result", r->out.result);
13619
static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx *r)
13621
if (flags & NDR_IN) {
13622
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
13623
if (r->in.server_unc) {
13624
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13625
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13626
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
13627
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));
13629
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
13630
if (r->in.domain_name) {
13631
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13632
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13633
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
13634
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));
13636
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
13637
if (r->in.domain_guid) {
13638
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13640
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
13641
if (r->in.site_name) {
13642
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13643
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13644
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
13645
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));
13647
NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
13649
if (flags & NDR_OUT) {
13650
if (r->out.info == NULL) {
13651
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13653
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
13654
if (*r->out.info) {
13655
NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13657
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13659
return NDR_ERR_SUCCESS;
13662
static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx *r)
13664
uint32_t _ptr_server_unc;
13665
uint32_t _ptr_domain_name;
13666
uint32_t _ptr_domain_guid;
13667
uint32_t _ptr_site_name;
13668
uint32_t _ptr_info;
13669
TALLOC_CTX *_mem_save_server_unc_0;
13670
TALLOC_CTX *_mem_save_domain_name_0;
13671
TALLOC_CTX *_mem_save_domain_guid_0;
13672
TALLOC_CTX *_mem_save_site_name_0;
13673
TALLOC_CTX *_mem_save_info_0;
13674
TALLOC_CTX *_mem_save_info_1;
13675
if (flags & NDR_IN) {
13676
ZERO_STRUCT(r->out);
13678
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
13679
if (_ptr_server_unc) {
13680
NDR_PULL_ALLOC(ndr, r->in.server_unc);
13682
r->in.server_unc = NULL;
13684
if (r->in.server_unc) {
13685
_mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
13686
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
13687
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
13688
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
13689
if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
13690
return 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));
13692
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
13693
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));
13694
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
13696
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
13697
if (_ptr_domain_name) {
13698
NDR_PULL_ALLOC(ndr, r->in.domain_name);
13700
r->in.domain_name = NULL;
13702
if (r->in.domain_name) {
13703
_mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13704
NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
13705
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
13706
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
13707
if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
13708
return 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));
13710
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
13711
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));
13712
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
13714
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
13715
if (_ptr_domain_guid) {
13716
NDR_PULL_ALLOC(ndr, r->in.domain_guid);
13718
r->in.domain_guid = NULL;
13720
if (r->in.domain_guid) {
13721
_mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
13722
NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
13723
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
13724
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
13726
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
13727
if (_ptr_site_name) {
13728
NDR_PULL_ALLOC(ndr, r->in.site_name);
13730
r->in.site_name = NULL;
13732
if (r->in.site_name) {
13733
_mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13734
NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
13735
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
13736
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
13737
if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
13738
return 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));
13740
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
13741
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));
13742
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
13744
NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
13745
NDR_PULL_ALLOC(ndr, r->out.info);
13746
ZERO_STRUCTP(r->out.info);
13748
if (flags & NDR_OUT) {
13749
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13750
NDR_PULL_ALLOC(ndr, r->out.info);
13752
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
13753
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
13754
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
13756
NDR_PULL_ALLOC(ndr, *r->out.info);
13758
*r->out.info = NULL;
13760
if (*r->out.info) {
13761
_mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
13762
NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
13763
NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
13764
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
13766
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
13767
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13769
return NDR_ERR_SUCCESS;
13772
_PUBLIC_ void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r)
13774
ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx");
13776
if (flags & NDR_SET_VALUES) {
13777
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13779
if (flags & NDR_IN) {
13780
ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx");
13782
ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
13784
if (r->in.server_unc) {
13785
ndr_print_string(ndr, "server_unc", r->in.server_unc);
13788
ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
13790
if (r->in.domain_name) {
13791
ndr_print_string(ndr, "domain_name", r->in.domain_name);
13794
ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
13796
if (r->in.domain_guid) {
13797
ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
13800
ndr_print_ptr(ndr, "site_name", r->in.site_name);
13802
if (r->in.site_name) {
13803
ndr_print_string(ndr, "site_name", r->in.site_name);
13806
ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
13809
if (flags & NDR_OUT) {
13810
ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx");
13812
ndr_print_ptr(ndr, "info", r->out.info);
13814
ndr_print_ptr(ndr, "info", *r->out.info);
13816
if (*r->out.info) {
13817
ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
13821
ndr_print_WERROR(ndr, "result", r->out.result);
13827
static enum ndr_err_code ndr_push_netr_DsRGetSiteName(struct ndr_push *ndr, int flags, const struct netr_DsRGetSiteName *r)
13829
if (flags & NDR_IN) {
13830
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13831
if (r->in.computer_name) {
13832
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13833
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13834
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13835
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));
13838
if (flags & NDR_OUT) {
13839
if (r->out.site == NULL) {
13840
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13842
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.site));
13843
if (*r->out.site) {
13844
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13845
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13846
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.site, CH_UTF16)));
13847
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.site, ndr_charset_length(*r->out.site, CH_UTF16), sizeof(uint16_t), CH_UTF16));
13849
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
13851
return NDR_ERR_SUCCESS;
13854
static enum ndr_err_code ndr_pull_netr_DsRGetSiteName(struct ndr_pull *ndr, int flags, struct netr_DsRGetSiteName *r)
13856
uint32_t _ptr_computer_name;
13857
uint32_t _ptr_site;
13858
TALLOC_CTX *_mem_save_computer_name_0;
13859
TALLOC_CTX *_mem_save_site_0;
13860
TALLOC_CTX *_mem_save_site_1;
13861
if (flags & NDR_IN) {
13862
ZERO_STRUCT(r->out);
13864
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
13865
if (_ptr_computer_name) {
13866
NDR_PULL_ALLOC(ndr, r->in.computer_name);
13868
r->in.computer_name = NULL;
13870
if (r->in.computer_name) {
13871
_mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
13872
NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
13873
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
13874
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
13875
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
13876
return 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));
13878
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
13879
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));
13880
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
13882
NDR_PULL_ALLOC(ndr, r->out.site);
13883
ZERO_STRUCTP(r->out.site);
13885
if (flags & NDR_OUT) {
13886
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
13887
NDR_PULL_ALLOC(ndr, r->out.site);
13889
_mem_save_site_0 = NDR_PULL_GET_MEM_CTX(ndr);
13890
NDR_PULL_SET_MEM_CTX(ndr, r->out.site, LIBNDR_FLAG_REF_ALLOC);
13891
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site));
13893
NDR_PULL_ALLOC(ndr, *r->out.site);
13895
*r->out.site = NULL;
13897
if (*r->out.site) {
13898
_mem_save_site_1 = NDR_PULL_GET_MEM_CTX(ndr);
13899
NDR_PULL_SET_MEM_CTX(ndr, *r->out.site, 0);
13900
NDR_CHECK(ndr_pull_array_size(ndr, r->out.site));
13901
NDR_CHECK(ndr_pull_array_length(ndr, r->out.site));
13902
if (ndr_get_array_length(ndr, r->out.site) > ndr_get_array_size(ndr, r->out.site)) {
13903
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));
13905
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t)));
13906
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.site, ndr_get_array_length(ndr, r->out.site), sizeof(uint16_t), CH_UTF16));
13907
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_1, 0);
13909
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_0, LIBNDR_FLAG_REF_ALLOC);
13910
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
13912
return NDR_ERR_SUCCESS;
13915
_PUBLIC_ void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r)
13917
ndr_print_struct(ndr, name, "netr_DsRGetSiteName");
13919
if (flags & NDR_SET_VALUES) {
13920
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13922
if (flags & NDR_IN) {
13923
ndr_print_struct(ndr, "in", "netr_DsRGetSiteName");
13925
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
13927
if (r->in.computer_name) {
13928
ndr_print_string(ndr, "computer_name", r->in.computer_name);
13933
if (flags & NDR_OUT) {
13934
ndr_print_struct(ndr, "out", "netr_DsRGetSiteName");
13936
ndr_print_ptr(ndr, "site", r->out.site);
13938
ndr_print_ptr(ndr, "site", *r->out.site);
13940
if (*r->out.site) {
13941
ndr_print_string(ndr, "site", *r->out.site);
13945
ndr_print_WERROR(ndr, "result", r->out.result);
13951
static enum ndr_err_code ndr_push_netr_LogonGetDomainInfo(struct ndr_push *ndr, int flags, const struct netr_LogonGetDomainInfo *r)
13953
if (flags & NDR_IN) {
13954
if (r->in.server_name == NULL) {
13955
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13957
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13958
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13959
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
13960
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));
13961
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
13962
if (r->in.computer_name) {
13963
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13964
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
13965
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
13966
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));
13968
if (r->in.credential == NULL) {
13969
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13971
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
13972
if (r->in.return_authenticator == NULL) {
13973
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13975
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
13976
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
13977
if (r->in.query == NULL) {
13978
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13980
NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.query, r->in.level));
13981
NDR_CHECK(ndr_push_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
13983
if (flags & NDR_OUT) {
13984
if (r->out.return_authenticator == NULL) {
13985
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13987
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
13988
if (r->out.info == NULL) {
13989
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
13991
NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
13992
NDR_CHECK(ndr_push_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
13993
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13995
return NDR_ERR_SUCCESS;
13998
static enum ndr_err_code ndr_pull_netr_LogonGetDomainInfo(struct ndr_pull *ndr, int flags, struct netr_LogonGetDomainInfo *r)
14000
uint32_t _ptr_computer_name;
14001
TALLOC_CTX *_mem_save_computer_name_0;
14002
TALLOC_CTX *_mem_save_credential_0;
14003
TALLOC_CTX *_mem_save_return_authenticator_0;
14004
TALLOC_CTX *_mem_save_query_0;
14005
TALLOC_CTX *_mem_save_info_0;
14006
if (flags & NDR_IN) {
14007
ZERO_STRUCT(r->out);
14009
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14010
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14011
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14012
return 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));
14014
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14015
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));
14016
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
14017
if (_ptr_computer_name) {
14018
NDR_PULL_ALLOC(ndr, r->in.computer_name);
14020
r->in.computer_name = NULL;
14022
if (r->in.computer_name) {
14023
_mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14024
NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
14025
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14026
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14027
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14028
return 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));
14030
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14031
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));
14032
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
14034
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14035
NDR_PULL_ALLOC(ndr, r->in.credential);
14037
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14038
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14039
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14040
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14041
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14042
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
14044
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14045
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14046
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
14047
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14048
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
14049
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14050
NDR_PULL_ALLOC(ndr, r->in.query);
14052
_mem_save_query_0 = NDR_PULL_GET_MEM_CTX(ndr);
14053
NDR_PULL_SET_MEM_CTX(ndr, r->in.query, LIBNDR_FLAG_REF_ALLOC);
14054
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.query, r->in.level));
14055
NDR_CHECK(ndr_pull_netr_WorkstationInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.query));
14056
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_query_0, LIBNDR_FLAG_REF_ALLOC);
14057
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14058
*r->out.return_authenticator = *r->in.return_authenticator;
14059
NDR_PULL_ALLOC(ndr, r->out.info);
14060
ZERO_STRUCTP(r->out.info);
14062
if (flags & NDR_OUT) {
14063
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14064
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14066
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14067
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14068
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14069
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14070
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14071
NDR_PULL_ALLOC(ndr, r->out.info);
14073
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14074
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14075
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
14076
NDR_CHECK(ndr_pull_netr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
14077
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14078
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14080
return NDR_ERR_SUCCESS;
14083
_PUBLIC_ void ndr_print_netr_LogonGetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetDomainInfo *r)
14085
ndr_print_struct(ndr, name, "netr_LogonGetDomainInfo");
14087
if (flags & NDR_SET_VALUES) {
14088
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14090
if (flags & NDR_IN) {
14091
ndr_print_struct(ndr, "in", "netr_LogonGetDomainInfo");
14093
ndr_print_ptr(ndr, "server_name", r->in.server_name);
14095
ndr_print_string(ndr, "server_name", r->in.server_name);
14097
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14099
if (r->in.computer_name) {
14100
ndr_print_string(ndr, "computer_name", r->in.computer_name);
14103
ndr_print_ptr(ndr, "credential", r->in.credential);
14105
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14107
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
14109
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
14111
ndr_print_uint32(ndr, "level", r->in.level);
14112
ndr_print_ptr(ndr, "query", r->in.query);
14114
ndr_print_set_switch_value(ndr, r->in.query, r->in.level);
14115
ndr_print_netr_WorkstationInfo(ndr, "query", r->in.query);
14119
if (flags & NDR_OUT) {
14120
ndr_print_struct(ndr, "out", "netr_LogonGetDomainInfo");
14122
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14124
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14126
ndr_print_ptr(ndr, "info", r->out.info);
14128
ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
14129
ndr_print_netr_DomainInfo(ndr, "info", r->out.info);
14131
ndr_print_NTSTATUS(ndr, "result", r->out.result);
14137
static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordSet2 *r)
14139
if (flags & NDR_IN) {
14140
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14141
if (r->in.server_name) {
14142
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14143
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14144
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14145
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));
14147
if (r->in.account_name == NULL) {
14148
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14150
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14151
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14152
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14153
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));
14154
NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14155
if (r->in.computer_name == NULL) {
14156
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14158
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14159
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14160
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14161
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));
14162
if (r->in.credential == NULL) {
14163
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14165
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14166
if (r->in.new_password == NULL) {
14167
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14169
NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
14171
if (flags & NDR_OUT) {
14172
if (r->out.return_authenticator == NULL) {
14173
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14175
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14176
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
14178
return NDR_ERR_SUCCESS;
14181
static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordSet2 *r)
14183
uint32_t _ptr_server_name;
14184
TALLOC_CTX *_mem_save_server_name_0;
14185
TALLOC_CTX *_mem_save_credential_0;
14186
TALLOC_CTX *_mem_save_return_authenticator_0;
14187
TALLOC_CTX *_mem_save_new_password_0;
14188
if (flags & NDR_IN) {
14189
ZERO_STRUCT(r->out);
14191
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14192
if (_ptr_server_name) {
14193
NDR_PULL_ALLOC(ndr, r->in.server_name);
14195
r->in.server_name = NULL;
14197
if (r->in.server_name) {
14198
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14199
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14200
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14201
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14202
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14203
return 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));
14205
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14206
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));
14207
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14209
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14210
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14211
if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
14212
return 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));
14214
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
14215
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));
14216
NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14217
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14218
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14219
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14220
return 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));
14222
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14223
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));
14224
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14225
NDR_PULL_ALLOC(ndr, r->in.credential);
14227
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14228
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14229
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14230
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14231
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14232
NDR_PULL_ALLOC(ndr, r->in.new_password);
14234
_mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14235
NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
14236
NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
14237
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
14238
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14239
ZERO_STRUCTP(r->out.return_authenticator);
14241
if (flags & NDR_OUT) {
14242
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14243
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14245
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14246
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14247
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14248
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14249
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
14251
return NDR_ERR_SUCCESS;
14254
_PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet2 *r)
14256
ndr_print_struct(ndr, name, "netr_ServerPasswordSet2");
14258
if (flags & NDR_SET_VALUES) {
14259
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14261
if (flags & NDR_IN) {
14262
ndr_print_struct(ndr, "in", "netr_ServerPasswordSet2");
14264
ndr_print_ptr(ndr, "server_name", r->in.server_name);
14266
if (r->in.server_name) {
14267
ndr_print_string(ndr, "server_name", r->in.server_name);
14270
ndr_print_ptr(ndr, "account_name", r->in.account_name);
14272
ndr_print_string(ndr, "account_name", r->in.account_name);
14274
ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14275
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14277
ndr_print_string(ndr, "computer_name", r->in.computer_name);
14279
ndr_print_ptr(ndr, "credential", r->in.credential);
14281
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14283
ndr_print_ptr(ndr, "new_password", r->in.new_password);
14285
ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
14289
if (flags & NDR_OUT) {
14290
ndr_print_struct(ndr, "out", "netr_ServerPasswordSet2");
14292
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14294
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14296
ndr_print_NTSTATUS(ndr, "result", r->out.result);
14302
static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, int flags, const struct netr_ServerPasswordGet *r)
14304
if (flags & NDR_IN) {
14305
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14306
if (r->in.server_name) {
14307
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14308
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14309
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14310
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));
14312
if (r->in.account_name == NULL) {
14313
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14315
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14316
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14317
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
14318
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));
14319
NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
14320
if (r->in.computer_name == NULL) {
14321
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14323
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14324
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14325
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
14326
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));
14327
if (r->in.credential == NULL) {
14328
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14330
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14332
if (flags & NDR_OUT) {
14333
if (r->out.return_authenticator == NULL) {
14334
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14336
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14337
if (r->out.password == NULL) {
14338
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14340
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
14341
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14343
return NDR_ERR_SUCCESS;
14346
static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, int flags, struct netr_ServerPasswordGet *r)
14348
uint32_t _ptr_server_name;
14349
TALLOC_CTX *_mem_save_server_name_0;
14350
TALLOC_CTX *_mem_save_credential_0;
14351
TALLOC_CTX *_mem_save_return_authenticator_0;
14352
TALLOC_CTX *_mem_save_password_0;
14353
if (flags & NDR_IN) {
14354
ZERO_STRUCT(r->out);
14356
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14357
if (_ptr_server_name) {
14358
NDR_PULL_ALLOC(ndr, r->in.server_name);
14360
r->in.server_name = NULL;
14362
if (r->in.server_name) {
14363
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14364
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14365
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14366
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14367
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14368
return 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));
14370
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14371
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));
14372
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14374
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
14375
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
14376
if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
14377
return 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));
14379
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
14380
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));
14381
NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
14382
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
14383
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
14384
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
14385
return 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));
14387
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
14388
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));
14389
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14390
NDR_PULL_ALLOC(ndr, r->in.credential);
14392
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
14393
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
14394
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
14395
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
14396
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14397
ZERO_STRUCTP(r->out.return_authenticator);
14398
NDR_PULL_ALLOC(ndr, r->out.password);
14399
ZERO_STRUCTP(r->out.password);
14401
if (flags & NDR_OUT) {
14402
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14403
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
14405
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
14406
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
14407
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
14408
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
14409
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14410
NDR_PULL_ALLOC(ndr, r->out.password);
14412
_mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
14413
NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
14414
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
14415
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
14416
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14418
return NDR_ERR_SUCCESS;
14421
_PUBLIC_ void ndr_print_netr_ServerPasswordGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordGet *r)
14423
ndr_print_struct(ndr, name, "netr_ServerPasswordGet");
14425
if (flags & NDR_SET_VALUES) {
14426
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14428
if (flags & NDR_IN) {
14429
ndr_print_struct(ndr, "in", "netr_ServerPasswordGet");
14431
ndr_print_ptr(ndr, "server_name", r->in.server_name);
14433
if (r->in.server_name) {
14434
ndr_print_string(ndr, "server_name", r->in.server_name);
14437
ndr_print_ptr(ndr, "account_name", r->in.account_name);
14439
ndr_print_string(ndr, "account_name", r->in.account_name);
14441
ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
14442
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
14444
ndr_print_string(ndr, "computer_name", r->in.computer_name);
14446
ndr_print_ptr(ndr, "credential", r->in.credential);
14448
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
14452
if (flags & NDR_OUT) {
14453
ndr_print_struct(ndr, "out", "netr_ServerPasswordGet");
14455
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
14457
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
14459
ndr_print_ptr(ndr, "password", r->out.password);
14461
ndr_print_samr_Password(ndr, "password", r->out.password);
14463
ndr_print_WERROR(ndr, "result", r->out.result);
14469
static enum ndr_err_code ndr_push_netr_NETRLOGONSENDTOSAM(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14471
if (flags & NDR_IN) {
14473
if (flags & NDR_OUT) {
14474
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14476
return NDR_ERR_SUCCESS;
14479
static enum ndr_err_code ndr_pull_netr_NETRLOGONSENDTOSAM(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONSENDTOSAM *r)
14481
if (flags & NDR_IN) {
14483
if (flags & NDR_OUT) {
14484
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14486
return NDR_ERR_SUCCESS;
14489
_PUBLIC_ void ndr_print_netr_NETRLOGONSENDTOSAM(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSENDTOSAM *r)
14491
ndr_print_struct(ndr, name, "netr_NETRLOGONSENDTOSAM");
14493
if (flags & NDR_SET_VALUES) {
14494
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14496
if (flags & NDR_IN) {
14497
ndr_print_struct(ndr, "in", "netr_NETRLOGONSENDTOSAM");
14501
if (flags & NDR_OUT) {
14502
ndr_print_struct(ndr, "out", "netr_NETRLOGONSENDTOSAM");
14504
ndr_print_WERROR(ndr, "result", r->out.result);
14510
static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesW *r)
14512
uint32_t cntr_addresses_1;
14513
if (flags & NDR_IN) {
14514
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14515
if (r->in.server_name) {
14516
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14517
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14518
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14519
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));
14521
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
14522
if (r->in.addresses == NULL) {
14523
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14525
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.count));
14526
for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14527
NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14529
for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14530
NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14533
if (flags & NDR_OUT) {
14534
if (r->out.ctr == NULL) {
14535
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14537
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
14539
NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14541
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14543
return NDR_ERR_SUCCESS;
14546
static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesW *r)
14548
uint32_t _ptr_server_name;
14549
uint32_t cntr_addresses_1;
14551
TALLOC_CTX *_mem_save_server_name_0;
14552
TALLOC_CTX *_mem_save_addresses_1;
14553
TALLOC_CTX *_mem_save_ctr_0;
14554
TALLOC_CTX *_mem_save_ctr_1;
14555
if (flags & NDR_IN) {
14556
ZERO_STRUCT(r->out);
14558
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14559
if (_ptr_server_name) {
14560
NDR_PULL_ALLOC(ndr, r->in.server_name);
14562
r->in.server_name = NULL;
14564
if (r->in.server_name) {
14565
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14566
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14567
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14568
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14569
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
14570
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
14572
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
14573
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));
14574
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
14576
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
14577
if (r->in.count > 32000) {
14578
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
14580
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
14581
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14582
NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
14584
_mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
14585
NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
14586
for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14587
NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
14589
for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
14590
NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
14592
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
14593
NDR_PULL_ALLOC(ndr, r->out.ctr);
14594
ZERO_STRUCTP(r->out.ctr);
14595
if (r->in.addresses) {
14596
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
14599
if (flags & NDR_OUT) {
14600
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14601
NDR_PULL_ALLOC(ndr, r->out.ctr);
14603
_mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
14604
NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
14605
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
14607
NDR_PULL_ALLOC(ndr, *r->out.ctr);
14609
*r->out.ctr = NULL;
14612
_mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
14613
NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
14614
NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
14615
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
14617
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
14618
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14620
return NDR_ERR_SUCCESS;
14623
_PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesW *r)
14625
uint32_t cntr_addresses_1;
14626
ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesW");
14628
if (flags & NDR_SET_VALUES) {
14629
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14631
if (flags & NDR_IN) {
14632
ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesW");
14634
ndr_print_ptr(ndr, "server_name", r->in.server_name);
14636
if (r->in.server_name) {
14637
ndr_print_string(ndr, "server_name", r->in.server_name);
14640
ndr_print_uint32(ndr, "count", r->in.count);
14641
ndr_print_ptr(ndr, "addresses", r->in.addresses);
14643
ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
14645
for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
14647
if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
14648
ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
14656
if (flags & NDR_OUT) {
14657
ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesW");
14659
ndr_print_ptr(ndr, "ctr", r->out.ctr);
14661
ndr_print_ptr(ndr, "ctr", *r->out.ctr);
14664
ndr_print_netr_DsRAddressToSitenamesWCtr(ndr, "ctr", *r->out.ctr);
14668
ndr_print_WERROR(ndr, "result", r->out.result);
14674
static enum ndr_err_code ndr_push_netr_DsRGetDCNameEx2(struct ndr_push *ndr, int flags, const struct netr_DsRGetDCNameEx2 *r)
14676
if (flags & NDR_IN) {
14677
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_unc));
14678
if (r->in.server_unc) {
14679
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14680
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14681
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
14682
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));
14684
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.client_account));
14685
if (r->in.client_account) {
14686
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14687
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14688
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.client_account, CH_UTF16)));
14689
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));
14691
NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.mask));
14692
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
14693
if (r->in.domain_name) {
14694
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14695
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14696
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
14697
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));
14699
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
14700
if (r->in.domain_guid) {
14701
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14703
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.site_name));
14704
if (r->in.site_name) {
14705
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14706
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14707
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.site_name, CH_UTF16)));
14708
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));
14710
NDR_CHECK(ndr_push_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, r->in.flags));
14712
if (flags & NDR_OUT) {
14713
if (r->out.info == NULL) {
14714
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14716
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
14717
if (*r->out.info) {
14718
NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14720
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14722
return NDR_ERR_SUCCESS;
14725
static enum ndr_err_code ndr_pull_netr_DsRGetDCNameEx2(struct ndr_pull *ndr, int flags, struct netr_DsRGetDCNameEx2 *r)
14727
uint32_t _ptr_server_unc;
14728
uint32_t _ptr_client_account;
14729
uint32_t _ptr_domain_name;
14730
uint32_t _ptr_domain_guid;
14731
uint32_t _ptr_site_name;
14732
uint32_t _ptr_info;
14733
TALLOC_CTX *_mem_save_server_unc_0;
14734
TALLOC_CTX *_mem_save_client_account_0;
14735
TALLOC_CTX *_mem_save_domain_name_0;
14736
TALLOC_CTX *_mem_save_domain_guid_0;
14737
TALLOC_CTX *_mem_save_site_name_0;
14738
TALLOC_CTX *_mem_save_info_0;
14739
TALLOC_CTX *_mem_save_info_1;
14740
if (flags & NDR_IN) {
14741
ZERO_STRUCT(r->out);
14743
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
14744
if (_ptr_server_unc) {
14745
NDR_PULL_ALLOC(ndr, r->in.server_unc);
14747
r->in.server_unc = NULL;
14749
if (r->in.server_unc) {
14750
_mem_save_server_unc_0 = NDR_PULL_GET_MEM_CTX(ndr);
14751
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_unc, 0);
14752
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_unc));
14753
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_unc));
14754
if (ndr_get_array_length(ndr, &r->in.server_unc) > ndr_get_array_size(ndr, &r->in.server_unc)) {
14755
return 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));
14757
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t)));
14758
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));
14759
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
14761
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_client_account));
14762
if (_ptr_client_account) {
14763
NDR_PULL_ALLOC(ndr, r->in.client_account);
14765
r->in.client_account = NULL;
14767
if (r->in.client_account) {
14768
_mem_save_client_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
14769
NDR_PULL_SET_MEM_CTX(ndr, r->in.client_account, 0);
14770
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.client_account));
14771
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.client_account));
14772
if (ndr_get_array_length(ndr, &r->in.client_account) > ndr_get_array_size(ndr, &r->in.client_account)) {
14773
return 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));
14775
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.client_account), sizeof(uint16_t)));
14776
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));
14777
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_client_account_0, 0);
14779
NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.mask));
14780
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
14781
if (_ptr_domain_name) {
14782
NDR_PULL_ALLOC(ndr, r->in.domain_name);
14784
r->in.domain_name = NULL;
14786
if (r->in.domain_name) {
14787
_mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14788
NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
14789
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
14790
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
14791
if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
14792
return 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));
14794
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
14795
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));
14796
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
14798
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
14799
if (_ptr_domain_guid) {
14800
NDR_PULL_ALLOC(ndr, r->in.domain_guid);
14802
r->in.domain_guid = NULL;
14804
if (r->in.domain_guid) {
14805
_mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
14806
NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
14807
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
14808
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
14810
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_site_name));
14811
if (_ptr_site_name) {
14812
NDR_PULL_ALLOC(ndr, r->in.site_name);
14814
r->in.site_name = NULL;
14816
if (r->in.site_name) {
14817
_mem_save_site_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14818
NDR_PULL_SET_MEM_CTX(ndr, r->in.site_name, 0);
14819
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.site_name));
14820
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.site_name));
14821
if (ndr_get_array_length(ndr, &r->in.site_name) > ndr_get_array_size(ndr, &r->in.site_name)) {
14822
return 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));
14824
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.site_name), sizeof(uint16_t)));
14825
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));
14826
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_site_name_0, 0);
14828
NDR_CHECK(ndr_pull_netr_DsRGetDCName_flags(ndr, NDR_SCALARS, &r->in.flags));
14829
NDR_PULL_ALLOC(ndr, r->out.info);
14830
ZERO_STRUCTP(r->out.info);
14832
if (flags & NDR_OUT) {
14833
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
14834
NDR_PULL_ALLOC(ndr, r->out.info);
14836
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
14837
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
14838
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
14840
NDR_PULL_ALLOC(ndr, *r->out.info);
14842
*r->out.info = NULL;
14844
if (*r->out.info) {
14845
_mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
14846
NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
14847
NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
14848
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
14850
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
14851
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14853
return NDR_ERR_SUCCESS;
14856
_PUBLIC_ void ndr_print_netr_DsRGetDCNameEx2(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx2 *r)
14858
ndr_print_struct(ndr, name, "netr_DsRGetDCNameEx2");
14860
if (flags & NDR_SET_VALUES) {
14861
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14863
if (flags & NDR_IN) {
14864
ndr_print_struct(ndr, "in", "netr_DsRGetDCNameEx2");
14866
ndr_print_ptr(ndr, "server_unc", r->in.server_unc);
14868
if (r->in.server_unc) {
14869
ndr_print_string(ndr, "server_unc", r->in.server_unc);
14872
ndr_print_ptr(ndr, "client_account", r->in.client_account);
14874
if (r->in.client_account) {
14875
ndr_print_string(ndr, "client_account", r->in.client_account);
14878
ndr_print_samr_AcctFlags(ndr, "mask", r->in.mask);
14879
ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
14881
if (r->in.domain_name) {
14882
ndr_print_string(ndr, "domain_name", r->in.domain_name);
14885
ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
14887
if (r->in.domain_guid) {
14888
ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
14891
ndr_print_ptr(ndr, "site_name", r->in.site_name);
14893
if (r->in.site_name) {
14894
ndr_print_string(ndr, "site_name", r->in.site_name);
14897
ndr_print_netr_DsRGetDCName_flags(ndr, "flags", r->in.flags);
14900
if (flags & NDR_OUT) {
14901
ndr_print_struct(ndr, "out", "netr_DsRGetDCNameEx2");
14903
ndr_print_ptr(ndr, "info", r->out.info);
14905
ndr_print_ptr(ndr, "info", *r->out.info);
14907
if (*r->out.info) {
14908
ndr_print_netr_DsRGetDCNameInfo(ndr, "info", *r->out.info);
14912
ndr_print_WERROR(ndr, "result", r->out.result);
14918
static enum ndr_err_code ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14920
if (flags & NDR_IN) {
14922
if (flags & NDR_OUT) {
14923
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14925
return NDR_ERR_SUCCESS;
14928
static enum ndr_err_code ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14930
if (flags & NDR_IN) {
14932
if (flags & NDR_OUT) {
14933
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
14935
return NDR_ERR_SUCCESS;
14938
_PUBLIC_ void ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r)
14940
ndr_print_struct(ndr, name, "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14942
if (flags & NDR_SET_VALUES) {
14943
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
14945
if (flags & NDR_IN) {
14946
ndr_print_struct(ndr, "in", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14950
if (flags & NDR_OUT) {
14951
ndr_print_struct(ndr, "out", "netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN");
14953
ndr_print_WERROR(ndr, "result", r->out.result);
14959
static enum ndr_err_code ndr_push_netr_NetrEnumerateTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
14961
if (flags & NDR_IN) {
14962
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
14963
if (r->in.server_name) {
14964
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14965
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
14966
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
14967
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));
14970
if (flags & NDR_OUT) {
14971
if (r->out.dom_trust_list == NULL) {
14972
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
14974
NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
14975
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
14977
return NDR_ERR_SUCCESS;
14980
static enum ndr_err_code ndr_pull_netr_NetrEnumerateTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct netr_NetrEnumerateTrustedDomainsEx *r)
14982
uint32_t _ptr_server_name;
14983
TALLOC_CTX *_mem_save_server_name_0;
14984
TALLOC_CTX *_mem_save_dom_trust_list_0;
14985
if (flags & NDR_IN) {
14986
ZERO_STRUCT(r->out);
14988
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
14989
if (_ptr_server_name) {
14990
NDR_PULL_ALLOC(ndr, r->in.server_name);
14992
r->in.server_name = NULL;
14994
if (r->in.server_name) {
14995
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
14996
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
14997
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
14998
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
14999
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15000
return 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));
15002
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15003
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));
15004
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15006
NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
15007
ZERO_STRUCTP(r->out.dom_trust_list);
15009
if (flags & NDR_OUT) {
15010
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15011
NDR_PULL_ALLOC(ndr, r->out.dom_trust_list);
15013
_mem_save_dom_trust_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
15014
NDR_PULL_SET_MEM_CTX(ndr, r->out.dom_trust_list, LIBNDR_FLAG_REF_ALLOC);
15015
NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dom_trust_list));
15016
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_trust_list_0, LIBNDR_FLAG_REF_ALLOC);
15017
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15019
return NDR_ERR_SUCCESS;
15022
_PUBLIC_ void ndr_print_netr_NetrEnumerateTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomainsEx *r)
15024
ndr_print_struct(ndr, name, "netr_NetrEnumerateTrustedDomainsEx");
15026
if (flags & NDR_SET_VALUES) {
15027
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15029
if (flags & NDR_IN) {
15030
ndr_print_struct(ndr, "in", "netr_NetrEnumerateTrustedDomainsEx");
15032
ndr_print_ptr(ndr, "server_name", r->in.server_name);
15034
if (r->in.server_name) {
15035
ndr_print_string(ndr, "server_name", r->in.server_name);
15040
if (flags & NDR_OUT) {
15041
ndr_print_struct(ndr, "out", "netr_NetrEnumerateTrustedDomainsEx");
15043
ndr_print_ptr(ndr, "dom_trust_list", r->out.dom_trust_list);
15045
ndr_print_netr_DomainTrustList(ndr, "dom_trust_list", r->out.dom_trust_list);
15047
ndr_print_WERROR(ndr, "result", r->out.result);
15053
static enum ndr_err_code ndr_push_netr_DsRAddressToSitenamesExW(struct ndr_push *ndr, int flags, const struct netr_DsRAddressToSitenamesExW *r)
15055
uint32_t cntr_addresses_1;
15056
if (flags & NDR_IN) {
15057
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15058
if (r->in.server_name) {
15059
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15060
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15061
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15062
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));
15064
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.count));
15065
if (r->in.addresses == NULL) {
15066
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15068
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.count));
15069
for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
15070
NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
15072
for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
15073
NDR_CHECK(ndr_push_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
15076
if (flags & NDR_OUT) {
15077
if (r->out.ctr == NULL) {
15078
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15080
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
15082
NDR_CHECK(ndr_push_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15084
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15086
return NDR_ERR_SUCCESS;
15089
static enum ndr_err_code ndr_pull_netr_DsRAddressToSitenamesExW(struct ndr_pull *ndr, int flags, struct netr_DsRAddressToSitenamesExW *r)
15091
uint32_t _ptr_server_name;
15092
uint32_t cntr_addresses_1;
15094
TALLOC_CTX *_mem_save_server_name_0;
15095
TALLOC_CTX *_mem_save_addresses_1;
15096
TALLOC_CTX *_mem_save_ctr_0;
15097
TALLOC_CTX *_mem_save_ctr_1;
15098
if (flags & NDR_IN) {
15099
ZERO_STRUCT(r->out);
15101
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15102
if (_ptr_server_name) {
15103
NDR_PULL_ALLOC(ndr, r->in.server_name);
15105
r->in.server_name = NULL;
15107
if (r->in.server_name) {
15108
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15109
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15110
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15111
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15112
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15113
return 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));
15115
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15116
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));
15117
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15119
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.count));
15120
if (r->in.count > 32000) {
15121
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
15123
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.addresses));
15124
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15125
NDR_PULL_ALLOC_N(ndr, r->in.addresses, ndr_get_array_size(ndr, &r->in.addresses));
15127
_mem_save_addresses_1 = NDR_PULL_GET_MEM_CTX(ndr);
15128
NDR_PULL_SET_MEM_CTX(ndr, r->in.addresses, 0);
15129
for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
15130
NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_SCALARS, &r->in.addresses[cntr_addresses_1]));
15132
for (cntr_addresses_1 = 0; cntr_addresses_1 < r->in.count; cntr_addresses_1++) {
15133
NDR_CHECK(ndr_pull_netr_DsRAddress(ndr, NDR_BUFFERS, &r->in.addresses[cntr_addresses_1]));
15135
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_addresses_1, 0);
15136
NDR_PULL_ALLOC(ndr, r->out.ctr);
15137
ZERO_STRUCTP(r->out.ctr);
15138
if (r->in.addresses) {
15139
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.addresses, r->in.count));
15142
if (flags & NDR_OUT) {
15143
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15144
NDR_PULL_ALLOC(ndr, r->out.ctr);
15146
_mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15147
NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15148
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
15150
NDR_PULL_ALLOC(ndr, *r->out.ctr);
15152
*r->out.ctr = NULL;
15155
_mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
15156
NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
15157
NDR_CHECK(ndr_pull_netr_DsRAddressToSitenamesExWCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15158
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
15160
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15161
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15163
return NDR_ERR_SUCCESS;
15166
_PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesExW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRAddressToSitenamesExW *r)
15168
uint32_t cntr_addresses_1;
15169
ndr_print_struct(ndr, name, "netr_DsRAddressToSitenamesExW");
15171
if (flags & NDR_SET_VALUES) {
15172
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15174
if (flags & NDR_IN) {
15175
ndr_print_struct(ndr, "in", "netr_DsRAddressToSitenamesExW");
15177
ndr_print_ptr(ndr, "server_name", r->in.server_name);
15179
if (r->in.server_name) {
15180
ndr_print_string(ndr, "server_name", r->in.server_name);
15183
ndr_print_uint32(ndr, "count", r->in.count);
15184
ndr_print_ptr(ndr, "addresses", r->in.addresses);
15186
ndr->print(ndr, "%s: ARRAY(%d)", "addresses", (int)r->in.count);
15188
for (cntr_addresses_1=0;cntr_addresses_1<r->in.count;cntr_addresses_1++) {
15190
if (asprintf(&idx_1, "[%d]", cntr_addresses_1) != -1) {
15191
ndr_print_netr_DsRAddress(ndr, "addresses", &r->in.addresses[cntr_addresses_1]);
15199
if (flags & NDR_OUT) {
15200
ndr_print_struct(ndr, "out", "netr_DsRAddressToSitenamesExW");
15202
ndr_print_ptr(ndr, "ctr", r->out.ctr);
15204
ndr_print_ptr(ndr, "ctr", *r->out.ctr);
15207
ndr_print_netr_DsRAddressToSitenamesExWCtr(ndr, "ctr", *r->out.ctr);
15211
ndr_print_WERROR(ndr, "result", r->out.result);
15217
static enum ndr_err_code ndr_push_netr_DsrGetDcSiteCoverageW(struct ndr_push *ndr, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
15219
if (flags & NDR_IN) {
15220
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15221
if (r->in.server_name) {
15222
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15223
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15224
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15225
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));
15228
if (flags & NDR_OUT) {
15229
if (r->out.ctr == NULL) {
15230
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15232
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
15234
NDR_CHECK(ndr_push_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15236
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15238
return NDR_ERR_SUCCESS;
15241
static enum ndr_err_code ndr_pull_netr_DsrGetDcSiteCoverageW(struct ndr_pull *ndr, int flags, struct netr_DsrGetDcSiteCoverageW *r)
15243
uint32_t _ptr_server_name;
15245
TALLOC_CTX *_mem_save_server_name_0;
15246
TALLOC_CTX *_mem_save_ctr_0;
15247
TALLOC_CTX *_mem_save_ctr_1;
15248
if (flags & NDR_IN) {
15249
ZERO_STRUCT(r->out);
15251
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15252
if (_ptr_server_name) {
15253
NDR_PULL_ALLOC(ndr, r->in.server_name);
15255
r->in.server_name = NULL;
15257
if (r->in.server_name) {
15258
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15259
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15260
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15261
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15262
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15263
return 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));
15265
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15266
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));
15267
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15269
NDR_PULL_ALLOC(ndr, r->out.ctr);
15270
ZERO_STRUCTP(r->out.ctr);
15272
if (flags & NDR_OUT) {
15273
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15274
NDR_PULL_ALLOC(ndr, r->out.ctr);
15276
_mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
15277
NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
15278
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
15280
NDR_PULL_ALLOC(ndr, *r->out.ctr);
15282
*r->out.ctr = NULL;
15285
_mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
15286
NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
15287
NDR_CHECK(ndr_pull_DcSitesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
15288
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
15290
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
15291
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15293
return NDR_ERR_SUCCESS;
15296
_PUBLIC_ void ndr_print_netr_DsrGetDcSiteCoverageW(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrGetDcSiteCoverageW *r)
15298
ndr_print_struct(ndr, name, "netr_DsrGetDcSiteCoverageW");
15300
if (flags & NDR_SET_VALUES) {
15301
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15303
if (flags & NDR_IN) {
15304
ndr_print_struct(ndr, "in", "netr_DsrGetDcSiteCoverageW");
15306
ndr_print_ptr(ndr, "server_name", r->in.server_name);
15308
if (r->in.server_name) {
15309
ndr_print_string(ndr, "server_name", r->in.server_name);
15314
if (flags & NDR_OUT) {
15315
ndr_print_struct(ndr, "out", "netr_DsrGetDcSiteCoverageW");
15317
ndr_print_ptr(ndr, "ctr", r->out.ctr);
15319
ndr_print_ptr(ndr, "ctr", *r->out.ctr);
15322
ndr_print_DcSitesCtr(ndr, "ctr", *r->out.ctr);
15326
ndr_print_WERROR(ndr, "result", r->out.result);
15332
static enum ndr_err_code ndr_push_netr_LogonSamLogonEx(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonEx *r)
15334
if (flags & NDR_IN) {
15335
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15336
if (r->in.server_name) {
15337
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15338
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15339
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15340
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));
15342
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
15343
if (r->in.computer_name) {
15344
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15345
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15346
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15347
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));
15349
NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
15350
if (r->in.logon == NULL) {
15351
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15353
NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15354
NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15355
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
15356
if (r->in.flags == NULL) {
15357
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15359
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
15361
if (flags & NDR_OUT) {
15362
if (r->out.validation == NULL) {
15363
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15365
NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15366
NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15367
if (r->out.authoritative == NULL) {
15368
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15370
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
15371
if (r->out.flags == NULL) {
15372
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15374
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
15375
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15377
return NDR_ERR_SUCCESS;
15380
static enum ndr_err_code ndr_pull_netr_LogonSamLogonEx(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonEx *r)
15382
uint32_t _ptr_server_name;
15383
uint32_t _ptr_computer_name;
15384
TALLOC_CTX *_mem_save_server_name_0;
15385
TALLOC_CTX *_mem_save_computer_name_0;
15386
TALLOC_CTX *_mem_save_logon_0;
15387
TALLOC_CTX *_mem_save_validation_0;
15388
TALLOC_CTX *_mem_save_authoritative_0;
15389
TALLOC_CTX *_mem_save_flags_0;
15390
if (flags & NDR_IN) {
15391
ZERO_STRUCT(r->out);
15393
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15394
if (_ptr_server_name) {
15395
NDR_PULL_ALLOC(ndr, r->in.server_name);
15397
r->in.server_name = NULL;
15399
if (r->in.server_name) {
15400
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15401
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15402
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15403
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15404
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15405
return 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));
15407
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15408
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));
15409
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15411
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
15412
if (_ptr_computer_name) {
15413
NDR_PULL_ALLOC(ndr, r->in.computer_name);
15415
r->in.computer_name = NULL;
15417
if (r->in.computer_name) {
15418
_mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15419
NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
15420
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15421
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15422
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15423
return 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));
15425
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15426
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));
15427
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
15429
NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
15430
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15431
NDR_PULL_ALLOC(ndr, r->in.logon);
15433
_mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
15434
NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
15435
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
15436
NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
15437
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
15438
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
15439
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15440
NDR_PULL_ALLOC(ndr, r->in.flags);
15442
_mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15443
NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
15444
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
15445
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15446
NDR_PULL_ALLOC(ndr, r->out.validation);
15447
ZERO_STRUCTP(r->out.validation);
15448
NDR_PULL_ALLOC(ndr, r->out.authoritative);
15449
ZERO_STRUCTP(r->out.authoritative);
15450
NDR_PULL_ALLOC(ndr, r->out.flags);
15451
*r->out.flags = *r->in.flags;
15453
if (flags & NDR_OUT) {
15454
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15455
NDR_PULL_ALLOC(ndr, r->out.validation);
15457
_mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
15458
NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
15459
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
15460
NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
15461
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
15462
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15463
NDR_PULL_ALLOC(ndr, r->out.authoritative);
15465
_mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
15466
NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
15467
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
15468
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
15469
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15470
NDR_PULL_ALLOC(ndr, r->out.flags);
15472
_mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
15473
NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
15474
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
15475
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
15476
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15478
return NDR_ERR_SUCCESS;
15481
_PUBLIC_ void ndr_print_netr_LogonSamLogonEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonEx *r)
15483
ndr_print_struct(ndr, name, "netr_LogonSamLogonEx");
15485
if (flags & NDR_SET_VALUES) {
15486
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15488
if (flags & NDR_IN) {
15489
ndr_print_struct(ndr, "in", "netr_LogonSamLogonEx");
15491
ndr_print_ptr(ndr, "server_name", r->in.server_name);
15493
if (r->in.server_name) {
15494
ndr_print_string(ndr, "server_name", r->in.server_name);
15497
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15499
if (r->in.computer_name) {
15500
ndr_print_string(ndr, "computer_name", r->in.computer_name);
15503
ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
15504
ndr_print_ptr(ndr, "logon", r->in.logon);
15506
ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
15507
ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
15509
ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
15510
ndr_print_ptr(ndr, "flags", r->in.flags);
15512
ndr_print_uint32(ndr, "flags", *r->in.flags);
15516
if (flags & NDR_OUT) {
15517
ndr_print_struct(ndr, "out", "netr_LogonSamLogonEx");
15519
ndr_print_ptr(ndr, "validation", r->out.validation);
15521
ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
15522
ndr_print_netr_Validation(ndr, "validation", r->out.validation);
15524
ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
15526
ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
15528
ndr_print_ptr(ndr, "flags", r->out.flags);
15530
ndr_print_uint32(ndr, "flags", *r->out.flags);
15532
ndr_print_NTSTATUS(ndr, "result", r->out.result);
15538
static enum ndr_err_code ndr_push_netr_DsrEnumerateDomainTrusts(struct ndr_push *ndr, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15540
if (flags & NDR_IN) {
15541
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15542
if (r->in.server_name) {
15543
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15544
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15545
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15546
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));
15548
NDR_CHECK(ndr_push_netr_TrustFlags(ndr, NDR_SCALARS, r->in.trust_flags));
15550
if (flags & NDR_OUT) {
15551
if (r->out.trusts == NULL) {
15552
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15554
NDR_CHECK(ndr_push_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15555
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15557
return NDR_ERR_SUCCESS;
15560
static enum ndr_err_code ndr_pull_netr_DsrEnumerateDomainTrusts(struct ndr_pull *ndr, int flags, struct netr_DsrEnumerateDomainTrusts *r)
15562
uint32_t _ptr_server_name;
15563
TALLOC_CTX *_mem_save_server_name_0;
15564
TALLOC_CTX *_mem_save_trusts_0;
15565
if (flags & NDR_IN) {
15566
ZERO_STRUCT(r->out);
15568
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15569
if (_ptr_server_name) {
15570
NDR_PULL_ALLOC(ndr, r->in.server_name);
15572
r->in.server_name = NULL;
15574
if (r->in.server_name) {
15575
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15576
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15577
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15578
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15579
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15580
return 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));
15582
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15583
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));
15584
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15586
NDR_CHECK(ndr_pull_netr_TrustFlags(ndr, NDR_SCALARS, &r->in.trust_flags));
15587
NDR_PULL_ALLOC(ndr, r->out.trusts);
15588
ZERO_STRUCTP(r->out.trusts);
15590
if (flags & NDR_OUT) {
15591
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15592
NDR_PULL_ALLOC(ndr, r->out.trusts);
15594
_mem_save_trusts_0 = NDR_PULL_GET_MEM_CTX(ndr);
15595
NDR_PULL_SET_MEM_CTX(ndr, r->out.trusts, LIBNDR_FLAG_REF_ALLOC);
15596
NDR_CHECK(ndr_pull_netr_DomainTrustList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.trusts));
15597
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusts_0, LIBNDR_FLAG_REF_ALLOC);
15598
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15600
return NDR_ERR_SUCCESS;
15603
_PUBLIC_ void ndr_print_netr_DsrEnumerateDomainTrusts(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrEnumerateDomainTrusts *r)
15605
ndr_print_struct(ndr, name, "netr_DsrEnumerateDomainTrusts");
15607
if (flags & NDR_SET_VALUES) {
15608
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15610
if (flags & NDR_IN) {
15611
ndr_print_struct(ndr, "in", "netr_DsrEnumerateDomainTrusts");
15613
ndr_print_ptr(ndr, "server_name", r->in.server_name);
15615
if (r->in.server_name) {
15616
ndr_print_string(ndr, "server_name", r->in.server_name);
15619
ndr_print_netr_TrustFlags(ndr, "trust_flags", r->in.trust_flags);
15622
if (flags & NDR_OUT) {
15623
ndr_print_struct(ndr, "out", "netr_DsrEnumerateDomainTrusts");
15625
ndr_print_ptr(ndr, "trusts", r->out.trusts);
15627
ndr_print_netr_DomainTrustList(ndr, "trusts", r->out.trusts);
15629
ndr_print_WERROR(ndr, "result", r->out.result);
15635
static enum ndr_err_code ndr_push_netr_DsrDeregisterDNSHostRecords(struct ndr_push *ndr, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15637
if (flags & NDR_IN) {
15638
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15639
if (r->in.server_name) {
15640
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15641
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15642
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15643
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));
15645
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain));
15646
if (r->in.domain) {
15647
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15648
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15649
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF16)));
15650
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
15652
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_guid));
15653
if (r->in.domain_guid) {
15654
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15656
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dsa_guid));
15657
if (r->in.dsa_guid) {
15658
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15660
if (r->in.dns_host == NULL) {
15661
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15663
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15664
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15665
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.dns_host, CH_UTF16)));
15666
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));
15668
if (flags & NDR_OUT) {
15669
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
15671
return NDR_ERR_SUCCESS;
15674
static enum ndr_err_code ndr_pull_netr_DsrDeregisterDNSHostRecords(struct ndr_pull *ndr, int flags, struct netr_DsrDeregisterDNSHostRecords *r)
15676
uint32_t _ptr_server_name;
15677
uint32_t _ptr_domain;
15678
uint32_t _ptr_domain_guid;
15679
uint32_t _ptr_dsa_guid;
15680
TALLOC_CTX *_mem_save_server_name_0;
15681
TALLOC_CTX *_mem_save_domain_0;
15682
TALLOC_CTX *_mem_save_domain_guid_0;
15683
TALLOC_CTX *_mem_save_dsa_guid_0;
15684
if (flags & NDR_IN) {
15685
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15686
if (_ptr_server_name) {
15687
NDR_PULL_ALLOC(ndr, r->in.server_name);
15689
r->in.server_name = NULL;
15691
if (r->in.server_name) {
15692
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15693
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15694
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15695
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15696
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15697
return 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));
15699
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15700
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));
15701
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15703
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
15705
NDR_PULL_ALLOC(ndr, r->in.domain);
15707
r->in.domain = NULL;
15709
if (r->in.domain) {
15710
_mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
15711
NDR_PULL_SET_MEM_CTX(ndr, r->in.domain, 0);
15712
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain));
15713
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain));
15714
if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) {
15715
return 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));
15717
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t)));
15718
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint16_t), CH_UTF16));
15719
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, 0);
15721
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_guid));
15722
if (_ptr_domain_guid) {
15723
NDR_PULL_ALLOC(ndr, r->in.domain_guid);
15725
r->in.domain_guid = NULL;
15727
if (r->in.domain_guid) {
15728
_mem_save_domain_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15729
NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_guid, 0);
15730
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.domain_guid));
15731
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_guid_0, 0);
15733
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dsa_guid));
15734
if (_ptr_dsa_guid) {
15735
NDR_PULL_ALLOC(ndr, r->in.dsa_guid);
15737
r->in.dsa_guid = NULL;
15739
if (r->in.dsa_guid) {
15740
_mem_save_dsa_guid_0 = NDR_PULL_GET_MEM_CTX(ndr);
15741
NDR_PULL_SET_MEM_CTX(ndr, r->in.dsa_guid, 0);
15742
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.dsa_guid));
15743
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dsa_guid_0, 0);
15745
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_host));
15746
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_host));
15747
if (ndr_get_array_length(ndr, &r->in.dns_host) > ndr_get_array_size(ndr, &r->in.dns_host)) {
15748
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dns_host), ndr_get_array_length(ndr, &r->in.dns_host));
15750
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_host), sizeof(uint16_t)));
15751
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));
15753
if (flags & NDR_OUT) {
15754
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
15756
return NDR_ERR_SUCCESS;
15759
_PUBLIC_ void ndr_print_netr_DsrDeregisterDNSHostRecords(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsrDeregisterDNSHostRecords *r)
15761
ndr_print_struct(ndr, name, "netr_DsrDeregisterDNSHostRecords");
15763
if (flags & NDR_SET_VALUES) {
15764
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15766
if (flags & NDR_IN) {
15767
ndr_print_struct(ndr, "in", "netr_DsrDeregisterDNSHostRecords");
15769
ndr_print_ptr(ndr, "server_name", r->in.server_name);
15771
if (r->in.server_name) {
15772
ndr_print_string(ndr, "server_name", r->in.server_name);
15775
ndr_print_ptr(ndr, "domain", r->in.domain);
15777
if (r->in.domain) {
15778
ndr_print_string(ndr, "domain", r->in.domain);
15781
ndr_print_ptr(ndr, "domain_guid", r->in.domain_guid);
15783
if (r->in.domain_guid) {
15784
ndr_print_GUID(ndr, "domain_guid", r->in.domain_guid);
15787
ndr_print_ptr(ndr, "dsa_guid", r->in.dsa_guid);
15789
if (r->in.dsa_guid) {
15790
ndr_print_GUID(ndr, "dsa_guid", r->in.dsa_guid);
15793
ndr_print_ptr(ndr, "dns_host", r->in.dns_host);
15795
ndr_print_string(ndr, "dns_host", r->in.dns_host);
15799
if (flags & NDR_OUT) {
15800
ndr_print_struct(ndr, "out", "netr_DsrDeregisterDNSHostRecords");
15802
ndr_print_WERROR(ndr, "result", r->out.result);
15808
static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *ndr, int flags, const struct netr_ServerTrustPasswordsGet *r)
15810
if (flags & NDR_IN) {
15811
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15812
if (r->in.server_name) {
15813
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15814
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15815
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15816
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));
15818
if (r->in.account_name == NULL) {
15819
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15821
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15822
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15823
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
15824
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));
15825
NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
15826
if (r->in.computer_name == NULL) {
15827
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15829
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15830
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
15831
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
15832
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));
15833
if (r->in.credential == NULL) {
15834
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15836
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15838
if (flags & NDR_OUT) {
15839
if (r->out.return_authenticator == NULL) {
15840
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15842
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15843
if (r->out.password == NULL) {
15844
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15846
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password));
15847
if (r->out.password2 == NULL) {
15848
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
15850
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15851
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
15853
return NDR_ERR_SUCCESS;
15856
static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *ndr, int flags, struct netr_ServerTrustPasswordsGet *r)
15858
uint32_t _ptr_server_name;
15859
TALLOC_CTX *_mem_save_server_name_0;
15860
TALLOC_CTX *_mem_save_credential_0;
15861
TALLOC_CTX *_mem_save_return_authenticator_0;
15862
TALLOC_CTX *_mem_save_password_0;
15863
TALLOC_CTX *_mem_save_password2_0;
15864
if (flags & NDR_IN) {
15865
ZERO_STRUCT(r->out);
15867
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
15868
if (_ptr_server_name) {
15869
NDR_PULL_ALLOC(ndr, r->in.server_name);
15871
r->in.server_name = NULL;
15873
if (r->in.server_name) {
15874
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
15875
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
15876
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
15877
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
15878
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
15879
return 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));
15881
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
15882
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));
15883
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
15885
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
15886
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
15887
if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
15888
return 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));
15890
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
15891
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));
15892
NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
15893
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
15894
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
15895
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
15896
return 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));
15898
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
15899
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));
15900
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15901
NDR_PULL_ALLOC(ndr, r->in.credential);
15903
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
15904
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
15905
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
15906
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
15907
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15908
ZERO_STRUCTP(r->out.return_authenticator);
15909
NDR_PULL_ALLOC(ndr, r->out.password);
15910
ZERO_STRUCTP(r->out.password);
15911
NDR_PULL_ALLOC(ndr, r->out.password2);
15912
ZERO_STRUCTP(r->out.password2);
15914
if (flags & NDR_OUT) {
15915
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15916
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
15918
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
15919
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
15920
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
15921
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
15922
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15923
NDR_PULL_ALLOC(ndr, r->out.password);
15925
_mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
15926
NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
15927
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password));
15928
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
15929
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
15930
NDR_PULL_ALLOC(ndr, r->out.password2);
15932
_mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
15933
NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
15934
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2));
15935
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
15936
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
15938
return NDR_ERR_SUCCESS;
15941
_PUBLIC_ void ndr_print_netr_ServerTrustPasswordsGet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerTrustPasswordsGet *r)
15943
ndr_print_struct(ndr, name, "netr_ServerTrustPasswordsGet");
15945
if (flags & NDR_SET_VALUES) {
15946
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
15948
if (flags & NDR_IN) {
15949
ndr_print_struct(ndr, "in", "netr_ServerTrustPasswordsGet");
15951
ndr_print_ptr(ndr, "server_name", r->in.server_name);
15953
if (r->in.server_name) {
15954
ndr_print_string(ndr, "server_name", r->in.server_name);
15957
ndr_print_ptr(ndr, "account_name", r->in.account_name);
15959
ndr_print_string(ndr, "account_name", r->in.account_name);
15961
ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
15962
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
15964
ndr_print_string(ndr, "computer_name", r->in.computer_name);
15966
ndr_print_ptr(ndr, "credential", r->in.credential);
15968
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
15972
if (flags & NDR_OUT) {
15973
ndr_print_struct(ndr, "out", "netr_ServerTrustPasswordsGet");
15975
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
15977
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
15979
ndr_print_ptr(ndr, "password", r->out.password);
15981
ndr_print_samr_Password(ndr, "password", r->out.password);
15983
ndr_print_ptr(ndr, "password2", r->out.password2);
15985
ndr_print_samr_Password(ndr, "password2", r->out.password2);
15987
ndr_print_NTSTATUS(ndr, "result", r->out.result);
15993
static enum ndr_err_code ndr_push_netr_DsRGetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_DsRGetForestTrustInformation *r)
15995
if (flags & NDR_IN) {
15996
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
15997
if (r->in.server_name) {
15998
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
15999
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16000
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16001
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));
16003
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.trusted_domain_name));
16004
if (r->in.trusted_domain_name) {
16005
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
16006
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16007
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
16008
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));
16010
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
16012
if (flags & NDR_OUT) {
16013
if (r->out.forest_trust_info == NULL) {
16014
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16016
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
16017
if (*r->out.forest_trust_info) {
16018
NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16020
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16022
return NDR_ERR_SUCCESS;
16025
static enum ndr_err_code ndr_pull_netr_DsRGetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_DsRGetForestTrustInformation *r)
16027
uint32_t _ptr_server_name;
16028
uint32_t _ptr_trusted_domain_name;
16029
uint32_t _ptr_forest_trust_info;
16030
TALLOC_CTX *_mem_save_server_name_0;
16031
TALLOC_CTX *_mem_save_trusted_domain_name_0;
16032
TALLOC_CTX *_mem_save_forest_trust_info_0;
16033
TALLOC_CTX *_mem_save_forest_trust_info_1;
16034
if (flags & NDR_IN) {
16035
ZERO_STRUCT(r->out);
16037
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16038
if (_ptr_server_name) {
16039
NDR_PULL_ALLOC(ndr, r->in.server_name);
16041
r->in.server_name = NULL;
16043
if (r->in.server_name) {
16044
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16045
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16046
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16047
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16048
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16049
return 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));
16051
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16052
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));
16053
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16055
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trusted_domain_name));
16056
if (_ptr_trusted_domain_name) {
16057
NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
16059
r->in.trusted_domain_name = NULL;
16061
if (r->in.trusted_domain_name) {
16062
_mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16063
NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, 0);
16064
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
16065
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
16066
if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
16067
return 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));
16069
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
16070
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));
16071
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, 0);
16073
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
16074
NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16075
ZERO_STRUCTP(r->out.forest_trust_info);
16077
if (flags & NDR_OUT) {
16078
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16079
NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16081
_mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16082
NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
16083
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
16084
if (_ptr_forest_trust_info) {
16085
NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
16087
*r->out.forest_trust_info = NULL;
16089
if (*r->out.forest_trust_info) {
16090
_mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16091
NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
16092
NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16093
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
16095
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16096
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16098
return NDR_ERR_SUCCESS;
16101
_PUBLIC_ void ndr_print_netr_DsRGetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetForestTrustInformation *r)
16103
ndr_print_struct(ndr, name, "netr_DsRGetForestTrustInformation");
16105
if (flags & NDR_SET_VALUES) {
16106
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16108
if (flags & NDR_IN) {
16109
ndr_print_struct(ndr, "in", "netr_DsRGetForestTrustInformation");
16111
ndr_print_ptr(ndr, "server_name", r->in.server_name);
16113
if (r->in.server_name) {
16114
ndr_print_string(ndr, "server_name", r->in.server_name);
16117
ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16119
if (r->in.trusted_domain_name) {
16120
ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16123
ndr_print_uint32(ndr, "flags", r->in.flags);
16126
if (flags & NDR_OUT) {
16127
ndr_print_struct(ndr, "out", "netr_DsRGetForestTrustInformation");
16129
ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
16131
ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
16133
if (*r->out.forest_trust_info) {
16134
ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
16138
ndr_print_WERROR(ndr, "result", r->out.result);
16144
static enum ndr_err_code ndr_push_netr_GetForestTrustInformation(struct ndr_push *ndr, int flags, const struct netr_GetForestTrustInformation *r)
16146
if (flags & NDR_IN) {
16147
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16148
if (r->in.server_name) {
16149
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16150
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16151
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16152
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));
16154
if (r->in.trusted_domain_name == NULL) {
16155
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16157
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
16158
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16159
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.trusted_domain_name, CH_UTF16)));
16160
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));
16161
if (r->in.credential == NULL) {
16162
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16164
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16165
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
16167
if (flags & NDR_OUT) {
16168
if (r->out.return_authenticator == NULL) {
16169
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16171
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16172
if (r->out.forest_trust_info == NULL) {
16173
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16175
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
16176
if (*r->out.forest_trust_info) {
16177
NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16179
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
16181
return NDR_ERR_SUCCESS;
16184
static enum ndr_err_code ndr_pull_netr_GetForestTrustInformation(struct ndr_pull *ndr, int flags, struct netr_GetForestTrustInformation *r)
16186
uint32_t _ptr_server_name;
16187
uint32_t _ptr_forest_trust_info;
16188
TALLOC_CTX *_mem_save_server_name_0;
16189
TALLOC_CTX *_mem_save_credential_0;
16190
TALLOC_CTX *_mem_save_return_authenticator_0;
16191
TALLOC_CTX *_mem_save_forest_trust_info_0;
16192
TALLOC_CTX *_mem_save_forest_trust_info_1;
16193
if (flags & NDR_IN) {
16194
ZERO_STRUCT(r->out);
16196
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16197
if (_ptr_server_name) {
16198
NDR_PULL_ALLOC(ndr, r->in.server_name);
16200
r->in.server_name = NULL;
16202
if (r->in.server_name) {
16203
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16204
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16205
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16206
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16207
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16208
return 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));
16210
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16211
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));
16212
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16214
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.trusted_domain_name));
16215
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.trusted_domain_name));
16216
if (ndr_get_array_length(ndr, &r->in.trusted_domain_name) > ndr_get_array_size(ndr, &r->in.trusted_domain_name)) {
16217
return 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));
16219
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.trusted_domain_name), sizeof(uint16_t)));
16220
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));
16221
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16222
NDR_PULL_ALLOC(ndr, r->in.credential);
16224
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16225
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16226
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16227
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16228
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
16229
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16230
ZERO_STRUCTP(r->out.return_authenticator);
16231
NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16232
ZERO_STRUCTP(r->out.forest_trust_info);
16234
if (flags & NDR_OUT) {
16235
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16236
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16238
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16239
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16240
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16241
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16242
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16243
NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
16245
_mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16246
NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
16247
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
16248
if (_ptr_forest_trust_info) {
16249
NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
16251
*r->out.forest_trust_info = NULL;
16253
if (*r->out.forest_trust_info) {
16254
_mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16255
NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
16256
NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
16257
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
16259
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16260
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
16262
return NDR_ERR_SUCCESS;
16265
_PUBLIC_ void ndr_print_netr_GetForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct netr_GetForestTrustInformation *r)
16267
ndr_print_struct(ndr, name, "netr_GetForestTrustInformation");
16269
if (flags & NDR_SET_VALUES) {
16270
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16272
if (flags & NDR_IN) {
16273
ndr_print_struct(ndr, "in", "netr_GetForestTrustInformation");
16275
ndr_print_ptr(ndr, "server_name", r->in.server_name);
16277
if (r->in.server_name) {
16278
ndr_print_string(ndr, "server_name", r->in.server_name);
16281
ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16283
ndr_print_string(ndr, "trusted_domain_name", r->in.trusted_domain_name);
16285
ndr_print_ptr(ndr, "credential", r->in.credential);
16287
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16289
ndr_print_uint32(ndr, "flags", r->in.flags);
16292
if (flags & NDR_OUT) {
16293
ndr_print_struct(ndr, "out", "netr_GetForestTrustInformation");
16295
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16297
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16299
ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
16301
ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
16303
if (*r->out.forest_trust_info) {
16304
ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
16308
ndr_print_WERROR(ndr, "result", r->out.result);
16314
static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *ndr, int flags, const struct netr_LogonSamLogonWithFlags *r)
16316
if (flags & NDR_IN) {
16317
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16318
if (r->in.server_name) {
16319
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16320
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16321
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16322
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));
16324
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name));
16325
if (r->in.computer_name) {
16326
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16327
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16328
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16329
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));
16331
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.credential));
16332
if (r->in.credential) {
16333
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16335
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.return_authenticator));
16336
if (r->in.return_authenticator) {
16337
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16339
NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
16340
if (r->in.logon == NULL) {
16341
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16343
NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16344
NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16345
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
16346
if (r->in.flags == NULL) {
16347
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16349
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.flags));
16351
if (flags & NDR_OUT) {
16352
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.return_authenticator));
16353
if (r->out.return_authenticator) {
16354
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16356
if (r->out.validation == NULL) {
16357
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16359
NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16360
NDR_CHECK(ndr_push_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16361
if (r->out.authoritative == NULL) {
16362
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16364
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->out.authoritative));
16365
if (r->out.flags == NULL) {
16366
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16368
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.flags));
16369
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16371
return NDR_ERR_SUCCESS;
16374
static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *ndr, int flags, struct netr_LogonSamLogonWithFlags *r)
16376
uint32_t _ptr_server_name;
16377
uint32_t _ptr_computer_name;
16378
uint32_t _ptr_credential;
16379
uint32_t _ptr_return_authenticator;
16380
TALLOC_CTX *_mem_save_server_name_0;
16381
TALLOC_CTX *_mem_save_computer_name_0;
16382
TALLOC_CTX *_mem_save_credential_0;
16383
TALLOC_CTX *_mem_save_return_authenticator_0;
16384
TALLOC_CTX *_mem_save_logon_0;
16385
TALLOC_CTX *_mem_save_validation_0;
16386
TALLOC_CTX *_mem_save_authoritative_0;
16387
TALLOC_CTX *_mem_save_flags_0;
16388
if (flags & NDR_IN) {
16389
ZERO_STRUCT(r->out);
16391
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16392
if (_ptr_server_name) {
16393
NDR_PULL_ALLOC(ndr, r->in.server_name);
16395
r->in.server_name = NULL;
16397
if (r->in.server_name) {
16398
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16399
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16400
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16401
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16402
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16403
return 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));
16405
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16406
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));
16407
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16409
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
16410
if (_ptr_computer_name) {
16411
NDR_PULL_ALLOC(ndr, r->in.computer_name);
16413
r->in.computer_name = NULL;
16415
if (r->in.computer_name) {
16416
_mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16417
NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0);
16418
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16419
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16420
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
16421
return 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));
16423
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
16424
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));
16425
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
16427
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
16428
if (_ptr_credential) {
16429
NDR_PULL_ALLOC(ndr, r->in.credential);
16431
r->in.credential = NULL;
16433
if (r->in.credential) {
16434
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16435
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, 0);
16436
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16437
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
16439
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16440
if (_ptr_return_authenticator) {
16441
NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
16443
r->in.return_authenticator = NULL;
16445
if (r->in.return_authenticator) {
16446
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16447
NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, 0);
16448
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
16449
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16451
NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
16452
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16453
NDR_PULL_ALLOC(ndr, r->in.logon);
16455
_mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
16456
NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
16457
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
16458
NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
16459
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
16460
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
16461
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16462
NDR_PULL_ALLOC(ndr, r->in.flags);
16464
_mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16465
NDR_PULL_SET_MEM_CTX(ndr, r->in.flags, LIBNDR_FLAG_REF_ALLOC);
16466
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.flags));
16467
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16468
NDR_PULL_ALLOC(ndr, r->out.validation);
16469
ZERO_STRUCTP(r->out.validation);
16470
NDR_PULL_ALLOC(ndr, r->out.authoritative);
16471
ZERO_STRUCTP(r->out.authoritative);
16472
NDR_PULL_ALLOC(ndr, r->out.flags);
16473
*r->out.flags = *r->in.flags;
16475
if (flags & NDR_OUT) {
16476
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_return_authenticator));
16477
if (_ptr_return_authenticator) {
16478
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16480
r->out.return_authenticator = NULL;
16482
if (r->out.return_authenticator) {
16483
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16484
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, 0);
16485
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16486
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
16488
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16489
NDR_PULL_ALLOC(ndr, r->out.validation);
16491
_mem_save_validation_0 = NDR_PULL_GET_MEM_CTX(ndr);
16492
NDR_PULL_SET_MEM_CTX(ndr, r->out.validation, LIBNDR_FLAG_REF_ALLOC);
16493
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.validation, r->in.validation_level));
16494
NDR_CHECK(ndr_pull_netr_Validation(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.validation));
16495
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_validation_0, LIBNDR_FLAG_REF_ALLOC);
16496
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16497
NDR_PULL_ALLOC(ndr, r->out.authoritative);
16499
_mem_save_authoritative_0 = NDR_PULL_GET_MEM_CTX(ndr);
16500
NDR_PULL_SET_MEM_CTX(ndr, r->out.authoritative, LIBNDR_FLAG_REF_ALLOC);
16501
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->out.authoritative));
16502
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authoritative_0, LIBNDR_FLAG_REF_ALLOC);
16503
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16504
NDR_PULL_ALLOC(ndr, r->out.flags);
16506
_mem_save_flags_0 = NDR_PULL_GET_MEM_CTX(ndr);
16507
NDR_PULL_SET_MEM_CTX(ndr, r->out.flags, LIBNDR_FLAG_REF_ALLOC);
16508
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.flags));
16509
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_flags_0, LIBNDR_FLAG_REF_ALLOC);
16510
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16512
return NDR_ERR_SUCCESS;
16515
_PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogonWithFlags *r)
16517
ndr_print_struct(ndr, name, "netr_LogonSamLogonWithFlags");
16519
if (flags & NDR_SET_VALUES) {
16520
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16522
if (flags & NDR_IN) {
16523
ndr_print_struct(ndr, "in", "netr_LogonSamLogonWithFlags");
16525
ndr_print_ptr(ndr, "server_name", r->in.server_name);
16527
if (r->in.server_name) {
16528
ndr_print_string(ndr, "server_name", r->in.server_name);
16531
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16533
if (r->in.computer_name) {
16534
ndr_print_string(ndr, "computer_name", r->in.computer_name);
16537
ndr_print_ptr(ndr, "credential", r->in.credential);
16539
if (r->in.credential) {
16540
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16543
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
16545
if (r->in.return_authenticator) {
16546
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
16549
ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
16550
ndr_print_ptr(ndr, "logon", r->in.logon);
16552
ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
16553
ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
16555
ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
16556
ndr_print_ptr(ndr, "flags", r->in.flags);
16558
ndr_print_uint32(ndr, "flags", *r->in.flags);
16562
if (flags & NDR_OUT) {
16563
ndr_print_struct(ndr, "out", "netr_LogonSamLogonWithFlags");
16565
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16567
if (r->out.return_authenticator) {
16568
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16571
ndr_print_ptr(ndr, "validation", r->out.validation);
16573
ndr_print_set_switch_value(ndr, r->out.validation, r->in.validation_level);
16574
ndr_print_netr_Validation(ndr, "validation", r->out.validation);
16576
ndr_print_ptr(ndr, "authoritative", r->out.authoritative);
16578
ndr_print_uint8(ndr, "authoritative", *r->out.authoritative);
16580
ndr_print_ptr(ndr, "flags", r->out.flags);
16582
ndr_print_uint32(ndr, "flags", *r->out.flags);
16584
ndr_print_NTSTATUS(ndr, "result", r->out.result);
16590
static enum ndr_err_code ndr_push_netr_ServerGetTrustInfo(struct ndr_push *ndr, int flags, const struct netr_ServerGetTrustInfo *r)
16592
if (flags & NDR_IN) {
16593
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
16594
if (r->in.server_name) {
16595
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16596
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16597
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
16598
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));
16600
if (r->in.account_name == NULL) {
16601
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16603
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16604
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16605
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_name, CH_UTF16)));
16606
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));
16607
NDR_CHECK(ndr_push_netr_SchannelType(ndr, NDR_SCALARS, r->in.secure_channel_type));
16608
if (r->in.computer_name == NULL) {
16609
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16611
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16612
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
16613
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
16614
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));
16615
if (r->in.credential == NULL) {
16616
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16618
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16620
if (flags & NDR_OUT) {
16621
if (r->out.return_authenticator == NULL) {
16622
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16624
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16625
if (r->out.new_owf_password == NULL) {
16626
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16628
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16629
if (r->out.old_owf_password == NULL) {
16630
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16632
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16633
if (r->out.trust_info == NULL) {
16634
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
16636
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.trust_info));
16637
if (*r->out.trust_info) {
16638
NDR_CHECK(ndr_push_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16640
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
16642
return NDR_ERR_SUCCESS;
16645
static enum ndr_err_code ndr_pull_netr_ServerGetTrustInfo(struct ndr_pull *ndr, int flags, struct netr_ServerGetTrustInfo *r)
16647
uint32_t _ptr_server_name;
16648
uint32_t _ptr_trust_info;
16649
TALLOC_CTX *_mem_save_server_name_0;
16650
TALLOC_CTX *_mem_save_credential_0;
16651
TALLOC_CTX *_mem_save_return_authenticator_0;
16652
TALLOC_CTX *_mem_save_new_owf_password_0;
16653
TALLOC_CTX *_mem_save_old_owf_password_0;
16654
TALLOC_CTX *_mem_save_trust_info_0;
16655
TALLOC_CTX *_mem_save_trust_info_1;
16656
if (flags & NDR_IN) {
16657
ZERO_STRUCT(r->out);
16659
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
16660
if (_ptr_server_name) {
16661
NDR_PULL_ALLOC(ndr, r->in.server_name);
16663
r->in.server_name = NULL;
16665
if (r->in.server_name) {
16666
_mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
16667
NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
16668
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
16669
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
16670
if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
16671
return 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));
16673
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
16674
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));
16675
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
16677
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_name));
16678
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_name));
16679
if (ndr_get_array_length(ndr, &r->in.account_name) > ndr_get_array_size(ndr, &r->in.account_name)) {
16680
return 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));
16682
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_name), sizeof(uint16_t)));
16683
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));
16684
NDR_CHECK(ndr_pull_netr_SchannelType(ndr, NDR_SCALARS, &r->in.secure_channel_type));
16685
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name));
16686
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name));
16687
if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) {
16688
return 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));
16690
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
16691
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));
16692
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16693
NDR_PULL_ALLOC(ndr, r->in.credential);
16695
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
16696
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
16697
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
16698
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
16699
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16700
ZERO_STRUCTP(r->out.return_authenticator);
16701
NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16702
ZERO_STRUCTP(r->out.new_owf_password);
16703
NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16704
ZERO_STRUCTP(r->out.old_owf_password);
16705
NDR_PULL_ALLOC(ndr, r->out.trust_info);
16706
ZERO_STRUCTP(r->out.trust_info);
16708
if (flags & NDR_OUT) {
16709
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16710
NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
16712
_mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr);
16713
NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC);
16714
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator));
16715
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
16716
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16717
NDR_PULL_ALLOC(ndr, r->out.new_owf_password);
16719
_mem_save_new_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16720
NDR_PULL_SET_MEM_CTX(ndr, r->out.new_owf_password, LIBNDR_FLAG_REF_ALLOC);
16721
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.new_owf_password));
16722
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16723
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16724
NDR_PULL_ALLOC(ndr, r->out.old_owf_password);
16726
_mem_save_old_owf_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
16727
NDR_PULL_SET_MEM_CTX(ndr, r->out.old_owf_password, LIBNDR_FLAG_REF_ALLOC);
16728
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.old_owf_password));
16729
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_owf_password_0, LIBNDR_FLAG_REF_ALLOC);
16730
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
16731
NDR_PULL_ALLOC(ndr, r->out.trust_info);
16733
_mem_save_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
16734
NDR_PULL_SET_MEM_CTX(ndr, r->out.trust_info, LIBNDR_FLAG_REF_ALLOC);
16735
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_trust_info));
16736
if (_ptr_trust_info) {
16737
NDR_PULL_ALLOC(ndr, *r->out.trust_info);
16739
*r->out.trust_info = NULL;
16741
if (*r->out.trust_info) {
16742
_mem_save_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
16743
NDR_PULL_SET_MEM_CTX(ndr, *r->out.trust_info, 0);
16744
NDR_CHECK(ndr_pull_netr_TrustInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.trust_info));
16745
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_1, 0);
16747
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
16748
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
16750
return NDR_ERR_SUCCESS;
16753
_PUBLIC_ void ndr_print_netr_ServerGetTrustInfo(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerGetTrustInfo *r)
16755
ndr_print_struct(ndr, name, "netr_ServerGetTrustInfo");
16757
if (flags & NDR_SET_VALUES) {
16758
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
16760
if (flags & NDR_IN) {
16761
ndr_print_struct(ndr, "in", "netr_ServerGetTrustInfo");
16763
ndr_print_ptr(ndr, "server_name", r->in.server_name);
16765
if (r->in.server_name) {
16766
ndr_print_string(ndr, "server_name", r->in.server_name);
16769
ndr_print_ptr(ndr, "account_name", r->in.account_name);
16771
ndr_print_string(ndr, "account_name", r->in.account_name);
16773
ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
16774
ndr_print_ptr(ndr, "computer_name", r->in.computer_name);
16776
ndr_print_string(ndr, "computer_name", r->in.computer_name);
16778
ndr_print_ptr(ndr, "credential", r->in.credential);
16780
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
16784
if (flags & NDR_OUT) {
16785
ndr_print_struct(ndr, "out", "netr_ServerGetTrustInfo");
16787
ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator);
16789
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator);
16791
ndr_print_ptr(ndr, "new_owf_password", r->out.new_owf_password);
16793
ndr_print_samr_Password(ndr, "new_owf_password", r->out.new_owf_password);
16795
ndr_print_ptr(ndr, "old_owf_password", r->out.old_owf_password);
16797
ndr_print_samr_Password(ndr, "old_owf_password", r->out.old_owf_password);
16799
ndr_print_ptr(ndr, "trust_info", r->out.trust_info);
16801
ndr_print_ptr(ndr, "trust_info", *r->out.trust_info);
16803
if (*r->out.trust_info) {
16804
ndr_print_netr_TrustInfo(ndr, "trust_info", *r->out.trust_info);
16808
ndr_print_NTSTATUS(ndr, "result", r->out.result);
16814
static const struct ndr_interface_call netlogon_calls[] = {
16816
"netr_LogonUasLogon",
16817
sizeof(struct netr_LogonUasLogon),
16818
(ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogon,
16819
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogon,
16820
(ndr_print_function_t) ndr_print_netr_LogonUasLogon,
16824
"netr_LogonUasLogoff",
16825
sizeof(struct netr_LogonUasLogoff),
16826
(ndr_push_flags_fn_t) ndr_push_netr_LogonUasLogoff,
16827
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonUasLogoff,
16828
(ndr_print_function_t) ndr_print_netr_LogonUasLogoff,
16832
"netr_LogonSamLogon",
16833
sizeof(struct netr_LogonSamLogon),
16834
(ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogon,
16835
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogon,
16836
(ndr_print_function_t) ndr_print_netr_LogonSamLogon,
16840
"netr_LogonSamLogoff",
16841
sizeof(struct netr_LogonSamLogoff),
16842
(ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogoff,
16843
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogoff,
16844
(ndr_print_function_t) ndr_print_netr_LogonSamLogoff,
16848
"netr_ServerReqChallenge",
16849
sizeof(struct netr_ServerReqChallenge),
16850
(ndr_push_flags_fn_t) ndr_push_netr_ServerReqChallenge,
16851
(ndr_pull_flags_fn_t) ndr_pull_netr_ServerReqChallenge,
16852
(ndr_print_function_t) ndr_print_netr_ServerReqChallenge,
16856
"netr_ServerAuthenticate",
16857
sizeof(struct netr_ServerAuthenticate),
16858
(ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate,
16859
(ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate,
16860
(ndr_print_function_t) ndr_print_netr_ServerAuthenticate,
16864
"netr_ServerPasswordSet",
16865
sizeof(struct netr_ServerPasswordSet),
16866
(ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet,
16867
(ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet,
16868
(ndr_print_function_t) ndr_print_netr_ServerPasswordSet,
16872
"netr_DatabaseDeltas",
16873
sizeof(struct netr_DatabaseDeltas),
16874
(ndr_push_flags_fn_t) ndr_push_netr_DatabaseDeltas,
16875
(ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseDeltas,
16876
(ndr_print_function_t) ndr_print_netr_DatabaseDeltas,
16880
"netr_DatabaseSync",
16881
sizeof(struct netr_DatabaseSync),
16882
(ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync,
16883
(ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync,
16884
(ndr_print_function_t) ndr_print_netr_DatabaseSync,
16888
"netr_AccountDeltas",
16889
sizeof(struct netr_AccountDeltas),
16890
(ndr_push_flags_fn_t) ndr_push_netr_AccountDeltas,
16891
(ndr_pull_flags_fn_t) ndr_pull_netr_AccountDeltas,
16892
(ndr_print_function_t) ndr_print_netr_AccountDeltas,
16896
"netr_AccountSync",
16897
sizeof(struct netr_AccountSync),
16898
(ndr_push_flags_fn_t) ndr_push_netr_AccountSync,
16899
(ndr_pull_flags_fn_t) ndr_pull_netr_AccountSync,
16900
(ndr_print_function_t) ndr_print_netr_AccountSync,
16905
sizeof(struct netr_GetDcName),
16906
(ndr_push_flags_fn_t) ndr_push_netr_GetDcName,
16907
(ndr_pull_flags_fn_t) ndr_pull_netr_GetDcName,
16908
(ndr_print_function_t) ndr_print_netr_GetDcName,
16912
"netr_LogonControl",
16913
sizeof(struct netr_LogonControl),
16914
(ndr_push_flags_fn_t) ndr_push_netr_LogonControl,
16915
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl,
16916
(ndr_print_function_t) ndr_print_netr_LogonControl,
16920
"netr_GetAnyDCName",
16921
sizeof(struct netr_GetAnyDCName),
16922
(ndr_push_flags_fn_t) ndr_push_netr_GetAnyDCName,
16923
(ndr_pull_flags_fn_t) ndr_pull_netr_GetAnyDCName,
16924
(ndr_print_function_t) ndr_print_netr_GetAnyDCName,
16928
"netr_LogonControl2",
16929
sizeof(struct netr_LogonControl2),
16930
(ndr_push_flags_fn_t) ndr_push_netr_LogonControl2,
16931
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2,
16932
(ndr_print_function_t) ndr_print_netr_LogonControl2,
16936
"netr_ServerAuthenticate2",
16937
sizeof(struct netr_ServerAuthenticate2),
16938
(ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate2,
16939
(ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate2,
16940
(ndr_print_function_t) ndr_print_netr_ServerAuthenticate2,
16944
"netr_DatabaseSync2",
16945
sizeof(struct netr_DatabaseSync2),
16946
(ndr_push_flags_fn_t) ndr_push_netr_DatabaseSync2,
16947
(ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseSync2,
16948
(ndr_print_function_t) ndr_print_netr_DatabaseSync2,
16952
"netr_DatabaseRedo",
16953
sizeof(struct netr_DatabaseRedo),
16954
(ndr_push_flags_fn_t) ndr_push_netr_DatabaseRedo,
16955
(ndr_pull_flags_fn_t) ndr_pull_netr_DatabaseRedo,
16956
(ndr_print_function_t) ndr_print_netr_DatabaseRedo,
16960
"netr_LogonControl2Ex",
16961
sizeof(struct netr_LogonControl2Ex),
16962
(ndr_push_flags_fn_t) ndr_push_netr_LogonControl2Ex,
16963
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonControl2Ex,
16964
(ndr_print_function_t) ndr_print_netr_LogonControl2Ex,
16968
"netr_NetrEnumerateTrustedDomains",
16969
sizeof(struct netr_NetrEnumerateTrustedDomains),
16970
(ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomains,
16971
(ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomains,
16972
(ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomains,
16976
"netr_DsRGetDCName",
16977
sizeof(struct netr_DsRGetDCName),
16978
(ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCName,
16979
(ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCName,
16980
(ndr_print_function_t) ndr_print_netr_DsRGetDCName,
16984
"netr_LogonGetCapabilities",
16985
sizeof(struct netr_LogonGetCapabilities),
16986
(ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities,
16987
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities,
16988
(ndr_print_function_t) ndr_print_netr_LogonGetCapabilities,
16992
"netr_NETRLOGONSETSERVICEBITS",
16993
sizeof(struct netr_NETRLOGONSETSERVICEBITS),
16994
(ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSETSERVICEBITS,
16995
(ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSETSERVICEBITS,
16996
(ndr_print_function_t) ndr_print_netr_NETRLOGONSETSERVICEBITS,
17000
"netr_LogonGetTrustRid",
17001
sizeof(struct netr_LogonGetTrustRid),
17002
(ndr_push_flags_fn_t) ndr_push_netr_LogonGetTrustRid,
17003
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetTrustRid,
17004
(ndr_print_function_t) ndr_print_netr_LogonGetTrustRid,
17008
"netr_NETRLOGONCOMPUTESERVERDIGEST",
17009
sizeof(struct netr_NETRLOGONCOMPUTESERVERDIGEST),
17010
(ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST,
17011
(ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST,
17012
(ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST,
17016
"netr_NETRLOGONCOMPUTECLIENTDIGEST",
17017
sizeof(struct netr_NETRLOGONCOMPUTECLIENTDIGEST),
17018
(ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST,
17019
(ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST,
17020
(ndr_print_function_t) ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST,
17024
"netr_ServerAuthenticate3",
17025
sizeof(struct netr_ServerAuthenticate3),
17026
(ndr_push_flags_fn_t) ndr_push_netr_ServerAuthenticate3,
17027
(ndr_pull_flags_fn_t) ndr_pull_netr_ServerAuthenticate3,
17028
(ndr_print_function_t) ndr_print_netr_ServerAuthenticate3,
17032
"netr_DsRGetDCNameEx",
17033
sizeof(struct netr_DsRGetDCNameEx),
17034
(ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx,
17035
(ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx,
17036
(ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx,
17040
"netr_DsRGetSiteName",
17041
sizeof(struct netr_DsRGetSiteName),
17042
(ndr_push_flags_fn_t) ndr_push_netr_DsRGetSiteName,
17043
(ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetSiteName,
17044
(ndr_print_function_t) ndr_print_netr_DsRGetSiteName,
17048
"netr_LogonGetDomainInfo",
17049
sizeof(struct netr_LogonGetDomainInfo),
17050
(ndr_push_flags_fn_t) ndr_push_netr_LogonGetDomainInfo,
17051
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetDomainInfo,
17052
(ndr_print_function_t) ndr_print_netr_LogonGetDomainInfo,
17056
"netr_ServerPasswordSet2",
17057
sizeof(struct netr_ServerPasswordSet2),
17058
(ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordSet2,
17059
(ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordSet2,
17060
(ndr_print_function_t) ndr_print_netr_ServerPasswordSet2,
17064
"netr_ServerPasswordGet",
17065
sizeof(struct netr_ServerPasswordGet),
17066
(ndr_push_flags_fn_t) ndr_push_netr_ServerPasswordGet,
17067
(ndr_pull_flags_fn_t) ndr_pull_netr_ServerPasswordGet,
17068
(ndr_print_function_t) ndr_print_netr_ServerPasswordGet,
17072
"netr_NETRLOGONSENDTOSAM",
17073
sizeof(struct netr_NETRLOGONSENDTOSAM),
17074
(ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONSENDTOSAM,
17075
(ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONSENDTOSAM,
17076
(ndr_print_function_t) ndr_print_netr_NETRLOGONSENDTOSAM,
17080
"netr_DsRAddressToSitenamesW",
17081
sizeof(struct netr_DsRAddressToSitenamesW),
17082
(ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesW,
17083
(ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesW,
17084
(ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesW,
17088
"netr_DsRGetDCNameEx2",
17089
sizeof(struct netr_DsRGetDCNameEx2),
17090
(ndr_push_flags_fn_t) ndr_push_netr_DsRGetDCNameEx2,
17091
(ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetDCNameEx2,
17092
(ndr_print_function_t) ndr_print_netr_DsRGetDCNameEx2,
17096
"netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN",
17097
sizeof(struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN),
17098
(ndr_push_flags_fn_t) ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
17099
(ndr_pull_flags_fn_t) ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
17100
(ndr_print_function_t) ndr_print_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN,
17104
"netr_NetrEnumerateTrustedDomainsEx",
17105
sizeof(struct netr_NetrEnumerateTrustedDomainsEx),
17106
(ndr_push_flags_fn_t) ndr_push_netr_NetrEnumerateTrustedDomainsEx,
17107
(ndr_pull_flags_fn_t) ndr_pull_netr_NetrEnumerateTrustedDomainsEx,
17108
(ndr_print_function_t) ndr_print_netr_NetrEnumerateTrustedDomainsEx,
17112
"netr_DsRAddressToSitenamesExW",
17113
sizeof(struct netr_DsRAddressToSitenamesExW),
17114
(ndr_push_flags_fn_t) ndr_push_netr_DsRAddressToSitenamesExW,
17115
(ndr_pull_flags_fn_t) ndr_pull_netr_DsRAddressToSitenamesExW,
17116
(ndr_print_function_t) ndr_print_netr_DsRAddressToSitenamesExW,
17120
"netr_DsrGetDcSiteCoverageW",
17121
sizeof(struct netr_DsrGetDcSiteCoverageW),
17122
(ndr_push_flags_fn_t) ndr_push_netr_DsrGetDcSiteCoverageW,
17123
(ndr_pull_flags_fn_t) ndr_pull_netr_DsrGetDcSiteCoverageW,
17124
(ndr_print_function_t) ndr_print_netr_DsrGetDcSiteCoverageW,
17128
"netr_LogonSamLogonEx",
17129
sizeof(struct netr_LogonSamLogonEx),
17130
(ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonEx,
17131
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonEx,
17132
(ndr_print_function_t) ndr_print_netr_LogonSamLogonEx,
17136
"netr_DsrEnumerateDomainTrusts",
17137
sizeof(struct netr_DsrEnumerateDomainTrusts),
17138
(ndr_push_flags_fn_t) ndr_push_netr_DsrEnumerateDomainTrusts,
17139
(ndr_pull_flags_fn_t) ndr_pull_netr_DsrEnumerateDomainTrusts,
17140
(ndr_print_function_t) ndr_print_netr_DsrEnumerateDomainTrusts,
17144
"netr_DsrDeregisterDNSHostRecords",
17145
sizeof(struct netr_DsrDeregisterDNSHostRecords),
17146
(ndr_push_flags_fn_t) ndr_push_netr_DsrDeregisterDNSHostRecords,
17147
(ndr_pull_flags_fn_t) ndr_pull_netr_DsrDeregisterDNSHostRecords,
17148
(ndr_print_function_t) ndr_print_netr_DsrDeregisterDNSHostRecords,
17152
"netr_ServerTrustPasswordsGet",
17153
sizeof(struct netr_ServerTrustPasswordsGet),
17154
(ndr_push_flags_fn_t) ndr_push_netr_ServerTrustPasswordsGet,
17155
(ndr_pull_flags_fn_t) ndr_pull_netr_ServerTrustPasswordsGet,
17156
(ndr_print_function_t) ndr_print_netr_ServerTrustPasswordsGet,
17160
"netr_DsRGetForestTrustInformation",
17161
sizeof(struct netr_DsRGetForestTrustInformation),
17162
(ndr_push_flags_fn_t) ndr_push_netr_DsRGetForestTrustInformation,
17163
(ndr_pull_flags_fn_t) ndr_pull_netr_DsRGetForestTrustInformation,
17164
(ndr_print_function_t) ndr_print_netr_DsRGetForestTrustInformation,
17168
"netr_GetForestTrustInformation",
17169
sizeof(struct netr_GetForestTrustInformation),
17170
(ndr_push_flags_fn_t) ndr_push_netr_GetForestTrustInformation,
17171
(ndr_pull_flags_fn_t) ndr_pull_netr_GetForestTrustInformation,
17172
(ndr_print_function_t) ndr_print_netr_GetForestTrustInformation,
17176
"netr_LogonSamLogonWithFlags",
17177
sizeof(struct netr_LogonSamLogonWithFlags),
17178
(ndr_push_flags_fn_t) ndr_push_netr_LogonSamLogonWithFlags,
17179
(ndr_pull_flags_fn_t) ndr_pull_netr_LogonSamLogonWithFlags,
17180
(ndr_print_function_t) ndr_print_netr_LogonSamLogonWithFlags,
17184
"netr_ServerGetTrustInfo",
17185
sizeof(struct netr_ServerGetTrustInfo),
17186
(ndr_push_flags_fn_t) ndr_push_netr_ServerGetTrustInfo,
17187
(ndr_pull_flags_fn_t) ndr_pull_netr_ServerGetTrustInfo,
17188
(ndr_print_function_t) ndr_print_netr_ServerGetTrustInfo,
17191
{ NULL, 0, NULL, NULL, NULL, false }
17194
static const char * const netlogon_endpoint_strings[] = {
17195
"ncacn_np:[\\pipe\\netlogon]",
17200
static const struct ndr_interface_string_array netlogon_endpoints = {
17202
.names = netlogon_endpoint_strings
17205
static const char * const netlogon_authservice_strings[] = {
17209
static const struct ndr_interface_string_array netlogon_authservices = {
17211
.names = netlogon_authservice_strings
17215
const struct ndr_interface_table ndr_table_netlogon = {
17216
.name = "netlogon",
17218
{0x12345678,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0xcf,0xfb}},
17219
NDR_NETLOGON_VERSION
17221
.helpstring = NDR_NETLOGON_HELPSTRING,
17223
.calls = netlogon_calls,
17224
.endpoints = &netlogon_endpoints,
17225
.authservices = &netlogon_authservices