~ubuntu-branches/ubuntu/oneiric/samba/oneiric-security

« back to all changes in this revision

Viewing changes to .pc/CVE-2012-1182-2.patch/librpc/gen_ndr/ndr_wkssvc.c

  • Committer: Package Import Robot
  • Author(s): Tyler Hicks
  • Date: 2012-04-12 05:28:44 UTC
  • mfrom: (147.1.1 oneiric-proposed)
  • Revision ID: package-import@ubuntu.com-20120412052844-348q6l4dcb303sdu
Tags: 2:3.5.11~dfsg-1ubuntu2.2
* SECURITY UPDATE: Unauthenticated remote code execution via
  RPC calls (LP: #978458)
  - debian/patches/CVE-2012-1182-1.patch: Fix PIDL compiler to generate code
    that uses the same value for array allocation and array length checks.
    Based on upstream patch.
  - debian/patches/CVE-2012-1182-2.patch: Regenerate PIDL generated files with
    the patched PIDL compiler
  - CVE-2012-1182

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* parser auto-generated by pidl */
 
2
 
 
3
#include "includes.h"
 
4
#include "../librpc/gen_ndr/ndr_wkssvc.h"
 
5
 
 
6
#include "librpc/gen_ndr/ndr_srvsvc.h"
 
7
#include "librpc/gen_ndr/ndr_lsa.h"
 
8
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo100(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo100 *r)
 
9
{
 
10
        if (ndr_flags & NDR_SCALARS) {
 
11
                NDR_CHECK(ndr_push_align(ndr, 5));
 
12
                NDR_CHECK(ndr_push_srvsvc_PlatformId(ndr, NDR_SCALARS, r->platform_id));
 
13
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
 
14
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
 
15
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major));
 
16
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor));
 
17
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
18
        }
 
19
        if (ndr_flags & NDR_BUFFERS) {
 
20
                if (r->server_name) {
 
21
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
 
22
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
23
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
 
24
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
25
                }
 
26
                if (r->domain_name) {
 
27
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
 
28
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
29
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
 
30
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
31
                }
 
32
        }
 
33
        return NDR_ERR_SUCCESS;
 
34
}
 
35
 
 
36
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo100(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo100 *r)
 
37
{
 
38
        uint32_t _ptr_server_name;
 
39
        TALLOC_CTX *_mem_save_server_name_0;
 
40
        uint32_t _ptr_domain_name;
 
41
        TALLOC_CTX *_mem_save_domain_name_0;
 
42
        if (ndr_flags & NDR_SCALARS) {
 
43
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
44
                NDR_CHECK(ndr_pull_srvsvc_PlatformId(ndr, NDR_SCALARS, &r->platform_id));
 
45
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
46
                if (_ptr_server_name) {
 
47
                        NDR_PULL_ALLOC(ndr, r->server_name);
 
48
                } else {
 
49
                        r->server_name = NULL;
 
50
                }
 
51
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
 
52
                if (_ptr_domain_name) {
 
53
                        NDR_PULL_ALLOC(ndr, r->domain_name);
 
54
                } else {
 
55
                        r->domain_name = NULL;
 
56
                }
 
57
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major));
 
58
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor));
 
59
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
60
        }
 
61
        if (ndr_flags & NDR_BUFFERS) {
 
62
                if (r->server_name) {
 
63
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
64
                        NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
 
65
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
 
66
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
 
67
                        if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
 
68
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
 
69
                        }
 
70
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
 
71
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
 
72
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
73
                }
 
74
                if (r->domain_name) {
 
75
                        _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
76
                        NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
 
77
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
 
78
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
 
79
                        if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
 
80
                                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));
 
81
                        }
 
82
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
 
83
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
 
84
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
 
85
                }
 
86
        }
 
87
        return NDR_ERR_SUCCESS;
 
88
}
 
89
 
 
90
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo100(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo100 *r)
 
91
{
 
92
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo100");
 
93
        ndr->depth++;
 
94
        ndr_print_srvsvc_PlatformId(ndr, "platform_id", r->platform_id);
 
95
        ndr_print_ptr(ndr, "server_name", r->server_name);
 
96
        ndr->depth++;
 
97
        if (r->server_name) {
 
98
                ndr_print_string(ndr, "server_name", r->server_name);
 
99
        }
 
100
        ndr->depth--;
 
101
        ndr_print_ptr(ndr, "domain_name", r->domain_name);
 
102
        ndr->depth++;
 
103
        if (r->domain_name) {
 
104
                ndr_print_string(ndr, "domain_name", r->domain_name);
 
105
        }
 
106
        ndr->depth--;
 
107
        ndr_print_uint32(ndr, "version_major", r->version_major);
 
108
        ndr_print_uint32(ndr, "version_minor", r->version_minor);
 
109
        ndr->depth--;
 
110
}
 
111
 
 
112
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo101(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo101 *r)
 
113
{
 
114
        if (ndr_flags & NDR_SCALARS) {
 
115
                NDR_CHECK(ndr_push_align(ndr, 5));
 
116
                NDR_CHECK(ndr_push_srvsvc_PlatformId(ndr, NDR_SCALARS, r->platform_id));
 
117
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
 
118
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
 
119
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major));
 
120
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor));
 
121
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->lan_root));
 
122
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
123
        }
 
124
        if (ndr_flags & NDR_BUFFERS) {
 
125
                if (r->server_name) {
 
126
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
 
127
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
128
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
 
129
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
130
                }
 
131
                if (r->domain_name) {
 
132
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
 
133
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
134
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
 
135
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
136
                }
 
137
                if (r->lan_root) {
 
138
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16)));
 
139
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
140
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16)));
 
141
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->lan_root, ndr_charset_length(r->lan_root, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
142
                }
 
143
        }
 
144
        return NDR_ERR_SUCCESS;
 
145
}
 
146
 
 
147
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo101(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo101 *r)
 
148
{
 
149
        uint32_t _ptr_server_name;
 
150
        TALLOC_CTX *_mem_save_server_name_0;
 
151
        uint32_t _ptr_domain_name;
 
152
        TALLOC_CTX *_mem_save_domain_name_0;
 
153
        uint32_t _ptr_lan_root;
 
154
        TALLOC_CTX *_mem_save_lan_root_0;
 
155
        if (ndr_flags & NDR_SCALARS) {
 
156
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
157
                NDR_CHECK(ndr_pull_srvsvc_PlatformId(ndr, NDR_SCALARS, &r->platform_id));
 
158
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
159
                if (_ptr_server_name) {
 
160
                        NDR_PULL_ALLOC(ndr, r->server_name);
 
161
                } else {
 
162
                        r->server_name = NULL;
 
163
                }
 
164
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
 
165
                if (_ptr_domain_name) {
 
166
                        NDR_PULL_ALLOC(ndr, r->domain_name);
 
167
                } else {
 
168
                        r->domain_name = NULL;
 
169
                }
 
170
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major));
 
171
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor));
 
172
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lan_root));
 
173
                if (_ptr_lan_root) {
 
174
                        NDR_PULL_ALLOC(ndr, r->lan_root);
 
175
                } else {
 
176
                        r->lan_root = NULL;
 
177
                }
 
178
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
179
        }
 
180
        if (ndr_flags & NDR_BUFFERS) {
 
181
                if (r->server_name) {
 
182
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
183
                        NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
 
184
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
 
185
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
 
186
                        if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
 
187
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
 
188
                        }
 
189
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
 
190
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
 
191
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
192
                }
 
193
                if (r->domain_name) {
 
194
                        _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
195
                        NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
 
196
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
 
197
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
 
198
                        if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
 
199
                                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));
 
200
                        }
 
201
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
 
202
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
 
203
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
 
204
                }
 
205
                if (r->lan_root) {
 
206
                        _mem_save_lan_root_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
207
                        NDR_PULL_SET_MEM_CTX(ndr, r->lan_root, 0);
 
208
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->lan_root));
 
209
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->lan_root));
 
210
                        if (ndr_get_array_length(ndr, &r->lan_root) > ndr_get_array_size(ndr, &r->lan_root)) {
 
211
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lan_root), ndr_get_array_length(ndr, &r->lan_root));
 
212
                        }
 
213
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t)));
 
214
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lan_root, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t), CH_UTF16));
 
215
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lan_root_0, 0);
 
216
                }
 
217
        }
 
218
        return NDR_ERR_SUCCESS;
 
219
}
 
220
 
 
221
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo101(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo101 *r)
 
222
{
 
223
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo101");
 
224
        ndr->depth++;
 
225
        ndr_print_srvsvc_PlatformId(ndr, "platform_id", r->platform_id);
 
226
        ndr_print_ptr(ndr, "server_name", r->server_name);
 
227
        ndr->depth++;
 
228
        if (r->server_name) {
 
229
                ndr_print_string(ndr, "server_name", r->server_name);
 
230
        }
 
231
        ndr->depth--;
 
232
        ndr_print_ptr(ndr, "domain_name", r->domain_name);
 
233
        ndr->depth++;
 
234
        if (r->domain_name) {
 
235
                ndr_print_string(ndr, "domain_name", r->domain_name);
 
236
        }
 
237
        ndr->depth--;
 
238
        ndr_print_uint32(ndr, "version_major", r->version_major);
 
239
        ndr_print_uint32(ndr, "version_minor", r->version_minor);
 
240
        ndr_print_ptr(ndr, "lan_root", r->lan_root);
 
241
        ndr->depth++;
 
242
        if (r->lan_root) {
 
243
                ndr_print_string(ndr, "lan_root", r->lan_root);
 
244
        }
 
245
        ndr->depth--;
 
246
        ndr->depth--;
 
247
}
 
248
 
 
249
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo102(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo102 *r)
 
250
{
 
251
        if (ndr_flags & NDR_SCALARS) {
 
252
                NDR_CHECK(ndr_push_align(ndr, 5));
 
253
                NDR_CHECK(ndr_push_srvsvc_PlatformId(ndr, NDR_SCALARS, r->platform_id));
 
254
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->server_name));
 
255
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
 
256
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_major));
 
257
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version_minor));
 
258
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->lan_root));
 
259
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->logged_on_users));
 
260
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
261
        }
 
262
        if (ndr_flags & NDR_BUFFERS) {
 
263
                if (r->server_name) {
 
264
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
 
265
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
266
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->server_name, CH_UTF16)));
 
267
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->server_name, ndr_charset_length(r->server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
268
                }
 
269
                if (r->domain_name) {
 
270
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
 
271
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
272
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
 
273
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
274
                }
 
275
                if (r->lan_root) {
 
276
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16)));
 
277
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
278
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lan_root, CH_UTF16)));
 
279
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->lan_root, ndr_charset_length(r->lan_root, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
280
                }
 
281
        }
 
282
        return NDR_ERR_SUCCESS;
 
283
}
 
284
 
 
285
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo102(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo102 *r)
 
286
{
 
287
        uint32_t _ptr_server_name;
 
288
        TALLOC_CTX *_mem_save_server_name_0;
 
289
        uint32_t _ptr_domain_name;
 
290
        TALLOC_CTX *_mem_save_domain_name_0;
 
291
        uint32_t _ptr_lan_root;
 
292
        TALLOC_CTX *_mem_save_lan_root_0;
 
293
        if (ndr_flags & NDR_SCALARS) {
 
294
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
295
                NDR_CHECK(ndr_pull_srvsvc_PlatformId(ndr, NDR_SCALARS, &r->platform_id));
 
296
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
297
                if (_ptr_server_name) {
 
298
                        NDR_PULL_ALLOC(ndr, r->server_name);
 
299
                } else {
 
300
                        r->server_name = NULL;
 
301
                }
 
302
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
 
303
                if (_ptr_domain_name) {
 
304
                        NDR_PULL_ALLOC(ndr, r->domain_name);
 
305
                } else {
 
306
                        r->domain_name = NULL;
 
307
                }
 
308
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_major));
 
309
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version_minor));
 
310
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lan_root));
 
311
                if (_ptr_lan_root) {
 
312
                        NDR_PULL_ALLOC(ndr, r->lan_root);
 
313
                } else {
 
314
                        r->lan_root = NULL;
 
315
                }
 
316
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->logged_on_users));
 
317
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
318
        }
 
319
        if (ndr_flags & NDR_BUFFERS) {
 
320
                if (r->server_name) {
 
321
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
322
                        NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
 
323
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->server_name));
 
324
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->server_name));
 
325
                        if (ndr_get_array_length(ndr, &r->server_name) > ndr_get_array_size(ndr, &r->server_name)) {
 
326
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server_name), ndr_get_array_length(ndr, &r->server_name));
 
327
                        }
 
328
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t)));
 
329
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server_name, ndr_get_array_length(ndr, &r->server_name), sizeof(uint16_t), CH_UTF16));
 
330
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
331
                }
 
332
                if (r->domain_name) {
 
333
                        _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
334
                        NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
 
335
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
 
336
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
 
337
                        if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
 
338
                                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));
 
339
                        }
 
340
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
 
341
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
 
342
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
 
343
                }
 
344
                if (r->lan_root) {
 
345
                        _mem_save_lan_root_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
346
                        NDR_PULL_SET_MEM_CTX(ndr, r->lan_root, 0);
 
347
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->lan_root));
 
348
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->lan_root));
 
349
                        if (ndr_get_array_length(ndr, &r->lan_root) > ndr_get_array_size(ndr, &r->lan_root)) {
 
350
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lan_root), ndr_get_array_length(ndr, &r->lan_root));
 
351
                        }
 
352
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t)));
 
353
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lan_root, ndr_get_array_length(ndr, &r->lan_root), sizeof(uint16_t), CH_UTF16));
 
354
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lan_root_0, 0);
 
355
                }
 
356
        }
 
357
        return NDR_ERR_SUCCESS;
 
358
}
 
359
 
 
360
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo102(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo102 *r)
 
361
{
 
362
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo102");
 
363
        ndr->depth++;
 
364
        ndr_print_srvsvc_PlatformId(ndr, "platform_id", r->platform_id);
 
365
        ndr_print_ptr(ndr, "server_name", r->server_name);
 
366
        ndr->depth++;
 
367
        if (r->server_name) {
 
368
                ndr_print_string(ndr, "server_name", r->server_name);
 
369
        }
 
370
        ndr->depth--;
 
371
        ndr_print_ptr(ndr, "domain_name", r->domain_name);
 
372
        ndr->depth++;
 
373
        if (r->domain_name) {
 
374
                ndr_print_string(ndr, "domain_name", r->domain_name);
 
375
        }
 
376
        ndr->depth--;
 
377
        ndr_print_uint32(ndr, "version_major", r->version_major);
 
378
        ndr_print_uint32(ndr, "version_minor", r->version_minor);
 
379
        ndr_print_ptr(ndr, "lan_root", r->lan_root);
 
380
        ndr->depth++;
 
381
        if (r->lan_root) {
 
382
                ndr_print_string(ndr, "lan_root", r->lan_root);
 
383
        }
 
384
        ndr->depth--;
 
385
        ndr_print_uint32(ndr, "logged_on_users", r->logged_on_users);
 
386
        ndr->depth--;
 
387
}
 
388
 
 
389
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo502(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo502 *r)
 
390
{
 
391
        if (ndr_flags & NDR_SCALARS) {
 
392
                NDR_CHECK(ndr_push_align(ndr, 4));
 
393
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->char_wait));
 
394
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->collection_time));
 
395
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximum_collection_count));
 
396
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keep_connection));
 
397
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_commands));
 
398
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_timeout));
 
399
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_char_buf));
 
400
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_threads));
 
401
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_quota));
 
402
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_increment));
 
403
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_maximum));
 
404
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pipe_increment));
 
405
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pipe_maximum));
 
406
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cache_file_timeout));
 
407
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dormant_file_limit));
 
408
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->read_ahead_throughput));
 
409
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_mailslot_buffers));
 
410
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_srv_announce_buffers));
 
411
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_illegal_dgram_events));
 
412
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dgram_event_reset_freq));
 
413
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->log_election_packets));
 
414
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_opportunistic_locking));
 
415
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_unlock_behind));
 
416
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_close_behind));
 
417
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_named_pipes));
 
418
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_lock_read_unlock));
 
419
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->utilize_nt_caching));
 
420
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_raw_read));
 
421
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_raw_write));
 
422
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_write_raw_data));
 
423
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_encryption));
 
424
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_files_deny_write));
 
425
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_read_only_files));
 
426
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->force_core_create_mode));
 
427
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_512_byte_max_transfer));
 
428
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
429
        }
 
430
        if (ndr_flags & NDR_BUFFERS) {
 
431
        }
 
432
        return NDR_ERR_SUCCESS;
 
433
}
 
434
 
 
435
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo502(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo502 *r)
 
436
{
 
437
        if (ndr_flags & NDR_SCALARS) {
 
438
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
439
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->char_wait));
 
440
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->collection_time));
 
441
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximum_collection_count));
 
442
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keep_connection));
 
443
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_commands));
 
444
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_timeout));
 
445
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_char_buf));
 
446
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_threads));
 
447
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_quota));
 
448
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_increment));
 
449
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_maximum));
 
450
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pipe_increment));
 
451
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pipe_maximum));
 
452
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cache_file_timeout));
 
453
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dormant_file_limit));
 
454
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->read_ahead_throughput));
 
455
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_mailslot_buffers));
 
456
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_srv_announce_buffers));
 
457
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_illegal_dgram_events));
 
458
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dgram_event_reset_freq));
 
459
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->log_election_packets));
 
460
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_opportunistic_locking));
 
461
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_unlock_behind));
 
462
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_close_behind));
 
463
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_named_pipes));
 
464
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_lock_read_unlock));
 
465
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->utilize_nt_caching));
 
466
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_raw_read));
 
467
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_raw_write));
 
468
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_write_raw_data));
 
469
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_encryption));
 
470
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_files_deny_write));
 
471
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_read_only_files));
 
472
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->force_core_create_mode));
 
473
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_512_byte_max_transfer));
 
474
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
475
        }
 
476
        if (ndr_flags & NDR_BUFFERS) {
 
477
        }
 
478
        return NDR_ERR_SUCCESS;
 
479
}
 
480
 
 
481
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo502(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo502 *r)
 
482
{
 
483
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo502");
 
484
        ndr->depth++;
 
485
        ndr_print_uint32(ndr, "char_wait", r->char_wait);
 
486
        ndr_print_uint32(ndr, "collection_time", r->collection_time);
 
487
        ndr_print_uint32(ndr, "maximum_collection_count", r->maximum_collection_count);
 
488
        ndr_print_uint32(ndr, "keep_connection", r->keep_connection);
 
489
        ndr_print_uint32(ndr, "max_commands", r->max_commands);
 
490
        ndr_print_uint32(ndr, "session_timeout", r->session_timeout);
 
491
        ndr_print_uint32(ndr, "size_char_buf", r->size_char_buf);
 
492
        ndr_print_uint32(ndr, "max_threads", r->max_threads);
 
493
        ndr_print_uint32(ndr, "lock_quota", r->lock_quota);
 
494
        ndr_print_uint32(ndr, "lock_increment", r->lock_increment);
 
495
        ndr_print_uint32(ndr, "lock_maximum", r->lock_maximum);
 
496
        ndr_print_uint32(ndr, "pipe_increment", r->pipe_increment);
 
497
        ndr_print_uint32(ndr, "pipe_maximum", r->pipe_maximum);
 
498
        ndr_print_uint32(ndr, "cache_file_timeout", r->cache_file_timeout);
 
499
        ndr_print_uint32(ndr, "dormant_file_limit", r->dormant_file_limit);
 
500
        ndr_print_uint32(ndr, "read_ahead_throughput", r->read_ahead_throughput);
 
501
        ndr_print_uint32(ndr, "num_mailslot_buffers", r->num_mailslot_buffers);
 
502
        ndr_print_uint32(ndr, "num_srv_announce_buffers", r->num_srv_announce_buffers);
 
503
        ndr_print_uint32(ndr, "max_illegal_dgram_events", r->max_illegal_dgram_events);
 
504
        ndr_print_uint32(ndr, "dgram_event_reset_freq", r->dgram_event_reset_freq);
 
505
        ndr_print_uint32(ndr, "log_election_packets", r->log_election_packets);
 
506
        ndr_print_uint32(ndr, "use_opportunistic_locking", r->use_opportunistic_locking);
 
507
        ndr_print_uint32(ndr, "use_unlock_behind", r->use_unlock_behind);
 
508
        ndr_print_uint32(ndr, "use_close_behind", r->use_close_behind);
 
509
        ndr_print_uint32(ndr, "buf_named_pipes", r->buf_named_pipes);
 
510
        ndr_print_uint32(ndr, "use_lock_read_unlock", r->use_lock_read_unlock);
 
511
        ndr_print_uint32(ndr, "utilize_nt_caching", r->utilize_nt_caching);
 
512
        ndr_print_uint32(ndr, "use_raw_read", r->use_raw_read);
 
513
        ndr_print_uint32(ndr, "use_raw_write", r->use_raw_write);
 
514
        ndr_print_uint32(ndr, "use_write_raw_data", r->use_write_raw_data);
 
515
        ndr_print_uint32(ndr, "use_encryption", r->use_encryption);
 
516
        ndr_print_uint32(ndr, "buf_files_deny_write", r->buf_files_deny_write);
 
517
        ndr_print_uint32(ndr, "buf_read_only_files", r->buf_read_only_files);
 
518
        ndr_print_uint32(ndr, "force_core_create_mode", r->force_core_create_mode);
 
519
        ndr_print_uint32(ndr, "use_512_byte_max_transfer", r->use_512_byte_max_transfer);
 
520
        ndr->depth--;
 
521
}
 
522
 
 
523
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1010(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1010 *r)
 
524
{
 
525
        if (ndr_flags & NDR_SCALARS) {
 
526
                NDR_CHECK(ndr_push_align(ndr, 4));
 
527
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->char_wait));
 
528
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
529
        }
 
530
        if (ndr_flags & NDR_BUFFERS) {
 
531
        }
 
532
        return NDR_ERR_SUCCESS;
 
533
}
 
534
 
 
535
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1010(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1010 *r)
 
536
{
 
537
        if (ndr_flags & NDR_SCALARS) {
 
538
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
539
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->char_wait));
 
540
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
541
        }
 
542
        if (ndr_flags & NDR_BUFFERS) {
 
543
        }
 
544
        return NDR_ERR_SUCCESS;
 
545
}
 
546
 
 
547
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1010(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1010 *r)
 
548
{
 
549
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1010");
 
550
        ndr->depth++;
 
551
        ndr_print_uint32(ndr, "char_wait", r->char_wait);
 
552
        ndr->depth--;
 
553
}
 
554
 
 
555
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1011(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1011 *r)
 
556
{
 
557
        if (ndr_flags & NDR_SCALARS) {
 
558
                NDR_CHECK(ndr_push_align(ndr, 4));
 
559
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->collection_time));
 
560
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
561
        }
 
562
        if (ndr_flags & NDR_BUFFERS) {
 
563
        }
 
564
        return NDR_ERR_SUCCESS;
 
565
}
 
566
 
 
567
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1011(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1011 *r)
 
568
{
 
569
        if (ndr_flags & NDR_SCALARS) {
 
570
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
571
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->collection_time));
 
572
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
573
        }
 
574
        if (ndr_flags & NDR_BUFFERS) {
 
575
        }
 
576
        return NDR_ERR_SUCCESS;
 
577
}
 
578
 
 
579
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1011(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1011 *r)
 
580
{
 
581
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1011");
 
582
        ndr->depth++;
 
583
        ndr_print_uint32(ndr, "collection_time", r->collection_time);
 
584
        ndr->depth--;
 
585
}
 
586
 
 
587
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1012(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1012 *r)
 
588
{
 
589
        if (ndr_flags & NDR_SCALARS) {
 
590
                NDR_CHECK(ndr_push_align(ndr, 4));
 
591
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximum_collection_count));
 
592
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
593
        }
 
594
        if (ndr_flags & NDR_BUFFERS) {
 
595
        }
 
596
        return NDR_ERR_SUCCESS;
 
597
}
 
598
 
 
599
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1012(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1012 *r)
 
600
{
 
601
        if (ndr_flags & NDR_SCALARS) {
 
602
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
603
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximum_collection_count));
 
604
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
605
        }
 
606
        if (ndr_flags & NDR_BUFFERS) {
 
607
        }
 
608
        return NDR_ERR_SUCCESS;
 
609
}
 
610
 
 
611
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1012(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1012 *r)
 
612
{
 
613
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1012");
 
614
        ndr->depth++;
 
615
        ndr_print_uint32(ndr, "maximum_collection_count", r->maximum_collection_count);
 
616
        ndr->depth--;
 
617
}
 
618
 
 
619
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1013(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1013 *r)
 
620
{
 
621
        if (ndr_flags & NDR_SCALARS) {
 
622
                NDR_CHECK(ndr_push_align(ndr, 4));
 
623
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->keep_connection));
 
624
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
625
        }
 
626
        if (ndr_flags & NDR_BUFFERS) {
 
627
        }
 
628
        return NDR_ERR_SUCCESS;
 
629
}
 
630
 
 
631
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1013(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1013 *r)
 
632
{
 
633
        if (ndr_flags & NDR_SCALARS) {
 
634
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
635
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->keep_connection));
 
636
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
637
        }
 
638
        if (ndr_flags & NDR_BUFFERS) {
 
639
        }
 
640
        return NDR_ERR_SUCCESS;
 
641
}
 
642
 
 
643
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1013(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1013 *r)
 
644
{
 
645
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1013");
 
646
        ndr->depth++;
 
647
        ndr_print_uint32(ndr, "keep_connection", r->keep_connection);
 
648
        ndr->depth--;
 
649
}
 
650
 
 
651
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1018(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1018 *r)
 
652
{
 
653
        if (ndr_flags & NDR_SCALARS) {
 
654
                NDR_CHECK(ndr_push_align(ndr, 4));
 
655
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->session_timeout));
 
656
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
657
        }
 
658
        if (ndr_flags & NDR_BUFFERS) {
 
659
        }
 
660
        return NDR_ERR_SUCCESS;
 
661
}
 
662
 
 
663
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1018(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1018 *r)
 
664
{
 
665
        if (ndr_flags & NDR_SCALARS) {
 
666
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
667
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->session_timeout));
 
668
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
669
        }
 
670
        if (ndr_flags & NDR_BUFFERS) {
 
671
        }
 
672
        return NDR_ERR_SUCCESS;
 
673
}
 
674
 
 
675
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1018(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1018 *r)
 
676
{
 
677
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1018");
 
678
        ndr->depth++;
 
679
        ndr_print_uint32(ndr, "session_timeout", r->session_timeout);
 
680
        ndr->depth--;
 
681
}
 
682
 
 
683
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1023(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1023 *r)
 
684
{
 
685
        if (ndr_flags & NDR_SCALARS) {
 
686
                NDR_CHECK(ndr_push_align(ndr, 4));
 
687
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_char_buf));
 
688
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
689
        }
 
690
        if (ndr_flags & NDR_BUFFERS) {
 
691
        }
 
692
        return NDR_ERR_SUCCESS;
 
693
}
 
694
 
 
695
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1023(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1023 *r)
 
696
{
 
697
        if (ndr_flags & NDR_SCALARS) {
 
698
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
699
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_char_buf));
 
700
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
701
        }
 
702
        if (ndr_flags & NDR_BUFFERS) {
 
703
        }
 
704
        return NDR_ERR_SUCCESS;
 
705
}
 
706
 
 
707
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1023(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1023 *r)
 
708
{
 
709
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1023");
 
710
        ndr->depth++;
 
711
        ndr_print_uint32(ndr, "size_char_buf", r->size_char_buf);
 
712
        ndr->depth--;
 
713
}
 
714
 
 
715
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1027(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1027 *r)
 
716
{
 
717
        if (ndr_flags & NDR_SCALARS) {
 
718
                NDR_CHECK(ndr_push_align(ndr, 4));
 
719
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->errorlog_sz));
 
720
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
721
        }
 
722
        if (ndr_flags & NDR_BUFFERS) {
 
723
        }
 
724
        return NDR_ERR_SUCCESS;
 
725
}
 
726
 
 
727
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1027(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1027 *r)
 
728
{
 
729
        if (ndr_flags & NDR_SCALARS) {
 
730
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
731
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->errorlog_sz));
 
732
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
733
        }
 
734
        if (ndr_flags & NDR_BUFFERS) {
 
735
        }
 
736
        return NDR_ERR_SUCCESS;
 
737
}
 
738
 
 
739
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1027(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1027 *r)
 
740
{
 
741
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1027");
 
742
        ndr->depth++;
 
743
        ndr_print_uint32(ndr, "errorlog_sz", r->errorlog_sz);
 
744
        ndr->depth--;
 
745
}
 
746
 
 
747
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1028(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1028 *r)
 
748
{
 
749
        if (ndr_flags & NDR_SCALARS) {
 
750
                NDR_CHECK(ndr_push_align(ndr, 4));
 
751
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->print_buf_time));
 
752
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
753
        }
 
754
        if (ndr_flags & NDR_BUFFERS) {
 
755
        }
 
756
        return NDR_ERR_SUCCESS;
 
757
}
 
758
 
 
759
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1028(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1028 *r)
 
760
{
 
761
        if (ndr_flags & NDR_SCALARS) {
 
762
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
763
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->print_buf_time));
 
764
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
765
        }
 
766
        if (ndr_flags & NDR_BUFFERS) {
 
767
        }
 
768
        return NDR_ERR_SUCCESS;
 
769
}
 
770
 
 
771
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1028(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1028 *r)
 
772
{
 
773
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1028");
 
774
        ndr->depth++;
 
775
        ndr_print_uint32(ndr, "print_buf_time", r->print_buf_time);
 
776
        ndr->depth--;
 
777
}
 
778
 
 
779
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1032(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1032 *r)
 
780
{
 
781
        if (ndr_flags & NDR_SCALARS) {
 
782
                NDR_CHECK(ndr_push_align(ndr, 4));
 
783
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->wrk_heuristics));
 
784
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
785
        }
 
786
        if (ndr_flags & NDR_BUFFERS) {
 
787
        }
 
788
        return NDR_ERR_SUCCESS;
 
789
}
 
790
 
 
791
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1032(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1032 *r)
 
792
{
 
793
        if (ndr_flags & NDR_SCALARS) {
 
794
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
795
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->wrk_heuristics));
 
796
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
797
        }
 
798
        if (ndr_flags & NDR_BUFFERS) {
 
799
        }
 
800
        return NDR_ERR_SUCCESS;
 
801
}
 
802
 
 
803
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1032(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1032 *r)
 
804
{
 
805
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1032");
 
806
        ndr->depth++;
 
807
        ndr_print_uint32(ndr, "wrk_heuristics", r->wrk_heuristics);
 
808
        ndr->depth--;
 
809
}
 
810
 
 
811
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1033(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1033 *r)
 
812
{
 
813
        if (ndr_flags & NDR_SCALARS) {
 
814
                NDR_CHECK(ndr_push_align(ndr, 4));
 
815
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_threads));
 
816
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
817
        }
 
818
        if (ndr_flags & NDR_BUFFERS) {
 
819
        }
 
820
        return NDR_ERR_SUCCESS;
 
821
}
 
822
 
 
823
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1033(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1033 *r)
 
824
{
 
825
        if (ndr_flags & NDR_SCALARS) {
 
826
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
827
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_threads));
 
828
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
829
        }
 
830
        if (ndr_flags & NDR_BUFFERS) {
 
831
        }
 
832
        return NDR_ERR_SUCCESS;
 
833
}
 
834
 
 
835
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1033(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1033 *r)
 
836
{
 
837
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1033");
 
838
        ndr->depth++;
 
839
        ndr_print_uint32(ndr, "max_threads", r->max_threads);
 
840
        ndr->depth--;
 
841
}
 
842
 
 
843
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1041(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1041 *r)
 
844
{
 
845
        if (ndr_flags & NDR_SCALARS) {
 
846
                NDR_CHECK(ndr_push_align(ndr, 4));
 
847
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_quota));
 
848
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
849
        }
 
850
        if (ndr_flags & NDR_BUFFERS) {
 
851
        }
 
852
        return NDR_ERR_SUCCESS;
 
853
}
 
854
 
 
855
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1041(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1041 *r)
 
856
{
 
857
        if (ndr_flags & NDR_SCALARS) {
 
858
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
859
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_quota));
 
860
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
861
        }
 
862
        if (ndr_flags & NDR_BUFFERS) {
 
863
        }
 
864
        return NDR_ERR_SUCCESS;
 
865
}
 
866
 
 
867
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1041(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1041 *r)
 
868
{
 
869
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1041");
 
870
        ndr->depth++;
 
871
        ndr_print_uint32(ndr, "lock_quota", r->lock_quota);
 
872
        ndr->depth--;
 
873
}
 
874
 
 
875
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1042(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1042 *r)
 
876
{
 
877
        if (ndr_flags & NDR_SCALARS) {
 
878
                NDR_CHECK(ndr_push_align(ndr, 4));
 
879
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_increment));
 
880
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
881
        }
 
882
        if (ndr_flags & NDR_BUFFERS) {
 
883
        }
 
884
        return NDR_ERR_SUCCESS;
 
885
}
 
886
 
 
887
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1042(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1042 *r)
 
888
{
 
889
        if (ndr_flags & NDR_SCALARS) {
 
890
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
891
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_increment));
 
892
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
893
        }
 
894
        if (ndr_flags & NDR_BUFFERS) {
 
895
        }
 
896
        return NDR_ERR_SUCCESS;
 
897
}
 
898
 
 
899
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1042(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1042 *r)
 
900
{
 
901
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1042");
 
902
        ndr->depth++;
 
903
        ndr_print_uint32(ndr, "lock_increment", r->lock_increment);
 
904
        ndr->depth--;
 
905
}
 
906
 
 
907
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1043(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1043 *r)
 
908
{
 
909
        if (ndr_flags & NDR_SCALARS) {
 
910
                NDR_CHECK(ndr_push_align(ndr, 4));
 
911
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lock_maximum));
 
912
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
913
        }
 
914
        if (ndr_flags & NDR_BUFFERS) {
 
915
        }
 
916
        return NDR_ERR_SUCCESS;
 
917
}
 
918
 
 
919
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1043(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1043 *r)
 
920
{
 
921
        if (ndr_flags & NDR_SCALARS) {
 
922
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
923
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lock_maximum));
 
924
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
925
        }
 
926
        if (ndr_flags & NDR_BUFFERS) {
 
927
        }
 
928
        return NDR_ERR_SUCCESS;
 
929
}
 
930
 
 
931
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1043(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1043 *r)
 
932
{
 
933
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1043");
 
934
        ndr->depth++;
 
935
        ndr_print_uint32(ndr, "lock_maximum", r->lock_maximum);
 
936
        ndr->depth--;
 
937
}
 
938
 
 
939
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1044(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1044 *r)
 
940
{
 
941
        if (ndr_flags & NDR_SCALARS) {
 
942
                NDR_CHECK(ndr_push_align(ndr, 4));
 
943
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pipe_increment));
 
944
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
945
        }
 
946
        if (ndr_flags & NDR_BUFFERS) {
 
947
        }
 
948
        return NDR_ERR_SUCCESS;
 
949
}
 
950
 
 
951
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1044(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1044 *r)
 
952
{
 
953
        if (ndr_flags & NDR_SCALARS) {
 
954
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
955
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pipe_increment));
 
956
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
957
        }
 
958
        if (ndr_flags & NDR_BUFFERS) {
 
959
        }
 
960
        return NDR_ERR_SUCCESS;
 
961
}
 
962
 
 
963
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1044(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1044 *r)
 
964
{
 
965
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1044");
 
966
        ndr->depth++;
 
967
        ndr_print_uint32(ndr, "pipe_increment", r->pipe_increment);
 
968
        ndr->depth--;
 
969
}
 
970
 
 
971
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1045(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1045 *r)
 
972
{
 
973
        if (ndr_flags & NDR_SCALARS) {
 
974
                NDR_CHECK(ndr_push_align(ndr, 4));
 
975
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pipe_maximum));
 
976
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
977
        }
 
978
        if (ndr_flags & NDR_BUFFERS) {
 
979
        }
 
980
        return NDR_ERR_SUCCESS;
 
981
}
 
982
 
 
983
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1045(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1045 *r)
 
984
{
 
985
        if (ndr_flags & NDR_SCALARS) {
 
986
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
987
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pipe_maximum));
 
988
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
989
        }
 
990
        if (ndr_flags & NDR_BUFFERS) {
 
991
        }
 
992
        return NDR_ERR_SUCCESS;
 
993
}
 
994
 
 
995
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1045(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1045 *r)
 
996
{
 
997
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1045");
 
998
        ndr->depth++;
 
999
        ndr_print_uint32(ndr, "pipe_maximum", r->pipe_maximum);
 
1000
        ndr->depth--;
 
1001
}
 
1002
 
 
1003
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1046(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1046 *r)
 
1004
{
 
1005
        if (ndr_flags & NDR_SCALARS) {
 
1006
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1007
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dormant_file_limit));
 
1008
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1009
        }
 
1010
        if (ndr_flags & NDR_BUFFERS) {
 
1011
        }
 
1012
        return NDR_ERR_SUCCESS;
 
1013
}
 
1014
 
 
1015
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1046(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1046 *r)
 
1016
{
 
1017
        if (ndr_flags & NDR_SCALARS) {
 
1018
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1019
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dormant_file_limit));
 
1020
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1021
        }
 
1022
        if (ndr_flags & NDR_BUFFERS) {
 
1023
        }
 
1024
        return NDR_ERR_SUCCESS;
 
1025
}
 
1026
 
 
1027
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1046(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1046 *r)
 
1028
{
 
1029
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1046");
 
1030
        ndr->depth++;
 
1031
        ndr_print_uint32(ndr, "dormant_file_limit", r->dormant_file_limit);
 
1032
        ndr->depth--;
 
1033
}
 
1034
 
 
1035
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1047(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1047 *r)
 
1036
{
 
1037
        if (ndr_flags & NDR_SCALARS) {
 
1038
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1039
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cache_file_timeout));
 
1040
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1041
        }
 
1042
        if (ndr_flags & NDR_BUFFERS) {
 
1043
        }
 
1044
        return NDR_ERR_SUCCESS;
 
1045
}
 
1046
 
 
1047
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1047(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1047 *r)
 
1048
{
 
1049
        if (ndr_flags & NDR_SCALARS) {
 
1050
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1051
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cache_file_timeout));
 
1052
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1053
        }
 
1054
        if (ndr_flags & NDR_BUFFERS) {
 
1055
        }
 
1056
        return NDR_ERR_SUCCESS;
 
1057
}
 
1058
 
 
1059
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1047(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1047 *r)
 
1060
{
 
1061
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1047");
 
1062
        ndr->depth++;
 
1063
        ndr_print_uint32(ndr, "cache_file_timeout", r->cache_file_timeout);
 
1064
        ndr->depth--;
 
1065
}
 
1066
 
 
1067
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1048(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1048 *r)
 
1068
{
 
1069
        if (ndr_flags & NDR_SCALARS) {
 
1070
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1071
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_opportunistic_locking));
 
1072
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1073
        }
 
1074
        if (ndr_flags & NDR_BUFFERS) {
 
1075
        }
 
1076
        return NDR_ERR_SUCCESS;
 
1077
}
 
1078
 
 
1079
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1048(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1048 *r)
 
1080
{
 
1081
        if (ndr_flags & NDR_SCALARS) {
 
1082
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1083
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_opportunistic_locking));
 
1084
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1085
        }
 
1086
        if (ndr_flags & NDR_BUFFERS) {
 
1087
        }
 
1088
        return NDR_ERR_SUCCESS;
 
1089
}
 
1090
 
 
1091
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1048(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1048 *r)
 
1092
{
 
1093
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1048");
 
1094
        ndr->depth++;
 
1095
        ndr_print_uint32(ndr, "use_opportunistic_locking", r->use_opportunistic_locking);
 
1096
        ndr->depth--;
 
1097
}
 
1098
 
 
1099
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1049(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1049 *r)
 
1100
{
 
1101
        if (ndr_flags & NDR_SCALARS) {
 
1102
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1103
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_unlock_behind));
 
1104
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1105
        }
 
1106
        if (ndr_flags & NDR_BUFFERS) {
 
1107
        }
 
1108
        return NDR_ERR_SUCCESS;
 
1109
}
 
1110
 
 
1111
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1049(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1049 *r)
 
1112
{
 
1113
        if (ndr_flags & NDR_SCALARS) {
 
1114
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1115
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_unlock_behind));
 
1116
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1117
        }
 
1118
        if (ndr_flags & NDR_BUFFERS) {
 
1119
        }
 
1120
        return NDR_ERR_SUCCESS;
 
1121
}
 
1122
 
 
1123
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1049(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1049 *r)
 
1124
{
 
1125
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1049");
 
1126
        ndr->depth++;
 
1127
        ndr_print_uint32(ndr, "use_unlock_behind", r->use_unlock_behind);
 
1128
        ndr->depth--;
 
1129
}
 
1130
 
 
1131
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1050(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1050 *r)
 
1132
{
 
1133
        if (ndr_flags & NDR_SCALARS) {
 
1134
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1135
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_close_behind));
 
1136
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1137
        }
 
1138
        if (ndr_flags & NDR_BUFFERS) {
 
1139
        }
 
1140
        return NDR_ERR_SUCCESS;
 
1141
}
 
1142
 
 
1143
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1050(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1050 *r)
 
1144
{
 
1145
        if (ndr_flags & NDR_SCALARS) {
 
1146
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1147
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_close_behind));
 
1148
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1149
        }
 
1150
        if (ndr_flags & NDR_BUFFERS) {
 
1151
        }
 
1152
        return NDR_ERR_SUCCESS;
 
1153
}
 
1154
 
 
1155
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1050(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1050 *r)
 
1156
{
 
1157
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1050");
 
1158
        ndr->depth++;
 
1159
        ndr_print_uint32(ndr, "use_close_behind", r->use_close_behind);
 
1160
        ndr->depth--;
 
1161
}
 
1162
 
 
1163
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1051(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1051 *r)
 
1164
{
 
1165
        if (ndr_flags & NDR_SCALARS) {
 
1166
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1167
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_named_pipes));
 
1168
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1169
        }
 
1170
        if (ndr_flags & NDR_BUFFERS) {
 
1171
        }
 
1172
        return NDR_ERR_SUCCESS;
 
1173
}
 
1174
 
 
1175
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1051(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1051 *r)
 
1176
{
 
1177
        if (ndr_flags & NDR_SCALARS) {
 
1178
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1179
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_named_pipes));
 
1180
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1181
        }
 
1182
        if (ndr_flags & NDR_BUFFERS) {
 
1183
        }
 
1184
        return NDR_ERR_SUCCESS;
 
1185
}
 
1186
 
 
1187
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1051(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1051 *r)
 
1188
{
 
1189
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1051");
 
1190
        ndr->depth++;
 
1191
        ndr_print_uint32(ndr, "buf_named_pipes", r->buf_named_pipes);
 
1192
        ndr->depth--;
 
1193
}
 
1194
 
 
1195
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1052(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1052 *r)
 
1196
{
 
1197
        if (ndr_flags & NDR_SCALARS) {
 
1198
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1199
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_lock_read_unlock));
 
1200
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1201
        }
 
1202
        if (ndr_flags & NDR_BUFFERS) {
 
1203
        }
 
1204
        return NDR_ERR_SUCCESS;
 
1205
}
 
1206
 
 
1207
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1052(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1052 *r)
 
1208
{
 
1209
        if (ndr_flags & NDR_SCALARS) {
 
1210
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1211
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_lock_read_unlock));
 
1212
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1213
        }
 
1214
        if (ndr_flags & NDR_BUFFERS) {
 
1215
        }
 
1216
        return NDR_ERR_SUCCESS;
 
1217
}
 
1218
 
 
1219
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1052(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1052 *r)
 
1220
{
 
1221
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1052");
 
1222
        ndr->depth++;
 
1223
        ndr_print_uint32(ndr, "use_lock_read_unlock", r->use_lock_read_unlock);
 
1224
        ndr->depth--;
 
1225
}
 
1226
 
 
1227
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1053(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1053 *r)
 
1228
{
 
1229
        if (ndr_flags & NDR_SCALARS) {
 
1230
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1231
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->utilize_nt_caching));
 
1232
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1233
        }
 
1234
        if (ndr_flags & NDR_BUFFERS) {
 
1235
        }
 
1236
        return NDR_ERR_SUCCESS;
 
1237
}
 
1238
 
 
1239
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1053(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1053 *r)
 
1240
{
 
1241
        if (ndr_flags & NDR_SCALARS) {
 
1242
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1243
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->utilize_nt_caching));
 
1244
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1245
        }
 
1246
        if (ndr_flags & NDR_BUFFERS) {
 
1247
        }
 
1248
        return NDR_ERR_SUCCESS;
 
1249
}
 
1250
 
 
1251
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1053(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1053 *r)
 
1252
{
 
1253
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1053");
 
1254
        ndr->depth++;
 
1255
        ndr_print_uint32(ndr, "utilize_nt_caching", r->utilize_nt_caching);
 
1256
        ndr->depth--;
 
1257
}
 
1258
 
 
1259
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1054(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1054 *r)
 
1260
{
 
1261
        if (ndr_flags & NDR_SCALARS) {
 
1262
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1263
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_raw_read));
 
1264
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1265
        }
 
1266
        if (ndr_flags & NDR_BUFFERS) {
 
1267
        }
 
1268
        return NDR_ERR_SUCCESS;
 
1269
}
 
1270
 
 
1271
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1054(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1054 *r)
 
1272
{
 
1273
        if (ndr_flags & NDR_SCALARS) {
 
1274
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1275
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_raw_read));
 
1276
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1277
        }
 
1278
        if (ndr_flags & NDR_BUFFERS) {
 
1279
        }
 
1280
        return NDR_ERR_SUCCESS;
 
1281
}
 
1282
 
 
1283
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1054(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1054 *r)
 
1284
{
 
1285
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1054");
 
1286
        ndr->depth++;
 
1287
        ndr_print_uint32(ndr, "use_raw_read", r->use_raw_read);
 
1288
        ndr->depth--;
 
1289
}
 
1290
 
 
1291
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1055(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1055 *r)
 
1292
{
 
1293
        if (ndr_flags & NDR_SCALARS) {
 
1294
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1295
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_raw_write));
 
1296
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1297
        }
 
1298
        if (ndr_flags & NDR_BUFFERS) {
 
1299
        }
 
1300
        return NDR_ERR_SUCCESS;
 
1301
}
 
1302
 
 
1303
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1055(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1055 *r)
 
1304
{
 
1305
        if (ndr_flags & NDR_SCALARS) {
 
1306
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1307
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_raw_write));
 
1308
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1309
        }
 
1310
        if (ndr_flags & NDR_BUFFERS) {
 
1311
        }
 
1312
        return NDR_ERR_SUCCESS;
 
1313
}
 
1314
 
 
1315
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1055(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1055 *r)
 
1316
{
 
1317
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1055");
 
1318
        ndr->depth++;
 
1319
        ndr_print_uint32(ndr, "use_raw_write", r->use_raw_write);
 
1320
        ndr->depth--;
 
1321
}
 
1322
 
 
1323
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1056(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1056 *r)
 
1324
{
 
1325
        if (ndr_flags & NDR_SCALARS) {
 
1326
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1327
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_write_raw_data));
 
1328
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1329
        }
 
1330
        if (ndr_flags & NDR_BUFFERS) {
 
1331
        }
 
1332
        return NDR_ERR_SUCCESS;
 
1333
}
 
1334
 
 
1335
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1056(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1056 *r)
 
1336
{
 
1337
        if (ndr_flags & NDR_SCALARS) {
 
1338
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1339
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_write_raw_data));
 
1340
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1341
        }
 
1342
        if (ndr_flags & NDR_BUFFERS) {
 
1343
        }
 
1344
        return NDR_ERR_SUCCESS;
 
1345
}
 
1346
 
 
1347
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1056(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1056 *r)
 
1348
{
 
1349
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1056");
 
1350
        ndr->depth++;
 
1351
        ndr_print_uint32(ndr, "use_write_raw_data", r->use_write_raw_data);
 
1352
        ndr->depth--;
 
1353
}
 
1354
 
 
1355
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1057(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1057 *r)
 
1356
{
 
1357
        if (ndr_flags & NDR_SCALARS) {
 
1358
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1359
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_encryption));
 
1360
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1361
        }
 
1362
        if (ndr_flags & NDR_BUFFERS) {
 
1363
        }
 
1364
        return NDR_ERR_SUCCESS;
 
1365
}
 
1366
 
 
1367
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1057(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1057 *r)
 
1368
{
 
1369
        if (ndr_flags & NDR_SCALARS) {
 
1370
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1371
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_encryption));
 
1372
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1373
        }
 
1374
        if (ndr_flags & NDR_BUFFERS) {
 
1375
        }
 
1376
        return NDR_ERR_SUCCESS;
 
1377
}
 
1378
 
 
1379
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1057(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1057 *r)
 
1380
{
 
1381
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1057");
 
1382
        ndr->depth++;
 
1383
        ndr_print_uint32(ndr, "use_encryption", r->use_encryption);
 
1384
        ndr->depth--;
 
1385
}
 
1386
 
 
1387
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1058(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1058 *r)
 
1388
{
 
1389
        if (ndr_flags & NDR_SCALARS) {
 
1390
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1391
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_files_deny_write));
 
1392
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1393
        }
 
1394
        if (ndr_flags & NDR_BUFFERS) {
 
1395
        }
 
1396
        return NDR_ERR_SUCCESS;
 
1397
}
 
1398
 
 
1399
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1058(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1058 *r)
 
1400
{
 
1401
        if (ndr_flags & NDR_SCALARS) {
 
1402
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1403
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_files_deny_write));
 
1404
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1405
        }
 
1406
        if (ndr_flags & NDR_BUFFERS) {
 
1407
        }
 
1408
        return NDR_ERR_SUCCESS;
 
1409
}
 
1410
 
 
1411
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1058(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1058 *r)
 
1412
{
 
1413
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1058");
 
1414
        ndr->depth++;
 
1415
        ndr_print_uint32(ndr, "buf_files_deny_write", r->buf_files_deny_write);
 
1416
        ndr->depth--;
 
1417
}
 
1418
 
 
1419
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1059(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1059 *r)
 
1420
{
 
1421
        if (ndr_flags & NDR_SCALARS) {
 
1422
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1423
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_read_only_files));
 
1424
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1425
        }
 
1426
        if (ndr_flags & NDR_BUFFERS) {
 
1427
        }
 
1428
        return NDR_ERR_SUCCESS;
 
1429
}
 
1430
 
 
1431
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1059(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1059 *r)
 
1432
{
 
1433
        if (ndr_flags & NDR_SCALARS) {
 
1434
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1435
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_read_only_files));
 
1436
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1437
        }
 
1438
        if (ndr_flags & NDR_BUFFERS) {
 
1439
        }
 
1440
        return NDR_ERR_SUCCESS;
 
1441
}
 
1442
 
 
1443
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1059(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1059 *r)
 
1444
{
 
1445
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1059");
 
1446
        ndr->depth++;
 
1447
        ndr_print_uint32(ndr, "buf_read_only_files", r->buf_read_only_files);
 
1448
        ndr->depth--;
 
1449
}
 
1450
 
 
1451
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1060(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1060 *r)
 
1452
{
 
1453
        if (ndr_flags & NDR_SCALARS) {
 
1454
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1455
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->force_core_create_mode));
 
1456
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1457
        }
 
1458
        if (ndr_flags & NDR_BUFFERS) {
 
1459
        }
 
1460
        return NDR_ERR_SUCCESS;
 
1461
}
 
1462
 
 
1463
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1060(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1060 *r)
 
1464
{
 
1465
        if (ndr_flags & NDR_SCALARS) {
 
1466
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1467
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->force_core_create_mode));
 
1468
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1469
        }
 
1470
        if (ndr_flags & NDR_BUFFERS) {
 
1471
        }
 
1472
        return NDR_ERR_SUCCESS;
 
1473
}
 
1474
 
 
1475
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1060(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1060 *r)
 
1476
{
 
1477
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1060");
 
1478
        ndr->depth++;
 
1479
        ndr_print_uint32(ndr, "force_core_create_mode", r->force_core_create_mode);
 
1480
        ndr->depth--;
 
1481
}
 
1482
 
 
1483
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1061(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1061 *r)
 
1484
{
 
1485
        if (ndr_flags & NDR_SCALARS) {
 
1486
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1487
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_512_byte_max_transfer));
 
1488
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1489
        }
 
1490
        if (ndr_flags & NDR_BUFFERS) {
 
1491
        }
 
1492
        return NDR_ERR_SUCCESS;
 
1493
}
 
1494
 
 
1495
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1061(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1061 *r)
 
1496
{
 
1497
        if (ndr_flags & NDR_SCALARS) {
 
1498
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1499
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_512_byte_max_transfer));
 
1500
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1501
        }
 
1502
        if (ndr_flags & NDR_BUFFERS) {
 
1503
        }
 
1504
        return NDR_ERR_SUCCESS;
 
1505
}
 
1506
 
 
1507
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1061(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1061 *r)
 
1508
{
 
1509
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1061");
 
1510
        ndr->depth++;
 
1511
        ndr_print_uint32(ndr, "use_512_byte_max_transfer", r->use_512_byte_max_transfer);
 
1512
        ndr->depth--;
 
1513
}
 
1514
 
 
1515
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo1062(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaInfo1062 *r)
 
1516
{
 
1517
        if (ndr_flags & NDR_SCALARS) {
 
1518
                NDR_CHECK(ndr_push_align(ndr, 4));
 
1519
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->read_ahead_throughput));
 
1520
                NDR_CHECK(ndr_push_trailer_align(ndr, 4));
 
1521
        }
 
1522
        if (ndr_flags & NDR_BUFFERS) {
 
1523
        }
 
1524
        return NDR_ERR_SUCCESS;
 
1525
}
 
1526
 
 
1527
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo1062(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaInfo1062 *r)
 
1528
{
 
1529
        if (ndr_flags & NDR_SCALARS) {
 
1530
                NDR_CHECK(ndr_pull_align(ndr, 4));
 
1531
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->read_ahead_throughput));
 
1532
                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
 
1533
        }
 
1534
        if (ndr_flags & NDR_BUFFERS) {
 
1535
        }
 
1536
        return NDR_ERR_SUCCESS;
 
1537
}
 
1538
 
 
1539
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo1062(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaInfo1062 *r)
 
1540
{
 
1541
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaInfo1062");
 
1542
        ndr->depth++;
 
1543
        ndr_print_uint32(ndr, "read_ahead_throughput", r->read_ahead_throughput);
 
1544
        ndr->depth--;
 
1545
}
 
1546
 
 
1547
static enum ndr_err_code ndr_push_wkssvc_NetWkstaInfo(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetWkstaInfo *r)
 
1548
{
 
1549
        if (ndr_flags & NDR_SCALARS) {
 
1550
                int level = ndr_push_get_switch_value(ndr, r);
 
1551
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
 
1552
                NDR_CHECK(ndr_push_union_align(ndr, 5));
 
1553
                switch (level) {
 
1554
                        case 100: {
 
1555
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info100));
 
1556
                        break; }
 
1557
 
 
1558
                        case 101: {
 
1559
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info101));
 
1560
                        break; }
 
1561
 
 
1562
                        case 102: {
 
1563
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info102));
 
1564
                        break; }
 
1565
 
 
1566
                        case 502: {
 
1567
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info502));
 
1568
                        break; }
 
1569
 
 
1570
                        case 1010: {
 
1571
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1010));
 
1572
                        break; }
 
1573
 
 
1574
                        case 1011: {
 
1575
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1011));
 
1576
                        break; }
 
1577
 
 
1578
                        case 1012: {
 
1579
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1012));
 
1580
                        break; }
 
1581
 
 
1582
                        case 1013: {
 
1583
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1013));
 
1584
                        break; }
 
1585
 
 
1586
                        case 1018: {
 
1587
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1018));
 
1588
                        break; }
 
1589
 
 
1590
                        case 1023: {
 
1591
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1023));
 
1592
                        break; }
 
1593
 
 
1594
                        case 1027: {
 
1595
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1027));
 
1596
                        break; }
 
1597
 
 
1598
                        case 1028: {
 
1599
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1028));
 
1600
                        break; }
 
1601
 
 
1602
                        case 1032: {
 
1603
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1032));
 
1604
                        break; }
 
1605
 
 
1606
                        case 1033: {
 
1607
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1033));
 
1608
                        break; }
 
1609
 
 
1610
                        case 1041: {
 
1611
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1041));
 
1612
                        break; }
 
1613
 
 
1614
                        case 1042: {
 
1615
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1042));
 
1616
                        break; }
 
1617
 
 
1618
                        case 1043: {
 
1619
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1043));
 
1620
                        break; }
 
1621
 
 
1622
                        case 1044: {
 
1623
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1044));
 
1624
                        break; }
 
1625
 
 
1626
                        case 1045: {
 
1627
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1045));
 
1628
                        break; }
 
1629
 
 
1630
                        case 1046: {
 
1631
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1046));
 
1632
                        break; }
 
1633
 
 
1634
                        case 1047: {
 
1635
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1047));
 
1636
                        break; }
 
1637
 
 
1638
                        case 1048: {
 
1639
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1048));
 
1640
                        break; }
 
1641
 
 
1642
                        case 1049: {
 
1643
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1049));
 
1644
                        break; }
 
1645
 
 
1646
                        case 1050: {
 
1647
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1050));
 
1648
                        break; }
 
1649
 
 
1650
                        case 1051: {
 
1651
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1051));
 
1652
                        break; }
 
1653
 
 
1654
                        case 1052: {
 
1655
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1052));
 
1656
                        break; }
 
1657
 
 
1658
                        case 1053: {
 
1659
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1053));
 
1660
                        break; }
 
1661
 
 
1662
                        case 1054: {
 
1663
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1054));
 
1664
                        break; }
 
1665
 
 
1666
                        case 1055: {
 
1667
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1055));
 
1668
                        break; }
 
1669
 
 
1670
                        case 1056: {
 
1671
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1056));
 
1672
                        break; }
 
1673
 
 
1674
                        case 1057: {
 
1675
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1057));
 
1676
                        break; }
 
1677
 
 
1678
                        case 1058: {
 
1679
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1058));
 
1680
                        break; }
 
1681
 
 
1682
                        case 1059: {
 
1683
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1059));
 
1684
                        break; }
 
1685
 
 
1686
                        case 1060: {
 
1687
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1060));
 
1688
                        break; }
 
1689
 
 
1690
                        case 1061: {
 
1691
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1061));
 
1692
                        break; }
 
1693
 
 
1694
                        case 1062: {
 
1695
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1062));
 
1696
                        break; }
 
1697
 
 
1698
                        default: {
 
1699
                        break; }
 
1700
 
 
1701
                }
 
1702
        }
 
1703
        if (ndr_flags & NDR_BUFFERS) {
 
1704
                int level = ndr_push_get_switch_value(ndr, r);
 
1705
                switch (level) {
 
1706
                        case 100:
 
1707
                                if (r->info100) {
 
1708
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo100(ndr, NDR_SCALARS|NDR_BUFFERS, r->info100));
 
1709
                                }
 
1710
                        break;
 
1711
 
 
1712
                        case 101:
 
1713
                                if (r->info101) {
 
1714
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo101(ndr, NDR_SCALARS|NDR_BUFFERS, r->info101));
 
1715
                                }
 
1716
                        break;
 
1717
 
 
1718
                        case 102:
 
1719
                                if (r->info102) {
 
1720
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo102(ndr, NDR_SCALARS|NDR_BUFFERS, r->info102));
 
1721
                                }
 
1722
                        break;
 
1723
 
 
1724
                        case 502:
 
1725
                                if (r->info502) {
 
1726
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo502(ndr, NDR_SCALARS, r->info502));
 
1727
                                }
 
1728
                        break;
 
1729
 
 
1730
                        case 1010:
 
1731
                                if (r->info1010) {
 
1732
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1010(ndr, NDR_SCALARS, r->info1010));
 
1733
                                }
 
1734
                        break;
 
1735
 
 
1736
                        case 1011:
 
1737
                                if (r->info1011) {
 
1738
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1011(ndr, NDR_SCALARS, r->info1011));
 
1739
                                }
 
1740
                        break;
 
1741
 
 
1742
                        case 1012:
 
1743
                                if (r->info1012) {
 
1744
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1012(ndr, NDR_SCALARS, r->info1012));
 
1745
                                }
 
1746
                        break;
 
1747
 
 
1748
                        case 1013:
 
1749
                                if (r->info1013) {
 
1750
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1013(ndr, NDR_SCALARS, r->info1013));
 
1751
                                }
 
1752
                        break;
 
1753
 
 
1754
                        case 1018:
 
1755
                                if (r->info1018) {
 
1756
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1018(ndr, NDR_SCALARS, r->info1018));
 
1757
                                }
 
1758
                        break;
 
1759
 
 
1760
                        case 1023:
 
1761
                                if (r->info1023) {
 
1762
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1023(ndr, NDR_SCALARS, r->info1023));
 
1763
                                }
 
1764
                        break;
 
1765
 
 
1766
                        case 1027:
 
1767
                                if (r->info1027) {
 
1768
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1027(ndr, NDR_SCALARS, r->info1027));
 
1769
                                }
 
1770
                        break;
 
1771
 
 
1772
                        case 1028:
 
1773
                                if (r->info1028) {
 
1774
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1028(ndr, NDR_SCALARS, r->info1028));
 
1775
                                }
 
1776
                        break;
 
1777
 
 
1778
                        case 1032:
 
1779
                                if (r->info1032) {
 
1780
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1032(ndr, NDR_SCALARS, r->info1032));
 
1781
                                }
 
1782
                        break;
 
1783
 
 
1784
                        case 1033:
 
1785
                                if (r->info1033) {
 
1786
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1033(ndr, NDR_SCALARS, r->info1033));
 
1787
                                }
 
1788
                        break;
 
1789
 
 
1790
                        case 1041:
 
1791
                                if (r->info1041) {
 
1792
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1041(ndr, NDR_SCALARS, r->info1041));
 
1793
                                }
 
1794
                        break;
 
1795
 
 
1796
                        case 1042:
 
1797
                                if (r->info1042) {
 
1798
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1042(ndr, NDR_SCALARS, r->info1042));
 
1799
                                }
 
1800
                        break;
 
1801
 
 
1802
                        case 1043:
 
1803
                                if (r->info1043) {
 
1804
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1043(ndr, NDR_SCALARS, r->info1043));
 
1805
                                }
 
1806
                        break;
 
1807
 
 
1808
                        case 1044:
 
1809
                                if (r->info1044) {
 
1810
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1044(ndr, NDR_SCALARS, r->info1044));
 
1811
                                }
 
1812
                        break;
 
1813
 
 
1814
                        case 1045:
 
1815
                                if (r->info1045) {
 
1816
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1045(ndr, NDR_SCALARS, r->info1045));
 
1817
                                }
 
1818
                        break;
 
1819
 
 
1820
                        case 1046:
 
1821
                                if (r->info1046) {
 
1822
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1046(ndr, NDR_SCALARS, r->info1046));
 
1823
                                }
 
1824
                        break;
 
1825
 
 
1826
                        case 1047:
 
1827
                                if (r->info1047) {
 
1828
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1047(ndr, NDR_SCALARS, r->info1047));
 
1829
                                }
 
1830
                        break;
 
1831
 
 
1832
                        case 1048:
 
1833
                                if (r->info1048) {
 
1834
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1048(ndr, NDR_SCALARS, r->info1048));
 
1835
                                }
 
1836
                        break;
 
1837
 
 
1838
                        case 1049:
 
1839
                                if (r->info1049) {
 
1840
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1049(ndr, NDR_SCALARS, r->info1049));
 
1841
                                }
 
1842
                        break;
 
1843
 
 
1844
                        case 1050:
 
1845
                                if (r->info1050) {
 
1846
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1050(ndr, NDR_SCALARS, r->info1050));
 
1847
                                }
 
1848
                        break;
 
1849
 
 
1850
                        case 1051:
 
1851
                                if (r->info1051) {
 
1852
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1051(ndr, NDR_SCALARS, r->info1051));
 
1853
                                }
 
1854
                        break;
 
1855
 
 
1856
                        case 1052:
 
1857
                                if (r->info1052) {
 
1858
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1052(ndr, NDR_SCALARS, r->info1052));
 
1859
                                }
 
1860
                        break;
 
1861
 
 
1862
                        case 1053:
 
1863
                                if (r->info1053) {
 
1864
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1053(ndr, NDR_SCALARS, r->info1053));
 
1865
                                }
 
1866
                        break;
 
1867
 
 
1868
                        case 1054:
 
1869
                                if (r->info1054) {
 
1870
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1054(ndr, NDR_SCALARS, r->info1054));
 
1871
                                }
 
1872
                        break;
 
1873
 
 
1874
                        case 1055:
 
1875
                                if (r->info1055) {
 
1876
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1055(ndr, NDR_SCALARS, r->info1055));
 
1877
                                }
 
1878
                        break;
 
1879
 
 
1880
                        case 1056:
 
1881
                                if (r->info1056) {
 
1882
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1056(ndr, NDR_SCALARS, r->info1056));
 
1883
                                }
 
1884
                        break;
 
1885
 
 
1886
                        case 1057:
 
1887
                                if (r->info1057) {
 
1888
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1057(ndr, NDR_SCALARS, r->info1057));
 
1889
                                }
 
1890
                        break;
 
1891
 
 
1892
                        case 1058:
 
1893
                                if (r->info1058) {
 
1894
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1058(ndr, NDR_SCALARS, r->info1058));
 
1895
                                }
 
1896
                        break;
 
1897
 
 
1898
                        case 1059:
 
1899
                                if (r->info1059) {
 
1900
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1059(ndr, NDR_SCALARS, r->info1059));
 
1901
                                }
 
1902
                        break;
 
1903
 
 
1904
                        case 1060:
 
1905
                                if (r->info1060) {
 
1906
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1060(ndr, NDR_SCALARS, r->info1060));
 
1907
                                }
 
1908
                        break;
 
1909
 
 
1910
                        case 1061:
 
1911
                                if (r->info1061) {
 
1912
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1061(ndr, NDR_SCALARS, r->info1061));
 
1913
                                }
 
1914
                        break;
 
1915
 
 
1916
                        case 1062:
 
1917
                                if (r->info1062) {
 
1918
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo1062(ndr, NDR_SCALARS, r->info1062));
 
1919
                                }
 
1920
                        break;
 
1921
 
 
1922
                        default:
 
1923
                        break;
 
1924
 
 
1925
                }
 
1926
        }
 
1927
        return NDR_ERR_SUCCESS;
 
1928
}
 
1929
 
 
1930
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaInfo(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetWkstaInfo *r)
 
1931
{
 
1932
        int level;
 
1933
        uint32_t _level;
 
1934
        TALLOC_CTX *_mem_save_info100_0;
 
1935
        TALLOC_CTX *_mem_save_info101_0;
 
1936
        TALLOC_CTX *_mem_save_info102_0;
 
1937
        TALLOC_CTX *_mem_save_info502_0;
 
1938
        TALLOC_CTX *_mem_save_info1010_0;
 
1939
        TALLOC_CTX *_mem_save_info1011_0;
 
1940
        TALLOC_CTX *_mem_save_info1012_0;
 
1941
        TALLOC_CTX *_mem_save_info1013_0;
 
1942
        TALLOC_CTX *_mem_save_info1018_0;
 
1943
        TALLOC_CTX *_mem_save_info1023_0;
 
1944
        TALLOC_CTX *_mem_save_info1027_0;
 
1945
        TALLOC_CTX *_mem_save_info1028_0;
 
1946
        TALLOC_CTX *_mem_save_info1032_0;
 
1947
        TALLOC_CTX *_mem_save_info1033_0;
 
1948
        TALLOC_CTX *_mem_save_info1041_0;
 
1949
        TALLOC_CTX *_mem_save_info1042_0;
 
1950
        TALLOC_CTX *_mem_save_info1043_0;
 
1951
        TALLOC_CTX *_mem_save_info1044_0;
 
1952
        TALLOC_CTX *_mem_save_info1045_0;
 
1953
        TALLOC_CTX *_mem_save_info1046_0;
 
1954
        TALLOC_CTX *_mem_save_info1047_0;
 
1955
        TALLOC_CTX *_mem_save_info1048_0;
 
1956
        TALLOC_CTX *_mem_save_info1049_0;
 
1957
        TALLOC_CTX *_mem_save_info1050_0;
 
1958
        TALLOC_CTX *_mem_save_info1051_0;
 
1959
        TALLOC_CTX *_mem_save_info1052_0;
 
1960
        TALLOC_CTX *_mem_save_info1053_0;
 
1961
        TALLOC_CTX *_mem_save_info1054_0;
 
1962
        TALLOC_CTX *_mem_save_info1055_0;
 
1963
        TALLOC_CTX *_mem_save_info1056_0;
 
1964
        TALLOC_CTX *_mem_save_info1057_0;
 
1965
        TALLOC_CTX *_mem_save_info1058_0;
 
1966
        TALLOC_CTX *_mem_save_info1059_0;
 
1967
        TALLOC_CTX *_mem_save_info1060_0;
 
1968
        TALLOC_CTX *_mem_save_info1061_0;
 
1969
        TALLOC_CTX *_mem_save_info1062_0;
 
1970
        level = ndr_pull_get_switch_value(ndr, r);
 
1971
        if (ndr_flags & NDR_SCALARS) {
 
1972
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
 
1973
                if (_level != level) {
 
1974
                        return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
 
1975
                }
 
1976
                NDR_CHECK(ndr_pull_union_align(ndr, 5));
 
1977
                switch (level) {
 
1978
                        case 100: {
 
1979
                                uint32_t _ptr_info100;
 
1980
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info100));
 
1981
                                if (_ptr_info100) {
 
1982
                                        NDR_PULL_ALLOC(ndr, r->info100);
 
1983
                                } else {
 
1984
                                        r->info100 = NULL;
 
1985
                                }
 
1986
                        break; }
 
1987
 
 
1988
                        case 101: {
 
1989
                                uint32_t _ptr_info101;
 
1990
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info101));
 
1991
                                if (_ptr_info101) {
 
1992
                                        NDR_PULL_ALLOC(ndr, r->info101);
 
1993
                                } else {
 
1994
                                        r->info101 = NULL;
 
1995
                                }
 
1996
                        break; }
 
1997
 
 
1998
                        case 102: {
 
1999
                                uint32_t _ptr_info102;
 
2000
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info102));
 
2001
                                if (_ptr_info102) {
 
2002
                                        NDR_PULL_ALLOC(ndr, r->info102);
 
2003
                                } else {
 
2004
                                        r->info102 = NULL;
 
2005
                                }
 
2006
                        break; }
 
2007
 
 
2008
                        case 502: {
 
2009
                                uint32_t _ptr_info502;
 
2010
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info502));
 
2011
                                if (_ptr_info502) {
 
2012
                                        NDR_PULL_ALLOC(ndr, r->info502);
 
2013
                                } else {
 
2014
                                        r->info502 = NULL;
 
2015
                                }
 
2016
                        break; }
 
2017
 
 
2018
                        case 1010: {
 
2019
                                uint32_t _ptr_info1010;
 
2020
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1010));
 
2021
                                if (_ptr_info1010) {
 
2022
                                        NDR_PULL_ALLOC(ndr, r->info1010);
 
2023
                                } else {
 
2024
                                        r->info1010 = NULL;
 
2025
                                }
 
2026
                        break; }
 
2027
 
 
2028
                        case 1011: {
 
2029
                                uint32_t _ptr_info1011;
 
2030
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1011));
 
2031
                                if (_ptr_info1011) {
 
2032
                                        NDR_PULL_ALLOC(ndr, r->info1011);
 
2033
                                } else {
 
2034
                                        r->info1011 = NULL;
 
2035
                                }
 
2036
                        break; }
 
2037
 
 
2038
                        case 1012: {
 
2039
                                uint32_t _ptr_info1012;
 
2040
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1012));
 
2041
                                if (_ptr_info1012) {
 
2042
                                        NDR_PULL_ALLOC(ndr, r->info1012);
 
2043
                                } else {
 
2044
                                        r->info1012 = NULL;
 
2045
                                }
 
2046
                        break; }
 
2047
 
 
2048
                        case 1013: {
 
2049
                                uint32_t _ptr_info1013;
 
2050
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1013));
 
2051
                                if (_ptr_info1013) {
 
2052
                                        NDR_PULL_ALLOC(ndr, r->info1013);
 
2053
                                } else {
 
2054
                                        r->info1013 = NULL;
 
2055
                                }
 
2056
                        break; }
 
2057
 
 
2058
                        case 1018: {
 
2059
                                uint32_t _ptr_info1018;
 
2060
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1018));
 
2061
                                if (_ptr_info1018) {
 
2062
                                        NDR_PULL_ALLOC(ndr, r->info1018);
 
2063
                                } else {
 
2064
                                        r->info1018 = NULL;
 
2065
                                }
 
2066
                        break; }
 
2067
 
 
2068
                        case 1023: {
 
2069
                                uint32_t _ptr_info1023;
 
2070
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1023));
 
2071
                                if (_ptr_info1023) {
 
2072
                                        NDR_PULL_ALLOC(ndr, r->info1023);
 
2073
                                } else {
 
2074
                                        r->info1023 = NULL;
 
2075
                                }
 
2076
                        break; }
 
2077
 
 
2078
                        case 1027: {
 
2079
                                uint32_t _ptr_info1027;
 
2080
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1027));
 
2081
                                if (_ptr_info1027) {
 
2082
                                        NDR_PULL_ALLOC(ndr, r->info1027);
 
2083
                                } else {
 
2084
                                        r->info1027 = NULL;
 
2085
                                }
 
2086
                        break; }
 
2087
 
 
2088
                        case 1028: {
 
2089
                                uint32_t _ptr_info1028;
 
2090
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1028));
 
2091
                                if (_ptr_info1028) {
 
2092
                                        NDR_PULL_ALLOC(ndr, r->info1028);
 
2093
                                } else {
 
2094
                                        r->info1028 = NULL;
 
2095
                                }
 
2096
                        break; }
 
2097
 
 
2098
                        case 1032: {
 
2099
                                uint32_t _ptr_info1032;
 
2100
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1032));
 
2101
                                if (_ptr_info1032) {
 
2102
                                        NDR_PULL_ALLOC(ndr, r->info1032);
 
2103
                                } else {
 
2104
                                        r->info1032 = NULL;
 
2105
                                }
 
2106
                        break; }
 
2107
 
 
2108
                        case 1033: {
 
2109
                                uint32_t _ptr_info1033;
 
2110
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1033));
 
2111
                                if (_ptr_info1033) {
 
2112
                                        NDR_PULL_ALLOC(ndr, r->info1033);
 
2113
                                } else {
 
2114
                                        r->info1033 = NULL;
 
2115
                                }
 
2116
                        break; }
 
2117
 
 
2118
                        case 1041: {
 
2119
                                uint32_t _ptr_info1041;
 
2120
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1041));
 
2121
                                if (_ptr_info1041) {
 
2122
                                        NDR_PULL_ALLOC(ndr, r->info1041);
 
2123
                                } else {
 
2124
                                        r->info1041 = NULL;
 
2125
                                }
 
2126
                        break; }
 
2127
 
 
2128
                        case 1042: {
 
2129
                                uint32_t _ptr_info1042;
 
2130
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1042));
 
2131
                                if (_ptr_info1042) {
 
2132
                                        NDR_PULL_ALLOC(ndr, r->info1042);
 
2133
                                } else {
 
2134
                                        r->info1042 = NULL;
 
2135
                                }
 
2136
                        break; }
 
2137
 
 
2138
                        case 1043: {
 
2139
                                uint32_t _ptr_info1043;
 
2140
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1043));
 
2141
                                if (_ptr_info1043) {
 
2142
                                        NDR_PULL_ALLOC(ndr, r->info1043);
 
2143
                                } else {
 
2144
                                        r->info1043 = NULL;
 
2145
                                }
 
2146
                        break; }
 
2147
 
 
2148
                        case 1044: {
 
2149
                                uint32_t _ptr_info1044;
 
2150
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1044));
 
2151
                                if (_ptr_info1044) {
 
2152
                                        NDR_PULL_ALLOC(ndr, r->info1044);
 
2153
                                } else {
 
2154
                                        r->info1044 = NULL;
 
2155
                                }
 
2156
                        break; }
 
2157
 
 
2158
                        case 1045: {
 
2159
                                uint32_t _ptr_info1045;
 
2160
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1045));
 
2161
                                if (_ptr_info1045) {
 
2162
                                        NDR_PULL_ALLOC(ndr, r->info1045);
 
2163
                                } else {
 
2164
                                        r->info1045 = NULL;
 
2165
                                }
 
2166
                        break; }
 
2167
 
 
2168
                        case 1046: {
 
2169
                                uint32_t _ptr_info1046;
 
2170
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1046));
 
2171
                                if (_ptr_info1046) {
 
2172
                                        NDR_PULL_ALLOC(ndr, r->info1046);
 
2173
                                } else {
 
2174
                                        r->info1046 = NULL;
 
2175
                                }
 
2176
                        break; }
 
2177
 
 
2178
                        case 1047: {
 
2179
                                uint32_t _ptr_info1047;
 
2180
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1047));
 
2181
                                if (_ptr_info1047) {
 
2182
                                        NDR_PULL_ALLOC(ndr, r->info1047);
 
2183
                                } else {
 
2184
                                        r->info1047 = NULL;
 
2185
                                }
 
2186
                        break; }
 
2187
 
 
2188
                        case 1048: {
 
2189
                                uint32_t _ptr_info1048;
 
2190
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1048));
 
2191
                                if (_ptr_info1048) {
 
2192
                                        NDR_PULL_ALLOC(ndr, r->info1048);
 
2193
                                } else {
 
2194
                                        r->info1048 = NULL;
 
2195
                                }
 
2196
                        break; }
 
2197
 
 
2198
                        case 1049: {
 
2199
                                uint32_t _ptr_info1049;
 
2200
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1049));
 
2201
                                if (_ptr_info1049) {
 
2202
                                        NDR_PULL_ALLOC(ndr, r->info1049);
 
2203
                                } else {
 
2204
                                        r->info1049 = NULL;
 
2205
                                }
 
2206
                        break; }
 
2207
 
 
2208
                        case 1050: {
 
2209
                                uint32_t _ptr_info1050;
 
2210
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1050));
 
2211
                                if (_ptr_info1050) {
 
2212
                                        NDR_PULL_ALLOC(ndr, r->info1050);
 
2213
                                } else {
 
2214
                                        r->info1050 = NULL;
 
2215
                                }
 
2216
                        break; }
 
2217
 
 
2218
                        case 1051: {
 
2219
                                uint32_t _ptr_info1051;
 
2220
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1051));
 
2221
                                if (_ptr_info1051) {
 
2222
                                        NDR_PULL_ALLOC(ndr, r->info1051);
 
2223
                                } else {
 
2224
                                        r->info1051 = NULL;
 
2225
                                }
 
2226
                        break; }
 
2227
 
 
2228
                        case 1052: {
 
2229
                                uint32_t _ptr_info1052;
 
2230
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1052));
 
2231
                                if (_ptr_info1052) {
 
2232
                                        NDR_PULL_ALLOC(ndr, r->info1052);
 
2233
                                } else {
 
2234
                                        r->info1052 = NULL;
 
2235
                                }
 
2236
                        break; }
 
2237
 
 
2238
                        case 1053: {
 
2239
                                uint32_t _ptr_info1053;
 
2240
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1053));
 
2241
                                if (_ptr_info1053) {
 
2242
                                        NDR_PULL_ALLOC(ndr, r->info1053);
 
2243
                                } else {
 
2244
                                        r->info1053 = NULL;
 
2245
                                }
 
2246
                        break; }
 
2247
 
 
2248
                        case 1054: {
 
2249
                                uint32_t _ptr_info1054;
 
2250
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1054));
 
2251
                                if (_ptr_info1054) {
 
2252
                                        NDR_PULL_ALLOC(ndr, r->info1054);
 
2253
                                } else {
 
2254
                                        r->info1054 = NULL;
 
2255
                                }
 
2256
                        break; }
 
2257
 
 
2258
                        case 1055: {
 
2259
                                uint32_t _ptr_info1055;
 
2260
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1055));
 
2261
                                if (_ptr_info1055) {
 
2262
                                        NDR_PULL_ALLOC(ndr, r->info1055);
 
2263
                                } else {
 
2264
                                        r->info1055 = NULL;
 
2265
                                }
 
2266
                        break; }
 
2267
 
 
2268
                        case 1056: {
 
2269
                                uint32_t _ptr_info1056;
 
2270
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1056));
 
2271
                                if (_ptr_info1056) {
 
2272
                                        NDR_PULL_ALLOC(ndr, r->info1056);
 
2273
                                } else {
 
2274
                                        r->info1056 = NULL;
 
2275
                                }
 
2276
                        break; }
 
2277
 
 
2278
                        case 1057: {
 
2279
                                uint32_t _ptr_info1057;
 
2280
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1057));
 
2281
                                if (_ptr_info1057) {
 
2282
                                        NDR_PULL_ALLOC(ndr, r->info1057);
 
2283
                                } else {
 
2284
                                        r->info1057 = NULL;
 
2285
                                }
 
2286
                        break; }
 
2287
 
 
2288
                        case 1058: {
 
2289
                                uint32_t _ptr_info1058;
 
2290
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1058));
 
2291
                                if (_ptr_info1058) {
 
2292
                                        NDR_PULL_ALLOC(ndr, r->info1058);
 
2293
                                } else {
 
2294
                                        r->info1058 = NULL;
 
2295
                                }
 
2296
                        break; }
 
2297
 
 
2298
                        case 1059: {
 
2299
                                uint32_t _ptr_info1059;
 
2300
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1059));
 
2301
                                if (_ptr_info1059) {
 
2302
                                        NDR_PULL_ALLOC(ndr, r->info1059);
 
2303
                                } else {
 
2304
                                        r->info1059 = NULL;
 
2305
                                }
 
2306
                        break; }
 
2307
 
 
2308
                        case 1060: {
 
2309
                                uint32_t _ptr_info1060;
 
2310
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1060));
 
2311
                                if (_ptr_info1060) {
 
2312
                                        NDR_PULL_ALLOC(ndr, r->info1060);
 
2313
                                } else {
 
2314
                                        r->info1060 = NULL;
 
2315
                                }
 
2316
                        break; }
 
2317
 
 
2318
                        case 1061: {
 
2319
                                uint32_t _ptr_info1061;
 
2320
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1061));
 
2321
                                if (_ptr_info1061) {
 
2322
                                        NDR_PULL_ALLOC(ndr, r->info1061);
 
2323
                                } else {
 
2324
                                        r->info1061 = NULL;
 
2325
                                }
 
2326
                        break; }
 
2327
 
 
2328
                        case 1062: {
 
2329
                                uint32_t _ptr_info1062;
 
2330
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1062));
 
2331
                                if (_ptr_info1062) {
 
2332
                                        NDR_PULL_ALLOC(ndr, r->info1062);
 
2333
                                } else {
 
2334
                                        r->info1062 = NULL;
 
2335
                                }
 
2336
                        break; }
 
2337
 
 
2338
                        default: {
 
2339
                        break; }
 
2340
 
 
2341
                }
 
2342
        }
 
2343
        if (ndr_flags & NDR_BUFFERS) {
 
2344
                switch (level) {
 
2345
                        case 100:
 
2346
                                if (r->info100) {
 
2347
                                        _mem_save_info100_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2348
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info100, 0);
 
2349
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo100(ndr, NDR_SCALARS|NDR_BUFFERS, r->info100));
 
2350
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info100_0, 0);
 
2351
                                }
 
2352
                        break;
 
2353
 
 
2354
                        case 101:
 
2355
                                if (r->info101) {
 
2356
                                        _mem_save_info101_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2357
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info101, 0);
 
2358
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo101(ndr, NDR_SCALARS|NDR_BUFFERS, r->info101));
 
2359
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info101_0, 0);
 
2360
                                }
 
2361
                        break;
 
2362
 
 
2363
                        case 102:
 
2364
                                if (r->info102) {
 
2365
                                        _mem_save_info102_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2366
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info102, 0);
 
2367
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo102(ndr, NDR_SCALARS|NDR_BUFFERS, r->info102));
 
2368
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info102_0, 0);
 
2369
                                }
 
2370
                        break;
 
2371
 
 
2372
                        case 502:
 
2373
                                if (r->info502) {
 
2374
                                        _mem_save_info502_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2375
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info502, 0);
 
2376
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo502(ndr, NDR_SCALARS, r->info502));
 
2377
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info502_0, 0);
 
2378
                                }
 
2379
                        break;
 
2380
 
 
2381
                        case 1010:
 
2382
                                if (r->info1010) {
 
2383
                                        _mem_save_info1010_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2384
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1010, 0);
 
2385
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1010(ndr, NDR_SCALARS, r->info1010));
 
2386
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1010_0, 0);
 
2387
                                }
 
2388
                        break;
 
2389
 
 
2390
                        case 1011:
 
2391
                                if (r->info1011) {
 
2392
                                        _mem_save_info1011_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2393
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1011, 0);
 
2394
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1011(ndr, NDR_SCALARS, r->info1011));
 
2395
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1011_0, 0);
 
2396
                                }
 
2397
                        break;
 
2398
 
 
2399
                        case 1012:
 
2400
                                if (r->info1012) {
 
2401
                                        _mem_save_info1012_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2402
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1012, 0);
 
2403
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1012(ndr, NDR_SCALARS, r->info1012));
 
2404
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1012_0, 0);
 
2405
                                }
 
2406
                        break;
 
2407
 
 
2408
                        case 1013:
 
2409
                                if (r->info1013) {
 
2410
                                        _mem_save_info1013_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2411
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1013, 0);
 
2412
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1013(ndr, NDR_SCALARS, r->info1013));
 
2413
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1013_0, 0);
 
2414
                                }
 
2415
                        break;
 
2416
 
 
2417
                        case 1018:
 
2418
                                if (r->info1018) {
 
2419
                                        _mem_save_info1018_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2420
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1018, 0);
 
2421
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1018(ndr, NDR_SCALARS, r->info1018));
 
2422
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1018_0, 0);
 
2423
                                }
 
2424
                        break;
 
2425
 
 
2426
                        case 1023:
 
2427
                                if (r->info1023) {
 
2428
                                        _mem_save_info1023_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2429
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1023, 0);
 
2430
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1023(ndr, NDR_SCALARS, r->info1023));
 
2431
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1023_0, 0);
 
2432
                                }
 
2433
                        break;
 
2434
 
 
2435
                        case 1027:
 
2436
                                if (r->info1027) {
 
2437
                                        _mem_save_info1027_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2438
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1027, 0);
 
2439
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1027(ndr, NDR_SCALARS, r->info1027));
 
2440
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1027_0, 0);
 
2441
                                }
 
2442
                        break;
 
2443
 
 
2444
                        case 1028:
 
2445
                                if (r->info1028) {
 
2446
                                        _mem_save_info1028_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2447
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1028, 0);
 
2448
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1028(ndr, NDR_SCALARS, r->info1028));
 
2449
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1028_0, 0);
 
2450
                                }
 
2451
                        break;
 
2452
 
 
2453
                        case 1032:
 
2454
                                if (r->info1032) {
 
2455
                                        _mem_save_info1032_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2456
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1032, 0);
 
2457
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1032(ndr, NDR_SCALARS, r->info1032));
 
2458
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1032_0, 0);
 
2459
                                }
 
2460
                        break;
 
2461
 
 
2462
                        case 1033:
 
2463
                                if (r->info1033) {
 
2464
                                        _mem_save_info1033_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2465
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1033, 0);
 
2466
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1033(ndr, NDR_SCALARS, r->info1033));
 
2467
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1033_0, 0);
 
2468
                                }
 
2469
                        break;
 
2470
 
 
2471
                        case 1041:
 
2472
                                if (r->info1041) {
 
2473
                                        _mem_save_info1041_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2474
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1041, 0);
 
2475
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1041(ndr, NDR_SCALARS, r->info1041));
 
2476
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1041_0, 0);
 
2477
                                }
 
2478
                        break;
 
2479
 
 
2480
                        case 1042:
 
2481
                                if (r->info1042) {
 
2482
                                        _mem_save_info1042_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2483
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1042, 0);
 
2484
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1042(ndr, NDR_SCALARS, r->info1042));
 
2485
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1042_0, 0);
 
2486
                                }
 
2487
                        break;
 
2488
 
 
2489
                        case 1043:
 
2490
                                if (r->info1043) {
 
2491
                                        _mem_save_info1043_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2492
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1043, 0);
 
2493
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1043(ndr, NDR_SCALARS, r->info1043));
 
2494
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1043_0, 0);
 
2495
                                }
 
2496
                        break;
 
2497
 
 
2498
                        case 1044:
 
2499
                                if (r->info1044) {
 
2500
                                        _mem_save_info1044_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2501
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1044, 0);
 
2502
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1044(ndr, NDR_SCALARS, r->info1044));
 
2503
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1044_0, 0);
 
2504
                                }
 
2505
                        break;
 
2506
 
 
2507
                        case 1045:
 
2508
                                if (r->info1045) {
 
2509
                                        _mem_save_info1045_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2510
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1045, 0);
 
2511
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1045(ndr, NDR_SCALARS, r->info1045));
 
2512
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1045_0, 0);
 
2513
                                }
 
2514
                        break;
 
2515
 
 
2516
                        case 1046:
 
2517
                                if (r->info1046) {
 
2518
                                        _mem_save_info1046_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2519
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1046, 0);
 
2520
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1046(ndr, NDR_SCALARS, r->info1046));
 
2521
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1046_0, 0);
 
2522
                                }
 
2523
                        break;
 
2524
 
 
2525
                        case 1047:
 
2526
                                if (r->info1047) {
 
2527
                                        _mem_save_info1047_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2528
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1047, 0);
 
2529
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1047(ndr, NDR_SCALARS, r->info1047));
 
2530
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1047_0, 0);
 
2531
                                }
 
2532
                        break;
 
2533
 
 
2534
                        case 1048:
 
2535
                                if (r->info1048) {
 
2536
                                        _mem_save_info1048_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2537
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1048, 0);
 
2538
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1048(ndr, NDR_SCALARS, r->info1048));
 
2539
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1048_0, 0);
 
2540
                                }
 
2541
                        break;
 
2542
 
 
2543
                        case 1049:
 
2544
                                if (r->info1049) {
 
2545
                                        _mem_save_info1049_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2546
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1049, 0);
 
2547
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1049(ndr, NDR_SCALARS, r->info1049));
 
2548
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1049_0, 0);
 
2549
                                }
 
2550
                        break;
 
2551
 
 
2552
                        case 1050:
 
2553
                                if (r->info1050) {
 
2554
                                        _mem_save_info1050_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2555
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1050, 0);
 
2556
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1050(ndr, NDR_SCALARS, r->info1050));
 
2557
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1050_0, 0);
 
2558
                                }
 
2559
                        break;
 
2560
 
 
2561
                        case 1051:
 
2562
                                if (r->info1051) {
 
2563
                                        _mem_save_info1051_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2564
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1051, 0);
 
2565
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1051(ndr, NDR_SCALARS, r->info1051));
 
2566
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1051_0, 0);
 
2567
                                }
 
2568
                        break;
 
2569
 
 
2570
                        case 1052:
 
2571
                                if (r->info1052) {
 
2572
                                        _mem_save_info1052_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2573
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1052, 0);
 
2574
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1052(ndr, NDR_SCALARS, r->info1052));
 
2575
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1052_0, 0);
 
2576
                                }
 
2577
                        break;
 
2578
 
 
2579
                        case 1053:
 
2580
                                if (r->info1053) {
 
2581
                                        _mem_save_info1053_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2582
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1053, 0);
 
2583
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1053(ndr, NDR_SCALARS, r->info1053));
 
2584
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1053_0, 0);
 
2585
                                }
 
2586
                        break;
 
2587
 
 
2588
                        case 1054:
 
2589
                                if (r->info1054) {
 
2590
                                        _mem_save_info1054_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2591
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1054, 0);
 
2592
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1054(ndr, NDR_SCALARS, r->info1054));
 
2593
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1054_0, 0);
 
2594
                                }
 
2595
                        break;
 
2596
 
 
2597
                        case 1055:
 
2598
                                if (r->info1055) {
 
2599
                                        _mem_save_info1055_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2600
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1055, 0);
 
2601
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1055(ndr, NDR_SCALARS, r->info1055));
 
2602
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1055_0, 0);
 
2603
                                }
 
2604
                        break;
 
2605
 
 
2606
                        case 1056:
 
2607
                                if (r->info1056) {
 
2608
                                        _mem_save_info1056_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2609
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1056, 0);
 
2610
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1056(ndr, NDR_SCALARS, r->info1056));
 
2611
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1056_0, 0);
 
2612
                                }
 
2613
                        break;
 
2614
 
 
2615
                        case 1057:
 
2616
                                if (r->info1057) {
 
2617
                                        _mem_save_info1057_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2618
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1057, 0);
 
2619
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1057(ndr, NDR_SCALARS, r->info1057));
 
2620
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1057_0, 0);
 
2621
                                }
 
2622
                        break;
 
2623
 
 
2624
                        case 1058:
 
2625
                                if (r->info1058) {
 
2626
                                        _mem_save_info1058_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2627
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1058, 0);
 
2628
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1058(ndr, NDR_SCALARS, r->info1058));
 
2629
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1058_0, 0);
 
2630
                                }
 
2631
                        break;
 
2632
 
 
2633
                        case 1059:
 
2634
                                if (r->info1059) {
 
2635
                                        _mem_save_info1059_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2636
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1059, 0);
 
2637
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1059(ndr, NDR_SCALARS, r->info1059));
 
2638
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1059_0, 0);
 
2639
                                }
 
2640
                        break;
 
2641
 
 
2642
                        case 1060:
 
2643
                                if (r->info1060) {
 
2644
                                        _mem_save_info1060_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2645
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1060, 0);
 
2646
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1060(ndr, NDR_SCALARS, r->info1060));
 
2647
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1060_0, 0);
 
2648
                                }
 
2649
                        break;
 
2650
 
 
2651
                        case 1061:
 
2652
                                if (r->info1061) {
 
2653
                                        _mem_save_info1061_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2654
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1061, 0);
 
2655
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1061(ndr, NDR_SCALARS, r->info1061));
 
2656
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1061_0, 0);
 
2657
                                }
 
2658
                        break;
 
2659
 
 
2660
                        case 1062:
 
2661
                                if (r->info1062) {
 
2662
                                        _mem_save_info1062_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
2663
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1062, 0);
 
2664
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo1062(ndr, NDR_SCALARS, r->info1062));
 
2665
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1062_0, 0);
 
2666
                                }
 
2667
                        break;
 
2668
 
 
2669
                        default:
 
2670
                        break;
 
2671
 
 
2672
                }
 
2673
        }
 
2674
        return NDR_ERR_SUCCESS;
 
2675
}
 
2676
 
 
2677
_PUBLIC_ void ndr_print_wkssvc_NetWkstaInfo(struct ndr_print *ndr, const char *name, const union wkssvc_NetWkstaInfo *r)
 
2678
{
 
2679
        int level;
 
2680
        level = ndr_print_get_switch_value(ndr, r);
 
2681
        ndr_print_union(ndr, name, level, "wkssvc_NetWkstaInfo");
 
2682
        switch (level) {
 
2683
                case 100:
 
2684
                        ndr_print_ptr(ndr, "info100", r->info100);
 
2685
                        ndr->depth++;
 
2686
                        if (r->info100) {
 
2687
                                ndr_print_wkssvc_NetWkstaInfo100(ndr, "info100", r->info100);
 
2688
                        }
 
2689
                        ndr->depth--;
 
2690
                break;
 
2691
 
 
2692
                case 101:
 
2693
                        ndr_print_ptr(ndr, "info101", r->info101);
 
2694
                        ndr->depth++;
 
2695
                        if (r->info101) {
 
2696
                                ndr_print_wkssvc_NetWkstaInfo101(ndr, "info101", r->info101);
 
2697
                        }
 
2698
                        ndr->depth--;
 
2699
                break;
 
2700
 
 
2701
                case 102:
 
2702
                        ndr_print_ptr(ndr, "info102", r->info102);
 
2703
                        ndr->depth++;
 
2704
                        if (r->info102) {
 
2705
                                ndr_print_wkssvc_NetWkstaInfo102(ndr, "info102", r->info102);
 
2706
                        }
 
2707
                        ndr->depth--;
 
2708
                break;
 
2709
 
 
2710
                case 502:
 
2711
                        ndr_print_ptr(ndr, "info502", r->info502);
 
2712
                        ndr->depth++;
 
2713
                        if (r->info502) {
 
2714
                                ndr_print_wkssvc_NetWkstaInfo502(ndr, "info502", r->info502);
 
2715
                        }
 
2716
                        ndr->depth--;
 
2717
                break;
 
2718
 
 
2719
                case 1010:
 
2720
                        ndr_print_ptr(ndr, "info1010", r->info1010);
 
2721
                        ndr->depth++;
 
2722
                        if (r->info1010) {
 
2723
                                ndr_print_wkssvc_NetWkstaInfo1010(ndr, "info1010", r->info1010);
 
2724
                        }
 
2725
                        ndr->depth--;
 
2726
                break;
 
2727
 
 
2728
                case 1011:
 
2729
                        ndr_print_ptr(ndr, "info1011", r->info1011);
 
2730
                        ndr->depth++;
 
2731
                        if (r->info1011) {
 
2732
                                ndr_print_wkssvc_NetWkstaInfo1011(ndr, "info1011", r->info1011);
 
2733
                        }
 
2734
                        ndr->depth--;
 
2735
                break;
 
2736
 
 
2737
                case 1012:
 
2738
                        ndr_print_ptr(ndr, "info1012", r->info1012);
 
2739
                        ndr->depth++;
 
2740
                        if (r->info1012) {
 
2741
                                ndr_print_wkssvc_NetWkstaInfo1012(ndr, "info1012", r->info1012);
 
2742
                        }
 
2743
                        ndr->depth--;
 
2744
                break;
 
2745
 
 
2746
                case 1013:
 
2747
                        ndr_print_ptr(ndr, "info1013", r->info1013);
 
2748
                        ndr->depth++;
 
2749
                        if (r->info1013) {
 
2750
                                ndr_print_wkssvc_NetWkstaInfo1013(ndr, "info1013", r->info1013);
 
2751
                        }
 
2752
                        ndr->depth--;
 
2753
                break;
 
2754
 
 
2755
                case 1018:
 
2756
                        ndr_print_ptr(ndr, "info1018", r->info1018);
 
2757
                        ndr->depth++;
 
2758
                        if (r->info1018) {
 
2759
                                ndr_print_wkssvc_NetWkstaInfo1018(ndr, "info1018", r->info1018);
 
2760
                        }
 
2761
                        ndr->depth--;
 
2762
                break;
 
2763
 
 
2764
                case 1023:
 
2765
                        ndr_print_ptr(ndr, "info1023", r->info1023);
 
2766
                        ndr->depth++;
 
2767
                        if (r->info1023) {
 
2768
                                ndr_print_wkssvc_NetWkstaInfo1023(ndr, "info1023", r->info1023);
 
2769
                        }
 
2770
                        ndr->depth--;
 
2771
                break;
 
2772
 
 
2773
                case 1027:
 
2774
                        ndr_print_ptr(ndr, "info1027", r->info1027);
 
2775
                        ndr->depth++;
 
2776
                        if (r->info1027) {
 
2777
                                ndr_print_wkssvc_NetWkstaInfo1027(ndr, "info1027", r->info1027);
 
2778
                        }
 
2779
                        ndr->depth--;
 
2780
                break;
 
2781
 
 
2782
                case 1028:
 
2783
                        ndr_print_ptr(ndr, "info1028", r->info1028);
 
2784
                        ndr->depth++;
 
2785
                        if (r->info1028) {
 
2786
                                ndr_print_wkssvc_NetWkstaInfo1028(ndr, "info1028", r->info1028);
 
2787
                        }
 
2788
                        ndr->depth--;
 
2789
                break;
 
2790
 
 
2791
                case 1032:
 
2792
                        ndr_print_ptr(ndr, "info1032", r->info1032);
 
2793
                        ndr->depth++;
 
2794
                        if (r->info1032) {
 
2795
                                ndr_print_wkssvc_NetWkstaInfo1032(ndr, "info1032", r->info1032);
 
2796
                        }
 
2797
                        ndr->depth--;
 
2798
                break;
 
2799
 
 
2800
                case 1033:
 
2801
                        ndr_print_ptr(ndr, "info1033", r->info1033);
 
2802
                        ndr->depth++;
 
2803
                        if (r->info1033) {
 
2804
                                ndr_print_wkssvc_NetWkstaInfo1033(ndr, "info1033", r->info1033);
 
2805
                        }
 
2806
                        ndr->depth--;
 
2807
                break;
 
2808
 
 
2809
                case 1041:
 
2810
                        ndr_print_ptr(ndr, "info1041", r->info1041);
 
2811
                        ndr->depth++;
 
2812
                        if (r->info1041) {
 
2813
                                ndr_print_wkssvc_NetWkstaInfo1041(ndr, "info1041", r->info1041);
 
2814
                        }
 
2815
                        ndr->depth--;
 
2816
                break;
 
2817
 
 
2818
                case 1042:
 
2819
                        ndr_print_ptr(ndr, "info1042", r->info1042);
 
2820
                        ndr->depth++;
 
2821
                        if (r->info1042) {
 
2822
                                ndr_print_wkssvc_NetWkstaInfo1042(ndr, "info1042", r->info1042);
 
2823
                        }
 
2824
                        ndr->depth--;
 
2825
                break;
 
2826
 
 
2827
                case 1043:
 
2828
                        ndr_print_ptr(ndr, "info1043", r->info1043);
 
2829
                        ndr->depth++;
 
2830
                        if (r->info1043) {
 
2831
                                ndr_print_wkssvc_NetWkstaInfo1043(ndr, "info1043", r->info1043);
 
2832
                        }
 
2833
                        ndr->depth--;
 
2834
                break;
 
2835
 
 
2836
                case 1044:
 
2837
                        ndr_print_ptr(ndr, "info1044", r->info1044);
 
2838
                        ndr->depth++;
 
2839
                        if (r->info1044) {
 
2840
                                ndr_print_wkssvc_NetWkstaInfo1044(ndr, "info1044", r->info1044);
 
2841
                        }
 
2842
                        ndr->depth--;
 
2843
                break;
 
2844
 
 
2845
                case 1045:
 
2846
                        ndr_print_ptr(ndr, "info1045", r->info1045);
 
2847
                        ndr->depth++;
 
2848
                        if (r->info1045) {
 
2849
                                ndr_print_wkssvc_NetWkstaInfo1045(ndr, "info1045", r->info1045);
 
2850
                        }
 
2851
                        ndr->depth--;
 
2852
                break;
 
2853
 
 
2854
                case 1046:
 
2855
                        ndr_print_ptr(ndr, "info1046", r->info1046);
 
2856
                        ndr->depth++;
 
2857
                        if (r->info1046) {
 
2858
                                ndr_print_wkssvc_NetWkstaInfo1046(ndr, "info1046", r->info1046);
 
2859
                        }
 
2860
                        ndr->depth--;
 
2861
                break;
 
2862
 
 
2863
                case 1047:
 
2864
                        ndr_print_ptr(ndr, "info1047", r->info1047);
 
2865
                        ndr->depth++;
 
2866
                        if (r->info1047) {
 
2867
                                ndr_print_wkssvc_NetWkstaInfo1047(ndr, "info1047", r->info1047);
 
2868
                        }
 
2869
                        ndr->depth--;
 
2870
                break;
 
2871
 
 
2872
                case 1048:
 
2873
                        ndr_print_ptr(ndr, "info1048", r->info1048);
 
2874
                        ndr->depth++;
 
2875
                        if (r->info1048) {
 
2876
                                ndr_print_wkssvc_NetWkstaInfo1048(ndr, "info1048", r->info1048);
 
2877
                        }
 
2878
                        ndr->depth--;
 
2879
                break;
 
2880
 
 
2881
                case 1049:
 
2882
                        ndr_print_ptr(ndr, "info1049", r->info1049);
 
2883
                        ndr->depth++;
 
2884
                        if (r->info1049) {
 
2885
                                ndr_print_wkssvc_NetWkstaInfo1049(ndr, "info1049", r->info1049);
 
2886
                        }
 
2887
                        ndr->depth--;
 
2888
                break;
 
2889
 
 
2890
                case 1050:
 
2891
                        ndr_print_ptr(ndr, "info1050", r->info1050);
 
2892
                        ndr->depth++;
 
2893
                        if (r->info1050) {
 
2894
                                ndr_print_wkssvc_NetWkstaInfo1050(ndr, "info1050", r->info1050);
 
2895
                        }
 
2896
                        ndr->depth--;
 
2897
                break;
 
2898
 
 
2899
                case 1051:
 
2900
                        ndr_print_ptr(ndr, "info1051", r->info1051);
 
2901
                        ndr->depth++;
 
2902
                        if (r->info1051) {
 
2903
                                ndr_print_wkssvc_NetWkstaInfo1051(ndr, "info1051", r->info1051);
 
2904
                        }
 
2905
                        ndr->depth--;
 
2906
                break;
 
2907
 
 
2908
                case 1052:
 
2909
                        ndr_print_ptr(ndr, "info1052", r->info1052);
 
2910
                        ndr->depth++;
 
2911
                        if (r->info1052) {
 
2912
                                ndr_print_wkssvc_NetWkstaInfo1052(ndr, "info1052", r->info1052);
 
2913
                        }
 
2914
                        ndr->depth--;
 
2915
                break;
 
2916
 
 
2917
                case 1053:
 
2918
                        ndr_print_ptr(ndr, "info1053", r->info1053);
 
2919
                        ndr->depth++;
 
2920
                        if (r->info1053) {
 
2921
                                ndr_print_wkssvc_NetWkstaInfo1053(ndr, "info1053", r->info1053);
 
2922
                        }
 
2923
                        ndr->depth--;
 
2924
                break;
 
2925
 
 
2926
                case 1054:
 
2927
                        ndr_print_ptr(ndr, "info1054", r->info1054);
 
2928
                        ndr->depth++;
 
2929
                        if (r->info1054) {
 
2930
                                ndr_print_wkssvc_NetWkstaInfo1054(ndr, "info1054", r->info1054);
 
2931
                        }
 
2932
                        ndr->depth--;
 
2933
                break;
 
2934
 
 
2935
                case 1055:
 
2936
                        ndr_print_ptr(ndr, "info1055", r->info1055);
 
2937
                        ndr->depth++;
 
2938
                        if (r->info1055) {
 
2939
                                ndr_print_wkssvc_NetWkstaInfo1055(ndr, "info1055", r->info1055);
 
2940
                        }
 
2941
                        ndr->depth--;
 
2942
                break;
 
2943
 
 
2944
                case 1056:
 
2945
                        ndr_print_ptr(ndr, "info1056", r->info1056);
 
2946
                        ndr->depth++;
 
2947
                        if (r->info1056) {
 
2948
                                ndr_print_wkssvc_NetWkstaInfo1056(ndr, "info1056", r->info1056);
 
2949
                        }
 
2950
                        ndr->depth--;
 
2951
                break;
 
2952
 
 
2953
                case 1057:
 
2954
                        ndr_print_ptr(ndr, "info1057", r->info1057);
 
2955
                        ndr->depth++;
 
2956
                        if (r->info1057) {
 
2957
                                ndr_print_wkssvc_NetWkstaInfo1057(ndr, "info1057", r->info1057);
 
2958
                        }
 
2959
                        ndr->depth--;
 
2960
                break;
 
2961
 
 
2962
                case 1058:
 
2963
                        ndr_print_ptr(ndr, "info1058", r->info1058);
 
2964
                        ndr->depth++;
 
2965
                        if (r->info1058) {
 
2966
                                ndr_print_wkssvc_NetWkstaInfo1058(ndr, "info1058", r->info1058);
 
2967
                        }
 
2968
                        ndr->depth--;
 
2969
                break;
 
2970
 
 
2971
                case 1059:
 
2972
                        ndr_print_ptr(ndr, "info1059", r->info1059);
 
2973
                        ndr->depth++;
 
2974
                        if (r->info1059) {
 
2975
                                ndr_print_wkssvc_NetWkstaInfo1059(ndr, "info1059", r->info1059);
 
2976
                        }
 
2977
                        ndr->depth--;
 
2978
                break;
 
2979
 
 
2980
                case 1060:
 
2981
                        ndr_print_ptr(ndr, "info1060", r->info1060);
 
2982
                        ndr->depth++;
 
2983
                        if (r->info1060) {
 
2984
                                ndr_print_wkssvc_NetWkstaInfo1060(ndr, "info1060", r->info1060);
 
2985
                        }
 
2986
                        ndr->depth--;
 
2987
                break;
 
2988
 
 
2989
                case 1061:
 
2990
                        ndr_print_ptr(ndr, "info1061", r->info1061);
 
2991
                        ndr->depth++;
 
2992
                        if (r->info1061) {
 
2993
                                ndr_print_wkssvc_NetWkstaInfo1061(ndr, "info1061", r->info1061);
 
2994
                        }
 
2995
                        ndr->depth--;
 
2996
                break;
 
2997
 
 
2998
                case 1062:
 
2999
                        ndr_print_ptr(ndr, "info1062", r->info1062);
 
3000
                        ndr->depth++;
 
3001
                        if (r->info1062) {
 
3002
                                ndr_print_wkssvc_NetWkstaInfo1062(ndr, "info1062", r->info1062);
 
3003
                        }
 
3004
                        ndr->depth--;
 
3005
                break;
 
3006
 
 
3007
                default:
 
3008
                break;
 
3009
 
 
3010
        }
 
3011
}
 
3012
 
 
3013
static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrWkstaUserInfo0 *r)
 
3014
{
 
3015
        if (ndr_flags & NDR_SCALARS) {
 
3016
                NDR_CHECK(ndr_push_align(ndr, 5));
 
3017
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
 
3018
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
3019
        }
 
3020
        if (ndr_flags & NDR_BUFFERS) {
 
3021
                if (r->user_name) {
 
3022
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
 
3023
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
3024
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
 
3025
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
3026
                }
 
3027
        }
 
3028
        return NDR_ERR_SUCCESS;
 
3029
}
 
3030
 
 
3031
static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWkstaUserInfo0 *r)
 
3032
{
 
3033
        uint32_t _ptr_user_name;
 
3034
        TALLOC_CTX *_mem_save_user_name_0;
 
3035
        if (ndr_flags & NDR_SCALARS) {
 
3036
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
3037
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
 
3038
                if (_ptr_user_name) {
 
3039
                        NDR_PULL_ALLOC(ndr, r->user_name);
 
3040
                } else {
 
3041
                        r->user_name = NULL;
 
3042
                }
 
3043
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
3044
        }
 
3045
        if (ndr_flags & NDR_BUFFERS) {
 
3046
                if (r->user_name) {
 
3047
                        _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3048
                        NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
 
3049
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
 
3050
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
 
3051
                        if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
 
3052
                                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_name), ndr_get_array_length(ndr, &r->user_name));
 
3053
                        }
 
3054
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
 
3055
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
 
3056
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
 
3057
                }
 
3058
        }
 
3059
        return NDR_ERR_SUCCESS;
 
3060
}
 
3061
 
 
3062
_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserInfo0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWkstaUserInfo0 *r)
 
3063
{
 
3064
        ndr_print_struct(ndr, name, "wkssvc_NetrWkstaUserInfo0");
 
3065
        ndr->depth++;
 
3066
        ndr_print_ptr(ndr, "user_name", r->user_name);
 
3067
        ndr->depth++;
 
3068
        if (r->user_name) {
 
3069
                ndr_print_string(ndr, "user_name", r->user_name);
 
3070
        }
 
3071
        ndr->depth--;
 
3072
        ndr->depth--;
 
3073
}
 
3074
 
 
3075
static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsersCtr0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaEnumUsersCtr0 *r)
 
3076
{
 
3077
        uint32_t cntr_user0_1;
 
3078
        if (ndr_flags & NDR_SCALARS) {
 
3079
                NDR_CHECK(ndr_push_align(ndr, 5));
 
3080
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries_read));
 
3081
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->user0));
 
3082
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
3083
        }
 
3084
        if (ndr_flags & NDR_BUFFERS) {
 
3085
                if (r->user0) {
 
3086
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->entries_read));
 
3087
                        for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) {
 
3088
                                NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo0(ndr, NDR_SCALARS, &r->user0[cntr_user0_1]));
 
3089
                        }
 
3090
                        for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) {
 
3091
                                NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo0(ndr, NDR_BUFFERS, &r->user0[cntr_user0_1]));
 
3092
                        }
 
3093
                }
 
3094
        }
 
3095
        return NDR_ERR_SUCCESS;
 
3096
}
 
3097
 
 
3098
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaEnumUsersCtr0 *r)
 
3099
{
 
3100
        uint32_t _ptr_user0;
 
3101
        uint32_t cntr_user0_1;
 
3102
        TALLOC_CTX *_mem_save_user0_0;
 
3103
        TALLOC_CTX *_mem_save_user0_1;
 
3104
        if (ndr_flags & NDR_SCALARS) {
 
3105
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
3106
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries_read));
 
3107
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user0));
 
3108
                if (_ptr_user0) {
 
3109
                        NDR_PULL_ALLOC(ndr, r->user0);
 
3110
                } else {
 
3111
                        r->user0 = NULL;
 
3112
                }
 
3113
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
3114
        }
 
3115
        if (ndr_flags & NDR_BUFFERS) {
 
3116
                if (r->user0) {
 
3117
                        _mem_save_user0_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3118
                        NDR_PULL_SET_MEM_CTX(ndr, r->user0, 0);
 
3119
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->user0));
 
3120
                        NDR_PULL_ALLOC_N(ndr, r->user0, ndr_get_array_size(ndr, &r->user0));
 
3121
                        _mem_save_user0_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
3122
                        NDR_PULL_SET_MEM_CTX(ndr, r->user0, 0);
 
3123
                        for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) {
 
3124
                                NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo0(ndr, NDR_SCALARS, &r->user0[cntr_user0_1]));
 
3125
                        }
 
3126
                        for (cntr_user0_1 = 0; cntr_user0_1 < r->entries_read; cntr_user0_1++) {
 
3127
                                NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo0(ndr, NDR_BUFFERS, &r->user0[cntr_user0_1]));
 
3128
                        }
 
3129
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user0_1, 0);
 
3130
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user0_0, 0);
 
3131
                }
 
3132
                if (r->user0) {
 
3133
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->user0, r->entries_read));
 
3134
                }
 
3135
        }
 
3136
        return NDR_ERR_SUCCESS;
 
3137
}
 
3138
 
 
3139
_PUBLIC_ void ndr_print_wkssvc_NetWkstaEnumUsersCtr0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaEnumUsersCtr0 *r)
 
3140
{
 
3141
        uint32_t cntr_user0_1;
 
3142
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaEnumUsersCtr0");
 
3143
        ndr->depth++;
 
3144
        ndr_print_uint32(ndr, "entries_read", r->entries_read);
 
3145
        ndr_print_ptr(ndr, "user0", r->user0);
 
3146
        ndr->depth++;
 
3147
        if (r->user0) {
 
3148
                ndr->print(ndr, "%s: ARRAY(%d)", "user0", (int)r->entries_read);
 
3149
                ndr->depth++;
 
3150
                for (cntr_user0_1=0;cntr_user0_1<r->entries_read;cntr_user0_1++) {
 
3151
                        char *idx_1=NULL;
 
3152
                        if (asprintf(&idx_1, "[%d]", cntr_user0_1) != -1) {
 
3153
                                ndr_print_wkssvc_NetrWkstaUserInfo0(ndr, "user0", &r->user0[cntr_user0_1]);
 
3154
                                free(idx_1);
 
3155
                        }
 
3156
                }
 
3157
                ndr->depth--;
 
3158
        }
 
3159
        ndr->depth--;
 
3160
        ndr->depth--;
 
3161
}
 
3162
 
 
3163
static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo1(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrWkstaUserInfo1 *r)
 
3164
{
 
3165
        if (ndr_flags & NDR_SCALARS) {
 
3166
                NDR_CHECK(ndr_push_align(ndr, 5));
 
3167
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
 
3168
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->logon_domain));
 
3169
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_domains));
 
3170
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->logon_server));
 
3171
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
3172
        }
 
3173
        if (ndr_flags & NDR_BUFFERS) {
 
3174
                if (r->user_name) {
 
3175
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
 
3176
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
3177
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
 
3178
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
3179
                }
 
3180
                if (r->logon_domain) {
 
3181
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_domain, CH_UTF16)));
 
3182
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
3183
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_domain, CH_UTF16)));
 
3184
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->logon_domain, ndr_charset_length(r->logon_domain, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
3185
                }
 
3186
                if (r->other_domains) {
 
3187
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->other_domains, CH_UTF16)));
 
3188
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
3189
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->other_domains, CH_UTF16)));
 
3190
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->other_domains, ndr_charset_length(r->other_domains, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
3191
                }
 
3192
                if (r->logon_server) {
 
3193
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_server, CH_UTF16)));
 
3194
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
3195
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->logon_server, CH_UTF16)));
 
3196
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->logon_server, ndr_charset_length(r->logon_server, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
3197
                }
 
3198
        }
 
3199
        return NDR_ERR_SUCCESS;
 
3200
}
 
3201
 
 
3202
static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWkstaUserInfo1 *r)
 
3203
{
 
3204
        uint32_t _ptr_user_name;
 
3205
        TALLOC_CTX *_mem_save_user_name_0;
 
3206
        uint32_t _ptr_logon_domain;
 
3207
        TALLOC_CTX *_mem_save_logon_domain_0;
 
3208
        uint32_t _ptr_other_domains;
 
3209
        TALLOC_CTX *_mem_save_other_domains_0;
 
3210
        uint32_t _ptr_logon_server;
 
3211
        TALLOC_CTX *_mem_save_logon_server_0;
 
3212
        if (ndr_flags & NDR_SCALARS) {
 
3213
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
3214
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
 
3215
                if (_ptr_user_name) {
 
3216
                        NDR_PULL_ALLOC(ndr, r->user_name);
 
3217
                } else {
 
3218
                        r->user_name = NULL;
 
3219
                }
 
3220
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_domain));
 
3221
                if (_ptr_logon_domain) {
 
3222
                        NDR_PULL_ALLOC(ndr, r->logon_domain);
 
3223
                } else {
 
3224
                        r->logon_domain = NULL;
 
3225
                }
 
3226
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_domains));
 
3227
                if (_ptr_other_domains) {
 
3228
                        NDR_PULL_ALLOC(ndr, r->other_domains);
 
3229
                } else {
 
3230
                        r->other_domains = NULL;
 
3231
                }
 
3232
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_logon_server));
 
3233
                if (_ptr_logon_server) {
 
3234
                        NDR_PULL_ALLOC(ndr, r->logon_server);
 
3235
                } else {
 
3236
                        r->logon_server = NULL;
 
3237
                }
 
3238
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
3239
        }
 
3240
        if (ndr_flags & NDR_BUFFERS) {
 
3241
                if (r->user_name) {
 
3242
                        _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3243
                        NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
 
3244
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
 
3245
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
 
3246
                        if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
 
3247
                                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_name), ndr_get_array_length(ndr, &r->user_name));
 
3248
                        }
 
3249
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
 
3250
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
 
3251
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
 
3252
                }
 
3253
                if (r->logon_domain) {
 
3254
                        _mem_save_logon_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3255
                        NDR_PULL_SET_MEM_CTX(ndr, r->logon_domain, 0);
 
3256
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->logon_domain));
 
3257
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->logon_domain));
 
3258
                        if (ndr_get_array_length(ndr, &r->logon_domain) > ndr_get_array_size(ndr, &r->logon_domain)) {
 
3259
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->logon_domain), ndr_get_array_length(ndr, &r->logon_domain));
 
3260
                        }
 
3261
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->logon_domain), sizeof(uint16_t)));
 
3262
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->logon_domain, ndr_get_array_length(ndr, &r->logon_domain), sizeof(uint16_t), CH_UTF16));
 
3263
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_domain_0, 0);
 
3264
                }
 
3265
                if (r->other_domains) {
 
3266
                        _mem_save_other_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3267
                        NDR_PULL_SET_MEM_CTX(ndr, r->other_domains, 0);
 
3268
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->other_domains));
 
3269
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->other_domains));
 
3270
                        if (ndr_get_array_length(ndr, &r->other_domains) > ndr_get_array_size(ndr, &r->other_domains)) {
 
3271
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->other_domains), ndr_get_array_length(ndr, &r->other_domains));
 
3272
                        }
 
3273
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t)));
 
3274
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->other_domains, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t), CH_UTF16));
 
3275
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_domains_0, 0);
 
3276
                }
 
3277
                if (r->logon_server) {
 
3278
                        _mem_save_logon_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3279
                        NDR_PULL_SET_MEM_CTX(ndr, r->logon_server, 0);
 
3280
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->logon_server));
 
3281
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->logon_server));
 
3282
                        if (ndr_get_array_length(ndr, &r->logon_server) > ndr_get_array_size(ndr, &r->logon_server)) {
 
3283
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->logon_server), ndr_get_array_length(ndr, &r->logon_server));
 
3284
                        }
 
3285
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->logon_server), sizeof(uint16_t)));
 
3286
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->logon_server, ndr_get_array_length(ndr, &r->logon_server), sizeof(uint16_t), CH_UTF16));
 
3287
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_server_0, 0);
 
3288
                }
 
3289
        }
 
3290
        return NDR_ERR_SUCCESS;
 
3291
}
 
3292
 
 
3293
_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserInfo1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWkstaUserInfo1 *r)
 
3294
{
 
3295
        ndr_print_struct(ndr, name, "wkssvc_NetrWkstaUserInfo1");
 
3296
        ndr->depth++;
 
3297
        ndr_print_ptr(ndr, "user_name", r->user_name);
 
3298
        ndr->depth++;
 
3299
        if (r->user_name) {
 
3300
                ndr_print_string(ndr, "user_name", r->user_name);
 
3301
        }
 
3302
        ndr->depth--;
 
3303
        ndr_print_ptr(ndr, "logon_domain", r->logon_domain);
 
3304
        ndr->depth++;
 
3305
        if (r->logon_domain) {
 
3306
                ndr_print_string(ndr, "logon_domain", r->logon_domain);
 
3307
        }
 
3308
        ndr->depth--;
 
3309
        ndr_print_ptr(ndr, "other_domains", r->other_domains);
 
3310
        ndr->depth++;
 
3311
        if (r->other_domains) {
 
3312
                ndr_print_string(ndr, "other_domains", r->other_domains);
 
3313
        }
 
3314
        ndr->depth--;
 
3315
        ndr_print_ptr(ndr, "logon_server", r->logon_server);
 
3316
        ndr->depth++;
 
3317
        if (r->logon_server) {
 
3318
                ndr_print_string(ndr, "logon_server", r->logon_server);
 
3319
        }
 
3320
        ndr->depth--;
 
3321
        ndr->depth--;
 
3322
}
 
3323
 
 
3324
static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsersCtr1(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaEnumUsersCtr1 *r)
 
3325
{
 
3326
        uint32_t cntr_user1_1;
 
3327
        if (ndr_flags & NDR_SCALARS) {
 
3328
                NDR_CHECK(ndr_push_align(ndr, 5));
 
3329
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries_read));
 
3330
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->user1));
 
3331
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
3332
        }
 
3333
        if (ndr_flags & NDR_BUFFERS) {
 
3334
                if (r->user1) {
 
3335
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->entries_read));
 
3336
                        for (cntr_user1_1 = 0; cntr_user1_1 < r->entries_read; cntr_user1_1++) {
 
3337
                                NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo1(ndr, NDR_SCALARS, &r->user1[cntr_user1_1]));
 
3338
                        }
 
3339
                        for (cntr_user1_1 = 0; cntr_user1_1 < r->entries_read; cntr_user1_1++) {
 
3340
                                NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo1(ndr, NDR_BUFFERS, &r->user1[cntr_user1_1]));
 
3341
                        }
 
3342
                }
 
3343
        }
 
3344
        return NDR_ERR_SUCCESS;
 
3345
}
 
3346
 
 
3347
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaEnumUsersCtr1 *r)
 
3348
{
 
3349
        uint32_t _ptr_user1;
 
3350
        uint32_t cntr_user1_1;
 
3351
        TALLOC_CTX *_mem_save_user1_0;
 
3352
        TALLOC_CTX *_mem_save_user1_1;
 
3353
        if (ndr_flags & NDR_SCALARS) {
 
3354
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
3355
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries_read));
 
3356
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user1));
 
3357
                if (_ptr_user1) {
 
3358
                        NDR_PULL_ALLOC(ndr, r->user1);
 
3359
                } else {
 
3360
                        r->user1 = NULL;
 
3361
                }
 
3362
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
3363
        }
 
3364
        if (ndr_flags & NDR_BUFFERS) {
 
3365
                if (r->user1) {
 
3366
                        _mem_save_user1_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3367
                        NDR_PULL_SET_MEM_CTX(ndr, r->user1, 0);
 
3368
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->user1));
 
3369
                        NDR_PULL_ALLOC_N(ndr, r->user1, ndr_get_array_size(ndr, &r->user1));
 
3370
                        _mem_save_user1_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
3371
                        NDR_PULL_SET_MEM_CTX(ndr, r->user1, 0);
 
3372
                        for (cntr_user1_1 = 0; cntr_user1_1 < r->entries_read; cntr_user1_1++) {
 
3373
                                NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo1(ndr, NDR_SCALARS, &r->user1[cntr_user1_1]));
 
3374
                        }
 
3375
                        for (cntr_user1_1 = 0; cntr_user1_1 < r->entries_read; cntr_user1_1++) {
 
3376
                                NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo1(ndr, NDR_BUFFERS, &r->user1[cntr_user1_1]));
 
3377
                        }
 
3378
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user1_1, 0);
 
3379
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user1_0, 0);
 
3380
                }
 
3381
                if (r->user1) {
 
3382
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->user1, r->entries_read));
 
3383
                }
 
3384
        }
 
3385
        return NDR_ERR_SUCCESS;
 
3386
}
 
3387
 
 
3388
_PUBLIC_ void ndr_print_wkssvc_NetWkstaEnumUsersCtr1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaEnumUsersCtr1 *r)
 
3389
{
 
3390
        uint32_t cntr_user1_1;
 
3391
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaEnumUsersCtr1");
 
3392
        ndr->depth++;
 
3393
        ndr_print_uint32(ndr, "entries_read", r->entries_read);
 
3394
        ndr_print_ptr(ndr, "user1", r->user1);
 
3395
        ndr->depth++;
 
3396
        if (r->user1) {
 
3397
                ndr->print(ndr, "%s: ARRAY(%d)", "user1", (int)r->entries_read);
 
3398
                ndr->depth++;
 
3399
                for (cntr_user1_1=0;cntr_user1_1<r->entries_read;cntr_user1_1++) {
 
3400
                        char *idx_1=NULL;
 
3401
                        if (asprintf(&idx_1, "[%d]", cntr_user1_1) != -1) {
 
3402
                                ndr_print_wkssvc_NetrWkstaUserInfo1(ndr, "user1", &r->user1[cntr_user1_1]);
 
3403
                                free(idx_1);
 
3404
                        }
 
3405
                }
 
3406
                ndr->depth--;
 
3407
        }
 
3408
        ndr->depth--;
 
3409
        ndr->depth--;
 
3410
}
 
3411
 
 
3412
static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsersCtr(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetWkstaEnumUsersCtr *r)
 
3413
{
 
3414
        if (ndr_flags & NDR_SCALARS) {
 
3415
                int level = ndr_push_get_switch_value(ndr, r);
 
3416
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
 
3417
                NDR_CHECK(ndr_push_union_align(ndr, 5));
 
3418
                switch (level) {
 
3419
                        case 0: {
 
3420
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->user0));
 
3421
                        break; }
 
3422
 
 
3423
                        case 1: {
 
3424
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->user1));
 
3425
                        break; }
 
3426
 
 
3427
                        default:
 
3428
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
3429
                }
 
3430
        }
 
3431
        if (ndr_flags & NDR_BUFFERS) {
 
3432
                int level = ndr_push_get_switch_value(ndr, r);
 
3433
                switch (level) {
 
3434
                        case 0:
 
3435
                                if (r->user0) {
 
3436
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->user0));
 
3437
                                }
 
3438
                        break;
 
3439
 
 
3440
                        case 1:
 
3441
                                if (r->user1) {
 
3442
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->user1));
 
3443
                                }
 
3444
                        break;
 
3445
 
 
3446
                        default:
 
3447
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
3448
                }
 
3449
        }
 
3450
        return NDR_ERR_SUCCESS;
 
3451
}
 
3452
 
 
3453
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersCtr(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetWkstaEnumUsersCtr *r)
 
3454
{
 
3455
        int level;
 
3456
        uint32_t _level;
 
3457
        TALLOC_CTX *_mem_save_user0_0;
 
3458
        TALLOC_CTX *_mem_save_user1_0;
 
3459
        level = ndr_pull_get_switch_value(ndr, r);
 
3460
        if (ndr_flags & NDR_SCALARS) {
 
3461
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
 
3462
                if (_level != level) {
 
3463
                        return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
 
3464
                }
 
3465
                NDR_CHECK(ndr_pull_union_align(ndr, 5));
 
3466
                switch (level) {
 
3467
                        case 0: {
 
3468
                                uint32_t _ptr_user0;
 
3469
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user0));
 
3470
                                if (_ptr_user0) {
 
3471
                                        NDR_PULL_ALLOC(ndr, r->user0);
 
3472
                                } else {
 
3473
                                        r->user0 = NULL;
 
3474
                                }
 
3475
                        break; }
 
3476
 
 
3477
                        case 1: {
 
3478
                                uint32_t _ptr_user1;
 
3479
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user1));
 
3480
                                if (_ptr_user1) {
 
3481
                                        NDR_PULL_ALLOC(ndr, r->user1);
 
3482
                                } else {
 
3483
                                        r->user1 = NULL;
 
3484
                                }
 
3485
                        break; }
 
3486
 
 
3487
                        default:
 
3488
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
3489
                }
 
3490
        }
 
3491
        if (ndr_flags & NDR_BUFFERS) {
 
3492
                switch (level) {
 
3493
                        case 0:
 
3494
                                if (r->user0) {
 
3495
                                        _mem_save_user0_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3496
                                        NDR_PULL_SET_MEM_CTX(ndr, r->user0, 0);
 
3497
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->user0));
 
3498
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user0_0, 0);
 
3499
                                }
 
3500
                        break;
 
3501
 
 
3502
                        case 1:
 
3503
                                if (r->user1) {
 
3504
                                        _mem_save_user1_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3505
                                        NDR_PULL_SET_MEM_CTX(ndr, r->user1, 0);
 
3506
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->user1));
 
3507
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user1_0, 0);
 
3508
                                }
 
3509
                        break;
 
3510
 
 
3511
                        default:
 
3512
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
3513
                }
 
3514
        }
 
3515
        return NDR_ERR_SUCCESS;
 
3516
}
 
3517
 
 
3518
_PUBLIC_ void ndr_print_wkssvc_NetWkstaEnumUsersCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetWkstaEnumUsersCtr *r)
 
3519
{
 
3520
        int level;
 
3521
        level = ndr_print_get_switch_value(ndr, r);
 
3522
        ndr_print_union(ndr, name, level, "wkssvc_NetWkstaEnumUsersCtr");
 
3523
        switch (level) {
 
3524
                case 0:
 
3525
                        ndr_print_ptr(ndr, "user0", r->user0);
 
3526
                        ndr->depth++;
 
3527
                        if (r->user0) {
 
3528
                                ndr_print_wkssvc_NetWkstaEnumUsersCtr0(ndr, "user0", r->user0);
 
3529
                        }
 
3530
                        ndr->depth--;
 
3531
                break;
 
3532
 
 
3533
                case 1:
 
3534
                        ndr_print_ptr(ndr, "user1", r->user1);
 
3535
                        ndr->depth++;
 
3536
                        if (r->user1) {
 
3537
                                ndr_print_wkssvc_NetWkstaEnumUsersCtr1(ndr, "user1", r->user1);
 
3538
                        }
 
3539
                        ndr->depth--;
 
3540
                break;
 
3541
 
 
3542
                default:
 
3543
                        ndr_print_bad_level(ndr, name, level);
 
3544
        }
 
3545
}
 
3546
 
 
3547
static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsersInfo(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaEnumUsersInfo *r)
 
3548
{
 
3549
        if (ndr_flags & NDR_SCALARS) {
 
3550
                NDR_CHECK(ndr_push_align(ndr, 5));
 
3551
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
 
3552
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level));
 
3553
                NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersCtr(ndr, NDR_SCALARS, &r->ctr));
 
3554
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
3555
        }
 
3556
        if (ndr_flags & NDR_BUFFERS) {
 
3557
                NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersCtr(ndr, NDR_BUFFERS, &r->ctr));
 
3558
        }
 
3559
        return NDR_ERR_SUCCESS;
 
3560
}
 
3561
 
 
3562
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsersInfo(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaEnumUsersInfo *r)
 
3563
{
 
3564
        if (ndr_flags & NDR_SCALARS) {
 
3565
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
3566
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
 
3567
                NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level));
 
3568
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersCtr(ndr, NDR_SCALARS, &r->ctr));
 
3569
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
3570
        }
 
3571
        if (ndr_flags & NDR_BUFFERS) {
 
3572
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersCtr(ndr, NDR_BUFFERS, &r->ctr));
 
3573
        }
 
3574
        return NDR_ERR_SUCCESS;
 
3575
}
 
3576
 
 
3577
_PUBLIC_ void ndr_print_wkssvc_NetWkstaEnumUsersInfo(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaEnumUsersInfo *r)
 
3578
{
 
3579
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaEnumUsersInfo");
 
3580
        ndr->depth++;
 
3581
        ndr_print_uint32(ndr, "level", r->level);
 
3582
        ndr_print_set_switch_value(ndr, &r->ctr, r->level);
 
3583
        ndr_print_wkssvc_NetWkstaEnumUsersCtr(ndr, "ctr", &r->ctr);
 
3584
        ndr->depth--;
 
3585
}
 
3586
 
 
3587
static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo1101(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrWkstaUserInfo1101 *r)
 
3588
{
 
3589
        if (ndr_flags & NDR_SCALARS) {
 
3590
                NDR_CHECK(ndr_push_align(ndr, 5));
 
3591
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_domains));
 
3592
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
3593
        }
 
3594
        if (ndr_flags & NDR_BUFFERS) {
 
3595
                if (r->other_domains) {
 
3596
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->other_domains, CH_UTF16)));
 
3597
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
3598
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->other_domains, CH_UTF16)));
 
3599
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->other_domains, ndr_charset_length(r->other_domains, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
3600
                }
 
3601
        }
 
3602
        return NDR_ERR_SUCCESS;
 
3603
}
 
3604
 
 
3605
static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo1101(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWkstaUserInfo1101 *r)
 
3606
{
 
3607
        uint32_t _ptr_other_domains;
 
3608
        TALLOC_CTX *_mem_save_other_domains_0;
 
3609
        if (ndr_flags & NDR_SCALARS) {
 
3610
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
3611
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_domains));
 
3612
                if (_ptr_other_domains) {
 
3613
                        NDR_PULL_ALLOC(ndr, r->other_domains);
 
3614
                } else {
 
3615
                        r->other_domains = NULL;
 
3616
                }
 
3617
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
3618
        }
 
3619
        if (ndr_flags & NDR_BUFFERS) {
 
3620
                if (r->other_domains) {
 
3621
                        _mem_save_other_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3622
                        NDR_PULL_SET_MEM_CTX(ndr, r->other_domains, 0);
 
3623
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->other_domains));
 
3624
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->other_domains));
 
3625
                        if (ndr_get_array_length(ndr, &r->other_domains) > ndr_get_array_size(ndr, &r->other_domains)) {
 
3626
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->other_domains), ndr_get_array_length(ndr, &r->other_domains));
 
3627
                        }
 
3628
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t)));
 
3629
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->other_domains, ndr_get_array_length(ndr, &r->other_domains), sizeof(uint16_t), CH_UTF16));
 
3630
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_domains_0, 0);
 
3631
                }
 
3632
        }
 
3633
        return NDR_ERR_SUCCESS;
 
3634
}
 
3635
 
 
3636
_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserInfo1101(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWkstaUserInfo1101 *r)
 
3637
{
 
3638
        ndr_print_struct(ndr, name, "wkssvc_NetrWkstaUserInfo1101");
 
3639
        ndr->depth++;
 
3640
        ndr_print_ptr(ndr, "other_domains", r->other_domains);
 
3641
        ndr->depth++;
 
3642
        if (r->other_domains) {
 
3643
                ndr_print_string(ndr, "other_domains", r->other_domains);
 
3644
        }
 
3645
        ndr->depth--;
 
3646
        ndr->depth--;
 
3647
}
 
3648
 
 
3649
static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserInfo(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetrWkstaUserInfo *r)
 
3650
{
 
3651
        if (ndr_flags & NDR_SCALARS) {
 
3652
                int level = ndr_push_get_switch_value(ndr, r);
 
3653
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
 
3654
                NDR_CHECK(ndr_push_union_align(ndr, 5));
 
3655
                switch (level) {
 
3656
                        case 0: {
 
3657
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
 
3658
                        break; }
 
3659
 
 
3660
                        case 1: {
 
3661
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
 
3662
                        break; }
 
3663
 
 
3664
                        case 1101: {
 
3665
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1101));
 
3666
                        break; }
 
3667
 
 
3668
                        default:
 
3669
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
3670
                }
 
3671
        }
 
3672
        if (ndr_flags & NDR_BUFFERS) {
 
3673
                int level = ndr_push_get_switch_value(ndr, r);
 
3674
                switch (level) {
 
3675
                        case 0:
 
3676
                                if (r->info0) {
 
3677
                                        NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
 
3678
                                }
 
3679
                        break;
 
3680
 
 
3681
                        case 1:
 
3682
                                if (r->info1) {
 
3683
                                        NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
 
3684
                                }
 
3685
                        break;
 
3686
 
 
3687
                        case 1101:
 
3688
                                if (r->info1101) {
 
3689
                                        NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo1101(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1101));
 
3690
                                }
 
3691
                        break;
 
3692
 
 
3693
                        default:
 
3694
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
3695
                }
 
3696
        }
 
3697
        return NDR_ERR_SUCCESS;
 
3698
}
 
3699
 
 
3700
static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserInfo(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetrWkstaUserInfo *r)
 
3701
{
 
3702
        int level;
 
3703
        uint32_t _level;
 
3704
        TALLOC_CTX *_mem_save_info0_0;
 
3705
        TALLOC_CTX *_mem_save_info1_0;
 
3706
        TALLOC_CTX *_mem_save_info1101_0;
 
3707
        level = ndr_pull_get_switch_value(ndr, r);
 
3708
        if (ndr_flags & NDR_SCALARS) {
 
3709
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
 
3710
                if (_level != level) {
 
3711
                        return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
 
3712
                }
 
3713
                NDR_CHECK(ndr_pull_union_align(ndr, 5));
 
3714
                switch (level) {
 
3715
                        case 0: {
 
3716
                                uint32_t _ptr_info0;
 
3717
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
 
3718
                                if (_ptr_info0) {
 
3719
                                        NDR_PULL_ALLOC(ndr, r->info0);
 
3720
                                } else {
 
3721
                                        r->info0 = NULL;
 
3722
                                }
 
3723
                        break; }
 
3724
 
 
3725
                        case 1: {
 
3726
                                uint32_t _ptr_info1;
 
3727
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
 
3728
                                if (_ptr_info1) {
 
3729
                                        NDR_PULL_ALLOC(ndr, r->info1);
 
3730
                                } else {
 
3731
                                        r->info1 = NULL;
 
3732
                                }
 
3733
                        break; }
 
3734
 
 
3735
                        case 1101: {
 
3736
                                uint32_t _ptr_info1101;
 
3737
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1101));
 
3738
                                if (_ptr_info1101) {
 
3739
                                        NDR_PULL_ALLOC(ndr, r->info1101);
 
3740
                                } else {
 
3741
                                        r->info1101 = NULL;
 
3742
                                }
 
3743
                        break; }
 
3744
 
 
3745
                        default:
 
3746
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
3747
                }
 
3748
        }
 
3749
        if (ndr_flags & NDR_BUFFERS) {
 
3750
                switch (level) {
 
3751
                        case 0:
 
3752
                                if (r->info0) {
 
3753
                                        _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3754
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
 
3755
                                        NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
 
3756
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
 
3757
                                }
 
3758
                        break;
 
3759
 
 
3760
                        case 1:
 
3761
                                if (r->info1) {
 
3762
                                        _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3763
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
 
3764
                                        NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
 
3765
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
 
3766
                                }
 
3767
                        break;
 
3768
 
 
3769
                        case 1101:
 
3770
                                if (r->info1101) {
 
3771
                                        _mem_save_info1101_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3772
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1101, 0);
 
3773
                                        NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo1101(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1101));
 
3774
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1101_0, 0);
 
3775
                                }
 
3776
                        break;
 
3777
 
 
3778
                        default:
 
3779
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
3780
                }
 
3781
        }
 
3782
        return NDR_ERR_SUCCESS;
 
3783
}
 
3784
 
 
3785
_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserInfo(struct ndr_print *ndr, const char *name, const union wkssvc_NetrWkstaUserInfo *r)
 
3786
{
 
3787
        int level;
 
3788
        level = ndr_print_get_switch_value(ndr, r);
 
3789
        ndr_print_union(ndr, name, level, "wkssvc_NetrWkstaUserInfo");
 
3790
        switch (level) {
 
3791
                case 0:
 
3792
                        ndr_print_ptr(ndr, "info0", r->info0);
 
3793
                        ndr->depth++;
 
3794
                        if (r->info0) {
 
3795
                                ndr_print_wkssvc_NetrWkstaUserInfo0(ndr, "info0", r->info0);
 
3796
                        }
 
3797
                        ndr->depth--;
 
3798
                break;
 
3799
 
 
3800
                case 1:
 
3801
                        ndr_print_ptr(ndr, "info1", r->info1);
 
3802
                        ndr->depth++;
 
3803
                        if (r->info1) {
 
3804
                                ndr_print_wkssvc_NetrWkstaUserInfo1(ndr, "info1", r->info1);
 
3805
                        }
 
3806
                        ndr->depth--;
 
3807
                break;
 
3808
 
 
3809
                case 1101:
 
3810
                        ndr_print_ptr(ndr, "info1101", r->info1101);
 
3811
                        ndr->depth++;
 
3812
                        if (r->info1101) {
 
3813
                                ndr_print_wkssvc_NetrWkstaUserInfo1101(ndr, "info1101", r->info1101);
 
3814
                        }
 
3815
                        ndr->depth--;
 
3816
                break;
 
3817
 
 
3818
                default:
 
3819
                        ndr_print_bad_level(ndr, name, level);
 
3820
        }
 
3821
}
 
3822
 
 
3823
static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportInfo0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaTransportInfo0 *r)
 
3824
{
 
3825
        if (ndr_flags & NDR_SCALARS) {
 
3826
                NDR_CHECK(ndr_push_align(ndr, 5));
 
3827
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->quality_of_service));
 
3828
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->vc_count));
 
3829
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
 
3830
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->address));
 
3831
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->wan_link));
 
3832
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
3833
        }
 
3834
        if (ndr_flags & NDR_BUFFERS) {
 
3835
                if (r->name) {
 
3836
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
 
3837
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
3838
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
 
3839
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
3840
                }
 
3841
                if (r->address) {
 
3842
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->address, CH_UTF16)));
 
3843
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
3844
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->address, CH_UTF16)));
 
3845
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->address, ndr_charset_length(r->address, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
3846
                }
 
3847
        }
 
3848
        return NDR_ERR_SUCCESS;
 
3849
}
 
3850
 
 
3851
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportInfo0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaTransportInfo0 *r)
 
3852
{
 
3853
        uint32_t _ptr_name;
 
3854
        TALLOC_CTX *_mem_save_name_0;
 
3855
        uint32_t _ptr_address;
 
3856
        TALLOC_CTX *_mem_save_address_0;
 
3857
        if (ndr_flags & NDR_SCALARS) {
 
3858
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
3859
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->quality_of_service));
 
3860
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->vc_count));
 
3861
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
 
3862
                if (_ptr_name) {
 
3863
                        NDR_PULL_ALLOC(ndr, r->name);
 
3864
                } else {
 
3865
                        r->name = NULL;
 
3866
                }
 
3867
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_address));
 
3868
                if (_ptr_address) {
 
3869
                        NDR_PULL_ALLOC(ndr, r->address);
 
3870
                } else {
 
3871
                        r->address = NULL;
 
3872
                }
 
3873
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->wan_link));
 
3874
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
3875
        }
 
3876
        if (ndr_flags & NDR_BUFFERS) {
 
3877
                if (r->name) {
 
3878
                        _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3879
                        NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
 
3880
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
 
3881
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
 
3882
                        if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
 
3883
                                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));
 
3884
                        }
 
3885
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
 
3886
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
 
3887
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
 
3888
                }
 
3889
                if (r->address) {
 
3890
                        _mem_save_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3891
                        NDR_PULL_SET_MEM_CTX(ndr, r->address, 0);
 
3892
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->address));
 
3893
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->address));
 
3894
                        if (ndr_get_array_length(ndr, &r->address) > ndr_get_array_size(ndr, &r->address)) {
 
3895
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->address), ndr_get_array_length(ndr, &r->address));
 
3896
                        }
 
3897
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->address), sizeof(uint16_t)));
 
3898
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->address, ndr_get_array_length(ndr, &r->address), sizeof(uint16_t), CH_UTF16));
 
3899
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_address_0, 0);
 
3900
                }
 
3901
        }
 
3902
        return NDR_ERR_SUCCESS;
 
3903
}
 
3904
 
 
3905
_PUBLIC_ void ndr_print_wkssvc_NetWkstaTransportInfo0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaTransportInfo0 *r)
 
3906
{
 
3907
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaTransportInfo0");
 
3908
        ndr->depth++;
 
3909
        ndr_print_uint32(ndr, "quality_of_service", r->quality_of_service);
 
3910
        ndr_print_uint32(ndr, "vc_count", r->vc_count);
 
3911
        ndr_print_ptr(ndr, "name", r->name);
 
3912
        ndr->depth++;
 
3913
        if (r->name) {
 
3914
                ndr_print_string(ndr, "name", r->name);
 
3915
        }
 
3916
        ndr->depth--;
 
3917
        ndr_print_ptr(ndr, "address", r->address);
 
3918
        ndr->depth++;
 
3919
        if (r->address) {
 
3920
                ndr_print_string(ndr, "address", r->address);
 
3921
        }
 
3922
        ndr->depth--;
 
3923
        ndr_print_uint32(ndr, "wan_link", r->wan_link);
 
3924
        ndr->depth--;
 
3925
}
 
3926
 
 
3927
static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportCtr0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaTransportCtr0 *r)
 
3928
{
 
3929
        uint32_t cntr_array_1;
 
3930
        if (ndr_flags & NDR_SCALARS) {
 
3931
                NDR_CHECK(ndr_push_align(ndr, 5));
 
3932
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
 
3933
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
 
3934
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
3935
        }
 
3936
        if (ndr_flags & NDR_BUFFERS) {
 
3937
                if (r->array) {
 
3938
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
 
3939
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
3940
                                NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
 
3941
                        }
 
3942
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
3943
                                NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
 
3944
                        }
 
3945
                }
 
3946
        }
 
3947
        return NDR_ERR_SUCCESS;
 
3948
}
 
3949
 
 
3950
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportCtr0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaTransportCtr0 *r)
 
3951
{
 
3952
        uint32_t _ptr_array;
 
3953
        uint32_t cntr_array_1;
 
3954
        TALLOC_CTX *_mem_save_array_0;
 
3955
        TALLOC_CTX *_mem_save_array_1;
 
3956
        if (ndr_flags & NDR_SCALARS) {
 
3957
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
3958
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
 
3959
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
 
3960
                if (_ptr_array) {
 
3961
                        NDR_PULL_ALLOC(ndr, r->array);
 
3962
                } else {
 
3963
                        r->array = NULL;
 
3964
                }
 
3965
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
3966
        }
 
3967
        if (ndr_flags & NDR_BUFFERS) {
 
3968
                if (r->array) {
 
3969
                        _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
3970
                        NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
 
3971
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
 
3972
                        NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
 
3973
                        _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
3974
                        NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
 
3975
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
3976
                                NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
 
3977
                        }
 
3978
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
3979
                                NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
 
3980
                        }
 
3981
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
 
3982
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
 
3983
                }
 
3984
                if (r->array) {
 
3985
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
 
3986
                }
 
3987
        }
 
3988
        return NDR_ERR_SUCCESS;
 
3989
}
 
3990
 
 
3991
_PUBLIC_ void ndr_print_wkssvc_NetWkstaTransportCtr0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaTransportCtr0 *r)
 
3992
{
 
3993
        uint32_t cntr_array_1;
 
3994
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaTransportCtr0");
 
3995
        ndr->depth++;
 
3996
        ndr_print_uint32(ndr, "count", r->count);
 
3997
        ndr_print_ptr(ndr, "array", r->array);
 
3998
        ndr->depth++;
 
3999
        if (r->array) {
 
4000
                ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
 
4001
                ndr->depth++;
 
4002
                for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
 
4003
                        char *idx_1=NULL;
 
4004
                        if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
 
4005
                                ndr_print_wkssvc_NetWkstaTransportInfo0(ndr, "array", &r->array[cntr_array_1]);
 
4006
                                free(idx_1);
 
4007
                        }
 
4008
                }
 
4009
                ndr->depth--;
 
4010
        }
 
4011
        ndr->depth--;
 
4012
        ndr->depth--;
 
4013
}
 
4014
 
 
4015
static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportCtr(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetWkstaTransportCtr *r)
 
4016
{
 
4017
        if (ndr_flags & NDR_SCALARS) {
 
4018
                int level = ndr_push_get_switch_value(ndr, r);
 
4019
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
 
4020
                NDR_CHECK(ndr_push_union_align(ndr, 5));
 
4021
                switch (level) {
 
4022
                        case 0: {
 
4023
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr0));
 
4024
                        break; }
 
4025
 
 
4026
                        default:
 
4027
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
4028
                }
 
4029
        }
 
4030
        if (ndr_flags & NDR_BUFFERS) {
 
4031
                int level = ndr_push_get_switch_value(ndr, r);
 
4032
                switch (level) {
 
4033
                        case 0:
 
4034
                                if (r->ctr0) {
 
4035
                                        NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0));
 
4036
                                }
 
4037
                        break;
 
4038
 
 
4039
                        default:
 
4040
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
4041
                }
 
4042
        }
 
4043
        return NDR_ERR_SUCCESS;
 
4044
}
 
4045
 
 
4046
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportCtr(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetWkstaTransportCtr *r)
 
4047
{
 
4048
        int level;
 
4049
        uint32_t _level;
 
4050
        TALLOC_CTX *_mem_save_ctr0_0;
 
4051
        level = ndr_pull_get_switch_value(ndr, r);
 
4052
        if (ndr_flags & NDR_SCALARS) {
 
4053
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
 
4054
                if (_level != level) {
 
4055
                        return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
 
4056
                }
 
4057
                NDR_CHECK(ndr_pull_union_align(ndr, 5));
 
4058
                switch (level) {
 
4059
                        case 0: {
 
4060
                                uint32_t _ptr_ctr0;
 
4061
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0));
 
4062
                                if (_ptr_ctr0) {
 
4063
                                        NDR_PULL_ALLOC(ndr, r->ctr0);
 
4064
                                } else {
 
4065
                                        r->ctr0 = NULL;
 
4066
                                }
 
4067
                        break; }
 
4068
 
 
4069
                        default:
 
4070
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
4071
                }
 
4072
        }
 
4073
        if (ndr_flags & NDR_BUFFERS) {
 
4074
                switch (level) {
 
4075
                        case 0:
 
4076
                                if (r->ctr0) {
 
4077
                                        _mem_save_ctr0_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4078
                                        NDR_PULL_SET_MEM_CTX(ndr, r->ctr0, 0);
 
4079
                                        NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0));
 
4080
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr0_0, 0);
 
4081
                                }
 
4082
                        break;
 
4083
 
 
4084
                        default:
 
4085
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
4086
                }
 
4087
        }
 
4088
        return NDR_ERR_SUCCESS;
 
4089
}
 
4090
 
 
4091
_PUBLIC_ void ndr_print_wkssvc_NetWkstaTransportCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetWkstaTransportCtr *r)
 
4092
{
 
4093
        int level;
 
4094
        level = ndr_print_get_switch_value(ndr, r);
 
4095
        ndr_print_union(ndr, name, level, "wkssvc_NetWkstaTransportCtr");
 
4096
        switch (level) {
 
4097
                case 0:
 
4098
                        ndr_print_ptr(ndr, "ctr0", r->ctr0);
 
4099
                        ndr->depth++;
 
4100
                        if (r->ctr0) {
 
4101
                                ndr_print_wkssvc_NetWkstaTransportCtr0(ndr, "ctr0", r->ctr0);
 
4102
                        }
 
4103
                        ndr->depth--;
 
4104
                break;
 
4105
 
 
4106
                default:
 
4107
                        ndr_print_bad_level(ndr, name, level);
 
4108
        }
 
4109
}
 
4110
 
 
4111
static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportInfo(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetWkstaTransportInfo *r)
 
4112
{
 
4113
        if (ndr_flags & NDR_SCALARS) {
 
4114
                NDR_CHECK(ndr_push_align(ndr, 5));
 
4115
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
 
4116
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level));
 
4117
                NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportCtr(ndr, NDR_SCALARS, &r->ctr));
 
4118
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
4119
        }
 
4120
        if (ndr_flags & NDR_BUFFERS) {
 
4121
                NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportCtr(ndr, NDR_BUFFERS, &r->ctr));
 
4122
        }
 
4123
        return NDR_ERR_SUCCESS;
 
4124
}
 
4125
 
 
4126
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportInfo(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetWkstaTransportInfo *r)
 
4127
{
 
4128
        if (ndr_flags & NDR_SCALARS) {
 
4129
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
4130
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
 
4131
                NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level));
 
4132
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportCtr(ndr, NDR_SCALARS, &r->ctr));
 
4133
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
4134
        }
 
4135
        if (ndr_flags & NDR_BUFFERS) {
 
4136
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportCtr(ndr, NDR_BUFFERS, &r->ctr));
 
4137
        }
 
4138
        return NDR_ERR_SUCCESS;
 
4139
}
 
4140
 
 
4141
_PUBLIC_ void ndr_print_wkssvc_NetWkstaTransportInfo(struct ndr_print *ndr, const char *name, const struct wkssvc_NetWkstaTransportInfo *r)
 
4142
{
 
4143
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaTransportInfo");
 
4144
        ndr->depth++;
 
4145
        ndr_print_uint32(ndr, "level", r->level);
 
4146
        ndr_print_set_switch_value(ndr, &r->ctr, r->level);
 
4147
        ndr_print_wkssvc_NetWkstaTransportCtr(ndr, "ctr", &r->ctr);
 
4148
        ndr->depth--;
 
4149
}
 
4150
 
 
4151
static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo3(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseInfo3 *r)
 
4152
{
 
4153
        if (ndr_flags & NDR_SCALARS) {
 
4154
                NDR_CHECK(ndr_push_align(ndr, 5));
 
4155
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown1));
 
4156
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->unknown2));
 
4157
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
4158
        }
 
4159
        if (ndr_flags & NDR_BUFFERS) {
 
4160
                if (r->unknown1) {
 
4161
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
 
4162
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4163
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unknown1, CH_UTF16)));
 
4164
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown1, ndr_charset_length(r->unknown1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4165
                }
 
4166
                if (r->unknown2) {
 
4167
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
 
4168
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4169
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->unknown2, CH_UTF16)));
 
4170
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unknown2, ndr_charset_length(r->unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4171
                }
 
4172
        }
 
4173
        return NDR_ERR_SUCCESS;
 
4174
}
 
4175
 
 
4176
static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo3(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo3 *r)
 
4177
{
 
4178
        uint32_t _ptr_unknown1;
 
4179
        TALLOC_CTX *_mem_save_unknown1_0;
 
4180
        uint32_t _ptr_unknown2;
 
4181
        TALLOC_CTX *_mem_save_unknown2_0;
 
4182
        if (ndr_flags & NDR_SCALARS) {
 
4183
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
4184
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown1));
 
4185
                if (_ptr_unknown1) {
 
4186
                        NDR_PULL_ALLOC(ndr, r->unknown1);
 
4187
                } else {
 
4188
                        r->unknown1 = NULL;
 
4189
                }
 
4190
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
 
4191
                if (_ptr_unknown2) {
 
4192
                        NDR_PULL_ALLOC(ndr, r->unknown2);
 
4193
                } else {
 
4194
                        r->unknown2 = NULL;
 
4195
                }
 
4196
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
4197
        }
 
4198
        if (ndr_flags & NDR_BUFFERS) {
 
4199
                if (r->unknown1) {
 
4200
                        _mem_save_unknown1_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4201
                        NDR_PULL_SET_MEM_CTX(ndr, r->unknown1, 0);
 
4202
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown1));
 
4203
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown1));
 
4204
                        if (ndr_get_array_length(ndr, &r->unknown1) > ndr_get_array_size(ndr, &r->unknown1)) {
 
4205
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown1), ndr_get_array_length(ndr, &r->unknown1));
 
4206
                        }
 
4207
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t)));
 
4208
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown1, ndr_get_array_length(ndr, &r->unknown1), sizeof(uint16_t), CH_UTF16));
 
4209
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown1_0, 0);
 
4210
                }
 
4211
                if (r->unknown2) {
 
4212
                        _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4213
                        NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
 
4214
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
 
4215
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
 
4216
                        if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
 
4217
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2));
 
4218
                        }
 
4219
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
 
4220
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
 
4221
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
 
4222
                }
 
4223
        }
 
4224
        return NDR_ERR_SUCCESS;
 
4225
}
 
4226
 
 
4227
_PUBLIC_ void ndr_print_wkssvc_NetrUseInfo3(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo3 *r)
 
4228
{
 
4229
        ndr_print_struct(ndr, name, "wkssvc_NetrUseInfo3");
 
4230
        ndr->depth++;
 
4231
        ndr_print_ptr(ndr, "unknown1", r->unknown1);
 
4232
        ndr->depth++;
 
4233
        if (r->unknown1) {
 
4234
                ndr_print_string(ndr, "unknown1", r->unknown1);
 
4235
        }
 
4236
        ndr->depth--;
 
4237
        ndr_print_ptr(ndr, "unknown2", r->unknown2);
 
4238
        ndr->depth++;
 
4239
        if (r->unknown2) {
 
4240
                ndr_print_string(ndr, "unknown2", r->unknown2);
 
4241
        }
 
4242
        ndr->depth--;
 
4243
        ndr->depth--;
 
4244
}
 
4245
 
 
4246
static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo2(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseInfo2 *r)
 
4247
{
 
4248
        if (ndr_flags & NDR_SCALARS) {
 
4249
                NDR_CHECK(ndr_push_align(ndr, 5));
 
4250
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->local));
 
4251
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote));
 
4252
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
 
4253
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status));
 
4254
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->asg_type));
 
4255
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_count));
 
4256
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_count));
 
4257
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->user_name));
 
4258
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
 
4259
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
4260
        }
 
4261
        if (ndr_flags & NDR_BUFFERS) {
 
4262
                if (r->local) {
 
4263
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16)));
 
4264
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4265
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16)));
 
4266
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->local, ndr_charset_length(r->local, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4267
                }
 
4268
                if (r->remote) {
 
4269
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16)));
 
4270
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4271
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16)));
 
4272
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote, ndr_charset_length(r->remote, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4273
                }
 
4274
                if (r->password) {
 
4275
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16)));
 
4276
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4277
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16)));
 
4278
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->password, ndr_charset_length(r->password, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4279
                }
 
4280
                if (r->user_name) {
 
4281
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
 
4282
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4283
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->user_name, CH_UTF16)));
 
4284
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->user_name, ndr_charset_length(r->user_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4285
                }
 
4286
                if (r->domain_name) {
 
4287
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
 
4288
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4289
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF16)));
 
4290
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4291
                }
 
4292
        }
 
4293
        return NDR_ERR_SUCCESS;
 
4294
}
 
4295
 
 
4296
static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo2(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo2 *r)
 
4297
{
 
4298
        uint32_t _ptr_local;
 
4299
        TALLOC_CTX *_mem_save_local_0;
 
4300
        uint32_t _ptr_remote;
 
4301
        TALLOC_CTX *_mem_save_remote_0;
 
4302
        uint32_t _ptr_password;
 
4303
        TALLOC_CTX *_mem_save_password_0;
 
4304
        uint32_t _ptr_user_name;
 
4305
        TALLOC_CTX *_mem_save_user_name_0;
 
4306
        uint32_t _ptr_domain_name;
 
4307
        TALLOC_CTX *_mem_save_domain_name_0;
 
4308
        if (ndr_flags & NDR_SCALARS) {
 
4309
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
4310
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_local));
 
4311
                if (_ptr_local) {
 
4312
                        NDR_PULL_ALLOC(ndr, r->local);
 
4313
                } else {
 
4314
                        r->local = NULL;
 
4315
                }
 
4316
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote));
 
4317
                if (_ptr_remote) {
 
4318
                        NDR_PULL_ALLOC(ndr, r->remote);
 
4319
                } else {
 
4320
                        r->remote = NULL;
 
4321
                }
 
4322
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
 
4323
                if (_ptr_password) {
 
4324
                        NDR_PULL_ALLOC(ndr, r->password);
 
4325
                } else {
 
4326
                        r->password = NULL;
 
4327
                }
 
4328
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status));
 
4329
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->asg_type));
 
4330
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_count));
 
4331
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_count));
 
4332
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
 
4333
                if (_ptr_user_name) {
 
4334
                        NDR_PULL_ALLOC(ndr, r->user_name);
 
4335
                } else {
 
4336
                        r->user_name = NULL;
 
4337
                }
 
4338
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
 
4339
                if (_ptr_domain_name) {
 
4340
                        NDR_PULL_ALLOC(ndr, r->domain_name);
 
4341
                } else {
 
4342
                        r->domain_name = NULL;
 
4343
                }
 
4344
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
4345
        }
 
4346
        if (ndr_flags & NDR_BUFFERS) {
 
4347
                if (r->local) {
 
4348
                        _mem_save_local_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4349
                        NDR_PULL_SET_MEM_CTX(ndr, r->local, 0);
 
4350
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->local));
 
4351
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->local));
 
4352
                        if (ndr_get_array_length(ndr, &r->local) > ndr_get_array_size(ndr, &r->local)) {
 
4353
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->local), ndr_get_array_length(ndr, &r->local));
 
4354
                        }
 
4355
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t)));
 
4356
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t), CH_UTF16));
 
4357
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_0, 0);
 
4358
                }
 
4359
                if (r->remote) {
 
4360
                        _mem_save_remote_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4361
                        NDR_PULL_SET_MEM_CTX(ndr, r->remote, 0);
 
4362
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->remote));
 
4363
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->remote));
 
4364
                        if (ndr_get_array_length(ndr, &r->remote) > ndr_get_array_size(ndr, &r->remote)) {
 
4365
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote), ndr_get_array_length(ndr, &r->remote));
 
4366
                        }
 
4367
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t)));
 
4368
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t), CH_UTF16));
 
4369
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_0, 0);
 
4370
                }
 
4371
                if (r->password) {
 
4372
                        _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4373
                        NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
 
4374
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->password));
 
4375
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->password));
 
4376
                        if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) {
 
4377
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password));
 
4378
                        }
 
4379
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t)));
 
4380
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t), CH_UTF16));
 
4381
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
 
4382
                }
 
4383
                if (r->user_name) {
 
4384
                        _mem_save_user_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4385
                        NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
 
4386
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->user_name));
 
4387
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->user_name));
 
4388
                        if (ndr_get_array_length(ndr, &r->user_name) > ndr_get_array_size(ndr, &r->user_name)) {
 
4389
                                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_name), ndr_get_array_length(ndr, &r->user_name));
 
4390
                        }
 
4391
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t)));
 
4392
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->user_name, ndr_get_array_length(ndr, &r->user_name), sizeof(uint16_t), CH_UTF16));
 
4393
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
 
4394
                }
 
4395
                if (r->domain_name) {
 
4396
                        _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4397
                        NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
 
4398
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
 
4399
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
 
4400
                        if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
 
4401
                                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));
 
4402
                        }
 
4403
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t)));
 
4404
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint16_t), CH_UTF16));
 
4405
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
 
4406
                }
 
4407
        }
 
4408
        return NDR_ERR_SUCCESS;
 
4409
}
 
4410
 
 
4411
_PUBLIC_ void ndr_print_wkssvc_NetrUseInfo2(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo2 *r)
 
4412
{
 
4413
        ndr_print_struct(ndr, name, "wkssvc_NetrUseInfo2");
 
4414
        ndr->depth++;
 
4415
        ndr_print_ptr(ndr, "local", r->local);
 
4416
        ndr->depth++;
 
4417
        if (r->local) {
 
4418
                ndr_print_string(ndr, "local", r->local);
 
4419
        }
 
4420
        ndr->depth--;
 
4421
        ndr_print_ptr(ndr, "remote", r->remote);
 
4422
        ndr->depth++;
 
4423
        if (r->remote) {
 
4424
                ndr_print_string(ndr, "remote", r->remote);
 
4425
        }
 
4426
        ndr->depth--;
 
4427
        ndr_print_ptr(ndr, "password", r->password);
 
4428
        ndr->depth++;
 
4429
        if (r->password) {
 
4430
                ndr_print_string(ndr, "password", r->password);
 
4431
        }
 
4432
        ndr->depth--;
 
4433
        ndr_print_uint32(ndr, "status", r->status);
 
4434
        ndr_print_uint32(ndr, "asg_type", r->asg_type);
 
4435
        ndr_print_uint32(ndr, "ref_count", r->ref_count);
 
4436
        ndr_print_uint32(ndr, "use_count", r->use_count);
 
4437
        ndr_print_ptr(ndr, "user_name", r->user_name);
 
4438
        ndr->depth++;
 
4439
        if (r->user_name) {
 
4440
                ndr_print_string(ndr, "user_name", r->user_name);
 
4441
        }
 
4442
        ndr->depth--;
 
4443
        ndr_print_ptr(ndr, "domain_name", r->domain_name);
 
4444
        ndr->depth++;
 
4445
        if (r->domain_name) {
 
4446
                ndr_print_string(ndr, "domain_name", r->domain_name);
 
4447
        }
 
4448
        ndr->depth--;
 
4449
        ndr->depth--;
 
4450
}
 
4451
 
 
4452
static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo1(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseInfo1 *r)
 
4453
{
 
4454
        if (ndr_flags & NDR_SCALARS) {
 
4455
                NDR_CHECK(ndr_push_align(ndr, 5));
 
4456
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->local));
 
4457
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote));
 
4458
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
 
4459
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->status));
 
4460
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->asg_type));
 
4461
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_count));
 
4462
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->use_count));
 
4463
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
4464
        }
 
4465
        if (ndr_flags & NDR_BUFFERS) {
 
4466
                if (r->local) {
 
4467
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16)));
 
4468
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4469
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16)));
 
4470
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->local, ndr_charset_length(r->local, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4471
                }
 
4472
                if (r->remote) {
 
4473
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16)));
 
4474
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4475
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16)));
 
4476
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote, ndr_charset_length(r->remote, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4477
                }
 
4478
                if (r->password) {
 
4479
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16)));
 
4480
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4481
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF16)));
 
4482
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->password, ndr_charset_length(r->password, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4483
                }
 
4484
        }
 
4485
        return NDR_ERR_SUCCESS;
 
4486
}
 
4487
 
 
4488
static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo1 *r)
 
4489
{
 
4490
        uint32_t _ptr_local;
 
4491
        TALLOC_CTX *_mem_save_local_0;
 
4492
        uint32_t _ptr_remote;
 
4493
        TALLOC_CTX *_mem_save_remote_0;
 
4494
        uint32_t _ptr_password;
 
4495
        TALLOC_CTX *_mem_save_password_0;
 
4496
        if (ndr_flags & NDR_SCALARS) {
 
4497
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
4498
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_local));
 
4499
                if (_ptr_local) {
 
4500
                        NDR_PULL_ALLOC(ndr, r->local);
 
4501
                } else {
 
4502
                        r->local = NULL;
 
4503
                }
 
4504
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote));
 
4505
                if (_ptr_remote) {
 
4506
                        NDR_PULL_ALLOC(ndr, r->remote);
 
4507
                } else {
 
4508
                        r->remote = NULL;
 
4509
                }
 
4510
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
 
4511
                if (_ptr_password) {
 
4512
                        NDR_PULL_ALLOC(ndr, r->password);
 
4513
                } else {
 
4514
                        r->password = NULL;
 
4515
                }
 
4516
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->status));
 
4517
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->asg_type));
 
4518
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_count));
 
4519
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->use_count));
 
4520
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
4521
        }
 
4522
        if (ndr_flags & NDR_BUFFERS) {
 
4523
                if (r->local) {
 
4524
                        _mem_save_local_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4525
                        NDR_PULL_SET_MEM_CTX(ndr, r->local, 0);
 
4526
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->local));
 
4527
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->local));
 
4528
                        if (ndr_get_array_length(ndr, &r->local) > ndr_get_array_size(ndr, &r->local)) {
 
4529
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->local), ndr_get_array_length(ndr, &r->local));
 
4530
                        }
 
4531
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t)));
 
4532
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t), CH_UTF16));
 
4533
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_0, 0);
 
4534
                }
 
4535
                if (r->remote) {
 
4536
                        _mem_save_remote_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4537
                        NDR_PULL_SET_MEM_CTX(ndr, r->remote, 0);
 
4538
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->remote));
 
4539
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->remote));
 
4540
                        if (ndr_get_array_length(ndr, &r->remote) > ndr_get_array_size(ndr, &r->remote)) {
 
4541
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote), ndr_get_array_length(ndr, &r->remote));
 
4542
                        }
 
4543
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t)));
 
4544
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t), CH_UTF16));
 
4545
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_0, 0);
 
4546
                }
 
4547
                if (r->password) {
 
4548
                        _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4549
                        NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
 
4550
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->password));
 
4551
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->password));
 
4552
                        if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) {
 
4553
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password));
 
4554
                        }
 
4555
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t)));
 
4556
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint16_t), CH_UTF16));
 
4557
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
 
4558
                }
 
4559
        }
 
4560
        return NDR_ERR_SUCCESS;
 
4561
}
 
4562
 
 
4563
_PUBLIC_ void ndr_print_wkssvc_NetrUseInfo1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo1 *r)
 
4564
{
 
4565
        ndr_print_struct(ndr, name, "wkssvc_NetrUseInfo1");
 
4566
        ndr->depth++;
 
4567
        ndr_print_ptr(ndr, "local", r->local);
 
4568
        ndr->depth++;
 
4569
        if (r->local) {
 
4570
                ndr_print_string(ndr, "local", r->local);
 
4571
        }
 
4572
        ndr->depth--;
 
4573
        ndr_print_ptr(ndr, "remote", r->remote);
 
4574
        ndr->depth++;
 
4575
        if (r->remote) {
 
4576
                ndr_print_string(ndr, "remote", r->remote);
 
4577
        }
 
4578
        ndr->depth--;
 
4579
        ndr_print_ptr(ndr, "password", r->password);
 
4580
        ndr->depth++;
 
4581
        if (r->password) {
 
4582
                ndr_print_string(ndr, "password", r->password);
 
4583
        }
 
4584
        ndr->depth--;
 
4585
        ndr_print_uint32(ndr, "status", r->status);
 
4586
        ndr_print_uint32(ndr, "asg_type", r->asg_type);
 
4587
        ndr_print_uint32(ndr, "ref_count", r->ref_count);
 
4588
        ndr_print_uint32(ndr, "use_count", r->use_count);
 
4589
        ndr->depth--;
 
4590
}
 
4591
 
 
4592
static enum ndr_err_code ndr_push_wkssvc_NetrUseInfo0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseInfo0 *r)
 
4593
{
 
4594
        if (ndr_flags & NDR_SCALARS) {
 
4595
                NDR_CHECK(ndr_push_align(ndr, 5));
 
4596
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->local));
 
4597
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->remote));
 
4598
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
4599
        }
 
4600
        if (ndr_flags & NDR_BUFFERS) {
 
4601
                if (r->local) {
 
4602
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16)));
 
4603
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4604
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->local, CH_UTF16)));
 
4605
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->local, ndr_charset_length(r->local, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4606
                }
 
4607
                if (r->remote) {
 
4608
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16)));
 
4609
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
4610
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->remote, CH_UTF16)));
 
4611
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->remote, ndr_charset_length(r->remote, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
4612
                }
 
4613
        }
 
4614
        return NDR_ERR_SUCCESS;
 
4615
}
 
4616
 
 
4617
static enum ndr_err_code ndr_pull_wkssvc_NetrUseInfo0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseInfo0 *r)
 
4618
{
 
4619
        uint32_t _ptr_local;
 
4620
        TALLOC_CTX *_mem_save_local_0;
 
4621
        uint32_t _ptr_remote;
 
4622
        TALLOC_CTX *_mem_save_remote_0;
 
4623
        if (ndr_flags & NDR_SCALARS) {
 
4624
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
4625
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_local));
 
4626
                if (_ptr_local) {
 
4627
                        NDR_PULL_ALLOC(ndr, r->local);
 
4628
                } else {
 
4629
                        r->local = NULL;
 
4630
                }
 
4631
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_remote));
 
4632
                if (_ptr_remote) {
 
4633
                        NDR_PULL_ALLOC(ndr, r->remote);
 
4634
                } else {
 
4635
                        r->remote = NULL;
 
4636
                }
 
4637
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
4638
        }
 
4639
        if (ndr_flags & NDR_BUFFERS) {
 
4640
                if (r->local) {
 
4641
                        _mem_save_local_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4642
                        NDR_PULL_SET_MEM_CTX(ndr, r->local, 0);
 
4643
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->local));
 
4644
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->local));
 
4645
                        if (ndr_get_array_length(ndr, &r->local) > ndr_get_array_size(ndr, &r->local)) {
 
4646
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->local), ndr_get_array_length(ndr, &r->local));
 
4647
                        }
 
4648
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t)));
 
4649
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->local, ndr_get_array_length(ndr, &r->local), sizeof(uint16_t), CH_UTF16));
 
4650
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_local_0, 0);
 
4651
                }
 
4652
                if (r->remote) {
 
4653
                        _mem_save_remote_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4654
                        NDR_PULL_SET_MEM_CTX(ndr, r->remote, 0);
 
4655
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->remote));
 
4656
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->remote));
 
4657
                        if (ndr_get_array_length(ndr, &r->remote) > ndr_get_array_size(ndr, &r->remote)) {
 
4658
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->remote), ndr_get_array_length(ndr, &r->remote));
 
4659
                        }
 
4660
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t)));
 
4661
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->remote, ndr_get_array_length(ndr, &r->remote), sizeof(uint16_t), CH_UTF16));
 
4662
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_remote_0, 0);
 
4663
                }
 
4664
        }
 
4665
        return NDR_ERR_SUCCESS;
 
4666
}
 
4667
 
 
4668
_PUBLIC_ void ndr_print_wkssvc_NetrUseInfo0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseInfo0 *r)
 
4669
{
 
4670
        ndr_print_struct(ndr, name, "wkssvc_NetrUseInfo0");
 
4671
        ndr->depth++;
 
4672
        ndr_print_ptr(ndr, "local", r->local);
 
4673
        ndr->depth++;
 
4674
        if (r->local) {
 
4675
                ndr_print_string(ndr, "local", r->local);
 
4676
        }
 
4677
        ndr->depth--;
 
4678
        ndr_print_ptr(ndr, "remote", r->remote);
 
4679
        ndr->depth++;
 
4680
        if (r->remote) {
 
4681
                ndr_print_string(ndr, "remote", r->remote);
 
4682
        }
 
4683
        ndr->depth--;
 
4684
        ndr->depth--;
 
4685
}
 
4686
 
 
4687
static enum ndr_err_code ndr_push_wkssvc_NetrUseGetInfoCtr(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetrUseGetInfoCtr *r)
 
4688
{
 
4689
        if (ndr_flags & NDR_SCALARS) {
 
4690
                int level = ndr_push_get_switch_value(ndr, r);
 
4691
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
 
4692
                NDR_CHECK(ndr_push_union_align(ndr, 5));
 
4693
                switch (level) {
 
4694
                        case 0: {
 
4695
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
 
4696
                        break; }
 
4697
 
 
4698
                        case 1: {
 
4699
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
 
4700
                        break; }
 
4701
 
 
4702
                        case 2: {
 
4703
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info2));
 
4704
                        break; }
 
4705
 
 
4706
                        case 3: {
 
4707
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
 
4708
                        break; }
 
4709
 
 
4710
                        default:
 
4711
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
4712
                }
 
4713
        }
 
4714
        if (ndr_flags & NDR_BUFFERS) {
 
4715
                int level = ndr_push_get_switch_value(ndr, r);
 
4716
                switch (level) {
 
4717
                        case 0:
 
4718
                                if (r->info0) {
 
4719
                                        NDR_CHECK(ndr_push_wkssvc_NetrUseInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
 
4720
                                }
 
4721
                        break;
 
4722
 
 
4723
                        case 1:
 
4724
                                if (r->info1) {
 
4725
                                        NDR_CHECK(ndr_push_wkssvc_NetrUseInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
 
4726
                                }
 
4727
                        break;
 
4728
 
 
4729
                        case 2:
 
4730
                                if (r->info2) {
 
4731
                                        NDR_CHECK(ndr_push_wkssvc_NetrUseInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
 
4732
                                }
 
4733
                        break;
 
4734
 
 
4735
                        case 3:
 
4736
                                if (r->info3) {
 
4737
                                        NDR_CHECK(ndr_push_wkssvc_NetrUseInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
 
4738
                                }
 
4739
                        break;
 
4740
 
 
4741
                        default:
 
4742
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
4743
                }
 
4744
        }
 
4745
        return NDR_ERR_SUCCESS;
 
4746
}
 
4747
 
 
4748
static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfoCtr(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetrUseGetInfoCtr *r)
 
4749
{
 
4750
        int level;
 
4751
        uint32_t _level;
 
4752
        TALLOC_CTX *_mem_save_info0_0;
 
4753
        TALLOC_CTX *_mem_save_info1_0;
 
4754
        TALLOC_CTX *_mem_save_info2_0;
 
4755
        TALLOC_CTX *_mem_save_info3_0;
 
4756
        level = ndr_pull_get_switch_value(ndr, r);
 
4757
        if (ndr_flags & NDR_SCALARS) {
 
4758
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
 
4759
                if (_level != level) {
 
4760
                        return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
 
4761
                }
 
4762
                NDR_CHECK(ndr_pull_union_align(ndr, 5));
 
4763
                switch (level) {
 
4764
                        case 0: {
 
4765
                                uint32_t _ptr_info0;
 
4766
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
 
4767
                                if (_ptr_info0) {
 
4768
                                        NDR_PULL_ALLOC(ndr, r->info0);
 
4769
                                } else {
 
4770
                                        r->info0 = NULL;
 
4771
                                }
 
4772
                        break; }
 
4773
 
 
4774
                        case 1: {
 
4775
                                uint32_t _ptr_info1;
 
4776
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
 
4777
                                if (_ptr_info1) {
 
4778
                                        NDR_PULL_ALLOC(ndr, r->info1);
 
4779
                                } else {
 
4780
                                        r->info1 = NULL;
 
4781
                                }
 
4782
                        break; }
 
4783
 
 
4784
                        case 2: {
 
4785
                                uint32_t _ptr_info2;
 
4786
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
 
4787
                                if (_ptr_info2) {
 
4788
                                        NDR_PULL_ALLOC(ndr, r->info2);
 
4789
                                } else {
 
4790
                                        r->info2 = NULL;
 
4791
                                }
 
4792
                        break; }
 
4793
 
 
4794
                        case 3: {
 
4795
                                uint32_t _ptr_info3;
 
4796
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
 
4797
                                if (_ptr_info3) {
 
4798
                                        NDR_PULL_ALLOC(ndr, r->info3);
 
4799
                                } else {
 
4800
                                        r->info3 = NULL;
 
4801
                                }
 
4802
                        break; }
 
4803
 
 
4804
                        default:
 
4805
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
4806
                }
 
4807
        }
 
4808
        if (ndr_flags & NDR_BUFFERS) {
 
4809
                switch (level) {
 
4810
                        case 0:
 
4811
                                if (r->info0) {
 
4812
                                        _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4813
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info0, 0);
 
4814
                                        NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->info0));
 
4815
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, 0);
 
4816
                                }
 
4817
                        break;
 
4818
 
 
4819
                        case 1:
 
4820
                                if (r->info1) {
 
4821
                                        _mem_save_info1_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4822
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info1, 0);
 
4823
                                        NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->info1));
 
4824
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info1_0, 0);
 
4825
                                }
 
4826
                        break;
 
4827
 
 
4828
                        case 2:
 
4829
                                if (r->info2) {
 
4830
                                        _mem_save_info2_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4831
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info2, 0);
 
4832
                                        NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo2(ndr, NDR_SCALARS|NDR_BUFFERS, r->info2));
 
4833
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info2_0, 0);
 
4834
                                }
 
4835
                        break;
 
4836
 
 
4837
                        case 3:
 
4838
                                if (r->info3) {
 
4839
                                        _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4840
                                        NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
 
4841
                                        NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
 
4842
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
 
4843
                                }
 
4844
                        break;
 
4845
 
 
4846
                        default:
 
4847
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
4848
                }
 
4849
        }
 
4850
        return NDR_ERR_SUCCESS;
 
4851
}
 
4852
 
 
4853
_PUBLIC_ void ndr_print_wkssvc_NetrUseGetInfoCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetrUseGetInfoCtr *r)
 
4854
{
 
4855
        int level;
 
4856
        level = ndr_print_get_switch_value(ndr, r);
 
4857
        ndr_print_union(ndr, name, level, "wkssvc_NetrUseGetInfoCtr");
 
4858
        switch (level) {
 
4859
                case 0:
 
4860
                        ndr_print_ptr(ndr, "info0", r->info0);
 
4861
                        ndr->depth++;
 
4862
                        if (r->info0) {
 
4863
                                ndr_print_wkssvc_NetrUseInfo0(ndr, "info0", r->info0);
 
4864
                        }
 
4865
                        ndr->depth--;
 
4866
                break;
 
4867
 
 
4868
                case 1:
 
4869
                        ndr_print_ptr(ndr, "info1", r->info1);
 
4870
                        ndr->depth++;
 
4871
                        if (r->info1) {
 
4872
                                ndr_print_wkssvc_NetrUseInfo1(ndr, "info1", r->info1);
 
4873
                        }
 
4874
                        ndr->depth--;
 
4875
                break;
 
4876
 
 
4877
                case 2:
 
4878
                        ndr_print_ptr(ndr, "info2", r->info2);
 
4879
                        ndr->depth++;
 
4880
                        if (r->info2) {
 
4881
                                ndr_print_wkssvc_NetrUseInfo2(ndr, "info2", r->info2);
 
4882
                        }
 
4883
                        ndr->depth--;
 
4884
                break;
 
4885
 
 
4886
                case 3:
 
4887
                        ndr_print_ptr(ndr, "info3", r->info3);
 
4888
                        ndr->depth++;
 
4889
                        if (r->info3) {
 
4890
                                ndr_print_wkssvc_NetrUseInfo3(ndr, "info3", r->info3);
 
4891
                        }
 
4892
                        ndr->depth--;
 
4893
                break;
 
4894
 
 
4895
                default:
 
4896
                        ndr_print_bad_level(ndr, name, level);
 
4897
        }
 
4898
}
 
4899
 
 
4900
static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr2(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseEnumCtr2 *r)
 
4901
{
 
4902
        uint32_t cntr_array_1;
 
4903
        if (ndr_flags & NDR_SCALARS) {
 
4904
                NDR_CHECK(ndr_push_align(ndr, 5));
 
4905
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
 
4906
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
 
4907
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
4908
        }
 
4909
        if (ndr_flags & NDR_BUFFERS) {
 
4910
                if (r->array) {
 
4911
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
 
4912
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
4913
                                NDR_CHECK(ndr_push_wkssvc_NetrUseInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
 
4914
                        }
 
4915
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
4916
                                NDR_CHECK(ndr_push_wkssvc_NetrUseInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
 
4917
                        }
 
4918
                }
 
4919
        }
 
4920
        return NDR_ERR_SUCCESS;
 
4921
}
 
4922
 
 
4923
static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr2(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumCtr2 *r)
 
4924
{
 
4925
        uint32_t _ptr_array;
 
4926
        uint32_t cntr_array_1;
 
4927
        TALLOC_CTX *_mem_save_array_0;
 
4928
        TALLOC_CTX *_mem_save_array_1;
 
4929
        if (ndr_flags & NDR_SCALARS) {
 
4930
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
4931
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
 
4932
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
 
4933
                if (_ptr_array) {
 
4934
                        NDR_PULL_ALLOC(ndr, r->array);
 
4935
                } else {
 
4936
                        r->array = NULL;
 
4937
                }
 
4938
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
4939
        }
 
4940
        if (ndr_flags & NDR_BUFFERS) {
 
4941
                if (r->array) {
 
4942
                        _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
4943
                        NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
 
4944
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
 
4945
                        NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
 
4946
                        _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
4947
                        NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
 
4948
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
4949
                                NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo2(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
 
4950
                        }
 
4951
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
4952
                                NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo2(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
 
4953
                        }
 
4954
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
 
4955
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
 
4956
                }
 
4957
                if (r->array) {
 
4958
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
 
4959
                }
 
4960
        }
 
4961
        return NDR_ERR_SUCCESS;
 
4962
}
 
4963
 
 
4964
_PUBLIC_ void ndr_print_wkssvc_NetrUseEnumCtr2(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumCtr2 *r)
 
4965
{
 
4966
        uint32_t cntr_array_1;
 
4967
        ndr_print_struct(ndr, name, "wkssvc_NetrUseEnumCtr2");
 
4968
        ndr->depth++;
 
4969
        ndr_print_uint32(ndr, "count", r->count);
 
4970
        ndr_print_ptr(ndr, "array", r->array);
 
4971
        ndr->depth++;
 
4972
        if (r->array) {
 
4973
                ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
 
4974
                ndr->depth++;
 
4975
                for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
 
4976
                        char *idx_1=NULL;
 
4977
                        if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
 
4978
                                ndr_print_wkssvc_NetrUseInfo2(ndr, "array", &r->array[cntr_array_1]);
 
4979
                                free(idx_1);
 
4980
                        }
 
4981
                }
 
4982
                ndr->depth--;
 
4983
        }
 
4984
        ndr->depth--;
 
4985
        ndr->depth--;
 
4986
}
 
4987
 
 
4988
static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr1(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseEnumCtr1 *r)
 
4989
{
 
4990
        uint32_t cntr_array_1;
 
4991
        if (ndr_flags & NDR_SCALARS) {
 
4992
                NDR_CHECK(ndr_push_align(ndr, 5));
 
4993
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
 
4994
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
 
4995
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
4996
        }
 
4997
        if (ndr_flags & NDR_BUFFERS) {
 
4998
                if (r->array) {
 
4999
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
 
5000
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
5001
                                NDR_CHECK(ndr_push_wkssvc_NetrUseInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
 
5002
                        }
 
5003
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
5004
                                NDR_CHECK(ndr_push_wkssvc_NetrUseInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
 
5005
                        }
 
5006
                }
 
5007
        }
 
5008
        return NDR_ERR_SUCCESS;
 
5009
}
 
5010
 
 
5011
static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr1(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumCtr1 *r)
 
5012
{
 
5013
        uint32_t _ptr_array;
 
5014
        uint32_t cntr_array_1;
 
5015
        TALLOC_CTX *_mem_save_array_0;
 
5016
        TALLOC_CTX *_mem_save_array_1;
 
5017
        if (ndr_flags & NDR_SCALARS) {
 
5018
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
5019
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
 
5020
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
 
5021
                if (_ptr_array) {
 
5022
                        NDR_PULL_ALLOC(ndr, r->array);
 
5023
                } else {
 
5024
                        r->array = NULL;
 
5025
                }
 
5026
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
5027
        }
 
5028
        if (ndr_flags & NDR_BUFFERS) {
 
5029
                if (r->array) {
 
5030
                        _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5031
                        NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
 
5032
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
 
5033
                        NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
 
5034
                        _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
5035
                        NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
 
5036
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
5037
                                NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo1(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
 
5038
                        }
 
5039
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
5040
                                NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo1(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
 
5041
                        }
 
5042
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
 
5043
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
 
5044
                }
 
5045
                if (r->array) {
 
5046
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
 
5047
                }
 
5048
        }
 
5049
        return NDR_ERR_SUCCESS;
 
5050
}
 
5051
 
 
5052
_PUBLIC_ void ndr_print_wkssvc_NetrUseEnumCtr1(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumCtr1 *r)
 
5053
{
 
5054
        uint32_t cntr_array_1;
 
5055
        ndr_print_struct(ndr, name, "wkssvc_NetrUseEnumCtr1");
 
5056
        ndr->depth++;
 
5057
        ndr_print_uint32(ndr, "count", r->count);
 
5058
        ndr_print_ptr(ndr, "array", r->array);
 
5059
        ndr->depth++;
 
5060
        if (r->array) {
 
5061
                ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
 
5062
                ndr->depth++;
 
5063
                for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
 
5064
                        char *idx_1=NULL;
 
5065
                        if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
 
5066
                                ndr_print_wkssvc_NetrUseInfo1(ndr, "array", &r->array[cntr_array_1]);
 
5067
                                free(idx_1);
 
5068
                        }
 
5069
                }
 
5070
                ndr->depth--;
 
5071
        }
 
5072
        ndr->depth--;
 
5073
        ndr->depth--;
 
5074
}
 
5075
 
 
5076
static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr0(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseEnumCtr0 *r)
 
5077
{
 
5078
        uint32_t cntr_array_1;
 
5079
        if (ndr_flags & NDR_SCALARS) {
 
5080
                NDR_CHECK(ndr_push_align(ndr, 5));
 
5081
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
 
5082
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
 
5083
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
5084
        }
 
5085
        if (ndr_flags & NDR_BUFFERS) {
 
5086
                if (r->array) {
 
5087
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
 
5088
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
5089
                                NDR_CHECK(ndr_push_wkssvc_NetrUseInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
 
5090
                        }
 
5091
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
5092
                                NDR_CHECK(ndr_push_wkssvc_NetrUseInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
 
5093
                        }
 
5094
                }
 
5095
        }
 
5096
        return NDR_ERR_SUCCESS;
 
5097
}
 
5098
 
 
5099
static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr0(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumCtr0 *r)
 
5100
{
 
5101
        uint32_t _ptr_array;
 
5102
        uint32_t cntr_array_1;
 
5103
        TALLOC_CTX *_mem_save_array_0;
 
5104
        TALLOC_CTX *_mem_save_array_1;
 
5105
        if (ndr_flags & NDR_SCALARS) {
 
5106
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
5107
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
 
5108
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
 
5109
                if (_ptr_array) {
 
5110
                        NDR_PULL_ALLOC(ndr, r->array);
 
5111
                } else {
 
5112
                        r->array = NULL;
 
5113
                }
 
5114
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
5115
        }
 
5116
        if (ndr_flags & NDR_BUFFERS) {
 
5117
                if (r->array) {
 
5118
                        _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5119
                        NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
 
5120
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
 
5121
                        NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
 
5122
                        _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
5123
                        NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
 
5124
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
5125
                                NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo0(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
 
5126
                        }
 
5127
                        for (cntr_array_1 = 0; cntr_array_1 < r->count; cntr_array_1++) {
 
5128
                                NDR_CHECK(ndr_pull_wkssvc_NetrUseInfo0(ndr, NDR_BUFFERS, &r->array[cntr_array_1]));
 
5129
                        }
 
5130
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
 
5131
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
 
5132
                }
 
5133
                if (r->array) {
 
5134
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->count));
 
5135
                }
 
5136
        }
 
5137
        return NDR_ERR_SUCCESS;
 
5138
}
 
5139
 
 
5140
_PUBLIC_ void ndr_print_wkssvc_NetrUseEnumCtr0(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumCtr0 *r)
 
5141
{
 
5142
        uint32_t cntr_array_1;
 
5143
        ndr_print_struct(ndr, name, "wkssvc_NetrUseEnumCtr0");
 
5144
        ndr->depth++;
 
5145
        ndr_print_uint32(ndr, "count", r->count);
 
5146
        ndr_print_ptr(ndr, "array", r->array);
 
5147
        ndr->depth++;
 
5148
        if (r->array) {
 
5149
                ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->count);
 
5150
                ndr->depth++;
 
5151
                for (cntr_array_1=0;cntr_array_1<r->count;cntr_array_1++) {
 
5152
                        char *idx_1=NULL;
 
5153
                        if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
 
5154
                                ndr_print_wkssvc_NetrUseInfo0(ndr, "array", &r->array[cntr_array_1]);
 
5155
                                free(idx_1);
 
5156
                        }
 
5157
                }
 
5158
                ndr->depth--;
 
5159
        }
 
5160
        ndr->depth--;
 
5161
        ndr->depth--;
 
5162
}
 
5163
 
 
5164
static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumCtr(struct ndr_push *ndr, int ndr_flags, const union wkssvc_NetrUseEnumCtr *r)
 
5165
{
 
5166
        if (ndr_flags & NDR_SCALARS) {
 
5167
                int level = ndr_push_get_switch_value(ndr, r);
 
5168
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
 
5169
                NDR_CHECK(ndr_push_union_align(ndr, 5));
 
5170
                switch (level) {
 
5171
                        case 0: {
 
5172
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr0));
 
5173
                        break; }
 
5174
 
 
5175
                        case 1: {
 
5176
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr1));
 
5177
                        break; }
 
5178
 
 
5179
                        case 2: {
 
5180
                                NDR_CHECK(ndr_push_unique_ptr(ndr, r->ctr2));
 
5181
                        break; }
 
5182
 
 
5183
                        default:
 
5184
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
5185
                }
 
5186
        }
 
5187
        if (ndr_flags & NDR_BUFFERS) {
 
5188
                int level = ndr_push_get_switch_value(ndr, r);
 
5189
                switch (level) {
 
5190
                        case 0:
 
5191
                                if (r->ctr0) {
 
5192
                                        NDR_CHECK(ndr_push_wkssvc_NetrUseEnumCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0));
 
5193
                                }
 
5194
                        break;
 
5195
 
 
5196
                        case 1:
 
5197
                                if (r->ctr1) {
 
5198
                                        NDR_CHECK(ndr_push_wkssvc_NetrUseEnumCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
 
5199
                                }
 
5200
                        break;
 
5201
 
 
5202
                        case 2:
 
5203
                                if (r->ctr2) {
 
5204
                                        NDR_CHECK(ndr_push_wkssvc_NetrUseEnumCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2));
 
5205
                                }
 
5206
                        break;
 
5207
 
 
5208
                        default:
 
5209
                                return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
5210
                }
 
5211
        }
 
5212
        return NDR_ERR_SUCCESS;
 
5213
}
 
5214
 
 
5215
static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumCtr(struct ndr_pull *ndr, int ndr_flags, union wkssvc_NetrUseEnumCtr *r)
 
5216
{
 
5217
        int level;
 
5218
        uint32_t _level;
 
5219
        TALLOC_CTX *_mem_save_ctr0_0;
 
5220
        TALLOC_CTX *_mem_save_ctr1_0;
 
5221
        TALLOC_CTX *_mem_save_ctr2_0;
 
5222
        level = ndr_pull_get_switch_value(ndr, r);
 
5223
        if (ndr_flags & NDR_SCALARS) {
 
5224
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
 
5225
                if (_level != level) {
 
5226
                        return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
 
5227
                }
 
5228
                NDR_CHECK(ndr_pull_union_align(ndr, 5));
 
5229
                switch (level) {
 
5230
                        case 0: {
 
5231
                                uint32_t _ptr_ctr0;
 
5232
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr0));
 
5233
                                if (_ptr_ctr0) {
 
5234
                                        NDR_PULL_ALLOC(ndr, r->ctr0);
 
5235
                                } else {
 
5236
                                        r->ctr0 = NULL;
 
5237
                                }
 
5238
                        break; }
 
5239
 
 
5240
                        case 1: {
 
5241
                                uint32_t _ptr_ctr1;
 
5242
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr1));
 
5243
                                if (_ptr_ctr1) {
 
5244
                                        NDR_PULL_ALLOC(ndr, r->ctr1);
 
5245
                                } else {
 
5246
                                        r->ctr1 = NULL;
 
5247
                                }
 
5248
                        break; }
 
5249
 
 
5250
                        case 2: {
 
5251
                                uint32_t _ptr_ctr2;
 
5252
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr2));
 
5253
                                if (_ptr_ctr2) {
 
5254
                                        NDR_PULL_ALLOC(ndr, r->ctr2);
 
5255
                                } else {
 
5256
                                        r->ctr2 = NULL;
 
5257
                                }
 
5258
                        break; }
 
5259
 
 
5260
                        default:
 
5261
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
5262
                }
 
5263
        }
 
5264
        if (ndr_flags & NDR_BUFFERS) {
 
5265
                switch (level) {
 
5266
                        case 0:
 
5267
                                if (r->ctr0) {
 
5268
                                        _mem_save_ctr0_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5269
                                        NDR_PULL_SET_MEM_CTX(ndr, r->ctr0, 0);
 
5270
                                        NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumCtr0(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr0));
 
5271
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr0_0, 0);
 
5272
                                }
 
5273
                        break;
 
5274
 
 
5275
                        case 1:
 
5276
                                if (r->ctr1) {
 
5277
                                        _mem_save_ctr1_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5278
                                        NDR_PULL_SET_MEM_CTX(ndr, r->ctr1, 0);
 
5279
                                        NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumCtr1(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr1));
 
5280
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr1_0, 0);
 
5281
                                }
 
5282
                        break;
 
5283
 
 
5284
                        case 2:
 
5285
                                if (r->ctr2) {
 
5286
                                        _mem_save_ctr2_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5287
                                        NDR_PULL_SET_MEM_CTX(ndr, r->ctr2, 0);
 
5288
                                        NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumCtr2(ndr, NDR_SCALARS|NDR_BUFFERS, r->ctr2));
 
5289
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr2_0, 0);
 
5290
                                }
 
5291
                        break;
 
5292
 
 
5293
                        default:
 
5294
                                return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
 
5295
                }
 
5296
        }
 
5297
        return NDR_ERR_SUCCESS;
 
5298
}
 
5299
 
 
5300
_PUBLIC_ void ndr_print_wkssvc_NetrUseEnumCtr(struct ndr_print *ndr, const char *name, const union wkssvc_NetrUseEnumCtr *r)
 
5301
{
 
5302
        int level;
 
5303
        level = ndr_print_get_switch_value(ndr, r);
 
5304
        ndr_print_union(ndr, name, level, "wkssvc_NetrUseEnumCtr");
 
5305
        switch (level) {
 
5306
                case 0:
 
5307
                        ndr_print_ptr(ndr, "ctr0", r->ctr0);
 
5308
                        ndr->depth++;
 
5309
                        if (r->ctr0) {
 
5310
                                ndr_print_wkssvc_NetrUseEnumCtr0(ndr, "ctr0", r->ctr0);
 
5311
                        }
 
5312
                        ndr->depth--;
 
5313
                break;
 
5314
 
 
5315
                case 1:
 
5316
                        ndr_print_ptr(ndr, "ctr1", r->ctr1);
 
5317
                        ndr->depth++;
 
5318
                        if (r->ctr1) {
 
5319
                                ndr_print_wkssvc_NetrUseEnumCtr1(ndr, "ctr1", r->ctr1);
 
5320
                        }
 
5321
                        ndr->depth--;
 
5322
                break;
 
5323
 
 
5324
                case 2:
 
5325
                        ndr_print_ptr(ndr, "ctr2", r->ctr2);
 
5326
                        ndr->depth++;
 
5327
                        if (r->ctr2) {
 
5328
                                ndr_print_wkssvc_NetrUseEnumCtr2(ndr, "ctr2", r->ctr2);
 
5329
                        }
 
5330
                        ndr->depth--;
 
5331
                break;
 
5332
 
 
5333
                default:
 
5334
                        ndr_print_bad_level(ndr, name, level);
 
5335
        }
 
5336
}
 
5337
 
 
5338
static enum ndr_err_code ndr_push_wkssvc_NetrUseEnumInfo(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrUseEnumInfo *r)
 
5339
{
 
5340
        if (ndr_flags & NDR_SCALARS) {
 
5341
                NDR_CHECK(ndr_push_align(ndr, 5));
 
5342
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
 
5343
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level));
 
5344
                NDR_CHECK(ndr_push_wkssvc_NetrUseEnumCtr(ndr, NDR_SCALARS, &r->ctr));
 
5345
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
5346
        }
 
5347
        if (ndr_flags & NDR_BUFFERS) {
 
5348
                NDR_CHECK(ndr_push_wkssvc_NetrUseEnumCtr(ndr, NDR_BUFFERS, &r->ctr));
 
5349
        }
 
5350
        return NDR_ERR_SUCCESS;
 
5351
}
 
5352
 
 
5353
static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnumInfo(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrUseEnumInfo *r)
 
5354
{
 
5355
        if (ndr_flags & NDR_SCALARS) {
 
5356
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
5357
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
 
5358
                NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level));
 
5359
                NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumCtr(ndr, NDR_SCALARS, &r->ctr));
 
5360
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
5361
        }
 
5362
        if (ndr_flags & NDR_BUFFERS) {
 
5363
                NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumCtr(ndr, NDR_BUFFERS, &r->ctr));
 
5364
        }
 
5365
        return NDR_ERR_SUCCESS;
 
5366
}
 
5367
 
 
5368
_PUBLIC_ void ndr_print_wkssvc_NetrUseEnumInfo(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrUseEnumInfo *r)
 
5369
{
 
5370
        ndr_print_struct(ndr, name, "wkssvc_NetrUseEnumInfo");
 
5371
        ndr->depth++;
 
5372
        ndr_print_uint32(ndr, "level", r->level);
 
5373
        ndr_print_set_switch_value(ndr, &r->ctr, r->level);
 
5374
        ndr_print_wkssvc_NetrUseEnumCtr(ndr, "ctr", &r->ctr);
 
5375
        ndr->depth--;
 
5376
}
 
5377
 
 
5378
static enum ndr_err_code ndr_push_wkssvc_NetrWorkstationStatistics(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_NetrWorkstationStatistics *r)
 
5379
{
 
5380
        if (ndr_flags & NDR_SCALARS) {
 
5381
                NDR_CHECK(ndr_push_align(ndr, 8));
 
5382
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown1));
 
5383
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown2));
 
5384
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown3));
 
5385
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown4));
 
5386
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown5));
 
5387
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown6));
 
5388
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown7));
 
5389
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown8));
 
5390
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown9));
 
5391
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown10));
 
5392
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown11));
 
5393
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown12));
 
5394
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown13));
 
5395
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown14));
 
5396
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown15));
 
5397
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown16));
 
5398
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown17));
 
5399
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown18));
 
5400
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown19));
 
5401
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown20));
 
5402
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown21));
 
5403
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown22));
 
5404
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown23));
 
5405
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown24));
 
5406
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown25));
 
5407
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown26));
 
5408
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown27));
 
5409
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown28));
 
5410
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown29));
 
5411
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown30));
 
5412
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown31));
 
5413
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown32));
 
5414
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown33));
 
5415
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown34));
 
5416
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown35));
 
5417
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown36));
 
5418
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown37));
 
5419
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown38));
 
5420
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown39));
 
5421
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown40));
 
5422
                NDR_CHECK(ndr_push_trailer_align(ndr, 8));
 
5423
        }
 
5424
        if (ndr_flags & NDR_BUFFERS) {
 
5425
        }
 
5426
        return NDR_ERR_SUCCESS;
 
5427
}
 
5428
 
 
5429
static enum ndr_err_code ndr_pull_wkssvc_NetrWorkstationStatistics(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_NetrWorkstationStatistics *r)
 
5430
{
 
5431
        if (ndr_flags & NDR_SCALARS) {
 
5432
                NDR_CHECK(ndr_pull_align(ndr, 8));
 
5433
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown1));
 
5434
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown2));
 
5435
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown3));
 
5436
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown4));
 
5437
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown5));
 
5438
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown6));
 
5439
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown7));
 
5440
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown8));
 
5441
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown9));
 
5442
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown10));
 
5443
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown11));
 
5444
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown12));
 
5445
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown13));
 
5446
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown14));
 
5447
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown15));
 
5448
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown16));
 
5449
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown17));
 
5450
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown18));
 
5451
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown19));
 
5452
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown20));
 
5453
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown21));
 
5454
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown22));
 
5455
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown23));
 
5456
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown24));
 
5457
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown25));
 
5458
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown26));
 
5459
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown27));
 
5460
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown28));
 
5461
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown29));
 
5462
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown30));
 
5463
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown31));
 
5464
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown32));
 
5465
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown33));
 
5466
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown34));
 
5467
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown35));
 
5468
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown36));
 
5469
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown37));
 
5470
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown38));
 
5471
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown39));
 
5472
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown40));
 
5473
                NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
 
5474
        }
 
5475
        if (ndr_flags & NDR_BUFFERS) {
 
5476
        }
 
5477
        return NDR_ERR_SUCCESS;
 
5478
}
 
5479
 
 
5480
_PUBLIC_ void ndr_print_wkssvc_NetrWorkstationStatistics(struct ndr_print *ndr, const char *name, const struct wkssvc_NetrWorkstationStatistics *r)
 
5481
{
 
5482
        ndr_print_struct(ndr, name, "wkssvc_NetrWorkstationStatistics");
 
5483
        ndr->depth++;
 
5484
        ndr_print_hyper(ndr, "unknown1", r->unknown1);
 
5485
        ndr_print_hyper(ndr, "unknown2", r->unknown2);
 
5486
        ndr_print_hyper(ndr, "unknown3", r->unknown3);
 
5487
        ndr_print_hyper(ndr, "unknown4", r->unknown4);
 
5488
        ndr_print_hyper(ndr, "unknown5", r->unknown5);
 
5489
        ndr_print_hyper(ndr, "unknown6", r->unknown6);
 
5490
        ndr_print_hyper(ndr, "unknown7", r->unknown7);
 
5491
        ndr_print_hyper(ndr, "unknown8", r->unknown8);
 
5492
        ndr_print_hyper(ndr, "unknown9", r->unknown9);
 
5493
        ndr_print_hyper(ndr, "unknown10", r->unknown10);
 
5494
        ndr_print_hyper(ndr, "unknown11", r->unknown11);
 
5495
        ndr_print_hyper(ndr, "unknown12", r->unknown12);
 
5496
        ndr_print_hyper(ndr, "unknown13", r->unknown13);
 
5497
        ndr_print_uint32(ndr, "unknown14", r->unknown14);
 
5498
        ndr_print_uint32(ndr, "unknown15", r->unknown15);
 
5499
        ndr_print_uint32(ndr, "unknown16", r->unknown16);
 
5500
        ndr_print_uint32(ndr, "unknown17", r->unknown17);
 
5501
        ndr_print_uint32(ndr, "unknown18", r->unknown18);
 
5502
        ndr_print_uint32(ndr, "unknown19", r->unknown19);
 
5503
        ndr_print_uint32(ndr, "unknown20", r->unknown20);
 
5504
        ndr_print_uint32(ndr, "unknown21", r->unknown21);
 
5505
        ndr_print_uint32(ndr, "unknown22", r->unknown22);
 
5506
        ndr_print_uint32(ndr, "unknown23", r->unknown23);
 
5507
        ndr_print_uint32(ndr, "unknown24", r->unknown24);
 
5508
        ndr_print_uint32(ndr, "unknown25", r->unknown25);
 
5509
        ndr_print_uint32(ndr, "unknown26", r->unknown26);
 
5510
        ndr_print_uint32(ndr, "unknown27", r->unknown27);
 
5511
        ndr_print_uint32(ndr, "unknown28", r->unknown28);
 
5512
        ndr_print_uint32(ndr, "unknown29", r->unknown29);
 
5513
        ndr_print_uint32(ndr, "unknown30", r->unknown30);
 
5514
        ndr_print_uint32(ndr, "unknown31", r->unknown31);
 
5515
        ndr_print_uint32(ndr, "unknown32", r->unknown32);
 
5516
        ndr_print_uint32(ndr, "unknown33", r->unknown33);
 
5517
        ndr_print_uint32(ndr, "unknown34", r->unknown34);
 
5518
        ndr_print_uint32(ndr, "unknown35", r->unknown35);
 
5519
        ndr_print_uint32(ndr, "unknown36", r->unknown36);
 
5520
        ndr_print_uint32(ndr, "unknown37", r->unknown37);
 
5521
        ndr_print_uint32(ndr, "unknown38", r->unknown38);
 
5522
        ndr_print_uint32(ndr, "unknown39", r->unknown39);
 
5523
        ndr_print_uint32(ndr, "unknown40", r->unknown40);
 
5524
        ndr->depth--;
 
5525
}
 
5526
 
 
5527
static enum ndr_err_code ndr_push_wkssvc_renameflags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
 
5528
{
 
5529
        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
 
5530
        return NDR_ERR_SUCCESS;
 
5531
}
 
5532
 
 
5533
static enum ndr_err_code ndr_pull_wkssvc_renameflags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
 
5534
{
 
5535
        uint32_t v;
 
5536
        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
 
5537
        *r = v;
 
5538
        return NDR_ERR_SUCCESS;
 
5539
}
 
5540
 
 
5541
_PUBLIC_ void ndr_print_wkssvc_renameflags(struct ndr_print *ndr, const char *name, uint32_t r)
 
5542
{
 
5543
        ndr_print_uint32(ndr, name, r);
 
5544
        ndr->depth++;
 
5545
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE", WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE, r);
 
5546
        ndr->depth--;
 
5547
}
 
5548
 
 
5549
static enum ndr_err_code ndr_push_wkssvc_NetValidateNameType(struct ndr_push *ndr, int ndr_flags, enum wkssvc_NetValidateNameType r)
 
5550
{
 
5551
        NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
 
5552
        return NDR_ERR_SUCCESS;
 
5553
}
 
5554
 
 
5555
static enum ndr_err_code ndr_pull_wkssvc_NetValidateNameType(struct ndr_pull *ndr, int ndr_flags, enum wkssvc_NetValidateNameType *r)
 
5556
{
 
5557
        uint16_t v;
 
5558
        NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
 
5559
        *r = v;
 
5560
        return NDR_ERR_SUCCESS;
 
5561
}
 
5562
 
 
5563
_PUBLIC_ void ndr_print_wkssvc_NetValidateNameType(struct ndr_print *ndr, const char *name, enum wkssvc_NetValidateNameType r)
 
5564
{
 
5565
        const char *val = NULL;
 
5566
 
 
5567
        switch (r) {
 
5568
                case NetSetupUnknown: val = "NetSetupUnknown"; break;
 
5569
                case NetSetupMachine: val = "NetSetupMachine"; break;
 
5570
                case NetSetupWorkgroup: val = "NetSetupWorkgroup"; break;
 
5571
                case NetSetupDomain: val = "NetSetupDomain"; break;
 
5572
                case NetSetupNonExistentDomain: val = "NetSetupNonExistentDomain"; break;
 
5573
                case NetSetupDnsMachine: val = "NetSetupDnsMachine"; break;
 
5574
        }
 
5575
        ndr_print_enum(ndr, name, "ENUM", val, r);
 
5576
}
 
5577
 
 
5578
static enum ndr_err_code ndr_push_wkssvc_NetJoinStatus(struct ndr_push *ndr, int ndr_flags, enum wkssvc_NetJoinStatus r)
 
5579
{
 
5580
        NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
 
5581
        return NDR_ERR_SUCCESS;
 
5582
}
 
5583
 
 
5584
static enum ndr_err_code ndr_pull_wkssvc_NetJoinStatus(struct ndr_pull *ndr, int ndr_flags, enum wkssvc_NetJoinStatus *r)
 
5585
{
 
5586
        uint16_t v;
 
5587
        NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
 
5588
        *r = v;
 
5589
        return NDR_ERR_SUCCESS;
 
5590
}
 
5591
 
 
5592
_PUBLIC_ void ndr_print_wkssvc_NetJoinStatus(struct ndr_print *ndr, const char *name, enum wkssvc_NetJoinStatus r)
 
5593
{
 
5594
        const char *val = NULL;
 
5595
 
 
5596
        switch (r) {
 
5597
                case NET_SETUP_UNKNOWN_STATUS: val = "NET_SETUP_UNKNOWN_STATUS"; break;
 
5598
                case NET_SETUP_UNJOINED: val = "NET_SETUP_UNJOINED"; break;
 
5599
                case NET_SETUP_WORKGROUP_NAME: val = "NET_SETUP_WORKGROUP_NAME"; break;
 
5600
                case NET_SETUP_DOMAIN_NAME: val = "NET_SETUP_DOMAIN_NAME"; break;
 
5601
        }
 
5602
        ndr_print_enum(ndr, name, "ENUM", val, r);
 
5603
}
 
5604
 
 
5605
static enum ndr_err_code ndr_push_wkssvc_PasswordBuffer(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_PasswordBuffer *r)
 
5606
{
 
5607
        {
 
5608
                uint32_t _flags_save_STRUCT = ndr->flags;
 
5609
                ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
 
5610
                if (ndr_flags & NDR_SCALARS) {
 
5611
                        NDR_CHECK(ndr_push_align(ndr, 1));
 
5612
                        NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 524));
 
5613
                        NDR_CHECK(ndr_push_trailer_align(ndr, 1));
 
5614
                }
 
5615
                if (ndr_flags & NDR_BUFFERS) {
 
5616
                }
 
5617
                ndr->flags = _flags_save_STRUCT;
 
5618
        }
 
5619
        return NDR_ERR_SUCCESS;
 
5620
}
 
5621
 
 
5622
static enum ndr_err_code ndr_pull_wkssvc_PasswordBuffer(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_PasswordBuffer *r)
 
5623
{
 
5624
        {
 
5625
                uint32_t _flags_save_STRUCT = ndr->flags;
 
5626
                ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
 
5627
                if (ndr_flags & NDR_SCALARS) {
 
5628
                        NDR_CHECK(ndr_pull_align(ndr, 1));
 
5629
                        NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 524));
 
5630
                        NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
 
5631
                }
 
5632
                if (ndr_flags & NDR_BUFFERS) {
 
5633
                }
 
5634
                ndr->flags = _flags_save_STRUCT;
 
5635
        }
 
5636
        return NDR_ERR_SUCCESS;
 
5637
}
 
5638
 
 
5639
_PUBLIC_ void ndr_print_wkssvc_PasswordBuffer(struct ndr_print *ndr, const char *name, const struct wkssvc_PasswordBuffer *r)
 
5640
{
 
5641
        ndr_print_struct(ndr, name, "wkssvc_PasswordBuffer");
 
5642
        {
 
5643
                uint32_t _flags_save_STRUCT = ndr->flags;
 
5644
                ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
 
5645
                ndr->depth++;
 
5646
                ndr_print_array_uint8(ndr, "data", r->data, 524);
 
5647
                ndr->depth--;
 
5648
                ndr->flags = _flags_save_STRUCT;
 
5649
        }
 
5650
}
 
5651
 
 
5652
static enum ndr_err_code ndr_push_wkssvc_joinflags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
 
5653
{
 
5654
        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
 
5655
        return NDR_ERR_SUCCESS;
 
5656
}
 
5657
 
 
5658
static enum ndr_err_code ndr_pull_wkssvc_joinflags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
 
5659
{
 
5660
        uint32_t v;
 
5661
        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
 
5662
        *r = v;
 
5663
        return NDR_ERR_SUCCESS;
 
5664
}
 
5665
 
 
5666
_PUBLIC_ void ndr_print_wkssvc_joinflags(struct ndr_print *ndr, const char *name, uint32_t r)
 
5667
{
 
5668
        ndr_print_uint32(ndr, name, r);
 
5669
        ndr->depth++;
 
5670
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_IGNORE_UNSUPPORTED_FLAGS", WKSSVC_JOIN_FLAGS_IGNORE_UNSUPPORTED_FLAGS, r);
 
5671
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_JOIN_WITH_NEW_NAME", WKSSVC_JOIN_FLAGS_JOIN_WITH_NEW_NAME, r);
 
5672
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_JOIN_DC_ACCOUNT", WKSSVC_JOIN_FLAGS_JOIN_DC_ACCOUNT, r);
 
5673
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_DEFER_SPN", WKSSVC_JOIN_FLAGS_DEFER_SPN, r);
 
5674
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED", WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED, r);
 
5675
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_JOIN_UNSECURE", WKSSVC_JOIN_FLAGS_JOIN_UNSECURE, r);
 
5676
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED", WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED, r);
 
5677
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE", WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE, r);
 
5678
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE", WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE, r);
 
5679
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE", WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE, r);
 
5680
        ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WKSSVC_JOIN_FLAGS_JOIN_TYPE", WKSSVC_JOIN_FLAGS_JOIN_TYPE, r);
 
5681
        ndr->depth--;
 
5682
}
 
5683
 
 
5684
static enum ndr_err_code ndr_push_wkssvc_ComputerNameType(struct ndr_push *ndr, int ndr_flags, enum wkssvc_ComputerNameType r)
 
5685
{
 
5686
        NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
 
5687
        return NDR_ERR_SUCCESS;
 
5688
}
 
5689
 
 
5690
static enum ndr_err_code ndr_pull_wkssvc_ComputerNameType(struct ndr_pull *ndr, int ndr_flags, enum wkssvc_ComputerNameType *r)
 
5691
{
 
5692
        uint16_t v;
 
5693
        NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
 
5694
        *r = v;
 
5695
        return NDR_ERR_SUCCESS;
 
5696
}
 
5697
 
 
5698
_PUBLIC_ void ndr_print_wkssvc_ComputerNameType(struct ndr_print *ndr, const char *name, enum wkssvc_ComputerNameType r)
 
5699
{
 
5700
        const char *val = NULL;
 
5701
 
 
5702
        switch (r) {
 
5703
                case NetPrimaryComputerName: val = "NetPrimaryComputerName"; break;
 
5704
                case NetAlternateComputerNames: val = "NetAlternateComputerNames"; break;
 
5705
                case NetAllComputerNames: val = "NetAllComputerNames"; break;
 
5706
                case NetComputerNameTypeMax: val = "NetComputerNameTypeMax"; break;
 
5707
        }
 
5708
        ndr_print_enum(ndr, name, "ENUM", val, r);
 
5709
}
 
5710
 
 
5711
static enum ndr_err_code ndr_push_wkssvc_ComputerNamesCtr(struct ndr_push *ndr, int ndr_flags, const struct wkssvc_ComputerNamesCtr *r)
 
5712
{
 
5713
        uint32_t cntr_computer_name_1;
 
5714
        if (ndr_flags & NDR_SCALARS) {
 
5715
                NDR_CHECK(ndr_push_align(ndr, 5));
 
5716
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
 
5717
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->computer_name));
 
5718
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 
5719
        }
 
5720
        if (ndr_flags & NDR_BUFFERS) {
 
5721
                if (r->computer_name) {
 
5722
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
 
5723
                        for (cntr_computer_name_1 = 0; cntr_computer_name_1 < r->count; cntr_computer_name_1++) {
 
5724
                                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->computer_name[cntr_computer_name_1]));
 
5725
                        }
 
5726
                        for (cntr_computer_name_1 = 0; cntr_computer_name_1 < r->count; cntr_computer_name_1++) {
 
5727
                                NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->computer_name[cntr_computer_name_1]));
 
5728
                        }
 
5729
                }
 
5730
        }
 
5731
        return NDR_ERR_SUCCESS;
 
5732
}
 
5733
 
 
5734
static enum ndr_err_code ndr_pull_wkssvc_ComputerNamesCtr(struct ndr_pull *ndr, int ndr_flags, struct wkssvc_ComputerNamesCtr *r)
 
5735
{
 
5736
        uint32_t _ptr_computer_name;
 
5737
        uint32_t cntr_computer_name_1;
 
5738
        TALLOC_CTX *_mem_save_computer_name_0;
 
5739
        TALLOC_CTX *_mem_save_computer_name_1;
 
5740
        if (ndr_flags & NDR_SCALARS) {
 
5741
                NDR_CHECK(ndr_pull_align(ndr, 5));
 
5742
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
 
5743
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name));
 
5744
                if (_ptr_computer_name) {
 
5745
                        NDR_PULL_ALLOC(ndr, r->computer_name);
 
5746
                } else {
 
5747
                        r->computer_name = NULL;
 
5748
                }
 
5749
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 
5750
        }
 
5751
        if (ndr_flags & NDR_BUFFERS) {
 
5752
                if (r->computer_name) {
 
5753
                        _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5754
                        NDR_PULL_SET_MEM_CTX(ndr, r->computer_name, 0);
 
5755
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->computer_name));
 
5756
                        NDR_PULL_ALLOC_N(ndr, r->computer_name, ndr_get_array_size(ndr, &r->computer_name));
 
5757
                        _mem_save_computer_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
5758
                        NDR_PULL_SET_MEM_CTX(ndr, r->computer_name, 0);
 
5759
                        for (cntr_computer_name_1 = 0; cntr_computer_name_1 < r->count; cntr_computer_name_1++) {
 
5760
                                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->computer_name[cntr_computer_name_1]));
 
5761
                        }
 
5762
                        for (cntr_computer_name_1 = 0; cntr_computer_name_1 < r->count; cntr_computer_name_1++) {
 
5763
                                NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->computer_name[cntr_computer_name_1]));
 
5764
                        }
 
5765
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_1, 0);
 
5766
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0);
 
5767
                }
 
5768
                if (r->computer_name) {
 
5769
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->computer_name, r->count));
 
5770
                }
 
5771
        }
 
5772
        return NDR_ERR_SUCCESS;
 
5773
}
 
5774
 
 
5775
_PUBLIC_ void ndr_print_wkssvc_ComputerNamesCtr(struct ndr_print *ndr, const char *name, const struct wkssvc_ComputerNamesCtr *r)
 
5776
{
 
5777
        uint32_t cntr_computer_name_1;
 
5778
        ndr_print_struct(ndr, name, "wkssvc_ComputerNamesCtr");
 
5779
        ndr->depth++;
 
5780
        ndr_print_uint32(ndr, "count", r->count);
 
5781
        ndr_print_ptr(ndr, "computer_name", r->computer_name);
 
5782
        ndr->depth++;
 
5783
        if (r->computer_name) {
 
5784
                ndr->print(ndr, "%s: ARRAY(%d)", "computer_name", (int)r->count);
 
5785
                ndr->depth++;
 
5786
                for (cntr_computer_name_1=0;cntr_computer_name_1<r->count;cntr_computer_name_1++) {
 
5787
                        char *idx_1=NULL;
 
5788
                        if (asprintf(&idx_1, "[%d]", cntr_computer_name_1) != -1) {
 
5789
                                ndr_print_lsa_String(ndr, "computer_name", &r->computer_name[cntr_computer_name_1]);
 
5790
                                free(idx_1);
 
5791
                        }
 
5792
                }
 
5793
                ndr->depth--;
 
5794
        }
 
5795
        ndr->depth--;
 
5796
        ndr->depth--;
 
5797
}
 
5798
 
 
5799
static enum ndr_err_code ndr_push_wkssvc_NetWkstaGetInfo(struct ndr_push *ndr, int flags, const struct wkssvc_NetWkstaGetInfo *r)
 
5800
{
 
5801
        if (flags & NDR_IN) {
 
5802
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
5803
                if (r->in.server_name) {
 
5804
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
5805
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
5806
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
5807
                        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));
 
5808
                }
 
5809
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
 
5810
        }
 
5811
        if (flags & NDR_OUT) {
 
5812
                if (r->out.info == NULL) {
 
5813
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
5814
                }
 
5815
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
 
5816
                NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
 
5817
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
5818
        }
 
5819
        return NDR_ERR_SUCCESS;
 
5820
}
 
5821
 
 
5822
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaGetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaGetInfo *r)
 
5823
{
 
5824
        uint32_t _ptr_server_name;
 
5825
        TALLOC_CTX *_mem_save_server_name_0;
 
5826
        TALLOC_CTX *_mem_save_info_0;
 
5827
        if (flags & NDR_IN) {
 
5828
                ZERO_STRUCT(r->out);
 
5829
 
 
5830
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
5831
                if (_ptr_server_name) {
 
5832
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
5833
                } else {
 
5834
                        r->in.server_name = NULL;
 
5835
                }
 
5836
                if (r->in.server_name) {
 
5837
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5838
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
5839
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
5840
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
5841
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
5842
                                return 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));
 
5843
                        }
 
5844
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
5845
                        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));
 
5846
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
5847
                }
 
5848
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
 
5849
                NDR_PULL_ALLOC(ndr, r->out.info);
 
5850
                ZERO_STRUCTP(r->out.info);
 
5851
        }
 
5852
        if (flags & NDR_OUT) {
 
5853
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
5854
                        NDR_PULL_ALLOC(ndr, r->out.info);
 
5855
                }
 
5856
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5857
                NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
 
5858
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
 
5859
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
 
5860
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
5861
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
5862
        }
 
5863
        return NDR_ERR_SUCCESS;
 
5864
}
 
5865
 
 
5866
_PUBLIC_ void ndr_print_wkssvc_NetWkstaGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaGetInfo *r)
 
5867
{
 
5868
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaGetInfo");
 
5869
        ndr->depth++;
 
5870
        if (flags & NDR_SET_VALUES) {
 
5871
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
5872
        }
 
5873
        if (flags & NDR_IN) {
 
5874
                ndr_print_struct(ndr, "in", "wkssvc_NetWkstaGetInfo");
 
5875
                ndr->depth++;
 
5876
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
5877
                ndr->depth++;
 
5878
                if (r->in.server_name) {
 
5879
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
5880
                }
 
5881
                ndr->depth--;
 
5882
                ndr_print_uint32(ndr, "level", r->in.level);
 
5883
                ndr->depth--;
 
5884
        }
 
5885
        if (flags & NDR_OUT) {
 
5886
                ndr_print_struct(ndr, "out", "wkssvc_NetWkstaGetInfo");
 
5887
                ndr->depth++;
 
5888
                ndr_print_ptr(ndr, "info", r->out.info);
 
5889
                ndr->depth++;
 
5890
                ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
 
5891
                ndr_print_wkssvc_NetWkstaInfo(ndr, "info", r->out.info);
 
5892
                ndr->depth--;
 
5893
                ndr_print_WERROR(ndr, "result", r->out.result);
 
5894
                ndr->depth--;
 
5895
        }
 
5896
        ndr->depth--;
 
5897
}
 
5898
 
 
5899
static enum ndr_err_code ndr_push_wkssvc_NetWkstaSetInfo(struct ndr_push *ndr, int flags, const struct wkssvc_NetWkstaSetInfo *r)
 
5900
{
 
5901
        if (flags & NDR_IN) {
 
5902
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
5903
                if (r->in.server_name) {
 
5904
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
5905
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
5906
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
5907
                        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));
 
5908
                }
 
5909
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
 
5910
                if (r->in.info == NULL) {
 
5911
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
5912
                }
 
5913
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
 
5914
                NDR_CHECK(ndr_push_wkssvc_NetWkstaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 
5915
                if (r->in.parm_error == NULL) {
 
5916
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
5917
                }
 
5918
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_error));
 
5919
        }
 
5920
        if (flags & NDR_OUT) {
 
5921
                if (r->out.parm_error == NULL) {
 
5922
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
5923
                }
 
5924
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_error));
 
5925
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
5926
        }
 
5927
        return NDR_ERR_SUCCESS;
 
5928
}
 
5929
 
 
5930
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaSetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaSetInfo *r)
 
5931
{
 
5932
        uint32_t _ptr_server_name;
 
5933
        TALLOC_CTX *_mem_save_server_name_0;
 
5934
        TALLOC_CTX *_mem_save_info_0;
 
5935
        TALLOC_CTX *_mem_save_parm_error_0;
 
5936
        if (flags & NDR_IN) {
 
5937
                ZERO_STRUCT(r->out);
 
5938
 
 
5939
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
5940
                if (_ptr_server_name) {
 
5941
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
5942
                } else {
 
5943
                        r->in.server_name = NULL;
 
5944
                }
 
5945
                if (r->in.server_name) {
 
5946
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5947
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
5948
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
5949
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
5950
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
5951
                                return 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));
 
5952
                        }
 
5953
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
5954
                        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));
 
5955
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
5956
                }
 
5957
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
 
5958
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
5959
                        NDR_PULL_ALLOC(ndr, r->in.info);
 
5960
                }
 
5961
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5962
                NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
 
5963
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
 
5964
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 
5965
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
5966
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
5967
                        NDR_PULL_ALLOC(ndr, r->in.parm_error);
 
5968
                }
 
5969
                _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5970
                NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_error, LIBNDR_FLAG_REF_ALLOC);
 
5971
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_error));
 
5972
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, LIBNDR_FLAG_REF_ALLOC);
 
5973
                NDR_PULL_ALLOC(ndr, r->out.parm_error);
 
5974
                *r->out.parm_error = *r->in.parm_error;
 
5975
        }
 
5976
        if (flags & NDR_OUT) {
 
5977
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
5978
                        NDR_PULL_ALLOC(ndr, r->out.parm_error);
 
5979
                }
 
5980
                _mem_save_parm_error_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
5981
                NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_error, LIBNDR_FLAG_REF_ALLOC);
 
5982
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_error));
 
5983
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_error_0, LIBNDR_FLAG_REF_ALLOC);
 
5984
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
5985
        }
 
5986
        return NDR_ERR_SUCCESS;
 
5987
}
 
5988
 
 
5989
_PUBLIC_ void ndr_print_wkssvc_NetWkstaSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaSetInfo *r)
 
5990
{
 
5991
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaSetInfo");
 
5992
        ndr->depth++;
 
5993
        if (flags & NDR_SET_VALUES) {
 
5994
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
5995
        }
 
5996
        if (flags & NDR_IN) {
 
5997
                ndr_print_struct(ndr, "in", "wkssvc_NetWkstaSetInfo");
 
5998
                ndr->depth++;
 
5999
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
6000
                ndr->depth++;
 
6001
                if (r->in.server_name) {
 
6002
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
6003
                }
 
6004
                ndr->depth--;
 
6005
                ndr_print_uint32(ndr, "level", r->in.level);
 
6006
                ndr_print_ptr(ndr, "info", r->in.info);
 
6007
                ndr->depth++;
 
6008
                ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
 
6009
                ndr_print_wkssvc_NetWkstaInfo(ndr, "info", r->in.info);
 
6010
                ndr->depth--;
 
6011
                ndr_print_ptr(ndr, "parm_error", r->in.parm_error);
 
6012
                ndr->depth++;
 
6013
                ndr_print_uint32(ndr, "parm_error", *r->in.parm_error);
 
6014
                ndr->depth--;
 
6015
                ndr->depth--;
 
6016
        }
 
6017
        if (flags & NDR_OUT) {
 
6018
                ndr_print_struct(ndr, "out", "wkssvc_NetWkstaSetInfo");
 
6019
                ndr->depth++;
 
6020
                ndr_print_ptr(ndr, "parm_error", r->out.parm_error);
 
6021
                ndr->depth++;
 
6022
                ndr_print_uint32(ndr, "parm_error", *r->out.parm_error);
 
6023
                ndr->depth--;
 
6024
                ndr_print_WERROR(ndr, "result", r->out.result);
 
6025
                ndr->depth--;
 
6026
        }
 
6027
        ndr->depth--;
 
6028
}
 
6029
 
 
6030
static enum ndr_err_code ndr_push_wkssvc_NetWkstaEnumUsers(struct ndr_push *ndr, int flags, const struct wkssvc_NetWkstaEnumUsers *r)
 
6031
{
 
6032
        if (flags & NDR_IN) {
 
6033
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
6034
                if (r->in.server_name) {
 
6035
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
6036
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
6037
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
6038
                        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));
 
6039
                }
 
6040
                if (r->in.info == NULL) {
 
6041
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
6042
                }
 
6043
                NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 
6044
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.prefmaxlen));
 
6045
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle));
 
6046
                if (r->in.resume_handle) {
 
6047
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
 
6048
                }
 
6049
        }
 
6050
        if (flags & NDR_OUT) {
 
6051
                if (r->out.info == NULL) {
 
6052
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
6053
                }
 
6054
                NDR_CHECK(ndr_push_wkssvc_NetWkstaEnumUsersInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
 
6055
                if (r->out.entries_read == NULL) {
 
6056
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
6057
                }
 
6058
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.entries_read));
 
6059
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle));
 
6060
                if (r->out.resume_handle) {
 
6061
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
 
6062
                }
 
6063
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
6064
        }
 
6065
        return NDR_ERR_SUCCESS;
 
6066
}
 
6067
 
 
6068
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaEnumUsers(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaEnumUsers *r)
 
6069
{
 
6070
        uint32_t _ptr_server_name;
 
6071
        uint32_t _ptr_resume_handle;
 
6072
        TALLOC_CTX *_mem_save_server_name_0;
 
6073
        TALLOC_CTX *_mem_save_info_0;
 
6074
        TALLOC_CTX *_mem_save_entries_read_0;
 
6075
        TALLOC_CTX *_mem_save_resume_handle_0;
 
6076
        if (flags & NDR_IN) {
 
6077
                ZERO_STRUCT(r->out);
 
6078
 
 
6079
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
6080
                if (_ptr_server_name) {
 
6081
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
6082
                } else {
 
6083
                        r->in.server_name = NULL;
 
6084
                }
 
6085
                if (r->in.server_name) {
 
6086
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6087
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
6088
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
6089
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
6090
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
6091
                                return 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));
 
6092
                        }
 
6093
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
6094
                        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));
 
6095
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
6096
                }
 
6097
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
6098
                        NDR_PULL_ALLOC(ndr, r->in.info);
 
6099
                }
 
6100
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6101
                NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
 
6102
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 
6103
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
6104
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.prefmaxlen));
 
6105
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle));
 
6106
                if (_ptr_resume_handle) {
 
6107
                        NDR_PULL_ALLOC(ndr, r->in.resume_handle);
 
6108
                } else {
 
6109
                        r->in.resume_handle = NULL;
 
6110
                }
 
6111
                if (r->in.resume_handle) {
 
6112
                        _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6113
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0);
 
6114
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
 
6115
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0);
 
6116
                }
 
6117
                NDR_PULL_ALLOC(ndr, r->out.info);
 
6118
                *r->out.info = *r->in.info;
 
6119
                NDR_PULL_ALLOC(ndr, r->out.entries_read);
 
6120
                ZERO_STRUCTP(r->out.entries_read);
 
6121
        }
 
6122
        if (flags & NDR_OUT) {
 
6123
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
6124
                        NDR_PULL_ALLOC(ndr, r->out.info);
 
6125
                }
 
6126
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6127
                NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
 
6128
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaEnumUsersInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
 
6129
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
6130
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
6131
                        NDR_PULL_ALLOC(ndr, r->out.entries_read);
 
6132
                }
 
6133
                _mem_save_entries_read_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6134
                NDR_PULL_SET_MEM_CTX(ndr, r->out.entries_read, LIBNDR_FLAG_REF_ALLOC);
 
6135
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.entries_read));
 
6136
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_read_0, LIBNDR_FLAG_REF_ALLOC);
 
6137
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle));
 
6138
                if (_ptr_resume_handle) {
 
6139
                        NDR_PULL_ALLOC(ndr, r->out.resume_handle);
 
6140
                } else {
 
6141
                        r->out.resume_handle = NULL;
 
6142
                }
 
6143
                if (r->out.resume_handle) {
 
6144
                        _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6145
                        NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0);
 
6146
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
 
6147
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0);
 
6148
                }
 
6149
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
6150
        }
 
6151
        return NDR_ERR_SUCCESS;
 
6152
}
 
6153
 
 
6154
_PUBLIC_ void ndr_print_wkssvc_NetWkstaEnumUsers(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaEnumUsers *r)
 
6155
{
 
6156
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaEnumUsers");
 
6157
        ndr->depth++;
 
6158
        if (flags & NDR_SET_VALUES) {
 
6159
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
6160
        }
 
6161
        if (flags & NDR_IN) {
 
6162
                ndr_print_struct(ndr, "in", "wkssvc_NetWkstaEnumUsers");
 
6163
                ndr->depth++;
 
6164
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
6165
                ndr->depth++;
 
6166
                if (r->in.server_name) {
 
6167
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
6168
                }
 
6169
                ndr->depth--;
 
6170
                ndr_print_ptr(ndr, "info", r->in.info);
 
6171
                ndr->depth++;
 
6172
                ndr_print_wkssvc_NetWkstaEnumUsersInfo(ndr, "info", r->in.info);
 
6173
                ndr->depth--;
 
6174
                ndr_print_uint32(ndr, "prefmaxlen", r->in.prefmaxlen);
 
6175
                ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
 
6176
                ndr->depth++;
 
6177
                if (r->in.resume_handle) {
 
6178
                        ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
 
6179
                }
 
6180
                ndr->depth--;
 
6181
                ndr->depth--;
 
6182
        }
 
6183
        if (flags & NDR_OUT) {
 
6184
                ndr_print_struct(ndr, "out", "wkssvc_NetWkstaEnumUsers");
 
6185
                ndr->depth++;
 
6186
                ndr_print_ptr(ndr, "info", r->out.info);
 
6187
                ndr->depth++;
 
6188
                ndr_print_wkssvc_NetWkstaEnumUsersInfo(ndr, "info", r->out.info);
 
6189
                ndr->depth--;
 
6190
                ndr_print_ptr(ndr, "entries_read", r->out.entries_read);
 
6191
                ndr->depth++;
 
6192
                ndr_print_uint32(ndr, "entries_read", *r->out.entries_read);
 
6193
                ndr->depth--;
 
6194
                ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
 
6195
                ndr->depth++;
 
6196
                if (r->out.resume_handle) {
 
6197
                        ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
 
6198
                }
 
6199
                ndr->depth--;
 
6200
                ndr_print_WERROR(ndr, "result", r->out.result);
 
6201
                ndr->depth--;
 
6202
        }
 
6203
        ndr->depth--;
 
6204
}
 
6205
 
 
6206
static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserGetInfo(struct ndr_push *ndr, int flags, const struct wkssvc_NetrWkstaUserGetInfo *r)
 
6207
{
 
6208
        if (flags & NDR_IN) {
 
6209
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown));
 
6210
                if (r->in.unknown) {
 
6211
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16)));
 
6212
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
6213
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16)));
 
6214
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.unknown, ndr_charset_length(r->in.unknown, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
6215
                }
 
6216
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
 
6217
        }
 
6218
        if (flags & NDR_OUT) {
 
6219
                if (r->out.info == NULL) {
 
6220
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
6221
                }
 
6222
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
 
6223
                NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
 
6224
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
6225
        }
 
6226
        return NDR_ERR_SUCCESS;
 
6227
}
 
6228
 
 
6229
static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserGetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaUserGetInfo *r)
 
6230
{
 
6231
        uint32_t _ptr_unknown;
 
6232
        TALLOC_CTX *_mem_save_unknown_0;
 
6233
        TALLOC_CTX *_mem_save_info_0;
 
6234
        if (flags & NDR_IN) {
 
6235
                ZERO_STRUCT(r->out);
 
6236
 
 
6237
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown));
 
6238
                if (_ptr_unknown) {
 
6239
                        NDR_PULL_ALLOC(ndr, r->in.unknown);
 
6240
                } else {
 
6241
                        r->in.unknown = NULL;
 
6242
                }
 
6243
                if (r->in.unknown) {
 
6244
                        _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6245
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown, 0);
 
6246
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown));
 
6247
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown));
 
6248
                        if (ndr_get_array_length(ndr, &r->in.unknown) > ndr_get_array_size(ndr, &r->in.unknown)) {
 
6249
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown), ndr_get_array_length(ndr, &r->in.unknown));
 
6250
                        }
 
6251
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t)));
 
6252
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t), CH_UTF16));
 
6253
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0);
 
6254
                }
 
6255
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
 
6256
                NDR_PULL_ALLOC(ndr, r->out.info);
 
6257
                ZERO_STRUCTP(r->out.info);
 
6258
        }
 
6259
        if (flags & NDR_OUT) {
 
6260
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
6261
                        NDR_PULL_ALLOC(ndr, r->out.info);
 
6262
                }
 
6263
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6264
                NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
 
6265
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
 
6266
                NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
 
6267
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
6268
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
6269
        }
 
6270
        return NDR_ERR_SUCCESS;
 
6271
}
 
6272
 
 
6273
_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaUserGetInfo *r)
 
6274
{
 
6275
        ndr_print_struct(ndr, name, "wkssvc_NetrWkstaUserGetInfo");
 
6276
        ndr->depth++;
 
6277
        if (flags & NDR_SET_VALUES) {
 
6278
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
6279
        }
 
6280
        if (flags & NDR_IN) {
 
6281
                ndr_print_struct(ndr, "in", "wkssvc_NetrWkstaUserGetInfo");
 
6282
                ndr->depth++;
 
6283
                ndr_print_ptr(ndr, "unknown", r->in.unknown);
 
6284
                ndr->depth++;
 
6285
                if (r->in.unknown) {
 
6286
                        ndr_print_string(ndr, "unknown", r->in.unknown);
 
6287
                }
 
6288
                ndr->depth--;
 
6289
                ndr_print_uint32(ndr, "level", r->in.level);
 
6290
                ndr->depth--;
 
6291
        }
 
6292
        if (flags & NDR_OUT) {
 
6293
                ndr_print_struct(ndr, "out", "wkssvc_NetrWkstaUserGetInfo");
 
6294
                ndr->depth++;
 
6295
                ndr_print_ptr(ndr, "info", r->out.info);
 
6296
                ndr->depth++;
 
6297
                ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
 
6298
                ndr_print_wkssvc_NetrWkstaUserInfo(ndr, "info", r->out.info);
 
6299
                ndr->depth--;
 
6300
                ndr_print_WERROR(ndr, "result", r->out.result);
 
6301
                ndr->depth--;
 
6302
        }
 
6303
        ndr->depth--;
 
6304
}
 
6305
 
 
6306
static enum ndr_err_code ndr_push_wkssvc_NetrWkstaUserSetInfo(struct ndr_push *ndr, int flags, const struct wkssvc_NetrWkstaUserSetInfo *r)
 
6307
{
 
6308
        if (flags & NDR_IN) {
 
6309
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown));
 
6310
                if (r->in.unknown) {
 
6311
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16)));
 
6312
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
6313
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16)));
 
6314
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.unknown, ndr_charset_length(r->in.unknown, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
6315
                }
 
6316
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
 
6317
                if (r->in.info == NULL) {
 
6318
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
6319
                }
 
6320
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
 
6321
                NDR_CHECK(ndr_push_wkssvc_NetrWkstaUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 
6322
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.parm_err));
 
6323
                if (r->in.parm_err) {
 
6324
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_err));
 
6325
                }
 
6326
        }
 
6327
        if (flags & NDR_OUT) {
 
6328
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.parm_err));
 
6329
                if (r->out.parm_err) {
 
6330
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_err));
 
6331
                }
 
6332
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
6333
        }
 
6334
        return NDR_ERR_SUCCESS;
 
6335
}
 
6336
 
 
6337
static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaUserSetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaUserSetInfo *r)
 
6338
{
 
6339
        uint32_t _ptr_unknown;
 
6340
        uint32_t _ptr_parm_err;
 
6341
        TALLOC_CTX *_mem_save_unknown_0;
 
6342
        TALLOC_CTX *_mem_save_info_0;
 
6343
        TALLOC_CTX *_mem_save_parm_err_0;
 
6344
        if (flags & NDR_IN) {
 
6345
                ZERO_STRUCT(r->out);
 
6346
 
 
6347
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown));
 
6348
                if (_ptr_unknown) {
 
6349
                        NDR_PULL_ALLOC(ndr, r->in.unknown);
 
6350
                } else {
 
6351
                        r->in.unknown = NULL;
 
6352
                }
 
6353
                if (r->in.unknown) {
 
6354
                        _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6355
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown, 0);
 
6356
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown));
 
6357
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown));
 
6358
                        if (ndr_get_array_length(ndr, &r->in.unknown) > ndr_get_array_size(ndr, &r->in.unknown)) {
 
6359
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown), ndr_get_array_length(ndr, &r->in.unknown));
 
6360
                        }
 
6361
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t)));
 
6362
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t), CH_UTF16));
 
6363
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0);
 
6364
                }
 
6365
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
 
6366
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
6367
                        NDR_PULL_ALLOC(ndr, r->in.info);
 
6368
                }
 
6369
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6370
                NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
 
6371
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
 
6372
                NDR_CHECK(ndr_pull_wkssvc_NetrWkstaUserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 
6373
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
6374
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err));
 
6375
                if (_ptr_parm_err) {
 
6376
                        NDR_PULL_ALLOC(ndr, r->in.parm_err);
 
6377
                } else {
 
6378
                        r->in.parm_err = NULL;
 
6379
                }
 
6380
                if (r->in.parm_err) {
 
6381
                        _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6382
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_err, 0);
 
6383
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_err));
 
6384
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0);
 
6385
                }
 
6386
        }
 
6387
        if (flags & NDR_OUT) {
 
6388
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err));
 
6389
                if (_ptr_parm_err) {
 
6390
                        NDR_PULL_ALLOC(ndr, r->out.parm_err);
 
6391
                } else {
 
6392
                        r->out.parm_err = NULL;
 
6393
                }
 
6394
                if (r->out.parm_err) {
 
6395
                        _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6396
                        NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_err, 0);
 
6397
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_err));
 
6398
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0);
 
6399
                }
 
6400
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
6401
        }
 
6402
        return NDR_ERR_SUCCESS;
 
6403
}
 
6404
 
 
6405
_PUBLIC_ void ndr_print_wkssvc_NetrWkstaUserSetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaUserSetInfo *r)
 
6406
{
 
6407
        ndr_print_struct(ndr, name, "wkssvc_NetrWkstaUserSetInfo");
 
6408
        ndr->depth++;
 
6409
        if (flags & NDR_SET_VALUES) {
 
6410
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
6411
        }
 
6412
        if (flags & NDR_IN) {
 
6413
                ndr_print_struct(ndr, "in", "wkssvc_NetrWkstaUserSetInfo");
 
6414
                ndr->depth++;
 
6415
                ndr_print_ptr(ndr, "unknown", r->in.unknown);
 
6416
                ndr->depth++;
 
6417
                if (r->in.unknown) {
 
6418
                        ndr_print_string(ndr, "unknown", r->in.unknown);
 
6419
                }
 
6420
                ndr->depth--;
 
6421
                ndr_print_uint32(ndr, "level", r->in.level);
 
6422
                ndr_print_ptr(ndr, "info", r->in.info);
 
6423
                ndr->depth++;
 
6424
                ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
 
6425
                ndr_print_wkssvc_NetrWkstaUserInfo(ndr, "info", r->in.info);
 
6426
                ndr->depth--;
 
6427
                ndr_print_ptr(ndr, "parm_err", r->in.parm_err);
 
6428
                ndr->depth++;
 
6429
                if (r->in.parm_err) {
 
6430
                        ndr_print_uint32(ndr, "parm_err", *r->in.parm_err);
 
6431
                }
 
6432
                ndr->depth--;
 
6433
                ndr->depth--;
 
6434
        }
 
6435
        if (flags & NDR_OUT) {
 
6436
                ndr_print_struct(ndr, "out", "wkssvc_NetrWkstaUserSetInfo");
 
6437
                ndr->depth++;
 
6438
                ndr_print_ptr(ndr, "parm_err", r->out.parm_err);
 
6439
                ndr->depth++;
 
6440
                if (r->out.parm_err) {
 
6441
                        ndr_print_uint32(ndr, "parm_err", *r->out.parm_err);
 
6442
                }
 
6443
                ndr->depth--;
 
6444
                ndr_print_WERROR(ndr, "result", r->out.result);
 
6445
                ndr->depth--;
 
6446
        }
 
6447
        ndr->depth--;
 
6448
}
 
6449
 
 
6450
static enum ndr_err_code ndr_push_wkssvc_NetWkstaTransportEnum(struct ndr_push *ndr, int flags, const struct wkssvc_NetWkstaTransportEnum *r)
 
6451
{
 
6452
        if (flags & NDR_IN) {
 
6453
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
6454
                if (r->in.server_name) {
 
6455
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
6456
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
6457
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
6458
                        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));
 
6459
                }
 
6460
                if (r->in.info == NULL) {
 
6461
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
6462
                }
 
6463
                NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 
6464
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
 
6465
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle));
 
6466
                if (r->in.resume_handle) {
 
6467
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
 
6468
                }
 
6469
        }
 
6470
        if (flags & NDR_OUT) {
 
6471
                if (r->out.info == NULL) {
 
6472
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
6473
                }
 
6474
                NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
 
6475
                if (r->out.total_entries == NULL) {
 
6476
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
6477
                }
 
6478
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_entries));
 
6479
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle));
 
6480
                if (r->out.resume_handle) {
 
6481
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
 
6482
                }
 
6483
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
6484
        }
 
6485
        return NDR_ERR_SUCCESS;
 
6486
}
 
6487
 
 
6488
static enum ndr_err_code ndr_pull_wkssvc_NetWkstaTransportEnum(struct ndr_pull *ndr, int flags, struct wkssvc_NetWkstaTransportEnum *r)
 
6489
{
 
6490
        uint32_t _ptr_server_name;
 
6491
        uint32_t _ptr_resume_handle;
 
6492
        TALLOC_CTX *_mem_save_server_name_0;
 
6493
        TALLOC_CTX *_mem_save_info_0;
 
6494
        TALLOC_CTX *_mem_save_total_entries_0;
 
6495
        TALLOC_CTX *_mem_save_resume_handle_0;
 
6496
        if (flags & NDR_IN) {
 
6497
                ZERO_STRUCT(r->out);
 
6498
 
 
6499
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
6500
                if (_ptr_server_name) {
 
6501
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
6502
                } else {
 
6503
                        r->in.server_name = NULL;
 
6504
                }
 
6505
                if (r->in.server_name) {
 
6506
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6507
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
6508
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
6509
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
6510
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
6511
                                return 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));
 
6512
                        }
 
6513
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
6514
                        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));
 
6515
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
6516
                }
 
6517
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
6518
                        NDR_PULL_ALLOC(ndr, r->in.info);
 
6519
                }
 
6520
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6521
                NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
 
6522
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 
6523
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
6524
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer));
 
6525
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle));
 
6526
                if (_ptr_resume_handle) {
 
6527
                        NDR_PULL_ALLOC(ndr, r->in.resume_handle);
 
6528
                } else {
 
6529
                        r->in.resume_handle = NULL;
 
6530
                }
 
6531
                if (r->in.resume_handle) {
 
6532
                        _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6533
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0);
 
6534
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
 
6535
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0);
 
6536
                }
 
6537
                NDR_PULL_ALLOC(ndr, r->out.info);
 
6538
                *r->out.info = *r->in.info;
 
6539
                NDR_PULL_ALLOC(ndr, r->out.total_entries);
 
6540
                ZERO_STRUCTP(r->out.total_entries);
 
6541
        }
 
6542
        if (flags & NDR_OUT) {
 
6543
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
6544
                        NDR_PULL_ALLOC(ndr, r->out.info);
 
6545
                }
 
6546
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6547
                NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
 
6548
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
 
6549
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
6550
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
6551
                        NDR_PULL_ALLOC(ndr, r->out.total_entries);
 
6552
                }
 
6553
                _mem_save_total_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6554
                NDR_PULL_SET_MEM_CTX(ndr, r->out.total_entries, LIBNDR_FLAG_REF_ALLOC);
 
6555
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_entries));
 
6556
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_entries_0, LIBNDR_FLAG_REF_ALLOC);
 
6557
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle));
 
6558
                if (_ptr_resume_handle) {
 
6559
                        NDR_PULL_ALLOC(ndr, r->out.resume_handle);
 
6560
                } else {
 
6561
                        r->out.resume_handle = NULL;
 
6562
                }
 
6563
                if (r->out.resume_handle) {
 
6564
                        _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6565
                        NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0);
 
6566
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
 
6567
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0);
 
6568
                }
 
6569
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
6570
        }
 
6571
        return NDR_ERR_SUCCESS;
 
6572
}
 
6573
 
 
6574
_PUBLIC_ void ndr_print_wkssvc_NetWkstaTransportEnum(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetWkstaTransportEnum *r)
 
6575
{
 
6576
        ndr_print_struct(ndr, name, "wkssvc_NetWkstaTransportEnum");
 
6577
        ndr->depth++;
 
6578
        if (flags & NDR_SET_VALUES) {
 
6579
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
6580
        }
 
6581
        if (flags & NDR_IN) {
 
6582
                ndr_print_struct(ndr, "in", "wkssvc_NetWkstaTransportEnum");
 
6583
                ndr->depth++;
 
6584
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
6585
                ndr->depth++;
 
6586
                if (r->in.server_name) {
 
6587
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
6588
                }
 
6589
                ndr->depth--;
 
6590
                ndr_print_ptr(ndr, "info", r->in.info);
 
6591
                ndr->depth++;
 
6592
                ndr_print_wkssvc_NetWkstaTransportInfo(ndr, "info", r->in.info);
 
6593
                ndr->depth--;
 
6594
                ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer);
 
6595
                ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
 
6596
                ndr->depth++;
 
6597
                if (r->in.resume_handle) {
 
6598
                        ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
 
6599
                }
 
6600
                ndr->depth--;
 
6601
                ndr->depth--;
 
6602
        }
 
6603
        if (flags & NDR_OUT) {
 
6604
                ndr_print_struct(ndr, "out", "wkssvc_NetWkstaTransportEnum");
 
6605
                ndr->depth++;
 
6606
                ndr_print_ptr(ndr, "info", r->out.info);
 
6607
                ndr->depth++;
 
6608
                ndr_print_wkssvc_NetWkstaTransportInfo(ndr, "info", r->out.info);
 
6609
                ndr->depth--;
 
6610
                ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
 
6611
                ndr->depth++;
 
6612
                ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
 
6613
                ndr->depth--;
 
6614
                ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
 
6615
                ndr->depth++;
 
6616
                if (r->out.resume_handle) {
 
6617
                        ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
 
6618
                }
 
6619
                ndr->depth--;
 
6620
                ndr_print_WERROR(ndr, "result", r->out.result);
 
6621
                ndr->depth--;
 
6622
        }
 
6623
        ndr->depth--;
 
6624
}
 
6625
 
 
6626
static enum ndr_err_code ndr_push_wkssvc_NetrWkstaTransportAdd(struct ndr_push *ndr, int flags, const struct wkssvc_NetrWkstaTransportAdd *r)
 
6627
{
 
6628
        if (flags & NDR_IN) {
 
6629
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
6630
                if (r->in.server_name) {
 
6631
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
6632
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
6633
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
6634
                        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));
 
6635
                }
 
6636
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
 
6637
                if (r->in.info0 == NULL) {
 
6638
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
6639
                }
 
6640
                NDR_CHECK(ndr_push_wkssvc_NetWkstaTransportInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info0));
 
6641
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.parm_err));
 
6642
                if (r->in.parm_err) {
 
6643
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_err));
 
6644
                }
 
6645
        }
 
6646
        if (flags & NDR_OUT) {
 
6647
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.parm_err));
 
6648
                if (r->out.parm_err) {
 
6649
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_err));
 
6650
                }
 
6651
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
6652
        }
 
6653
        return NDR_ERR_SUCCESS;
 
6654
}
 
6655
 
 
6656
static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaTransportAdd(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaTransportAdd *r)
 
6657
{
 
6658
        uint32_t _ptr_server_name;
 
6659
        uint32_t _ptr_parm_err;
 
6660
        TALLOC_CTX *_mem_save_server_name_0;
 
6661
        TALLOC_CTX *_mem_save_info0_0;
 
6662
        TALLOC_CTX *_mem_save_parm_err_0;
 
6663
        if (flags & NDR_IN) {
 
6664
                ZERO_STRUCT(r->out);
 
6665
 
 
6666
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
6667
                if (_ptr_server_name) {
 
6668
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
6669
                } else {
 
6670
                        r->in.server_name = NULL;
 
6671
                }
 
6672
                if (r->in.server_name) {
 
6673
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6674
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
6675
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
6676
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
6677
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
6678
                                return 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));
 
6679
                        }
 
6680
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
6681
                        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));
 
6682
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
6683
                }
 
6684
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
 
6685
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
6686
                        NDR_PULL_ALLOC(ndr, r->in.info0);
 
6687
                }
 
6688
                _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6689
                NDR_PULL_SET_MEM_CTX(ndr, r->in.info0, LIBNDR_FLAG_REF_ALLOC);
 
6690
                NDR_CHECK(ndr_pull_wkssvc_NetWkstaTransportInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info0));
 
6691
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, LIBNDR_FLAG_REF_ALLOC);
 
6692
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err));
 
6693
                if (_ptr_parm_err) {
 
6694
                        NDR_PULL_ALLOC(ndr, r->in.parm_err);
 
6695
                } else {
 
6696
                        r->in.parm_err = NULL;
 
6697
                }
 
6698
                if (r->in.parm_err) {
 
6699
                        _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6700
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_err, 0);
 
6701
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_err));
 
6702
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0);
 
6703
                }
 
6704
        }
 
6705
        if (flags & NDR_OUT) {
 
6706
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err));
 
6707
                if (_ptr_parm_err) {
 
6708
                        NDR_PULL_ALLOC(ndr, r->out.parm_err);
 
6709
                } else {
 
6710
                        r->out.parm_err = NULL;
 
6711
                }
 
6712
                if (r->out.parm_err) {
 
6713
                        _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6714
                        NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_err, 0);
 
6715
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_err));
 
6716
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0);
 
6717
                }
 
6718
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
6719
        }
 
6720
        return NDR_ERR_SUCCESS;
 
6721
}
 
6722
 
 
6723
_PUBLIC_ void ndr_print_wkssvc_NetrWkstaTransportAdd(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaTransportAdd *r)
 
6724
{
 
6725
        ndr_print_struct(ndr, name, "wkssvc_NetrWkstaTransportAdd");
 
6726
        ndr->depth++;
 
6727
        if (flags & NDR_SET_VALUES) {
 
6728
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
6729
        }
 
6730
        if (flags & NDR_IN) {
 
6731
                ndr_print_struct(ndr, "in", "wkssvc_NetrWkstaTransportAdd");
 
6732
                ndr->depth++;
 
6733
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
6734
                ndr->depth++;
 
6735
                if (r->in.server_name) {
 
6736
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
6737
                }
 
6738
                ndr->depth--;
 
6739
                ndr_print_uint32(ndr, "level", r->in.level);
 
6740
                ndr_print_ptr(ndr, "info0", r->in.info0);
 
6741
                ndr->depth++;
 
6742
                ndr_print_wkssvc_NetWkstaTransportInfo0(ndr, "info0", r->in.info0);
 
6743
                ndr->depth--;
 
6744
                ndr_print_ptr(ndr, "parm_err", r->in.parm_err);
 
6745
                ndr->depth++;
 
6746
                if (r->in.parm_err) {
 
6747
                        ndr_print_uint32(ndr, "parm_err", *r->in.parm_err);
 
6748
                }
 
6749
                ndr->depth--;
 
6750
                ndr->depth--;
 
6751
        }
 
6752
        if (flags & NDR_OUT) {
 
6753
                ndr_print_struct(ndr, "out", "wkssvc_NetrWkstaTransportAdd");
 
6754
                ndr->depth++;
 
6755
                ndr_print_ptr(ndr, "parm_err", r->out.parm_err);
 
6756
                ndr->depth++;
 
6757
                if (r->out.parm_err) {
 
6758
                        ndr_print_uint32(ndr, "parm_err", *r->out.parm_err);
 
6759
                }
 
6760
                ndr->depth--;
 
6761
                ndr_print_WERROR(ndr, "result", r->out.result);
 
6762
                ndr->depth--;
 
6763
        }
 
6764
        ndr->depth--;
 
6765
}
 
6766
 
 
6767
static enum ndr_err_code ndr_push_wkssvc_NetrWkstaTransportDel(struct ndr_push *ndr, int flags, const struct wkssvc_NetrWkstaTransportDel *r)
 
6768
{
 
6769
        if (flags & NDR_IN) {
 
6770
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
6771
                if (r->in.server_name) {
 
6772
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
6773
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
6774
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
6775
                        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));
 
6776
                }
 
6777
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.transport_name));
 
6778
                if (r->in.transport_name) {
 
6779
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.transport_name, CH_UTF16)));
 
6780
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
6781
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.transport_name, CH_UTF16)));
 
6782
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.transport_name, ndr_charset_length(r->in.transport_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
6783
                }
 
6784
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3));
 
6785
        }
 
6786
        if (flags & NDR_OUT) {
 
6787
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
6788
        }
 
6789
        return NDR_ERR_SUCCESS;
 
6790
}
 
6791
 
 
6792
static enum ndr_err_code ndr_pull_wkssvc_NetrWkstaTransportDel(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWkstaTransportDel *r)
 
6793
{
 
6794
        uint32_t _ptr_server_name;
 
6795
        uint32_t _ptr_transport_name;
 
6796
        TALLOC_CTX *_mem_save_server_name_0;
 
6797
        TALLOC_CTX *_mem_save_transport_name_0;
 
6798
        if (flags & NDR_IN) {
 
6799
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
6800
                if (_ptr_server_name) {
 
6801
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
6802
                } else {
 
6803
                        r->in.server_name = NULL;
 
6804
                }
 
6805
                if (r->in.server_name) {
 
6806
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6807
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
6808
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
6809
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
6810
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
6811
                                return 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));
 
6812
                        }
 
6813
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
6814
                        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));
 
6815
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
6816
                }
 
6817
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transport_name));
 
6818
                if (_ptr_transport_name) {
 
6819
                        NDR_PULL_ALLOC(ndr, r->in.transport_name);
 
6820
                } else {
 
6821
                        r->in.transport_name = NULL;
 
6822
                }
 
6823
                if (r->in.transport_name) {
 
6824
                        _mem_save_transport_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6825
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.transport_name, 0);
 
6826
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.transport_name));
 
6827
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.transport_name));
 
6828
                        if (ndr_get_array_length(ndr, &r->in.transport_name) > ndr_get_array_size(ndr, &r->in.transport_name)) {
 
6829
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.transport_name), ndr_get_array_length(ndr, &r->in.transport_name));
 
6830
                        }
 
6831
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.transport_name), sizeof(uint16_t)));
 
6832
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.transport_name, ndr_get_array_length(ndr, &r->in.transport_name), sizeof(uint16_t), CH_UTF16));
 
6833
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transport_name_0, 0);
 
6834
                }
 
6835
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
 
6836
        }
 
6837
        if (flags & NDR_OUT) {
 
6838
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
6839
        }
 
6840
        return NDR_ERR_SUCCESS;
 
6841
}
 
6842
 
 
6843
_PUBLIC_ void ndr_print_wkssvc_NetrWkstaTransportDel(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWkstaTransportDel *r)
 
6844
{
 
6845
        ndr_print_struct(ndr, name, "wkssvc_NetrWkstaTransportDel");
 
6846
        ndr->depth++;
 
6847
        if (flags & NDR_SET_VALUES) {
 
6848
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
6849
        }
 
6850
        if (flags & NDR_IN) {
 
6851
                ndr_print_struct(ndr, "in", "wkssvc_NetrWkstaTransportDel");
 
6852
                ndr->depth++;
 
6853
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
6854
                ndr->depth++;
 
6855
                if (r->in.server_name) {
 
6856
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
6857
                }
 
6858
                ndr->depth--;
 
6859
                ndr_print_ptr(ndr, "transport_name", r->in.transport_name);
 
6860
                ndr->depth++;
 
6861
                if (r->in.transport_name) {
 
6862
                        ndr_print_string(ndr, "transport_name", r->in.transport_name);
 
6863
                }
 
6864
                ndr->depth--;
 
6865
                ndr_print_uint32(ndr, "unknown3", r->in.unknown3);
 
6866
                ndr->depth--;
 
6867
        }
 
6868
        if (flags & NDR_OUT) {
 
6869
                ndr_print_struct(ndr, "out", "wkssvc_NetrWkstaTransportDel");
 
6870
                ndr->depth++;
 
6871
                ndr_print_WERROR(ndr, "result", r->out.result);
 
6872
                ndr->depth--;
 
6873
        }
 
6874
        ndr->depth--;
 
6875
}
 
6876
 
 
6877
static enum ndr_err_code ndr_push_wkssvc_NetrUseAdd(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUseAdd *r)
 
6878
{
 
6879
        if (flags & NDR_IN) {
 
6880
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
6881
                if (r->in.server_name) {
 
6882
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
6883
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
6884
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
6885
                        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));
 
6886
                }
 
6887
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
 
6888
                if (r->in.ctr == NULL) {
 
6889
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
6890
                }
 
6891
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, r->in.level));
 
6892
                NDR_CHECK(ndr_push_wkssvc_NetrUseGetInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
 
6893
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.parm_err));
 
6894
                if (r->in.parm_err) {
 
6895
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.parm_err));
 
6896
                }
 
6897
        }
 
6898
        if (flags & NDR_OUT) {
 
6899
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.parm_err));
 
6900
                if (r->out.parm_err) {
 
6901
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.parm_err));
 
6902
                }
 
6903
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
6904
        }
 
6905
        return NDR_ERR_SUCCESS;
 
6906
}
 
6907
 
 
6908
static enum ndr_err_code ndr_pull_wkssvc_NetrUseAdd(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseAdd *r)
 
6909
{
 
6910
        uint32_t _ptr_server_name;
 
6911
        uint32_t _ptr_parm_err;
 
6912
        TALLOC_CTX *_mem_save_server_name_0;
 
6913
        TALLOC_CTX *_mem_save_ctr_0;
 
6914
        TALLOC_CTX *_mem_save_parm_err_0;
 
6915
        if (flags & NDR_IN) {
 
6916
                ZERO_STRUCT(r->out);
 
6917
 
 
6918
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
6919
                if (_ptr_server_name) {
 
6920
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
6921
                } else {
 
6922
                        r->in.server_name = NULL;
 
6923
                }
 
6924
                if (r->in.server_name) {
 
6925
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6926
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
6927
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
6928
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
6929
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
6930
                                return 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));
 
6931
                        }
 
6932
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
6933
                        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));
 
6934
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
6935
                }
 
6936
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
 
6937
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
6938
                        NDR_PULL_ALLOC(ndr, r->in.ctr);
 
6939
                }
 
6940
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6941
                NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC);
 
6942
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, r->in.level));
 
6943
                NDR_CHECK(ndr_pull_wkssvc_NetrUseGetInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
 
6944
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
 
6945
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err));
 
6946
                if (_ptr_parm_err) {
 
6947
                        NDR_PULL_ALLOC(ndr, r->in.parm_err);
 
6948
                } else {
 
6949
                        r->in.parm_err = NULL;
 
6950
                }
 
6951
                if (r->in.parm_err) {
 
6952
                        _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6953
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.parm_err, 0);
 
6954
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.parm_err));
 
6955
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0);
 
6956
                }
 
6957
        }
 
6958
        if (flags & NDR_OUT) {
 
6959
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parm_err));
 
6960
                if (_ptr_parm_err) {
 
6961
                        NDR_PULL_ALLOC(ndr, r->out.parm_err);
 
6962
                } else {
 
6963
                        r->out.parm_err = NULL;
 
6964
                }
 
6965
                if (r->out.parm_err) {
 
6966
                        _mem_save_parm_err_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
6967
                        NDR_PULL_SET_MEM_CTX(ndr, r->out.parm_err, 0);
 
6968
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.parm_err));
 
6969
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parm_err_0, 0);
 
6970
                }
 
6971
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
6972
        }
 
6973
        return NDR_ERR_SUCCESS;
 
6974
}
 
6975
 
 
6976
_PUBLIC_ void ndr_print_wkssvc_NetrUseAdd(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseAdd *r)
 
6977
{
 
6978
        ndr_print_struct(ndr, name, "wkssvc_NetrUseAdd");
 
6979
        ndr->depth++;
 
6980
        if (flags & NDR_SET_VALUES) {
 
6981
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
6982
        }
 
6983
        if (flags & NDR_IN) {
 
6984
                ndr_print_struct(ndr, "in", "wkssvc_NetrUseAdd");
 
6985
                ndr->depth++;
 
6986
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
6987
                ndr->depth++;
 
6988
                if (r->in.server_name) {
 
6989
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
6990
                }
 
6991
                ndr->depth--;
 
6992
                ndr_print_uint32(ndr, "level", r->in.level);
 
6993
                ndr_print_ptr(ndr, "ctr", r->in.ctr);
 
6994
                ndr->depth++;
 
6995
                ndr_print_set_switch_value(ndr, r->in.ctr, r->in.level);
 
6996
                ndr_print_wkssvc_NetrUseGetInfoCtr(ndr, "ctr", r->in.ctr);
 
6997
                ndr->depth--;
 
6998
                ndr_print_ptr(ndr, "parm_err", r->in.parm_err);
 
6999
                ndr->depth++;
 
7000
                if (r->in.parm_err) {
 
7001
                        ndr_print_uint32(ndr, "parm_err", *r->in.parm_err);
 
7002
                }
 
7003
                ndr->depth--;
 
7004
                ndr->depth--;
 
7005
        }
 
7006
        if (flags & NDR_OUT) {
 
7007
                ndr_print_struct(ndr, "out", "wkssvc_NetrUseAdd");
 
7008
                ndr->depth++;
 
7009
                ndr_print_ptr(ndr, "parm_err", r->out.parm_err);
 
7010
                ndr->depth++;
 
7011
                if (r->out.parm_err) {
 
7012
                        ndr_print_uint32(ndr, "parm_err", *r->out.parm_err);
 
7013
                }
 
7014
                ndr->depth--;
 
7015
                ndr_print_WERROR(ndr, "result", r->out.result);
 
7016
                ndr->depth--;
 
7017
        }
 
7018
        ndr->depth--;
 
7019
}
 
7020
 
 
7021
static enum ndr_err_code ndr_push_wkssvc_NetrUseGetInfo(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUseGetInfo *r)
 
7022
{
 
7023
        if (flags & NDR_IN) {
 
7024
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
7025
                if (r->in.server_name) {
 
7026
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7027
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7028
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7029
                        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));
 
7030
                }
 
7031
                if (r->in.use_name == NULL) {
 
7032
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7033
                }
 
7034
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.use_name, CH_UTF16)));
 
7035
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7036
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.use_name, CH_UTF16)));
 
7037
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.use_name, ndr_charset_length(r->in.use_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
7038
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
 
7039
        }
 
7040
        if (flags & NDR_OUT) {
 
7041
                if (r->out.ctr == NULL) {
 
7042
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7043
                }
 
7044
                NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, r->in.level));
 
7045
                NDR_CHECK(ndr_push_wkssvc_NetrUseGetInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
 
7046
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
7047
        }
 
7048
        return NDR_ERR_SUCCESS;
 
7049
}
 
7050
 
 
7051
static enum ndr_err_code ndr_pull_wkssvc_NetrUseGetInfo(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseGetInfo *r)
 
7052
{
 
7053
        uint32_t _ptr_server_name;
 
7054
        TALLOC_CTX *_mem_save_server_name_0;
 
7055
        TALLOC_CTX *_mem_save_ctr_0;
 
7056
        if (flags & NDR_IN) {
 
7057
                ZERO_STRUCT(r->out);
 
7058
 
 
7059
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
7060
                if (_ptr_server_name) {
 
7061
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
7062
                } else {
 
7063
                        r->in.server_name = NULL;
 
7064
                }
 
7065
                if (r->in.server_name) {
 
7066
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7067
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
7068
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
7069
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
7070
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
7071
                                return 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));
 
7072
                        }
 
7073
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
7074
                        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));
 
7075
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
7076
                }
 
7077
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.use_name));
 
7078
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.use_name));
 
7079
                if (ndr_get_array_length(ndr, &r->in.use_name) > ndr_get_array_size(ndr, &r->in.use_name)) {
 
7080
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.use_name), ndr_get_array_length(ndr, &r->in.use_name));
 
7081
                }
 
7082
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t)));
 
7083
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.use_name, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t), CH_UTF16));
 
7084
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
 
7085
                NDR_PULL_ALLOC(ndr, r->out.ctr);
 
7086
                ZERO_STRUCTP(r->out.ctr);
 
7087
        }
 
7088
        if (flags & NDR_OUT) {
 
7089
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
7090
                        NDR_PULL_ALLOC(ndr, r->out.ctr);
 
7091
                }
 
7092
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7093
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
 
7094
                NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, r->in.level));
 
7095
                NDR_CHECK(ndr_pull_wkssvc_NetrUseGetInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
 
7096
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
 
7097
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
7098
        }
 
7099
        return NDR_ERR_SUCCESS;
 
7100
}
 
7101
 
 
7102
_PUBLIC_ void ndr_print_wkssvc_NetrUseGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseGetInfo *r)
 
7103
{
 
7104
        ndr_print_struct(ndr, name, "wkssvc_NetrUseGetInfo");
 
7105
        ndr->depth++;
 
7106
        if (flags & NDR_SET_VALUES) {
 
7107
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
7108
        }
 
7109
        if (flags & NDR_IN) {
 
7110
                ndr_print_struct(ndr, "in", "wkssvc_NetrUseGetInfo");
 
7111
                ndr->depth++;
 
7112
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
7113
                ndr->depth++;
 
7114
                if (r->in.server_name) {
 
7115
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
7116
                }
 
7117
                ndr->depth--;
 
7118
                ndr_print_ptr(ndr, "use_name", r->in.use_name);
 
7119
                ndr->depth++;
 
7120
                ndr_print_string(ndr, "use_name", r->in.use_name);
 
7121
                ndr->depth--;
 
7122
                ndr_print_uint32(ndr, "level", r->in.level);
 
7123
                ndr->depth--;
 
7124
        }
 
7125
        if (flags & NDR_OUT) {
 
7126
                ndr_print_struct(ndr, "out", "wkssvc_NetrUseGetInfo");
 
7127
                ndr->depth++;
 
7128
                ndr_print_ptr(ndr, "ctr", r->out.ctr);
 
7129
                ndr->depth++;
 
7130
                ndr_print_set_switch_value(ndr, r->out.ctr, r->in.level);
 
7131
                ndr_print_wkssvc_NetrUseGetInfoCtr(ndr, "ctr", r->out.ctr);
 
7132
                ndr->depth--;
 
7133
                ndr_print_WERROR(ndr, "result", r->out.result);
 
7134
                ndr->depth--;
 
7135
        }
 
7136
        ndr->depth--;
 
7137
}
 
7138
 
 
7139
static enum ndr_err_code ndr_push_wkssvc_NetrUseDel(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUseDel *r)
 
7140
{
 
7141
        if (flags & NDR_IN) {
 
7142
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
7143
                if (r->in.server_name) {
 
7144
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7145
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7146
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7147
                        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));
 
7148
                }
 
7149
                if (r->in.use_name == NULL) {
 
7150
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7151
                }
 
7152
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.use_name, CH_UTF16)));
 
7153
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7154
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.use_name, CH_UTF16)));
 
7155
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.use_name, ndr_charset_length(r->in.use_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
7156
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.force_cond));
 
7157
        }
 
7158
        if (flags & NDR_OUT) {
 
7159
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
7160
        }
 
7161
        return NDR_ERR_SUCCESS;
 
7162
}
 
7163
 
 
7164
static enum ndr_err_code ndr_pull_wkssvc_NetrUseDel(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseDel *r)
 
7165
{
 
7166
        uint32_t _ptr_server_name;
 
7167
        TALLOC_CTX *_mem_save_server_name_0;
 
7168
        if (flags & NDR_IN) {
 
7169
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
7170
                if (_ptr_server_name) {
 
7171
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
7172
                } else {
 
7173
                        r->in.server_name = NULL;
 
7174
                }
 
7175
                if (r->in.server_name) {
 
7176
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7177
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
7178
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
7179
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
7180
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
7181
                                return 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));
 
7182
                        }
 
7183
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
7184
                        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));
 
7185
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
7186
                }
 
7187
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.use_name));
 
7188
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.use_name));
 
7189
                if (ndr_get_array_length(ndr, &r->in.use_name) > ndr_get_array_size(ndr, &r->in.use_name)) {
 
7190
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.use_name), ndr_get_array_length(ndr, &r->in.use_name));
 
7191
                }
 
7192
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t)));
 
7193
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.use_name, ndr_get_array_length(ndr, &r->in.use_name), sizeof(uint16_t), CH_UTF16));
 
7194
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.force_cond));
 
7195
        }
 
7196
        if (flags & NDR_OUT) {
 
7197
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
7198
        }
 
7199
        return NDR_ERR_SUCCESS;
 
7200
}
 
7201
 
 
7202
_PUBLIC_ void ndr_print_wkssvc_NetrUseDel(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseDel *r)
 
7203
{
 
7204
        ndr_print_struct(ndr, name, "wkssvc_NetrUseDel");
 
7205
        ndr->depth++;
 
7206
        if (flags & NDR_SET_VALUES) {
 
7207
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
7208
        }
 
7209
        if (flags & NDR_IN) {
 
7210
                ndr_print_struct(ndr, "in", "wkssvc_NetrUseDel");
 
7211
                ndr->depth++;
 
7212
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
7213
                ndr->depth++;
 
7214
                if (r->in.server_name) {
 
7215
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
7216
                }
 
7217
                ndr->depth--;
 
7218
                ndr_print_ptr(ndr, "use_name", r->in.use_name);
 
7219
                ndr->depth++;
 
7220
                ndr_print_string(ndr, "use_name", r->in.use_name);
 
7221
                ndr->depth--;
 
7222
                ndr_print_uint32(ndr, "force_cond", r->in.force_cond);
 
7223
                ndr->depth--;
 
7224
        }
 
7225
        if (flags & NDR_OUT) {
 
7226
                ndr_print_struct(ndr, "out", "wkssvc_NetrUseDel");
 
7227
                ndr->depth++;
 
7228
                ndr_print_WERROR(ndr, "result", r->out.result);
 
7229
                ndr->depth--;
 
7230
        }
 
7231
        ndr->depth--;
 
7232
}
 
7233
 
 
7234
static enum ndr_err_code ndr_push_wkssvc_NetrUseEnum(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUseEnum *r)
 
7235
{
 
7236
        if (flags & NDR_IN) {
 
7237
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
7238
                if (r->in.server_name) {
 
7239
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7240
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7241
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7242
                        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));
 
7243
                }
 
7244
                if (r->in.info == NULL) {
 
7245
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7246
                }
 
7247
                NDR_CHECK(ndr_push_wkssvc_NetrUseEnumInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 
7248
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.prefmaxlen));
 
7249
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle));
 
7250
                if (r->in.resume_handle) {
 
7251
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
 
7252
                }
 
7253
        }
 
7254
        if (flags & NDR_OUT) {
 
7255
                if (r->out.info == NULL) {
 
7256
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7257
                }
 
7258
                NDR_CHECK(ndr_push_wkssvc_NetrUseEnumInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
 
7259
                if (r->out.entries_read == NULL) {
 
7260
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7261
                }
 
7262
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.entries_read));
 
7263
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.resume_handle));
 
7264
                if (r->out.resume_handle) {
 
7265
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
 
7266
                }
 
7267
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
7268
        }
 
7269
        return NDR_ERR_SUCCESS;
 
7270
}
 
7271
 
 
7272
static enum ndr_err_code ndr_pull_wkssvc_NetrUseEnum(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUseEnum *r)
 
7273
{
 
7274
        uint32_t _ptr_server_name;
 
7275
        uint32_t _ptr_resume_handle;
 
7276
        TALLOC_CTX *_mem_save_server_name_0;
 
7277
        TALLOC_CTX *_mem_save_info_0;
 
7278
        TALLOC_CTX *_mem_save_entries_read_0;
 
7279
        TALLOC_CTX *_mem_save_resume_handle_0;
 
7280
        if (flags & NDR_IN) {
 
7281
                ZERO_STRUCT(r->out);
 
7282
 
 
7283
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
7284
                if (_ptr_server_name) {
 
7285
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
7286
                } else {
 
7287
                        r->in.server_name = NULL;
 
7288
                }
 
7289
                if (r->in.server_name) {
 
7290
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7291
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
7292
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
7293
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
7294
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
7295
                                return 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));
 
7296
                        }
 
7297
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
7298
                        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));
 
7299
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
7300
                }
 
7301
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
7302
                        NDR_PULL_ALLOC(ndr, r->in.info);
 
7303
                }
 
7304
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7305
                NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
 
7306
                NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
 
7307
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
7308
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.prefmaxlen));
 
7309
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle));
 
7310
                if (_ptr_resume_handle) {
 
7311
                        NDR_PULL_ALLOC(ndr, r->in.resume_handle);
 
7312
                } else {
 
7313
                        r->in.resume_handle = NULL;
 
7314
                }
 
7315
                if (r->in.resume_handle) {
 
7316
                        _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7317
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, 0);
 
7318
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
 
7319
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0);
 
7320
                }
 
7321
                NDR_PULL_ALLOC(ndr, r->out.info);
 
7322
                *r->out.info = *r->in.info;
 
7323
                NDR_PULL_ALLOC(ndr, r->out.entries_read);
 
7324
                ZERO_STRUCTP(r->out.entries_read);
 
7325
        }
 
7326
        if (flags & NDR_OUT) {
 
7327
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
7328
                        NDR_PULL_ALLOC(ndr, r->out.info);
 
7329
                }
 
7330
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7331
                NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
 
7332
                NDR_CHECK(ndr_pull_wkssvc_NetrUseEnumInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
 
7333
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
7334
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
7335
                        NDR_PULL_ALLOC(ndr, r->out.entries_read);
 
7336
                }
 
7337
                _mem_save_entries_read_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7338
                NDR_PULL_SET_MEM_CTX(ndr, r->out.entries_read, LIBNDR_FLAG_REF_ALLOC);
 
7339
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.entries_read));
 
7340
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_read_0, LIBNDR_FLAG_REF_ALLOC);
 
7341
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle));
 
7342
                if (_ptr_resume_handle) {
 
7343
                        NDR_PULL_ALLOC(ndr, r->out.resume_handle);
 
7344
                } else {
 
7345
                        r->out.resume_handle = NULL;
 
7346
                }
 
7347
                if (r->out.resume_handle) {
 
7348
                        _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7349
                        NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, 0);
 
7350
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
 
7351
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0);
 
7352
                }
 
7353
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
7354
        }
 
7355
        return NDR_ERR_SUCCESS;
 
7356
}
 
7357
 
 
7358
_PUBLIC_ void ndr_print_wkssvc_NetrUseEnum(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUseEnum *r)
 
7359
{
 
7360
        ndr_print_struct(ndr, name, "wkssvc_NetrUseEnum");
 
7361
        ndr->depth++;
 
7362
        if (flags & NDR_SET_VALUES) {
 
7363
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
7364
        }
 
7365
        if (flags & NDR_IN) {
 
7366
                ndr_print_struct(ndr, "in", "wkssvc_NetrUseEnum");
 
7367
                ndr->depth++;
 
7368
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
7369
                ndr->depth++;
 
7370
                if (r->in.server_name) {
 
7371
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
7372
                }
 
7373
                ndr->depth--;
 
7374
                ndr_print_ptr(ndr, "info", r->in.info);
 
7375
                ndr->depth++;
 
7376
                ndr_print_wkssvc_NetrUseEnumInfo(ndr, "info", r->in.info);
 
7377
                ndr->depth--;
 
7378
                ndr_print_uint32(ndr, "prefmaxlen", r->in.prefmaxlen);
 
7379
                ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
 
7380
                ndr->depth++;
 
7381
                if (r->in.resume_handle) {
 
7382
                        ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
 
7383
                }
 
7384
                ndr->depth--;
 
7385
                ndr->depth--;
 
7386
        }
 
7387
        if (flags & NDR_OUT) {
 
7388
                ndr_print_struct(ndr, "out", "wkssvc_NetrUseEnum");
 
7389
                ndr->depth++;
 
7390
                ndr_print_ptr(ndr, "info", r->out.info);
 
7391
                ndr->depth++;
 
7392
                ndr_print_wkssvc_NetrUseEnumInfo(ndr, "info", r->out.info);
 
7393
                ndr->depth--;
 
7394
                ndr_print_ptr(ndr, "entries_read", r->out.entries_read);
 
7395
                ndr->depth++;
 
7396
                ndr_print_uint32(ndr, "entries_read", *r->out.entries_read);
 
7397
                ndr->depth--;
 
7398
                ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
 
7399
                ndr->depth++;
 
7400
                if (r->out.resume_handle) {
 
7401
                        ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
 
7402
                }
 
7403
                ndr->depth--;
 
7404
                ndr_print_WERROR(ndr, "result", r->out.result);
 
7405
                ndr->depth--;
 
7406
        }
 
7407
        ndr->depth--;
 
7408
}
 
7409
 
 
7410
static enum ndr_err_code ndr_push_wkssvc_NetrMessageBufferSend(struct ndr_push *ndr, int flags, const struct wkssvc_NetrMessageBufferSend *r)
 
7411
{
 
7412
        if (flags & NDR_IN) {
 
7413
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
7414
                if (r->in.server_name) {
 
7415
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7416
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7417
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7418
                        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));
 
7419
                }
 
7420
                if (r->in.message_name == NULL) {
 
7421
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7422
                }
 
7423
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.message_name, CH_UTF16)));
 
7424
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7425
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.message_name, CH_UTF16)));
 
7426
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.message_name, ndr_charset_length(r->in.message_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
7427
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.message_sender_name));
 
7428
                if (r->in.message_sender_name) {
 
7429
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.message_sender_name, CH_UTF16)));
 
7430
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7431
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.message_sender_name, CH_UTF16)));
 
7432
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.message_sender_name, ndr_charset_length(r->in.message_sender_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
7433
                }
 
7434
                if (r->in.message_buffer == NULL) {
 
7435
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7436
                }
 
7437
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.message_size));
 
7438
                NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.message_buffer, r->in.message_size));
 
7439
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.message_size));
 
7440
        }
 
7441
        if (flags & NDR_OUT) {
 
7442
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
7443
        }
 
7444
        return NDR_ERR_SUCCESS;
 
7445
}
 
7446
 
 
7447
static enum ndr_err_code ndr_pull_wkssvc_NetrMessageBufferSend(struct ndr_pull *ndr, int flags, struct wkssvc_NetrMessageBufferSend *r)
 
7448
{
 
7449
        uint32_t _ptr_server_name;
 
7450
        uint32_t _ptr_message_sender_name;
 
7451
        TALLOC_CTX *_mem_save_server_name_0;
 
7452
        TALLOC_CTX *_mem_save_message_sender_name_0;
 
7453
        if (flags & NDR_IN) {
 
7454
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
7455
                if (_ptr_server_name) {
 
7456
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
7457
                } else {
 
7458
                        r->in.server_name = NULL;
 
7459
                }
 
7460
                if (r->in.server_name) {
 
7461
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7462
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
7463
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
7464
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
7465
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
7466
                                return 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));
 
7467
                        }
 
7468
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
7469
                        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));
 
7470
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
7471
                }
 
7472
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.message_name));
 
7473
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.message_name));
 
7474
                if (ndr_get_array_length(ndr, &r->in.message_name) > ndr_get_array_size(ndr, &r->in.message_name)) {
 
7475
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.message_name), ndr_get_array_length(ndr, &r->in.message_name));
 
7476
                }
 
7477
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.message_name), sizeof(uint16_t)));
 
7478
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.message_name, ndr_get_array_length(ndr, &r->in.message_name), sizeof(uint16_t), CH_UTF16));
 
7479
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message_sender_name));
 
7480
                if (_ptr_message_sender_name) {
 
7481
                        NDR_PULL_ALLOC(ndr, r->in.message_sender_name);
 
7482
                } else {
 
7483
                        r->in.message_sender_name = NULL;
 
7484
                }
 
7485
                if (r->in.message_sender_name) {
 
7486
                        _mem_save_message_sender_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7487
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.message_sender_name, 0);
 
7488
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.message_sender_name));
 
7489
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.message_sender_name));
 
7490
                        if (ndr_get_array_length(ndr, &r->in.message_sender_name) > ndr_get_array_size(ndr, &r->in.message_sender_name)) {
 
7491
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.message_sender_name), ndr_get_array_length(ndr, &r->in.message_sender_name));
 
7492
                        }
 
7493
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.message_sender_name), sizeof(uint16_t)));
 
7494
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.message_sender_name, ndr_get_array_length(ndr, &r->in.message_sender_name), sizeof(uint16_t), CH_UTF16));
 
7495
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_sender_name_0, 0);
 
7496
                }
 
7497
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.message_buffer));
 
7498
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
7499
                        NDR_PULL_ALLOC_N(ndr, r->in.message_buffer, ndr_get_array_size(ndr, &r->in.message_buffer));
 
7500
                }
 
7501
                NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.message_buffer, ndr_get_array_size(ndr, &r->in.message_buffer)));
 
7502
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.message_size));
 
7503
                if (r->in.message_buffer) {
 
7504
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.message_buffer, r->in.message_size));
 
7505
                }
 
7506
        }
 
7507
        if (flags & NDR_OUT) {
 
7508
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
7509
        }
 
7510
        return NDR_ERR_SUCCESS;
 
7511
}
 
7512
 
 
7513
_PUBLIC_ void ndr_print_wkssvc_NetrMessageBufferSend(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrMessageBufferSend *r)
 
7514
{
 
7515
        ndr_print_struct(ndr, name, "wkssvc_NetrMessageBufferSend");
 
7516
        ndr->depth++;
 
7517
        if (flags & NDR_SET_VALUES) {
 
7518
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
7519
        }
 
7520
        if (flags & NDR_IN) {
 
7521
                ndr_print_struct(ndr, "in", "wkssvc_NetrMessageBufferSend");
 
7522
                ndr->depth++;
 
7523
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
7524
                ndr->depth++;
 
7525
                if (r->in.server_name) {
 
7526
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
7527
                }
 
7528
                ndr->depth--;
 
7529
                ndr_print_ptr(ndr, "message_name", r->in.message_name);
 
7530
                ndr->depth++;
 
7531
                ndr_print_string(ndr, "message_name", r->in.message_name);
 
7532
                ndr->depth--;
 
7533
                ndr_print_ptr(ndr, "message_sender_name", r->in.message_sender_name);
 
7534
                ndr->depth++;
 
7535
                if (r->in.message_sender_name) {
 
7536
                        ndr_print_string(ndr, "message_sender_name", r->in.message_sender_name);
 
7537
                }
 
7538
                ndr->depth--;
 
7539
                ndr_print_ptr(ndr, "message_buffer", r->in.message_buffer);
 
7540
                ndr->depth++;
 
7541
                ndr_print_array_uint8(ndr, "message_buffer", r->in.message_buffer, r->in.message_size);
 
7542
                ndr->depth--;
 
7543
                ndr_print_uint32(ndr, "message_size", r->in.message_size);
 
7544
                ndr->depth--;
 
7545
        }
 
7546
        if (flags & NDR_OUT) {
 
7547
                ndr_print_struct(ndr, "out", "wkssvc_NetrMessageBufferSend");
 
7548
                ndr->depth++;
 
7549
                ndr_print_WERROR(ndr, "result", r->out.result);
 
7550
                ndr->depth--;
 
7551
        }
 
7552
        ndr->depth--;
 
7553
}
 
7554
 
 
7555
static enum ndr_err_code ndr_push_wkssvc_NetrWorkstationStatisticsGet(struct ndr_push *ndr, int flags, const struct wkssvc_NetrWorkstationStatisticsGet *r)
 
7556
{
 
7557
        if (flags & NDR_IN) {
 
7558
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
7559
                if (r->in.server_name) {
 
7560
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7561
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7562
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7563
                        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));
 
7564
                }
 
7565
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown2));
 
7566
                if (r->in.unknown2) {
 
7567
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown2, CH_UTF16)));
 
7568
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7569
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown2, CH_UTF16)));
 
7570
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.unknown2, ndr_charset_length(r->in.unknown2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
7571
                }
 
7572
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3));
 
7573
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown4));
 
7574
        }
 
7575
        if (flags & NDR_OUT) {
 
7576
                if (r->out.info == NULL) {
 
7577
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7578
                }
 
7579
                NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
 
7580
                if (*r->out.info) {
 
7581
                        NDR_CHECK(ndr_push_wkssvc_NetrWorkstationStatistics(ndr, NDR_SCALARS, *r->out.info));
 
7582
                }
 
7583
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
7584
        }
 
7585
        return NDR_ERR_SUCCESS;
 
7586
}
 
7587
 
 
7588
static enum ndr_err_code ndr_pull_wkssvc_NetrWorkstationStatisticsGet(struct ndr_pull *ndr, int flags, struct wkssvc_NetrWorkstationStatisticsGet *r)
 
7589
{
 
7590
        uint32_t _ptr_server_name;
 
7591
        uint32_t _ptr_unknown2;
 
7592
        uint32_t _ptr_info;
 
7593
        TALLOC_CTX *_mem_save_server_name_0;
 
7594
        TALLOC_CTX *_mem_save_unknown2_0;
 
7595
        TALLOC_CTX *_mem_save_info_0;
 
7596
        TALLOC_CTX *_mem_save_info_1;
 
7597
        if (flags & NDR_IN) {
 
7598
                ZERO_STRUCT(r->out);
 
7599
 
 
7600
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
7601
                if (_ptr_server_name) {
 
7602
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
7603
                } else {
 
7604
                        r->in.server_name = NULL;
 
7605
                }
 
7606
                if (r->in.server_name) {
 
7607
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7608
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
7609
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
7610
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
7611
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
7612
                                return 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));
 
7613
                        }
 
7614
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
7615
                        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));
 
7616
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
7617
                }
 
7618
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
 
7619
                if (_ptr_unknown2) {
 
7620
                        NDR_PULL_ALLOC(ndr, r->in.unknown2);
 
7621
                } else {
 
7622
                        r->in.unknown2 = NULL;
 
7623
                }
 
7624
                if (r->in.unknown2) {
 
7625
                        _mem_save_unknown2_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7626
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown2, 0);
 
7627
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown2));
 
7628
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown2));
 
7629
                        if (ndr_get_array_length(ndr, &r->in.unknown2) > ndr_get_array_size(ndr, &r->in.unknown2)) {
 
7630
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown2), ndr_get_array_length(ndr, &r->in.unknown2));
 
7631
                        }
 
7632
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown2), sizeof(uint16_t)));
 
7633
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown2, ndr_get_array_length(ndr, &r->in.unknown2), sizeof(uint16_t), CH_UTF16));
 
7634
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
 
7635
                }
 
7636
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
 
7637
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown4));
 
7638
                NDR_PULL_ALLOC(ndr, r->out.info);
 
7639
                ZERO_STRUCTP(r->out.info);
 
7640
        }
 
7641
        if (flags & NDR_OUT) {
 
7642
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
7643
                        NDR_PULL_ALLOC(ndr, r->out.info);
 
7644
                }
 
7645
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7646
                NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
 
7647
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
 
7648
                if (_ptr_info) {
 
7649
                        NDR_PULL_ALLOC(ndr, *r->out.info);
 
7650
                } else {
 
7651
                        *r->out.info = NULL;
 
7652
                }
 
7653
                if (*r->out.info) {
 
7654
                        _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
7655
                        NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
 
7656
                        NDR_CHECK(ndr_pull_wkssvc_NetrWorkstationStatistics(ndr, NDR_SCALARS, *r->out.info));
 
7657
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
 
7658
                }
 
7659
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
 
7660
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
7661
        }
 
7662
        return NDR_ERR_SUCCESS;
 
7663
}
 
7664
 
 
7665
_PUBLIC_ void ndr_print_wkssvc_NetrWorkstationStatisticsGet(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrWorkstationStatisticsGet *r)
 
7666
{
 
7667
        ndr_print_struct(ndr, name, "wkssvc_NetrWorkstationStatisticsGet");
 
7668
        ndr->depth++;
 
7669
        if (flags & NDR_SET_VALUES) {
 
7670
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
7671
        }
 
7672
        if (flags & NDR_IN) {
 
7673
                ndr_print_struct(ndr, "in", "wkssvc_NetrWorkstationStatisticsGet");
 
7674
                ndr->depth++;
 
7675
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
7676
                ndr->depth++;
 
7677
                if (r->in.server_name) {
 
7678
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
7679
                }
 
7680
                ndr->depth--;
 
7681
                ndr_print_ptr(ndr, "unknown2", r->in.unknown2);
 
7682
                ndr->depth++;
 
7683
                if (r->in.unknown2) {
 
7684
                        ndr_print_string(ndr, "unknown2", r->in.unknown2);
 
7685
                }
 
7686
                ndr->depth--;
 
7687
                ndr_print_uint32(ndr, "unknown3", r->in.unknown3);
 
7688
                ndr_print_uint32(ndr, "unknown4", r->in.unknown4);
 
7689
                ndr->depth--;
 
7690
        }
 
7691
        if (flags & NDR_OUT) {
 
7692
                ndr_print_struct(ndr, "out", "wkssvc_NetrWorkstationStatisticsGet");
 
7693
                ndr->depth++;
 
7694
                ndr_print_ptr(ndr, "info", r->out.info);
 
7695
                ndr->depth++;
 
7696
                ndr_print_ptr(ndr, "info", *r->out.info);
 
7697
                ndr->depth++;
 
7698
                if (*r->out.info) {
 
7699
                        ndr_print_wkssvc_NetrWorkstationStatistics(ndr, "info", *r->out.info);
 
7700
                }
 
7701
                ndr->depth--;
 
7702
                ndr->depth--;
 
7703
                ndr_print_WERROR(ndr, "result", r->out.result);
 
7704
                ndr->depth--;
 
7705
        }
 
7706
        ndr->depth--;
 
7707
}
 
7708
 
 
7709
static enum ndr_err_code ndr_push_wkssvc_NetrLogonDomainNameAdd(struct ndr_push *ndr, int flags, const struct wkssvc_NetrLogonDomainNameAdd *r)
 
7710
{
 
7711
        if (flags & NDR_IN) {
 
7712
                if (r->in.domain_name == NULL) {
 
7713
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7714
                }
 
7715
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
7716
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7717
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
7718
                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));
 
7719
        }
 
7720
        if (flags & NDR_OUT) {
 
7721
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
7722
        }
 
7723
        return NDR_ERR_SUCCESS;
 
7724
}
 
7725
 
 
7726
static enum ndr_err_code ndr_pull_wkssvc_NetrLogonDomainNameAdd(struct ndr_pull *ndr, int flags, struct wkssvc_NetrLogonDomainNameAdd *r)
 
7727
{
 
7728
        if (flags & NDR_IN) {
 
7729
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
 
7730
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
 
7731
                if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
 
7732
                        return 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));
 
7733
                }
 
7734
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
 
7735
                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));
 
7736
        }
 
7737
        if (flags & NDR_OUT) {
 
7738
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
7739
        }
 
7740
        return NDR_ERR_SUCCESS;
 
7741
}
 
7742
 
 
7743
_PUBLIC_ void ndr_print_wkssvc_NetrLogonDomainNameAdd(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrLogonDomainNameAdd *r)
 
7744
{
 
7745
        ndr_print_struct(ndr, name, "wkssvc_NetrLogonDomainNameAdd");
 
7746
        ndr->depth++;
 
7747
        if (flags & NDR_SET_VALUES) {
 
7748
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
7749
        }
 
7750
        if (flags & NDR_IN) {
 
7751
                ndr_print_struct(ndr, "in", "wkssvc_NetrLogonDomainNameAdd");
 
7752
                ndr->depth++;
 
7753
                ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
 
7754
                ndr->depth++;
 
7755
                ndr_print_string(ndr, "domain_name", r->in.domain_name);
 
7756
                ndr->depth--;
 
7757
                ndr->depth--;
 
7758
        }
 
7759
        if (flags & NDR_OUT) {
 
7760
                ndr_print_struct(ndr, "out", "wkssvc_NetrLogonDomainNameAdd");
 
7761
                ndr->depth++;
 
7762
                ndr_print_WERROR(ndr, "result", r->out.result);
 
7763
                ndr->depth--;
 
7764
        }
 
7765
        ndr->depth--;
 
7766
}
 
7767
 
 
7768
static enum ndr_err_code ndr_push_wkssvc_NetrLogonDomainNameDel(struct ndr_push *ndr, int flags, const struct wkssvc_NetrLogonDomainNameDel *r)
 
7769
{
 
7770
        if (flags & NDR_IN) {
 
7771
                if (r->in.domain_name == NULL) {
 
7772
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7773
                }
 
7774
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
7775
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7776
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
7777
                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));
 
7778
        }
 
7779
        if (flags & NDR_OUT) {
 
7780
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
7781
        }
 
7782
        return NDR_ERR_SUCCESS;
 
7783
}
 
7784
 
 
7785
static enum ndr_err_code ndr_pull_wkssvc_NetrLogonDomainNameDel(struct ndr_pull *ndr, int flags, struct wkssvc_NetrLogonDomainNameDel *r)
 
7786
{
 
7787
        if (flags & NDR_IN) {
 
7788
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
 
7789
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
 
7790
                if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
 
7791
                        return 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));
 
7792
                }
 
7793
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
 
7794
                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));
 
7795
        }
 
7796
        if (flags & NDR_OUT) {
 
7797
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
7798
        }
 
7799
        return NDR_ERR_SUCCESS;
 
7800
}
 
7801
 
 
7802
_PUBLIC_ void ndr_print_wkssvc_NetrLogonDomainNameDel(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrLogonDomainNameDel *r)
 
7803
{
 
7804
        ndr_print_struct(ndr, name, "wkssvc_NetrLogonDomainNameDel");
 
7805
        ndr->depth++;
 
7806
        if (flags & NDR_SET_VALUES) {
 
7807
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
7808
        }
 
7809
        if (flags & NDR_IN) {
 
7810
                ndr_print_struct(ndr, "in", "wkssvc_NetrLogonDomainNameDel");
 
7811
                ndr->depth++;
 
7812
                ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
 
7813
                ndr->depth++;
 
7814
                ndr_print_string(ndr, "domain_name", r->in.domain_name);
 
7815
                ndr->depth--;
 
7816
                ndr->depth--;
 
7817
        }
 
7818
        if (flags & NDR_OUT) {
 
7819
                ndr_print_struct(ndr, "out", "wkssvc_NetrLogonDomainNameDel");
 
7820
                ndr->depth++;
 
7821
                ndr_print_WERROR(ndr, "result", r->out.result);
 
7822
                ndr->depth--;
 
7823
        }
 
7824
        ndr->depth--;
 
7825
}
 
7826
 
 
7827
static enum ndr_err_code ndr_push_wkssvc_NetrJoinDomain(struct ndr_push *ndr, int flags, const struct wkssvc_NetrJoinDomain *r)
 
7828
{
 
7829
        if (flags & NDR_IN) {
 
7830
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
7831
                if (r->in.server_name) {
 
7832
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7833
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7834
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
7835
                        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));
 
7836
                }
 
7837
                if (r->in.domain_name == NULL) {
 
7838
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
7839
                }
 
7840
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
7841
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7842
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
7843
                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));
 
7844
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.account_ou));
 
7845
                if (r->in.account_ou) {
 
7846
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_ou, CH_UTF16)));
 
7847
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7848
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_ou, CH_UTF16)));
 
7849
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_ou, ndr_charset_length(r->in.account_ou, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
7850
                }
 
7851
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
7852
                if (r->in.Account) {
 
7853
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
7854
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7855
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
7856
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
7857
                }
 
7858
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password));
 
7859
                if (r->in.password) {
 
7860
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16)));
 
7861
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
7862
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16)));
 
7863
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.password, ndr_charset_length(r->in.password, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
7864
                }
 
7865
                NDR_CHECK(ndr_push_wkssvc_joinflags(ndr, NDR_SCALARS, r->in.join_flags));
 
7866
        }
 
7867
        if (flags & NDR_OUT) {
 
7868
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
7869
        }
 
7870
        return NDR_ERR_SUCCESS;
 
7871
}
 
7872
 
 
7873
static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain(struct ndr_pull *ndr, int flags, struct wkssvc_NetrJoinDomain *r)
 
7874
{
 
7875
        uint32_t _ptr_server_name;
 
7876
        uint32_t _ptr_account_ou;
 
7877
        uint32_t _ptr_Account;
 
7878
        uint32_t _ptr_password;
 
7879
        TALLOC_CTX *_mem_save_server_name_0;
 
7880
        TALLOC_CTX *_mem_save_account_ou_0;
 
7881
        TALLOC_CTX *_mem_save_Account_0;
 
7882
        TALLOC_CTX *_mem_save_password_0;
 
7883
        if (flags & NDR_IN) {
 
7884
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
7885
                if (_ptr_server_name) {
 
7886
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
7887
                } else {
 
7888
                        r->in.server_name = NULL;
 
7889
                }
 
7890
                if (r->in.server_name) {
 
7891
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7892
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
7893
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
7894
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
7895
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
7896
                                return 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));
 
7897
                        }
 
7898
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
7899
                        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));
 
7900
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
7901
                }
 
7902
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
 
7903
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
 
7904
                if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
 
7905
                        return 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));
 
7906
                }
 
7907
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
 
7908
                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));
 
7909
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_ou));
 
7910
                if (_ptr_account_ou) {
 
7911
                        NDR_PULL_ALLOC(ndr, r->in.account_ou);
 
7912
                } else {
 
7913
                        r->in.account_ou = NULL;
 
7914
                }
 
7915
                if (r->in.account_ou) {
 
7916
                        _mem_save_account_ou_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7917
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.account_ou, 0);
 
7918
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_ou));
 
7919
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_ou));
 
7920
                        if (ndr_get_array_length(ndr, &r->in.account_ou) > ndr_get_array_size(ndr, &r->in.account_ou)) {
 
7921
                                return 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_ou), ndr_get_array_length(ndr, &r->in.account_ou));
 
7922
                        }
 
7923
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t)));
 
7924
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_ou, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t), CH_UTF16));
 
7925
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_ou_0, 0);
 
7926
                }
 
7927
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
7928
                if (_ptr_Account) {
 
7929
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
7930
                } else {
 
7931
                        r->in.Account = NULL;
 
7932
                }
 
7933
                if (r->in.Account) {
 
7934
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7935
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
7936
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
7937
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
7938
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
7939
                                return 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), ndr_get_array_length(ndr, &r->in.Account));
 
7940
                        }
 
7941
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
7942
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
7943
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
7944
                }
 
7945
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
 
7946
                if (_ptr_password) {
 
7947
                        NDR_PULL_ALLOC(ndr, r->in.password);
 
7948
                } else {
 
7949
                        r->in.password = NULL;
 
7950
                }
 
7951
                if (r->in.password) {
 
7952
                        _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
7953
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
 
7954
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password));
 
7955
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password));
 
7956
                        if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) {
 
7957
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password));
 
7958
                        }
 
7959
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t)));
 
7960
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16));
 
7961
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
 
7962
                }
 
7963
                NDR_CHECK(ndr_pull_wkssvc_joinflags(ndr, NDR_SCALARS, &r->in.join_flags));
 
7964
        }
 
7965
        if (flags & NDR_OUT) {
 
7966
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
7967
        }
 
7968
        return NDR_ERR_SUCCESS;
 
7969
}
 
7970
 
 
7971
_PUBLIC_ void ndr_print_wkssvc_NetrJoinDomain(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrJoinDomain *r)
 
7972
{
 
7973
        ndr_print_struct(ndr, name, "wkssvc_NetrJoinDomain");
 
7974
        ndr->depth++;
 
7975
        if (flags & NDR_SET_VALUES) {
 
7976
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
7977
        }
 
7978
        if (flags & NDR_IN) {
 
7979
                ndr_print_struct(ndr, "in", "wkssvc_NetrJoinDomain");
 
7980
                ndr->depth++;
 
7981
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
7982
                ndr->depth++;
 
7983
                if (r->in.server_name) {
 
7984
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
7985
                }
 
7986
                ndr->depth--;
 
7987
                ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
 
7988
                ndr->depth++;
 
7989
                ndr_print_string(ndr, "domain_name", r->in.domain_name);
 
7990
                ndr->depth--;
 
7991
                ndr_print_ptr(ndr, "account_ou", r->in.account_ou);
 
7992
                ndr->depth++;
 
7993
                if (r->in.account_ou) {
 
7994
                        ndr_print_string(ndr, "account_ou", r->in.account_ou);
 
7995
                }
 
7996
                ndr->depth--;
 
7997
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
7998
                ndr->depth++;
 
7999
                if (r->in.Account) {
 
8000
                        ndr_print_string(ndr, "Account", r->in.Account);
 
8001
                }
 
8002
                ndr->depth--;
 
8003
                ndr_print_ptr(ndr, "password", r->in.password);
 
8004
                ndr->depth++;
 
8005
                if (r->in.password) {
 
8006
                        ndr_print_string(ndr, "password", r->in.password);
 
8007
                }
 
8008
                ndr->depth--;
 
8009
                ndr_print_wkssvc_joinflags(ndr, "join_flags", r->in.join_flags);
 
8010
                ndr->depth--;
 
8011
        }
 
8012
        if (flags & NDR_OUT) {
 
8013
                ndr_print_struct(ndr, "out", "wkssvc_NetrJoinDomain");
 
8014
                ndr->depth++;
 
8015
                ndr_print_WERROR(ndr, "result", r->out.result);
 
8016
                ndr->depth--;
 
8017
        }
 
8018
        ndr->depth--;
 
8019
}
 
8020
 
 
8021
static enum ndr_err_code ndr_push_wkssvc_NetrUnjoinDomain(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUnjoinDomain *r)
 
8022
{
 
8023
        if (flags & NDR_IN) {
 
8024
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
8025
                if (r->in.server_name) {
 
8026
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8027
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8028
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8029
                        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));
 
8030
                }
 
8031
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
8032
                if (r->in.Account) {
 
8033
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
8034
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8035
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
8036
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8037
                }
 
8038
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password));
 
8039
                if (r->in.password) {
 
8040
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16)));
 
8041
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8042
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16)));
 
8043
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.password, ndr_charset_length(r->in.password, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8044
                }
 
8045
                NDR_CHECK(ndr_push_wkssvc_joinflags(ndr, NDR_SCALARS, r->in.unjoin_flags));
 
8046
        }
 
8047
        if (flags & NDR_OUT) {
 
8048
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
8049
        }
 
8050
        return NDR_ERR_SUCCESS;
 
8051
}
 
8052
 
 
8053
static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUnjoinDomain *r)
 
8054
{
 
8055
        uint32_t _ptr_server_name;
 
8056
        uint32_t _ptr_Account;
 
8057
        uint32_t _ptr_password;
 
8058
        TALLOC_CTX *_mem_save_server_name_0;
 
8059
        TALLOC_CTX *_mem_save_Account_0;
 
8060
        TALLOC_CTX *_mem_save_password_0;
 
8061
        if (flags & NDR_IN) {
 
8062
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
8063
                if (_ptr_server_name) {
 
8064
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
8065
                } else {
 
8066
                        r->in.server_name = NULL;
 
8067
                }
 
8068
                if (r->in.server_name) {
 
8069
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8070
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
8071
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
8072
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
8073
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
8074
                                return 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));
 
8075
                        }
 
8076
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
8077
                        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));
 
8078
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
8079
                }
 
8080
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
8081
                if (_ptr_Account) {
 
8082
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
8083
                } else {
 
8084
                        r->in.Account = NULL;
 
8085
                }
 
8086
                if (r->in.Account) {
 
8087
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8088
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
8089
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
8090
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
8091
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
8092
                                return 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), ndr_get_array_length(ndr, &r->in.Account));
 
8093
                        }
 
8094
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
8095
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
8096
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
8097
                }
 
8098
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
 
8099
                if (_ptr_password) {
 
8100
                        NDR_PULL_ALLOC(ndr, r->in.password);
 
8101
                } else {
 
8102
                        r->in.password = NULL;
 
8103
                }
 
8104
                if (r->in.password) {
 
8105
                        _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8106
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
 
8107
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password));
 
8108
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password));
 
8109
                        if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) {
 
8110
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password));
 
8111
                        }
 
8112
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t)));
 
8113
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16));
 
8114
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
 
8115
                }
 
8116
                NDR_CHECK(ndr_pull_wkssvc_joinflags(ndr, NDR_SCALARS, &r->in.unjoin_flags));
 
8117
        }
 
8118
        if (flags & NDR_OUT) {
 
8119
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
8120
        }
 
8121
        return NDR_ERR_SUCCESS;
 
8122
}
 
8123
 
 
8124
_PUBLIC_ void ndr_print_wkssvc_NetrUnjoinDomain(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUnjoinDomain *r)
 
8125
{
 
8126
        ndr_print_struct(ndr, name, "wkssvc_NetrUnjoinDomain");
 
8127
        ndr->depth++;
 
8128
        if (flags & NDR_SET_VALUES) {
 
8129
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
8130
        }
 
8131
        if (flags & NDR_IN) {
 
8132
                ndr_print_struct(ndr, "in", "wkssvc_NetrUnjoinDomain");
 
8133
                ndr->depth++;
 
8134
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
8135
                ndr->depth++;
 
8136
                if (r->in.server_name) {
 
8137
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
8138
                }
 
8139
                ndr->depth--;
 
8140
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
8141
                ndr->depth++;
 
8142
                if (r->in.Account) {
 
8143
                        ndr_print_string(ndr, "Account", r->in.Account);
 
8144
                }
 
8145
                ndr->depth--;
 
8146
                ndr_print_ptr(ndr, "password", r->in.password);
 
8147
                ndr->depth++;
 
8148
                if (r->in.password) {
 
8149
                        ndr_print_string(ndr, "password", r->in.password);
 
8150
                }
 
8151
                ndr->depth--;
 
8152
                ndr_print_wkssvc_joinflags(ndr, "unjoin_flags", r->in.unjoin_flags);
 
8153
                ndr->depth--;
 
8154
        }
 
8155
        if (flags & NDR_OUT) {
 
8156
                ndr_print_struct(ndr, "out", "wkssvc_NetrUnjoinDomain");
 
8157
                ndr->depth++;
 
8158
                ndr_print_WERROR(ndr, "result", r->out.result);
 
8159
                ndr->depth--;
 
8160
        }
 
8161
        ndr->depth--;
 
8162
}
 
8163
 
 
8164
static enum ndr_err_code ndr_push_wkssvc_NetrRenameMachineInDomain(struct ndr_push *ndr, int flags, const struct wkssvc_NetrRenameMachineInDomain *r)
 
8165
{
 
8166
        if (flags & NDR_IN) {
 
8167
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
8168
                if (r->in.server_name) {
 
8169
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8170
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8171
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8172
                        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));
 
8173
                }
 
8174
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.NewMachineName));
 
8175
                if (r->in.NewMachineName) {
 
8176
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewMachineName, CH_UTF16)));
 
8177
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8178
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewMachineName, CH_UTF16)));
 
8179
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.NewMachineName, ndr_charset_length(r->in.NewMachineName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8180
                }
 
8181
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
8182
                if (r->in.Account) {
 
8183
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
8184
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8185
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
8186
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8187
                }
 
8188
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password));
 
8189
                if (r->in.password) {
 
8190
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16)));
 
8191
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8192
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.password, CH_UTF16)));
 
8193
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.password, ndr_charset_length(r->in.password, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8194
                }
 
8195
                NDR_CHECK(ndr_push_wkssvc_renameflags(ndr, NDR_SCALARS, r->in.RenameOptions));
 
8196
        }
 
8197
        if (flags & NDR_OUT) {
 
8198
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
8199
        }
 
8200
        return NDR_ERR_SUCCESS;
 
8201
}
 
8202
 
 
8203
static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain(struct ndr_pull *ndr, int flags, struct wkssvc_NetrRenameMachineInDomain *r)
 
8204
{
 
8205
        uint32_t _ptr_server_name;
 
8206
        uint32_t _ptr_NewMachineName;
 
8207
        uint32_t _ptr_Account;
 
8208
        uint32_t _ptr_password;
 
8209
        TALLOC_CTX *_mem_save_server_name_0;
 
8210
        TALLOC_CTX *_mem_save_NewMachineName_0;
 
8211
        TALLOC_CTX *_mem_save_Account_0;
 
8212
        TALLOC_CTX *_mem_save_password_0;
 
8213
        if (flags & NDR_IN) {
 
8214
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
8215
                if (_ptr_server_name) {
 
8216
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
8217
                } else {
 
8218
                        r->in.server_name = NULL;
 
8219
                }
 
8220
                if (r->in.server_name) {
 
8221
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8222
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
8223
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
8224
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
8225
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
8226
                                return 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));
 
8227
                        }
 
8228
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
8229
                        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));
 
8230
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
8231
                }
 
8232
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_NewMachineName));
 
8233
                if (_ptr_NewMachineName) {
 
8234
                        NDR_PULL_ALLOC(ndr, r->in.NewMachineName);
 
8235
                } else {
 
8236
                        r->in.NewMachineName = NULL;
 
8237
                }
 
8238
                if (r->in.NewMachineName) {
 
8239
                        _mem_save_NewMachineName_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8240
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.NewMachineName, 0);
 
8241
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.NewMachineName));
 
8242
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.NewMachineName));
 
8243
                        if (ndr_get_array_length(ndr, &r->in.NewMachineName) > ndr_get_array_size(ndr, &r->in.NewMachineName)) {
 
8244
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.NewMachineName), ndr_get_array_length(ndr, &r->in.NewMachineName));
 
8245
                        }
 
8246
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t)));
 
8247
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewMachineName, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t), CH_UTF16));
 
8248
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NewMachineName_0, 0);
 
8249
                }
 
8250
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
8251
                if (_ptr_Account) {
 
8252
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
8253
                } else {
 
8254
                        r->in.Account = NULL;
 
8255
                }
 
8256
                if (r->in.Account) {
 
8257
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8258
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
8259
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
8260
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
8261
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
8262
                                return 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), ndr_get_array_length(ndr, &r->in.Account));
 
8263
                        }
 
8264
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
8265
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
8266
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
8267
                }
 
8268
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
 
8269
                if (_ptr_password) {
 
8270
                        NDR_PULL_ALLOC(ndr, r->in.password);
 
8271
                } else {
 
8272
                        r->in.password = NULL;
 
8273
                }
 
8274
                if (r->in.password) {
 
8275
                        _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8276
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
 
8277
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.password));
 
8278
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.password));
 
8279
                        if (ndr_get_array_length(ndr, &r->in.password) > ndr_get_array_size(ndr, &r->in.password)) {
 
8280
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.password), ndr_get_array_length(ndr, &r->in.password));
 
8281
                        }
 
8282
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t)));
 
8283
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.password, ndr_get_array_length(ndr, &r->in.password), sizeof(uint16_t), CH_UTF16));
 
8284
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
 
8285
                }
 
8286
                NDR_CHECK(ndr_pull_wkssvc_renameflags(ndr, NDR_SCALARS, &r->in.RenameOptions));
 
8287
        }
 
8288
        if (flags & NDR_OUT) {
 
8289
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
8290
        }
 
8291
        return NDR_ERR_SUCCESS;
 
8292
}
 
8293
 
 
8294
_PUBLIC_ void ndr_print_wkssvc_NetrRenameMachineInDomain(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrRenameMachineInDomain *r)
 
8295
{
 
8296
        ndr_print_struct(ndr, name, "wkssvc_NetrRenameMachineInDomain");
 
8297
        ndr->depth++;
 
8298
        if (flags & NDR_SET_VALUES) {
 
8299
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
8300
        }
 
8301
        if (flags & NDR_IN) {
 
8302
                ndr_print_struct(ndr, "in", "wkssvc_NetrRenameMachineInDomain");
 
8303
                ndr->depth++;
 
8304
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
8305
                ndr->depth++;
 
8306
                if (r->in.server_name) {
 
8307
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
8308
                }
 
8309
                ndr->depth--;
 
8310
                ndr_print_ptr(ndr, "NewMachineName", r->in.NewMachineName);
 
8311
                ndr->depth++;
 
8312
                if (r->in.NewMachineName) {
 
8313
                        ndr_print_string(ndr, "NewMachineName", r->in.NewMachineName);
 
8314
                }
 
8315
                ndr->depth--;
 
8316
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
8317
                ndr->depth++;
 
8318
                if (r->in.Account) {
 
8319
                        ndr_print_string(ndr, "Account", r->in.Account);
 
8320
                }
 
8321
                ndr->depth--;
 
8322
                ndr_print_ptr(ndr, "password", r->in.password);
 
8323
                ndr->depth++;
 
8324
                if (r->in.password) {
 
8325
                        ndr_print_string(ndr, "password", r->in.password);
 
8326
                }
 
8327
                ndr->depth--;
 
8328
                ndr_print_wkssvc_renameflags(ndr, "RenameOptions", r->in.RenameOptions);
 
8329
                ndr->depth--;
 
8330
        }
 
8331
        if (flags & NDR_OUT) {
 
8332
                ndr_print_struct(ndr, "out", "wkssvc_NetrRenameMachineInDomain");
 
8333
                ndr->depth++;
 
8334
                ndr_print_WERROR(ndr, "result", r->out.result);
 
8335
                ndr->depth--;
 
8336
        }
 
8337
        ndr->depth--;
 
8338
}
 
8339
 
 
8340
static enum ndr_err_code ndr_push_wkssvc_NetrValidateName(struct ndr_push *ndr, int flags, const struct wkssvc_NetrValidateName *r)
 
8341
{
 
8342
        if (flags & NDR_IN) {
 
8343
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
8344
                if (r->in.server_name) {
 
8345
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8346
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8347
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8348
                        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));
 
8349
                }
 
8350
                if (r->in.name == NULL) {
 
8351
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
8352
                }
 
8353
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF16)));
 
8354
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8355
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF16)));
 
8356
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.name, ndr_charset_length(r->in.name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8357
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
8358
                if (r->in.Account) {
 
8359
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
8360
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8361
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
8362
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8363
                }
 
8364
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Password));
 
8365
                if (r->in.Password) {
 
8366
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Password, CH_UTF16)));
 
8367
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8368
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Password, CH_UTF16)));
 
8369
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Password, ndr_charset_length(r->in.Password, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8370
                }
 
8371
                NDR_CHECK(ndr_push_wkssvc_NetValidateNameType(ndr, NDR_SCALARS, r->in.name_type));
 
8372
        }
 
8373
        if (flags & NDR_OUT) {
 
8374
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
8375
        }
 
8376
        return NDR_ERR_SUCCESS;
 
8377
}
 
8378
 
 
8379
static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName(struct ndr_pull *ndr, int flags, struct wkssvc_NetrValidateName *r)
 
8380
{
 
8381
        uint32_t _ptr_server_name;
 
8382
        uint32_t _ptr_Account;
 
8383
        uint32_t _ptr_Password;
 
8384
        TALLOC_CTX *_mem_save_server_name_0;
 
8385
        TALLOC_CTX *_mem_save_Account_0;
 
8386
        TALLOC_CTX *_mem_save_Password_0;
 
8387
        if (flags & NDR_IN) {
 
8388
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
8389
                if (_ptr_server_name) {
 
8390
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
8391
                } else {
 
8392
                        r->in.server_name = NULL;
 
8393
                }
 
8394
                if (r->in.server_name) {
 
8395
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8396
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
8397
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
8398
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
8399
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
8400
                                return 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));
 
8401
                        }
 
8402
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
8403
                        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));
 
8404
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
8405
                }
 
8406
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name));
 
8407
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name));
 
8408
                if (ndr_get_array_length(ndr, &r->in.name) > ndr_get_array_size(ndr, &r->in.name)) {
 
8409
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name), ndr_get_array_length(ndr, &r->in.name));
 
8410
                }
 
8411
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t)));
 
8412
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t), CH_UTF16));
 
8413
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
8414
                if (_ptr_Account) {
 
8415
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
8416
                } else {
 
8417
                        r->in.Account = NULL;
 
8418
                }
 
8419
                if (r->in.Account) {
 
8420
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8421
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
8422
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
8423
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
8424
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
8425
                                return 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), ndr_get_array_length(ndr, &r->in.Account));
 
8426
                        }
 
8427
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
8428
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
8429
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
8430
                }
 
8431
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Password));
 
8432
                if (_ptr_Password) {
 
8433
                        NDR_PULL_ALLOC(ndr, r->in.Password);
 
8434
                } else {
 
8435
                        r->in.Password = NULL;
 
8436
                }
 
8437
                if (r->in.Password) {
 
8438
                        _mem_save_Password_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8439
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Password, 0);
 
8440
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Password));
 
8441
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Password));
 
8442
                        if (ndr_get_array_length(ndr, &r->in.Password) > ndr_get_array_size(ndr, &r->in.Password)) {
 
8443
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Password), ndr_get_array_length(ndr, &r->in.Password));
 
8444
                        }
 
8445
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Password), sizeof(uint16_t)));
 
8446
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Password, ndr_get_array_length(ndr, &r->in.Password), sizeof(uint16_t), CH_UTF16));
 
8447
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Password_0, 0);
 
8448
                }
 
8449
                NDR_CHECK(ndr_pull_wkssvc_NetValidateNameType(ndr, NDR_SCALARS, &r->in.name_type));
 
8450
        }
 
8451
        if (flags & NDR_OUT) {
 
8452
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
8453
        }
 
8454
        return NDR_ERR_SUCCESS;
 
8455
}
 
8456
 
 
8457
_PUBLIC_ void ndr_print_wkssvc_NetrValidateName(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrValidateName *r)
 
8458
{
 
8459
        ndr_print_struct(ndr, name, "wkssvc_NetrValidateName");
 
8460
        ndr->depth++;
 
8461
        if (flags & NDR_SET_VALUES) {
 
8462
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
8463
        }
 
8464
        if (flags & NDR_IN) {
 
8465
                ndr_print_struct(ndr, "in", "wkssvc_NetrValidateName");
 
8466
                ndr->depth++;
 
8467
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
8468
                ndr->depth++;
 
8469
                if (r->in.server_name) {
 
8470
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
8471
                }
 
8472
                ndr->depth--;
 
8473
                ndr_print_ptr(ndr, "name", r->in.name);
 
8474
                ndr->depth++;
 
8475
                ndr_print_string(ndr, "name", r->in.name);
 
8476
                ndr->depth--;
 
8477
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
8478
                ndr->depth++;
 
8479
                if (r->in.Account) {
 
8480
                        ndr_print_string(ndr, "Account", r->in.Account);
 
8481
                }
 
8482
                ndr->depth--;
 
8483
                ndr_print_ptr(ndr, "Password", r->in.Password);
 
8484
                ndr->depth++;
 
8485
                if (r->in.Password) {
 
8486
                        ndr_print_string(ndr, "Password", r->in.Password);
 
8487
                }
 
8488
                ndr->depth--;
 
8489
                ndr_print_wkssvc_NetValidateNameType(ndr, "name_type", r->in.name_type);
 
8490
                ndr->depth--;
 
8491
        }
 
8492
        if (flags & NDR_OUT) {
 
8493
                ndr_print_struct(ndr, "out", "wkssvc_NetrValidateName");
 
8494
                ndr->depth++;
 
8495
                ndr_print_WERROR(ndr, "result", r->out.result);
 
8496
                ndr->depth--;
 
8497
        }
 
8498
        ndr->depth--;
 
8499
}
 
8500
 
 
8501
static enum ndr_err_code ndr_push_wkssvc_NetrGetJoinInformation(struct ndr_push *ndr, int flags, const struct wkssvc_NetrGetJoinInformation *r)
 
8502
{
 
8503
        if (flags & NDR_IN) {
 
8504
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
8505
                if (r->in.server_name) {
 
8506
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8507
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8508
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8509
                        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));
 
8510
                }
 
8511
                if (r->in.name_buffer == NULL) {
 
8512
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
8513
                }
 
8514
                NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.name_buffer));
 
8515
                if (*r->in.name_buffer) {
 
8516
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->in.name_buffer, CH_UTF16)));
 
8517
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8518
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->in.name_buffer, CH_UTF16)));
 
8519
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->in.name_buffer, ndr_charset_length(*r->in.name_buffer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8520
                }
 
8521
        }
 
8522
        if (flags & NDR_OUT) {
 
8523
                if (r->out.name_buffer == NULL) {
 
8524
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
8525
                }
 
8526
                NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.name_buffer));
 
8527
                if (*r->out.name_buffer) {
 
8528
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name_buffer, CH_UTF16)));
 
8529
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8530
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name_buffer, CH_UTF16)));
 
8531
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.name_buffer, ndr_charset_length(*r->out.name_buffer, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8532
                }
 
8533
                if (r->out.name_type == NULL) {
 
8534
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
8535
                }
 
8536
                NDR_CHECK(ndr_push_wkssvc_NetJoinStatus(ndr, NDR_SCALARS, *r->out.name_type));
 
8537
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
8538
        }
 
8539
        return NDR_ERR_SUCCESS;
 
8540
}
 
8541
 
 
8542
static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinInformation(struct ndr_pull *ndr, int flags, struct wkssvc_NetrGetJoinInformation *r)
 
8543
{
 
8544
        uint32_t _ptr_server_name;
 
8545
        uint32_t _ptr_name_buffer;
 
8546
        TALLOC_CTX *_mem_save_server_name_0;
 
8547
        TALLOC_CTX *_mem_save_name_buffer_0;
 
8548
        TALLOC_CTX *_mem_save_name_buffer_1;
 
8549
        TALLOC_CTX *_mem_save_name_type_0;
 
8550
        if (flags & NDR_IN) {
 
8551
                ZERO_STRUCT(r->out);
 
8552
 
 
8553
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
8554
                if (_ptr_server_name) {
 
8555
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
8556
                } else {
 
8557
                        r->in.server_name = NULL;
 
8558
                }
 
8559
                if (r->in.server_name) {
 
8560
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8561
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
8562
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
8563
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
8564
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
8565
                                return 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));
 
8566
                        }
 
8567
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
8568
                        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));
 
8569
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
8570
                }
 
8571
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
8572
                        NDR_PULL_ALLOC(ndr, r->in.name_buffer);
 
8573
                }
 
8574
                _mem_save_name_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8575
                NDR_PULL_SET_MEM_CTX(ndr, r->in.name_buffer, LIBNDR_FLAG_REF_ALLOC);
 
8576
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name_buffer));
 
8577
                if (_ptr_name_buffer) {
 
8578
                        NDR_PULL_ALLOC(ndr, *r->in.name_buffer);
 
8579
                } else {
 
8580
                        *r->in.name_buffer = NULL;
 
8581
                }
 
8582
                if (*r->in.name_buffer) {
 
8583
                        _mem_save_name_buffer_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
8584
                        NDR_PULL_SET_MEM_CTX(ndr, *r->in.name_buffer, 0);
 
8585
                        NDR_CHECK(ndr_pull_array_size(ndr, r->in.name_buffer));
 
8586
                        NDR_CHECK(ndr_pull_array_length(ndr, r->in.name_buffer));
 
8587
                        if (ndr_get_array_length(ndr, r->in.name_buffer) > ndr_get_array_size(ndr, r->in.name_buffer)) {
 
8588
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->in.name_buffer), ndr_get_array_length(ndr, r->in.name_buffer));
 
8589
                        }
 
8590
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->in.name_buffer), sizeof(uint16_t)));
 
8591
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->in.name_buffer, ndr_get_array_length(ndr, r->in.name_buffer), sizeof(uint16_t), CH_UTF16));
 
8592
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_1, 0);
 
8593
                }
 
8594
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_0, LIBNDR_FLAG_REF_ALLOC);
 
8595
                NDR_PULL_ALLOC(ndr, r->out.name_buffer);
 
8596
                *r->out.name_buffer = *r->in.name_buffer;
 
8597
                NDR_PULL_ALLOC(ndr, r->out.name_type);
 
8598
                ZERO_STRUCTP(r->out.name_type);
 
8599
        }
 
8600
        if (flags & NDR_OUT) {
 
8601
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
8602
                        NDR_PULL_ALLOC(ndr, r->out.name_buffer);
 
8603
                }
 
8604
                _mem_save_name_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8605
                NDR_PULL_SET_MEM_CTX(ndr, r->out.name_buffer, LIBNDR_FLAG_REF_ALLOC);
 
8606
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name_buffer));
 
8607
                if (_ptr_name_buffer) {
 
8608
                        NDR_PULL_ALLOC(ndr, *r->out.name_buffer);
 
8609
                } else {
 
8610
                        *r->out.name_buffer = NULL;
 
8611
                }
 
8612
                if (*r->out.name_buffer) {
 
8613
                        _mem_save_name_buffer_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
8614
                        NDR_PULL_SET_MEM_CTX(ndr, *r->out.name_buffer, 0);
 
8615
                        NDR_CHECK(ndr_pull_array_size(ndr, r->out.name_buffer));
 
8616
                        NDR_CHECK(ndr_pull_array_length(ndr, r->out.name_buffer));
 
8617
                        if (ndr_get_array_length(ndr, r->out.name_buffer) > ndr_get_array_size(ndr, r->out.name_buffer)) {
 
8618
                                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.name_buffer), ndr_get_array_length(ndr, r->out.name_buffer));
 
8619
                        }
 
8620
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.name_buffer), sizeof(uint16_t)));
 
8621
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.name_buffer, ndr_get_array_length(ndr, r->out.name_buffer), sizeof(uint16_t), CH_UTF16));
 
8622
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_1, 0);
 
8623
                }
 
8624
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_buffer_0, LIBNDR_FLAG_REF_ALLOC);
 
8625
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
8626
                        NDR_PULL_ALLOC(ndr, r->out.name_type);
 
8627
                }
 
8628
                _mem_save_name_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8629
                NDR_PULL_SET_MEM_CTX(ndr, r->out.name_type, LIBNDR_FLAG_REF_ALLOC);
 
8630
                NDR_CHECK(ndr_pull_wkssvc_NetJoinStatus(ndr, NDR_SCALARS, r->out.name_type));
 
8631
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_type_0, LIBNDR_FLAG_REF_ALLOC);
 
8632
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
8633
        }
 
8634
        return NDR_ERR_SUCCESS;
 
8635
}
 
8636
 
 
8637
_PUBLIC_ void ndr_print_wkssvc_NetrGetJoinInformation(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrGetJoinInformation *r)
 
8638
{
 
8639
        ndr_print_struct(ndr, name, "wkssvc_NetrGetJoinInformation");
 
8640
        ndr->depth++;
 
8641
        if (flags & NDR_SET_VALUES) {
 
8642
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
8643
        }
 
8644
        if (flags & NDR_IN) {
 
8645
                ndr_print_struct(ndr, "in", "wkssvc_NetrGetJoinInformation");
 
8646
                ndr->depth++;
 
8647
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
8648
                ndr->depth++;
 
8649
                if (r->in.server_name) {
 
8650
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
8651
                }
 
8652
                ndr->depth--;
 
8653
                ndr_print_ptr(ndr, "name_buffer", r->in.name_buffer);
 
8654
                ndr->depth++;
 
8655
                ndr_print_ptr(ndr, "name_buffer", *r->in.name_buffer);
 
8656
                ndr->depth++;
 
8657
                if (*r->in.name_buffer) {
 
8658
                        ndr_print_string(ndr, "name_buffer", *r->in.name_buffer);
 
8659
                }
 
8660
                ndr->depth--;
 
8661
                ndr->depth--;
 
8662
                ndr->depth--;
 
8663
        }
 
8664
        if (flags & NDR_OUT) {
 
8665
                ndr_print_struct(ndr, "out", "wkssvc_NetrGetJoinInformation");
 
8666
                ndr->depth++;
 
8667
                ndr_print_ptr(ndr, "name_buffer", r->out.name_buffer);
 
8668
                ndr->depth++;
 
8669
                ndr_print_ptr(ndr, "name_buffer", *r->out.name_buffer);
 
8670
                ndr->depth++;
 
8671
                if (*r->out.name_buffer) {
 
8672
                        ndr_print_string(ndr, "name_buffer", *r->out.name_buffer);
 
8673
                }
 
8674
                ndr->depth--;
 
8675
                ndr->depth--;
 
8676
                ndr_print_ptr(ndr, "name_type", r->out.name_type);
 
8677
                ndr->depth++;
 
8678
                ndr_print_wkssvc_NetJoinStatus(ndr, "name_type", *r->out.name_type);
 
8679
                ndr->depth--;
 
8680
                ndr_print_WERROR(ndr, "result", r->out.result);
 
8681
                ndr->depth--;
 
8682
        }
 
8683
        ndr->depth--;
 
8684
}
 
8685
 
 
8686
static enum ndr_err_code ndr_push_wkssvc_NetrGetJoinableOus(struct ndr_push *ndr, int flags, const struct wkssvc_NetrGetJoinableOus *r)
 
8687
{
 
8688
        uint32_t cntr_ous_2;
 
8689
        if (flags & NDR_IN) {
 
8690
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
8691
                if (r->in.server_name) {
 
8692
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8693
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8694
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8695
                        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));
 
8696
                }
 
8697
                if (r->in.domain_name == NULL) {
 
8698
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
8699
                }
 
8700
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
8701
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8702
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
8703
                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));
 
8704
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
8705
                if (r->in.Account) {
 
8706
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
8707
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8708
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
8709
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8710
                }
 
8711
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.unknown));
 
8712
                if (r->in.unknown) {
 
8713
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16)));
 
8714
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8715
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.unknown, CH_UTF16)));
 
8716
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.unknown, ndr_charset_length(r->in.unknown, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8717
                }
 
8718
                if (r->in.num_ous == NULL) {
 
8719
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
8720
                }
 
8721
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.num_ous));
 
8722
        }
 
8723
        if (flags & NDR_OUT) {
 
8724
                if (r->out.num_ous == NULL) {
 
8725
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
8726
                }
 
8727
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_ous));
 
8728
                if (r->out.ous == NULL) {
 
8729
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
8730
                }
 
8731
                NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ous));
 
8732
                if (*r->out.ous) {
 
8733
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_ous));
 
8734
                        for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
 
8735
                                NDR_CHECK(ndr_push_unique_ptr(ndr, (*r->out.ous)[cntr_ous_2]));
 
8736
                        }
 
8737
                        for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
 
8738
                                if ((*r->out.ous)[cntr_ous_2]) {
 
8739
                                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16)));
 
8740
                                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8741
                                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16)));
 
8742
                                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, (*r->out.ous)[cntr_ous_2], ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
8743
                                }
 
8744
                        }
 
8745
                }
 
8746
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
8747
        }
 
8748
        return NDR_ERR_SUCCESS;
 
8749
}
 
8750
 
 
8751
static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus(struct ndr_pull *ndr, int flags, struct wkssvc_NetrGetJoinableOus *r)
 
8752
{
 
8753
        uint32_t _ptr_server_name;
 
8754
        uint32_t _ptr_Account;
 
8755
        uint32_t _ptr_unknown;
 
8756
        uint32_t _ptr_ous;
 
8757
        uint32_t cntr_ous_2;
 
8758
        TALLOC_CTX *_mem_save_server_name_0;
 
8759
        TALLOC_CTX *_mem_save_Account_0;
 
8760
        TALLOC_CTX *_mem_save_unknown_0;
 
8761
        TALLOC_CTX *_mem_save_num_ous_0;
 
8762
        TALLOC_CTX *_mem_save_ous_0;
 
8763
        TALLOC_CTX *_mem_save_ous_1;
 
8764
        TALLOC_CTX *_mem_save_ous_2;
 
8765
        TALLOC_CTX *_mem_save_ous_3;
 
8766
        if (flags & NDR_IN) {
 
8767
                ZERO_STRUCT(r->out);
 
8768
 
 
8769
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
8770
                if (_ptr_server_name) {
 
8771
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
8772
                } else {
 
8773
                        r->in.server_name = NULL;
 
8774
                }
 
8775
                if (r->in.server_name) {
 
8776
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8777
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
8778
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
8779
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
8780
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
8781
                                return 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));
 
8782
                        }
 
8783
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
8784
                        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));
 
8785
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
8786
                }
 
8787
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
 
8788
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
 
8789
                if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
 
8790
                        return 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));
 
8791
                }
 
8792
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
 
8793
                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));
 
8794
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
8795
                if (_ptr_Account) {
 
8796
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
8797
                } else {
 
8798
                        r->in.Account = NULL;
 
8799
                }
 
8800
                if (r->in.Account) {
 
8801
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8802
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
8803
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
8804
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
8805
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
8806
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Account), ndr_get_array_length(ndr, &r->in.Account));
 
8807
                        }
 
8808
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
8809
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
8810
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
8811
                }
 
8812
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown));
 
8813
                if (_ptr_unknown) {
 
8814
                        NDR_PULL_ALLOC(ndr, r->in.unknown);
 
8815
                } else {
 
8816
                        r->in.unknown = NULL;
 
8817
                }
 
8818
                if (r->in.unknown) {
 
8819
                        _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8820
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.unknown, 0);
 
8821
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.unknown));
 
8822
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.unknown));
 
8823
                        if (ndr_get_array_length(ndr, &r->in.unknown) > ndr_get_array_size(ndr, &r->in.unknown)) {
 
8824
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.unknown), ndr_get_array_length(ndr, &r->in.unknown));
 
8825
                        }
 
8826
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t)));
 
8827
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.unknown, ndr_get_array_length(ndr, &r->in.unknown), sizeof(uint16_t), CH_UTF16));
 
8828
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, 0);
 
8829
                }
 
8830
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
8831
                        NDR_PULL_ALLOC(ndr, r->in.num_ous);
 
8832
                }
 
8833
                _mem_save_num_ous_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8834
                NDR_PULL_SET_MEM_CTX(ndr, r->in.num_ous, LIBNDR_FLAG_REF_ALLOC);
 
8835
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.num_ous));
 
8836
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ous_0, LIBNDR_FLAG_REF_ALLOC);
 
8837
                NDR_PULL_ALLOC(ndr, r->out.num_ous);
 
8838
                *r->out.num_ous = *r->in.num_ous;
 
8839
                NDR_PULL_ALLOC(ndr, r->out.ous);
 
8840
                ZERO_STRUCTP(r->out.ous);
 
8841
        }
 
8842
        if (flags & NDR_OUT) {
 
8843
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
8844
                        NDR_PULL_ALLOC(ndr, r->out.num_ous);
 
8845
                }
 
8846
                _mem_save_num_ous_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8847
                NDR_PULL_SET_MEM_CTX(ndr, r->out.num_ous, LIBNDR_FLAG_REF_ALLOC);
 
8848
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_ous));
 
8849
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ous_0, LIBNDR_FLAG_REF_ALLOC);
 
8850
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
8851
                        NDR_PULL_ALLOC(ndr, r->out.ous);
 
8852
                }
 
8853
                _mem_save_ous_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
8854
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ous, LIBNDR_FLAG_REF_ALLOC);
 
8855
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ous));
 
8856
                if (_ptr_ous) {
 
8857
                        NDR_PULL_ALLOC(ndr, *r->out.ous);
 
8858
                } else {
 
8859
                        *r->out.ous = NULL;
 
8860
                }
 
8861
                if (*r->out.ous) {
 
8862
                        _mem_save_ous_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
8863
                        NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0);
 
8864
                        NDR_CHECK(ndr_pull_array_size(ndr, r->out.ous));
 
8865
                        NDR_PULL_ALLOC_N(ndr, *r->out.ous, ndr_get_array_size(ndr, r->out.ous));
 
8866
                        _mem_save_ous_2 = NDR_PULL_GET_MEM_CTX(ndr);
 
8867
                        NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0);
 
8868
                        for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
 
8869
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ous));
 
8870
                                if (_ptr_ous) {
 
8871
                                        NDR_PULL_ALLOC(ndr, (*r->out.ous)[cntr_ous_2]);
 
8872
                                } else {
 
8873
                                        (*r->out.ous)[cntr_ous_2] = NULL;
 
8874
                                }
 
8875
                        }
 
8876
                        for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
 
8877
                                if ((*r->out.ous)[cntr_ous_2]) {
 
8878
                                        _mem_save_ous_3 = NDR_PULL_GET_MEM_CTX(ndr);
 
8879
                                        NDR_PULL_SET_MEM_CTX(ndr, (*r->out.ous)[cntr_ous_2], 0);
 
8880
                                        NDR_CHECK(ndr_pull_array_size(ndr, &(*r->out.ous)[cntr_ous_2]));
 
8881
                                        NDR_CHECK(ndr_pull_array_length(ndr, &(*r->out.ous)[cntr_ous_2]));
 
8882
                                        if (ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]) > ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2])) {
 
8883
                                                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.ous)[cntr_ous_2]), ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]));
 
8884
                                        }
 
8885
                                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t)));
 
8886
                                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &(*r->out.ous)[cntr_ous_2], ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t), CH_UTF16));
 
8887
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_3, 0);
 
8888
                                }
 
8889
                        }
 
8890
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_2, 0);
 
8891
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_1, 0);
 
8892
                }
 
8893
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_0, LIBNDR_FLAG_REF_ALLOC);
 
8894
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
8895
                if (*r->out.ous) {
 
8896
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)r->out.ous, *r->out.num_ous));
 
8897
                }
 
8898
        }
 
8899
        return NDR_ERR_SUCCESS;
 
8900
}
 
8901
 
 
8902
_PUBLIC_ void ndr_print_wkssvc_NetrGetJoinableOus(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrGetJoinableOus *r)
 
8903
{
 
8904
        uint32_t cntr_ous_2;
 
8905
        ndr_print_struct(ndr, name, "wkssvc_NetrGetJoinableOus");
 
8906
        ndr->depth++;
 
8907
        if (flags & NDR_SET_VALUES) {
 
8908
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
8909
        }
 
8910
        if (flags & NDR_IN) {
 
8911
                ndr_print_struct(ndr, "in", "wkssvc_NetrGetJoinableOus");
 
8912
                ndr->depth++;
 
8913
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
8914
                ndr->depth++;
 
8915
                if (r->in.server_name) {
 
8916
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
8917
                }
 
8918
                ndr->depth--;
 
8919
                ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
 
8920
                ndr->depth++;
 
8921
                ndr_print_string(ndr, "domain_name", r->in.domain_name);
 
8922
                ndr->depth--;
 
8923
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
8924
                ndr->depth++;
 
8925
                if (r->in.Account) {
 
8926
                        ndr_print_string(ndr, "Account", r->in.Account);
 
8927
                }
 
8928
                ndr->depth--;
 
8929
                ndr_print_ptr(ndr, "unknown", r->in.unknown);
 
8930
                ndr->depth++;
 
8931
                if (r->in.unknown) {
 
8932
                        ndr_print_string(ndr, "unknown", r->in.unknown);
 
8933
                }
 
8934
                ndr->depth--;
 
8935
                ndr_print_ptr(ndr, "num_ous", r->in.num_ous);
 
8936
                ndr->depth++;
 
8937
                ndr_print_uint32(ndr, "num_ous", *r->in.num_ous);
 
8938
                ndr->depth--;
 
8939
                ndr->depth--;
 
8940
        }
 
8941
        if (flags & NDR_OUT) {
 
8942
                ndr_print_struct(ndr, "out", "wkssvc_NetrGetJoinableOus");
 
8943
                ndr->depth++;
 
8944
                ndr_print_ptr(ndr, "num_ous", r->out.num_ous);
 
8945
                ndr->depth++;
 
8946
                ndr_print_uint32(ndr, "num_ous", *r->out.num_ous);
 
8947
                ndr->depth--;
 
8948
                ndr_print_ptr(ndr, "ous", r->out.ous);
 
8949
                ndr->depth++;
 
8950
                ndr_print_ptr(ndr, "ous", *r->out.ous);
 
8951
                ndr->depth++;
 
8952
                if (*r->out.ous) {
 
8953
                        ndr->print(ndr, "%s: ARRAY(%d)", "ous", (int)*r->out.num_ous);
 
8954
                        ndr->depth++;
 
8955
                        for (cntr_ous_2=0;cntr_ous_2<*r->out.num_ous;cntr_ous_2++) {
 
8956
                                char *idx_2=NULL;
 
8957
                                if (asprintf(&idx_2, "[%d]", cntr_ous_2) != -1) {
 
8958
                                        ndr_print_ptr(ndr, "ous", (*r->out.ous)[cntr_ous_2]);
 
8959
                                        ndr->depth++;
 
8960
                                        if ((*r->out.ous)[cntr_ous_2]) {
 
8961
                                                ndr_print_string(ndr, "ous", (*r->out.ous)[cntr_ous_2]);
 
8962
                                        }
 
8963
                                        ndr->depth--;
 
8964
                                        free(idx_2);
 
8965
                                }
 
8966
                        }
 
8967
                        ndr->depth--;
 
8968
                }
 
8969
                ndr->depth--;
 
8970
                ndr->depth--;
 
8971
                ndr_print_WERROR(ndr, "result", r->out.result);
 
8972
                ndr->depth--;
 
8973
        }
 
8974
        ndr->depth--;
 
8975
}
 
8976
 
 
8977
static enum ndr_err_code ndr_push_wkssvc_NetrJoinDomain2(struct ndr_push *ndr, int flags, const struct wkssvc_NetrJoinDomain2 *r)
 
8978
{
 
8979
        if (flags & NDR_IN) {
 
8980
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
8981
                if (r->in.server_name) {
 
8982
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8983
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8984
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
8985
                        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));
 
8986
                }
 
8987
                if (r->in.domain_name == NULL) {
 
8988
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
8989
                }
 
8990
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
8991
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8992
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
8993
                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));
 
8994
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.account_ou));
 
8995
                if (r->in.account_ou) {
 
8996
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_ou, CH_UTF16)));
 
8997
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
8998
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account_ou, CH_UTF16)));
 
8999
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account_ou, ndr_charset_length(r->in.account_ou, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9000
                }
 
9001
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.admin_account));
 
9002
                if (r->in.admin_account) {
 
9003
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.admin_account, CH_UTF16)));
 
9004
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9005
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.admin_account, CH_UTF16)));
 
9006
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.admin_account, ndr_charset_length(r->in.admin_account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9007
                }
 
9008
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.encrypted_password));
 
9009
                if (r->in.encrypted_password) {
 
9010
                        NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.encrypted_password));
 
9011
                }
 
9012
                NDR_CHECK(ndr_push_wkssvc_joinflags(ndr, NDR_SCALARS, r->in.join_flags));
 
9013
        }
 
9014
        if (flags & NDR_OUT) {
 
9015
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
9016
        }
 
9017
        return NDR_ERR_SUCCESS;
 
9018
}
 
9019
 
 
9020
static enum ndr_err_code ndr_pull_wkssvc_NetrJoinDomain2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrJoinDomain2 *r)
 
9021
{
 
9022
        uint32_t _ptr_server_name;
 
9023
        uint32_t _ptr_account_ou;
 
9024
        uint32_t _ptr_admin_account;
 
9025
        uint32_t _ptr_encrypted_password;
 
9026
        TALLOC_CTX *_mem_save_server_name_0;
 
9027
        TALLOC_CTX *_mem_save_account_ou_0;
 
9028
        TALLOC_CTX *_mem_save_admin_account_0;
 
9029
        TALLOC_CTX *_mem_save_encrypted_password_0;
 
9030
        if (flags & NDR_IN) {
 
9031
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
9032
                if (_ptr_server_name) {
 
9033
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
9034
                } else {
 
9035
                        r->in.server_name = NULL;
 
9036
                }
 
9037
                if (r->in.server_name) {
 
9038
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9039
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
9040
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
9041
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
9042
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
9043
                                return 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));
 
9044
                        }
 
9045
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
9046
                        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));
 
9047
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
9048
                }
 
9049
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
 
9050
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
 
9051
                if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
 
9052
                        return 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));
 
9053
                }
 
9054
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
 
9055
                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));
 
9056
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_ou));
 
9057
                if (_ptr_account_ou) {
 
9058
                        NDR_PULL_ALLOC(ndr, r->in.account_ou);
 
9059
                } else {
 
9060
                        r->in.account_ou = NULL;
 
9061
                }
 
9062
                if (r->in.account_ou) {
 
9063
                        _mem_save_account_ou_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9064
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.account_ou, 0);
 
9065
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account_ou));
 
9066
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account_ou));
 
9067
                        if (ndr_get_array_length(ndr, &r->in.account_ou) > ndr_get_array_size(ndr, &r->in.account_ou)) {
 
9068
                                return 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_ou), ndr_get_array_length(ndr, &r->in.account_ou));
 
9069
                        }
 
9070
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t)));
 
9071
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account_ou, ndr_get_array_length(ndr, &r->in.account_ou), sizeof(uint16_t), CH_UTF16));
 
9072
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_ou_0, 0);
 
9073
                }
 
9074
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_admin_account));
 
9075
                if (_ptr_admin_account) {
 
9076
                        NDR_PULL_ALLOC(ndr, r->in.admin_account);
 
9077
                } else {
 
9078
                        r->in.admin_account = NULL;
 
9079
                }
 
9080
                if (r->in.admin_account) {
 
9081
                        _mem_save_admin_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9082
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.admin_account, 0);
 
9083
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.admin_account));
 
9084
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.admin_account));
 
9085
                        if (ndr_get_array_length(ndr, &r->in.admin_account) > ndr_get_array_size(ndr, &r->in.admin_account)) {
 
9086
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.admin_account), ndr_get_array_length(ndr, &r->in.admin_account));
 
9087
                        }
 
9088
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.admin_account), sizeof(uint16_t)));
 
9089
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.admin_account, ndr_get_array_length(ndr, &r->in.admin_account), sizeof(uint16_t), CH_UTF16));
 
9090
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_admin_account_0, 0);
 
9091
                }
 
9092
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_encrypted_password));
 
9093
                if (_ptr_encrypted_password) {
 
9094
                        NDR_PULL_ALLOC(ndr, r->in.encrypted_password);
 
9095
                } else {
 
9096
                        r->in.encrypted_password = NULL;
 
9097
                }
 
9098
                if (r->in.encrypted_password) {
 
9099
                        _mem_save_encrypted_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9100
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.encrypted_password, 0);
 
9101
                        NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.encrypted_password));
 
9102
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_encrypted_password_0, 0);
 
9103
                }
 
9104
                NDR_CHECK(ndr_pull_wkssvc_joinflags(ndr, NDR_SCALARS, &r->in.join_flags));
 
9105
        }
 
9106
        if (flags & NDR_OUT) {
 
9107
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
9108
        }
 
9109
        return NDR_ERR_SUCCESS;
 
9110
}
 
9111
 
 
9112
_PUBLIC_ void ndr_print_wkssvc_NetrJoinDomain2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrJoinDomain2 *r)
 
9113
{
 
9114
        ndr_print_struct(ndr, name, "wkssvc_NetrJoinDomain2");
 
9115
        ndr->depth++;
 
9116
        if (flags & NDR_SET_VALUES) {
 
9117
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
9118
        }
 
9119
        if (flags & NDR_IN) {
 
9120
                ndr_print_struct(ndr, "in", "wkssvc_NetrJoinDomain2");
 
9121
                ndr->depth++;
 
9122
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
9123
                ndr->depth++;
 
9124
                if (r->in.server_name) {
 
9125
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
9126
                }
 
9127
                ndr->depth--;
 
9128
                ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
 
9129
                ndr->depth++;
 
9130
                ndr_print_string(ndr, "domain_name", r->in.domain_name);
 
9131
                ndr->depth--;
 
9132
                ndr_print_ptr(ndr, "account_ou", r->in.account_ou);
 
9133
                ndr->depth++;
 
9134
                if (r->in.account_ou) {
 
9135
                        ndr_print_string(ndr, "account_ou", r->in.account_ou);
 
9136
                }
 
9137
                ndr->depth--;
 
9138
                ndr_print_ptr(ndr, "admin_account", r->in.admin_account);
 
9139
                ndr->depth++;
 
9140
                if (r->in.admin_account) {
 
9141
                        ndr_print_string(ndr, "admin_account", r->in.admin_account);
 
9142
                }
 
9143
                ndr->depth--;
 
9144
                ndr_print_ptr(ndr, "encrypted_password", r->in.encrypted_password);
 
9145
                ndr->depth++;
 
9146
                if (r->in.encrypted_password) {
 
9147
                        ndr_print_wkssvc_PasswordBuffer(ndr, "encrypted_password", r->in.encrypted_password);
 
9148
                }
 
9149
                ndr->depth--;
 
9150
                ndr_print_wkssvc_joinflags(ndr, "join_flags", r->in.join_flags);
 
9151
                ndr->depth--;
 
9152
        }
 
9153
        if (flags & NDR_OUT) {
 
9154
                ndr_print_struct(ndr, "out", "wkssvc_NetrJoinDomain2");
 
9155
                ndr->depth++;
 
9156
                ndr_print_WERROR(ndr, "result", r->out.result);
 
9157
                ndr->depth--;
 
9158
        }
 
9159
        ndr->depth--;
 
9160
}
 
9161
 
 
9162
static enum ndr_err_code ndr_push_wkssvc_NetrUnjoinDomain2(struct ndr_push *ndr, int flags, const struct wkssvc_NetrUnjoinDomain2 *r)
 
9163
{
 
9164
        if (flags & NDR_IN) {
 
9165
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
9166
                if (r->in.server_name) {
 
9167
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
9168
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9169
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
9170
                        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));
 
9171
                }
 
9172
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.account));
 
9173
                if (r->in.account) {
 
9174
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account, CH_UTF16)));
 
9175
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9176
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.account, CH_UTF16)));
 
9177
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.account, ndr_charset_length(r->in.account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9178
                }
 
9179
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.encrypted_password));
 
9180
                if (r->in.encrypted_password) {
 
9181
                        NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.encrypted_password));
 
9182
                }
 
9183
                NDR_CHECK(ndr_push_wkssvc_joinflags(ndr, NDR_SCALARS, r->in.unjoin_flags));
 
9184
        }
 
9185
        if (flags & NDR_OUT) {
 
9186
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
9187
        }
 
9188
        return NDR_ERR_SUCCESS;
 
9189
}
 
9190
 
 
9191
static enum ndr_err_code ndr_pull_wkssvc_NetrUnjoinDomain2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrUnjoinDomain2 *r)
 
9192
{
 
9193
        uint32_t _ptr_server_name;
 
9194
        uint32_t _ptr_account;
 
9195
        uint32_t _ptr_encrypted_password;
 
9196
        TALLOC_CTX *_mem_save_server_name_0;
 
9197
        TALLOC_CTX *_mem_save_account_0;
 
9198
        TALLOC_CTX *_mem_save_encrypted_password_0;
 
9199
        if (flags & NDR_IN) {
 
9200
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
9201
                if (_ptr_server_name) {
 
9202
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
9203
                } else {
 
9204
                        r->in.server_name = NULL;
 
9205
                }
 
9206
                if (r->in.server_name) {
 
9207
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9208
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
9209
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
9210
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
9211
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
9212
                                return 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));
 
9213
                        }
 
9214
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
9215
                        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));
 
9216
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
9217
                }
 
9218
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account));
 
9219
                if (_ptr_account) {
 
9220
                        NDR_PULL_ALLOC(ndr, r->in.account);
 
9221
                } else {
 
9222
                        r->in.account = NULL;
 
9223
                }
 
9224
                if (r->in.account) {
 
9225
                        _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9226
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.account, 0);
 
9227
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.account));
 
9228
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.account));
 
9229
                        if (ndr_get_array_length(ndr, &r->in.account) > ndr_get_array_size(ndr, &r->in.account)) {
 
9230
                                return 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), ndr_get_array_length(ndr, &r->in.account));
 
9231
                        }
 
9232
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.account), sizeof(uint16_t)));
 
9233
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.account, ndr_get_array_length(ndr, &r->in.account), sizeof(uint16_t), CH_UTF16));
 
9234
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, 0);
 
9235
                }
 
9236
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_encrypted_password));
 
9237
                if (_ptr_encrypted_password) {
 
9238
                        NDR_PULL_ALLOC(ndr, r->in.encrypted_password);
 
9239
                } else {
 
9240
                        r->in.encrypted_password = NULL;
 
9241
                }
 
9242
                if (r->in.encrypted_password) {
 
9243
                        _mem_save_encrypted_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9244
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.encrypted_password, 0);
 
9245
                        NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.encrypted_password));
 
9246
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_encrypted_password_0, 0);
 
9247
                }
 
9248
                NDR_CHECK(ndr_pull_wkssvc_joinflags(ndr, NDR_SCALARS, &r->in.unjoin_flags));
 
9249
        }
 
9250
        if (flags & NDR_OUT) {
 
9251
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
9252
        }
 
9253
        return NDR_ERR_SUCCESS;
 
9254
}
 
9255
 
 
9256
_PUBLIC_ void ndr_print_wkssvc_NetrUnjoinDomain2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrUnjoinDomain2 *r)
 
9257
{
 
9258
        ndr_print_struct(ndr, name, "wkssvc_NetrUnjoinDomain2");
 
9259
        ndr->depth++;
 
9260
        if (flags & NDR_SET_VALUES) {
 
9261
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
9262
        }
 
9263
        if (flags & NDR_IN) {
 
9264
                ndr_print_struct(ndr, "in", "wkssvc_NetrUnjoinDomain2");
 
9265
                ndr->depth++;
 
9266
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
9267
                ndr->depth++;
 
9268
                if (r->in.server_name) {
 
9269
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
9270
                }
 
9271
                ndr->depth--;
 
9272
                ndr_print_ptr(ndr, "account", r->in.account);
 
9273
                ndr->depth++;
 
9274
                if (r->in.account) {
 
9275
                        ndr_print_string(ndr, "account", r->in.account);
 
9276
                }
 
9277
                ndr->depth--;
 
9278
                ndr_print_ptr(ndr, "encrypted_password", r->in.encrypted_password);
 
9279
                ndr->depth++;
 
9280
                if (r->in.encrypted_password) {
 
9281
                        ndr_print_wkssvc_PasswordBuffer(ndr, "encrypted_password", r->in.encrypted_password);
 
9282
                }
 
9283
                ndr->depth--;
 
9284
                ndr_print_wkssvc_joinflags(ndr, "unjoin_flags", r->in.unjoin_flags);
 
9285
                ndr->depth--;
 
9286
        }
 
9287
        if (flags & NDR_OUT) {
 
9288
                ndr_print_struct(ndr, "out", "wkssvc_NetrUnjoinDomain2");
 
9289
                ndr->depth++;
 
9290
                ndr_print_WERROR(ndr, "result", r->out.result);
 
9291
                ndr->depth--;
 
9292
        }
 
9293
        ndr->depth--;
 
9294
}
 
9295
 
 
9296
static enum ndr_err_code ndr_push_wkssvc_NetrRenameMachineInDomain2(struct ndr_push *ndr, int flags, const struct wkssvc_NetrRenameMachineInDomain2 *r)
 
9297
{
 
9298
        if (flags & NDR_IN) {
 
9299
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
9300
                if (r->in.server_name) {
 
9301
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
9302
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9303
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
9304
                        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));
 
9305
                }
 
9306
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.NewMachineName));
 
9307
                if (r->in.NewMachineName) {
 
9308
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewMachineName, CH_UTF16)));
 
9309
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9310
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewMachineName, CH_UTF16)));
 
9311
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.NewMachineName, ndr_charset_length(r->in.NewMachineName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9312
                }
 
9313
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
9314
                if (r->in.Account) {
 
9315
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
9316
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9317
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
9318
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9319
                }
 
9320
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword));
 
9321
                if (r->in.EncryptedPassword) {
 
9322
                        NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
9323
                }
 
9324
                NDR_CHECK(ndr_push_wkssvc_renameflags(ndr, NDR_SCALARS, r->in.RenameOptions));
 
9325
        }
 
9326
        if (flags & NDR_OUT) {
 
9327
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
9328
        }
 
9329
        return NDR_ERR_SUCCESS;
 
9330
}
 
9331
 
 
9332
static enum ndr_err_code ndr_pull_wkssvc_NetrRenameMachineInDomain2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrRenameMachineInDomain2 *r)
 
9333
{
 
9334
        uint32_t _ptr_server_name;
 
9335
        uint32_t _ptr_NewMachineName;
 
9336
        uint32_t _ptr_Account;
 
9337
        uint32_t _ptr_EncryptedPassword;
 
9338
        TALLOC_CTX *_mem_save_server_name_0;
 
9339
        TALLOC_CTX *_mem_save_NewMachineName_0;
 
9340
        TALLOC_CTX *_mem_save_Account_0;
 
9341
        TALLOC_CTX *_mem_save_EncryptedPassword_0;
 
9342
        if (flags & NDR_IN) {
 
9343
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
9344
                if (_ptr_server_name) {
 
9345
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
9346
                } else {
 
9347
                        r->in.server_name = NULL;
 
9348
                }
 
9349
                if (r->in.server_name) {
 
9350
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9351
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
9352
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
9353
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
9354
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
9355
                                return 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));
 
9356
                        }
 
9357
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
9358
                        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));
 
9359
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
9360
                }
 
9361
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_NewMachineName));
 
9362
                if (_ptr_NewMachineName) {
 
9363
                        NDR_PULL_ALLOC(ndr, r->in.NewMachineName);
 
9364
                } else {
 
9365
                        r->in.NewMachineName = NULL;
 
9366
                }
 
9367
                if (r->in.NewMachineName) {
 
9368
                        _mem_save_NewMachineName_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9369
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.NewMachineName, 0);
 
9370
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.NewMachineName));
 
9371
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.NewMachineName));
 
9372
                        if (ndr_get_array_length(ndr, &r->in.NewMachineName) > ndr_get_array_size(ndr, &r->in.NewMachineName)) {
 
9373
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.NewMachineName), ndr_get_array_length(ndr, &r->in.NewMachineName));
 
9374
                        }
 
9375
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t)));
 
9376
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewMachineName, ndr_get_array_length(ndr, &r->in.NewMachineName), sizeof(uint16_t), CH_UTF16));
 
9377
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NewMachineName_0, 0);
 
9378
                }
 
9379
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
9380
                if (_ptr_Account) {
 
9381
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
9382
                } else {
 
9383
                        r->in.Account = NULL;
 
9384
                }
 
9385
                if (r->in.Account) {
 
9386
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9387
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
9388
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
9389
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
9390
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
9391
                                return 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), ndr_get_array_length(ndr, &r->in.Account));
 
9392
                        }
 
9393
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
9394
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
9395
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
9396
                }
 
9397
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
 
9398
                if (_ptr_EncryptedPassword) {
 
9399
                        NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword);
 
9400
                } else {
 
9401
                        r->in.EncryptedPassword = NULL;
 
9402
                }
 
9403
                if (r->in.EncryptedPassword) {
 
9404
                        _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9405
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0);
 
9406
                        NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
9407
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0);
 
9408
                }
 
9409
                NDR_CHECK(ndr_pull_wkssvc_renameflags(ndr, NDR_SCALARS, &r->in.RenameOptions));
 
9410
        }
 
9411
        if (flags & NDR_OUT) {
 
9412
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
9413
        }
 
9414
        return NDR_ERR_SUCCESS;
 
9415
}
 
9416
 
 
9417
_PUBLIC_ void ndr_print_wkssvc_NetrRenameMachineInDomain2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrRenameMachineInDomain2 *r)
 
9418
{
 
9419
        ndr_print_struct(ndr, name, "wkssvc_NetrRenameMachineInDomain2");
 
9420
        ndr->depth++;
 
9421
        if (flags & NDR_SET_VALUES) {
 
9422
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
9423
        }
 
9424
        if (flags & NDR_IN) {
 
9425
                ndr_print_struct(ndr, "in", "wkssvc_NetrRenameMachineInDomain2");
 
9426
                ndr->depth++;
 
9427
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
9428
                ndr->depth++;
 
9429
                if (r->in.server_name) {
 
9430
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
9431
                }
 
9432
                ndr->depth--;
 
9433
                ndr_print_ptr(ndr, "NewMachineName", r->in.NewMachineName);
 
9434
                ndr->depth++;
 
9435
                if (r->in.NewMachineName) {
 
9436
                        ndr_print_string(ndr, "NewMachineName", r->in.NewMachineName);
 
9437
                }
 
9438
                ndr->depth--;
 
9439
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
9440
                ndr->depth++;
 
9441
                if (r->in.Account) {
 
9442
                        ndr_print_string(ndr, "Account", r->in.Account);
 
9443
                }
 
9444
                ndr->depth--;
 
9445
                ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
9446
                ndr->depth++;
 
9447
                if (r->in.EncryptedPassword) {
 
9448
                        ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
9449
                }
 
9450
                ndr->depth--;
 
9451
                ndr_print_wkssvc_renameflags(ndr, "RenameOptions", r->in.RenameOptions);
 
9452
                ndr->depth--;
 
9453
        }
 
9454
        if (flags & NDR_OUT) {
 
9455
                ndr_print_struct(ndr, "out", "wkssvc_NetrRenameMachineInDomain2");
 
9456
                ndr->depth++;
 
9457
                ndr_print_WERROR(ndr, "result", r->out.result);
 
9458
                ndr->depth--;
 
9459
        }
 
9460
        ndr->depth--;
 
9461
}
 
9462
 
 
9463
static enum ndr_err_code ndr_push_wkssvc_NetrValidateName2(struct ndr_push *ndr, int flags, const struct wkssvc_NetrValidateName2 *r)
 
9464
{
 
9465
        if (flags & NDR_IN) {
 
9466
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
9467
                if (r->in.server_name) {
 
9468
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
9469
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9470
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
9471
                        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));
 
9472
                }
 
9473
                if (r->in.name == NULL) {
 
9474
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
9475
                }
 
9476
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF16)));
 
9477
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9478
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF16)));
 
9479
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.name, ndr_charset_length(r->in.name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9480
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
9481
                if (r->in.Account) {
 
9482
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
9483
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9484
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
9485
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9486
                }
 
9487
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword));
 
9488
                if (r->in.EncryptedPassword) {
 
9489
                        NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
9490
                }
 
9491
                NDR_CHECK(ndr_push_wkssvc_NetValidateNameType(ndr, NDR_SCALARS, r->in.name_type));
 
9492
        }
 
9493
        if (flags & NDR_OUT) {
 
9494
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
9495
        }
 
9496
        return NDR_ERR_SUCCESS;
 
9497
}
 
9498
 
 
9499
static enum ndr_err_code ndr_pull_wkssvc_NetrValidateName2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrValidateName2 *r)
 
9500
{
 
9501
        uint32_t _ptr_server_name;
 
9502
        uint32_t _ptr_Account;
 
9503
        uint32_t _ptr_EncryptedPassword;
 
9504
        TALLOC_CTX *_mem_save_server_name_0;
 
9505
        TALLOC_CTX *_mem_save_Account_0;
 
9506
        TALLOC_CTX *_mem_save_EncryptedPassword_0;
 
9507
        if (flags & NDR_IN) {
 
9508
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
9509
                if (_ptr_server_name) {
 
9510
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
9511
                } else {
 
9512
                        r->in.server_name = NULL;
 
9513
                }
 
9514
                if (r->in.server_name) {
 
9515
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9516
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
9517
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
9518
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
9519
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
9520
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name));
 
9521
                        }
 
9522
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
9523
                        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));
 
9524
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
9525
                }
 
9526
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name));
 
9527
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name));
 
9528
                if (ndr_get_array_length(ndr, &r->in.name) > ndr_get_array_size(ndr, &r->in.name)) {
 
9529
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name), ndr_get_array_length(ndr, &r->in.name));
 
9530
                }
 
9531
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t)));
 
9532
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, ndr_get_array_length(ndr, &r->in.name), sizeof(uint16_t), CH_UTF16));
 
9533
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
9534
                if (_ptr_Account) {
 
9535
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
9536
                } else {
 
9537
                        r->in.Account = NULL;
 
9538
                }
 
9539
                if (r->in.Account) {
 
9540
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9541
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
9542
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
9543
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
9544
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
9545
                                return 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), ndr_get_array_length(ndr, &r->in.Account));
 
9546
                        }
 
9547
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
9548
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
9549
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
9550
                }
 
9551
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
 
9552
                if (_ptr_EncryptedPassword) {
 
9553
                        NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword);
 
9554
                } else {
 
9555
                        r->in.EncryptedPassword = NULL;
 
9556
                }
 
9557
                if (r->in.EncryptedPassword) {
 
9558
                        _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9559
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0);
 
9560
                        NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
9561
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0);
 
9562
                }
 
9563
                NDR_CHECK(ndr_pull_wkssvc_NetValidateNameType(ndr, NDR_SCALARS, &r->in.name_type));
 
9564
        }
 
9565
        if (flags & NDR_OUT) {
 
9566
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
9567
        }
 
9568
        return NDR_ERR_SUCCESS;
 
9569
}
 
9570
 
 
9571
_PUBLIC_ void ndr_print_wkssvc_NetrValidateName2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrValidateName2 *r)
 
9572
{
 
9573
        ndr_print_struct(ndr, name, "wkssvc_NetrValidateName2");
 
9574
        ndr->depth++;
 
9575
        if (flags & NDR_SET_VALUES) {
 
9576
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
9577
        }
 
9578
        if (flags & NDR_IN) {
 
9579
                ndr_print_struct(ndr, "in", "wkssvc_NetrValidateName2");
 
9580
                ndr->depth++;
 
9581
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
9582
                ndr->depth++;
 
9583
                if (r->in.server_name) {
 
9584
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
9585
                }
 
9586
                ndr->depth--;
 
9587
                ndr_print_ptr(ndr, "name", r->in.name);
 
9588
                ndr->depth++;
 
9589
                ndr_print_string(ndr, "name", r->in.name);
 
9590
                ndr->depth--;
 
9591
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
9592
                ndr->depth++;
 
9593
                if (r->in.Account) {
 
9594
                        ndr_print_string(ndr, "Account", r->in.Account);
 
9595
                }
 
9596
                ndr->depth--;
 
9597
                ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
9598
                ndr->depth++;
 
9599
                if (r->in.EncryptedPassword) {
 
9600
                        ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
9601
                }
 
9602
                ndr->depth--;
 
9603
                ndr_print_wkssvc_NetValidateNameType(ndr, "name_type", r->in.name_type);
 
9604
                ndr->depth--;
 
9605
        }
 
9606
        if (flags & NDR_OUT) {
 
9607
                ndr_print_struct(ndr, "out", "wkssvc_NetrValidateName2");
 
9608
                ndr->depth++;
 
9609
                ndr_print_WERROR(ndr, "result", r->out.result);
 
9610
                ndr->depth--;
 
9611
        }
 
9612
        ndr->depth--;
 
9613
}
 
9614
 
 
9615
static enum ndr_err_code ndr_push_wkssvc_NetrGetJoinableOus2(struct ndr_push *ndr, int flags, const struct wkssvc_NetrGetJoinableOus2 *r)
 
9616
{
 
9617
        uint32_t cntr_ous_2;
 
9618
        if (flags & NDR_IN) {
 
9619
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
9620
                if (r->in.server_name) {
 
9621
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
9622
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9623
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
9624
                        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));
 
9625
                }
 
9626
                if (r->in.domain_name == NULL) {
 
9627
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
9628
                }
 
9629
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
9630
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9631
                NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF16)));
 
9632
                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));
 
9633
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
9634
                if (r->in.Account) {
 
9635
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
9636
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9637
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
9638
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9639
                }
 
9640
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword));
 
9641
                if (r->in.EncryptedPassword) {
 
9642
                        NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
9643
                }
 
9644
                if (r->in.num_ous == NULL) {
 
9645
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
9646
                }
 
9647
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.num_ous));
 
9648
        }
 
9649
        if (flags & NDR_OUT) {
 
9650
                if (r->out.num_ous == NULL) {
 
9651
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
9652
                }
 
9653
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_ous));
 
9654
                if (r->out.ous == NULL) {
 
9655
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
9656
                }
 
9657
                NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ous));
 
9658
                if (*r->out.ous) {
 
9659
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_ous));
 
9660
                        for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
 
9661
                                NDR_CHECK(ndr_push_unique_ptr(ndr, (*r->out.ous)[cntr_ous_2]));
 
9662
                        }
 
9663
                        for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
 
9664
                                if ((*r->out.ous)[cntr_ous_2]) {
 
9665
                                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16)));
 
9666
                                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9667
                                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16)));
 
9668
                                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, (*r->out.ous)[cntr_ous_2], ndr_charset_length((*r->out.ous)[cntr_ous_2], CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9669
                                }
 
9670
                        }
 
9671
                }
 
9672
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
9673
        }
 
9674
        return NDR_ERR_SUCCESS;
 
9675
}
 
9676
 
 
9677
static enum ndr_err_code ndr_pull_wkssvc_NetrGetJoinableOus2(struct ndr_pull *ndr, int flags, struct wkssvc_NetrGetJoinableOus2 *r)
 
9678
{
 
9679
        uint32_t _ptr_server_name;
 
9680
        uint32_t _ptr_Account;
 
9681
        uint32_t _ptr_EncryptedPassword;
 
9682
        uint32_t _ptr_ous;
 
9683
        uint32_t cntr_ous_2;
 
9684
        TALLOC_CTX *_mem_save_server_name_0;
 
9685
        TALLOC_CTX *_mem_save_Account_0;
 
9686
        TALLOC_CTX *_mem_save_EncryptedPassword_0;
 
9687
        TALLOC_CTX *_mem_save_num_ous_0;
 
9688
        TALLOC_CTX *_mem_save_ous_0;
 
9689
        TALLOC_CTX *_mem_save_ous_1;
 
9690
        TALLOC_CTX *_mem_save_ous_2;
 
9691
        TALLOC_CTX *_mem_save_ous_3;
 
9692
        if (flags & NDR_IN) {
 
9693
                ZERO_STRUCT(r->out);
 
9694
 
 
9695
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
9696
                if (_ptr_server_name) {
 
9697
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
9698
                } else {
 
9699
                        r->in.server_name = NULL;
 
9700
                }
 
9701
                if (r->in.server_name) {
 
9702
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9703
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
9704
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
9705
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
9706
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
9707
                                return 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));
 
9708
                        }
 
9709
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
9710
                        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));
 
9711
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
9712
                }
 
9713
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
 
9714
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
 
9715
                if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
 
9716
                        return 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));
 
9717
                }
 
9718
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint16_t)));
 
9719
                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));
 
9720
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
9721
                if (_ptr_Account) {
 
9722
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
9723
                } else {
 
9724
                        r->in.Account = NULL;
 
9725
                }
 
9726
                if (r->in.Account) {
 
9727
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9728
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
9729
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
9730
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
9731
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
9732
                                return 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), ndr_get_array_length(ndr, &r->in.Account));
 
9733
                        }
 
9734
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
9735
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
9736
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
9737
                }
 
9738
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
 
9739
                if (_ptr_EncryptedPassword) {
 
9740
                        NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword);
 
9741
                } else {
 
9742
                        r->in.EncryptedPassword = NULL;
 
9743
                }
 
9744
                if (r->in.EncryptedPassword) {
 
9745
                        _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9746
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0);
 
9747
                        NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
9748
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0);
 
9749
                }
 
9750
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
9751
                        NDR_PULL_ALLOC(ndr, r->in.num_ous);
 
9752
                }
 
9753
                _mem_save_num_ous_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9754
                NDR_PULL_SET_MEM_CTX(ndr, r->in.num_ous, LIBNDR_FLAG_REF_ALLOC);
 
9755
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.num_ous));
 
9756
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ous_0, LIBNDR_FLAG_REF_ALLOC);
 
9757
                NDR_PULL_ALLOC(ndr, r->out.num_ous);
 
9758
                *r->out.num_ous = *r->in.num_ous;
 
9759
                NDR_PULL_ALLOC(ndr, r->out.ous);
 
9760
                ZERO_STRUCTP(r->out.ous);
 
9761
        }
 
9762
        if (flags & NDR_OUT) {
 
9763
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
9764
                        NDR_PULL_ALLOC(ndr, r->out.num_ous);
 
9765
                }
 
9766
                _mem_save_num_ous_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9767
                NDR_PULL_SET_MEM_CTX(ndr, r->out.num_ous, LIBNDR_FLAG_REF_ALLOC);
 
9768
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_ous));
 
9769
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ous_0, LIBNDR_FLAG_REF_ALLOC);
 
9770
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
9771
                        NDR_PULL_ALLOC(ndr, r->out.ous);
 
9772
                }
 
9773
                _mem_save_ous_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9774
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ous, LIBNDR_FLAG_REF_ALLOC);
 
9775
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ous));
 
9776
                if (_ptr_ous) {
 
9777
                        NDR_PULL_ALLOC(ndr, *r->out.ous);
 
9778
                } else {
 
9779
                        *r->out.ous = NULL;
 
9780
                }
 
9781
                if (*r->out.ous) {
 
9782
                        _mem_save_ous_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
9783
                        NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0);
 
9784
                        NDR_CHECK(ndr_pull_array_size(ndr, r->out.ous));
 
9785
                        NDR_PULL_ALLOC_N(ndr, *r->out.ous, ndr_get_array_size(ndr, r->out.ous));
 
9786
                        _mem_save_ous_2 = NDR_PULL_GET_MEM_CTX(ndr);
 
9787
                        NDR_PULL_SET_MEM_CTX(ndr, *r->out.ous, 0);
 
9788
                        for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
 
9789
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ous));
 
9790
                                if (_ptr_ous) {
 
9791
                                        NDR_PULL_ALLOC(ndr, (*r->out.ous)[cntr_ous_2]);
 
9792
                                } else {
 
9793
                                        (*r->out.ous)[cntr_ous_2] = NULL;
 
9794
                                }
 
9795
                        }
 
9796
                        for (cntr_ous_2 = 0; cntr_ous_2 < *r->out.num_ous; cntr_ous_2++) {
 
9797
                                if ((*r->out.ous)[cntr_ous_2]) {
 
9798
                                        _mem_save_ous_3 = NDR_PULL_GET_MEM_CTX(ndr);
 
9799
                                        NDR_PULL_SET_MEM_CTX(ndr, (*r->out.ous)[cntr_ous_2], 0);
 
9800
                                        NDR_CHECK(ndr_pull_array_size(ndr, &(*r->out.ous)[cntr_ous_2]));
 
9801
                                        NDR_CHECK(ndr_pull_array_length(ndr, &(*r->out.ous)[cntr_ous_2]));
 
9802
                                        if (ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]) > ndr_get_array_size(ndr, &(*r->out.ous)[cntr_ous_2])) {
 
9803
                                                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.ous)[cntr_ous_2]), ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]));
 
9804
                                        }
 
9805
                                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t)));
 
9806
                                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &(*r->out.ous)[cntr_ous_2], ndr_get_array_length(ndr, &(*r->out.ous)[cntr_ous_2]), sizeof(uint16_t), CH_UTF16));
 
9807
                                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_3, 0);
 
9808
                                }
 
9809
                        }
 
9810
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_2, 0);
 
9811
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_1, 0);
 
9812
                }
 
9813
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ous_0, LIBNDR_FLAG_REF_ALLOC);
 
9814
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
9815
                if (*r->out.ous) {
 
9816
                        NDR_CHECK(ndr_check_array_size(ndr, (void*)r->out.ous, *r->out.num_ous));
 
9817
                }
 
9818
        }
 
9819
        return NDR_ERR_SUCCESS;
 
9820
}
 
9821
 
 
9822
_PUBLIC_ void ndr_print_wkssvc_NetrGetJoinableOus2(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrGetJoinableOus2 *r)
 
9823
{
 
9824
        uint32_t cntr_ous_2;
 
9825
        ndr_print_struct(ndr, name, "wkssvc_NetrGetJoinableOus2");
 
9826
        ndr->depth++;
 
9827
        if (flags & NDR_SET_VALUES) {
 
9828
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
9829
        }
 
9830
        if (flags & NDR_IN) {
 
9831
                ndr_print_struct(ndr, "in", "wkssvc_NetrGetJoinableOus2");
 
9832
                ndr->depth++;
 
9833
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
9834
                ndr->depth++;
 
9835
                if (r->in.server_name) {
 
9836
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
9837
                }
 
9838
                ndr->depth--;
 
9839
                ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
 
9840
                ndr->depth++;
 
9841
                ndr_print_string(ndr, "domain_name", r->in.domain_name);
 
9842
                ndr->depth--;
 
9843
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
9844
                ndr->depth++;
 
9845
                if (r->in.Account) {
 
9846
                        ndr_print_string(ndr, "Account", r->in.Account);
 
9847
                }
 
9848
                ndr->depth--;
 
9849
                ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
9850
                ndr->depth++;
 
9851
                if (r->in.EncryptedPassword) {
 
9852
                        ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
9853
                }
 
9854
                ndr->depth--;
 
9855
                ndr_print_ptr(ndr, "num_ous", r->in.num_ous);
 
9856
                ndr->depth++;
 
9857
                ndr_print_uint32(ndr, "num_ous", *r->in.num_ous);
 
9858
                ndr->depth--;
 
9859
                ndr->depth--;
 
9860
        }
 
9861
        if (flags & NDR_OUT) {
 
9862
                ndr_print_struct(ndr, "out", "wkssvc_NetrGetJoinableOus2");
 
9863
                ndr->depth++;
 
9864
                ndr_print_ptr(ndr, "num_ous", r->out.num_ous);
 
9865
                ndr->depth++;
 
9866
                ndr_print_uint32(ndr, "num_ous", *r->out.num_ous);
 
9867
                ndr->depth--;
 
9868
                ndr_print_ptr(ndr, "ous", r->out.ous);
 
9869
                ndr->depth++;
 
9870
                ndr_print_ptr(ndr, "ous", *r->out.ous);
 
9871
                ndr->depth++;
 
9872
                if (*r->out.ous) {
 
9873
                        ndr->print(ndr, "%s: ARRAY(%d)", "ous", (int)*r->out.num_ous);
 
9874
                        ndr->depth++;
 
9875
                        for (cntr_ous_2=0;cntr_ous_2<*r->out.num_ous;cntr_ous_2++) {
 
9876
                                char *idx_2=NULL;
 
9877
                                if (asprintf(&idx_2, "[%d]", cntr_ous_2) != -1) {
 
9878
                                        ndr_print_ptr(ndr, "ous", (*r->out.ous)[cntr_ous_2]);
 
9879
                                        ndr->depth++;
 
9880
                                        if ((*r->out.ous)[cntr_ous_2]) {
 
9881
                                                ndr_print_string(ndr, "ous", (*r->out.ous)[cntr_ous_2]);
 
9882
                                        }
 
9883
                                        ndr->depth--;
 
9884
                                        free(idx_2);
 
9885
                                }
 
9886
                        }
 
9887
                        ndr->depth--;
 
9888
                }
 
9889
                ndr->depth--;
 
9890
                ndr->depth--;
 
9891
                ndr_print_WERROR(ndr, "result", r->out.result);
 
9892
                ndr->depth--;
 
9893
        }
 
9894
        ndr->depth--;
 
9895
}
 
9896
 
 
9897
static enum ndr_err_code ndr_push_wkssvc_NetrAddAlternateComputerName(struct ndr_push *ndr, int flags, const struct wkssvc_NetrAddAlternateComputerName *r)
 
9898
{
 
9899
        if (flags & NDR_IN) {
 
9900
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
9901
                if (r->in.server_name) {
 
9902
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
9903
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9904
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
9905
                        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));
 
9906
                }
 
9907
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.NewAlternateMachineName));
 
9908
                if (r->in.NewAlternateMachineName) {
 
9909
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewAlternateMachineName, CH_UTF16)));
 
9910
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9911
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.NewAlternateMachineName, CH_UTF16)));
 
9912
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.NewAlternateMachineName, ndr_charset_length(r->in.NewAlternateMachineName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9913
                }
 
9914
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
9915
                if (r->in.Account) {
 
9916
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
9917
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
9918
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
9919
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
9920
                }
 
9921
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword));
 
9922
                if (r->in.EncryptedPassword) {
 
9923
                        NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
9924
                }
 
9925
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Reserved));
 
9926
        }
 
9927
        if (flags & NDR_OUT) {
 
9928
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
9929
        }
 
9930
        return NDR_ERR_SUCCESS;
 
9931
}
 
9932
 
 
9933
static enum ndr_err_code ndr_pull_wkssvc_NetrAddAlternateComputerName(struct ndr_pull *ndr, int flags, struct wkssvc_NetrAddAlternateComputerName *r)
 
9934
{
 
9935
        uint32_t _ptr_server_name;
 
9936
        uint32_t _ptr_NewAlternateMachineName;
 
9937
        uint32_t _ptr_Account;
 
9938
        uint32_t _ptr_EncryptedPassword;
 
9939
        TALLOC_CTX *_mem_save_server_name_0;
 
9940
        TALLOC_CTX *_mem_save_NewAlternateMachineName_0;
 
9941
        TALLOC_CTX *_mem_save_Account_0;
 
9942
        TALLOC_CTX *_mem_save_EncryptedPassword_0;
 
9943
        if (flags & NDR_IN) {
 
9944
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
9945
                if (_ptr_server_name) {
 
9946
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
9947
                } else {
 
9948
                        r->in.server_name = NULL;
 
9949
                }
 
9950
                if (r->in.server_name) {
 
9951
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9952
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
9953
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
9954
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
9955
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
9956
                                return 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));
 
9957
                        }
 
9958
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
9959
                        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));
 
9960
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
9961
                }
 
9962
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_NewAlternateMachineName));
 
9963
                if (_ptr_NewAlternateMachineName) {
 
9964
                        NDR_PULL_ALLOC(ndr, r->in.NewAlternateMachineName);
 
9965
                } else {
 
9966
                        r->in.NewAlternateMachineName = NULL;
 
9967
                }
 
9968
                if (r->in.NewAlternateMachineName) {
 
9969
                        _mem_save_NewAlternateMachineName_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9970
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.NewAlternateMachineName, 0);
 
9971
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.NewAlternateMachineName));
 
9972
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.NewAlternateMachineName));
 
9973
                        if (ndr_get_array_length(ndr, &r->in.NewAlternateMachineName) > ndr_get_array_size(ndr, &r->in.NewAlternateMachineName)) {
 
9974
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.NewAlternateMachineName), ndr_get_array_length(ndr, &r->in.NewAlternateMachineName));
 
9975
                        }
 
9976
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.NewAlternateMachineName), sizeof(uint16_t)));
 
9977
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.NewAlternateMachineName, ndr_get_array_length(ndr, &r->in.NewAlternateMachineName), sizeof(uint16_t), CH_UTF16));
 
9978
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_NewAlternateMachineName_0, 0);
 
9979
                }
 
9980
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
9981
                if (_ptr_Account) {
 
9982
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
9983
                } else {
 
9984
                        r->in.Account = NULL;
 
9985
                }
 
9986
                if (r->in.Account) {
 
9987
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
9988
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
9989
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
9990
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
9991
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
9992
                                return 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), ndr_get_array_length(ndr, &r->in.Account));
 
9993
                        }
 
9994
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
9995
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
9996
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
9997
                }
 
9998
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
 
9999
                if (_ptr_EncryptedPassword) {
 
10000
                        NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword);
 
10001
                } else {
 
10002
                        r->in.EncryptedPassword = NULL;
 
10003
                }
 
10004
                if (r->in.EncryptedPassword) {
 
10005
                        _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10006
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0);
 
10007
                        NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
10008
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0);
 
10009
                }
 
10010
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Reserved));
 
10011
        }
 
10012
        if (flags & NDR_OUT) {
 
10013
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
10014
        }
 
10015
        return NDR_ERR_SUCCESS;
 
10016
}
 
10017
 
 
10018
_PUBLIC_ void ndr_print_wkssvc_NetrAddAlternateComputerName(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrAddAlternateComputerName *r)
 
10019
{
 
10020
        ndr_print_struct(ndr, name, "wkssvc_NetrAddAlternateComputerName");
 
10021
        ndr->depth++;
 
10022
        if (flags & NDR_SET_VALUES) {
 
10023
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
10024
        }
 
10025
        if (flags & NDR_IN) {
 
10026
                ndr_print_struct(ndr, "in", "wkssvc_NetrAddAlternateComputerName");
 
10027
                ndr->depth++;
 
10028
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
10029
                ndr->depth++;
 
10030
                if (r->in.server_name) {
 
10031
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
10032
                }
 
10033
                ndr->depth--;
 
10034
                ndr_print_ptr(ndr, "NewAlternateMachineName", r->in.NewAlternateMachineName);
 
10035
                ndr->depth++;
 
10036
                if (r->in.NewAlternateMachineName) {
 
10037
                        ndr_print_string(ndr, "NewAlternateMachineName", r->in.NewAlternateMachineName);
 
10038
                }
 
10039
                ndr->depth--;
 
10040
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
10041
                ndr->depth++;
 
10042
                if (r->in.Account) {
 
10043
                        ndr_print_string(ndr, "Account", r->in.Account);
 
10044
                }
 
10045
                ndr->depth--;
 
10046
                ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
10047
                ndr->depth++;
 
10048
                if (r->in.EncryptedPassword) {
 
10049
                        ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
10050
                }
 
10051
                ndr->depth--;
 
10052
                ndr_print_uint32(ndr, "Reserved", r->in.Reserved);
 
10053
                ndr->depth--;
 
10054
        }
 
10055
        if (flags & NDR_OUT) {
 
10056
                ndr_print_struct(ndr, "out", "wkssvc_NetrAddAlternateComputerName");
 
10057
                ndr->depth++;
 
10058
                ndr_print_WERROR(ndr, "result", r->out.result);
 
10059
                ndr->depth--;
 
10060
        }
 
10061
        ndr->depth--;
 
10062
}
 
10063
 
 
10064
static enum ndr_err_code ndr_push_wkssvc_NetrRemoveAlternateComputerName(struct ndr_push *ndr, int flags, const struct wkssvc_NetrRemoveAlternateComputerName *r)
 
10065
{
 
10066
        if (flags & NDR_IN) {
 
10067
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
10068
                if (r->in.server_name) {
 
10069
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
10070
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
10071
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
10072
                        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));
 
10073
                }
 
10074
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.AlternateMachineNameToRemove));
 
10075
                if (r->in.AlternateMachineNameToRemove) {
 
10076
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.AlternateMachineNameToRemove, CH_UTF16)));
 
10077
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
10078
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.AlternateMachineNameToRemove, CH_UTF16)));
 
10079
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.AlternateMachineNameToRemove, ndr_charset_length(r->in.AlternateMachineNameToRemove, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
10080
                }
 
10081
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
10082
                if (r->in.Account) {
 
10083
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
10084
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
10085
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
10086
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
10087
                }
 
10088
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword));
 
10089
                if (r->in.EncryptedPassword) {
 
10090
                        NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
10091
                }
 
10092
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Reserved));
 
10093
        }
 
10094
        if (flags & NDR_OUT) {
 
10095
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
10096
        }
 
10097
        return NDR_ERR_SUCCESS;
 
10098
}
 
10099
 
 
10100
static enum ndr_err_code ndr_pull_wkssvc_NetrRemoveAlternateComputerName(struct ndr_pull *ndr, int flags, struct wkssvc_NetrRemoveAlternateComputerName *r)
 
10101
{
 
10102
        uint32_t _ptr_server_name;
 
10103
        uint32_t _ptr_AlternateMachineNameToRemove;
 
10104
        uint32_t _ptr_Account;
 
10105
        uint32_t _ptr_EncryptedPassword;
 
10106
        TALLOC_CTX *_mem_save_server_name_0;
 
10107
        TALLOC_CTX *_mem_save_AlternateMachineNameToRemove_0;
 
10108
        TALLOC_CTX *_mem_save_Account_0;
 
10109
        TALLOC_CTX *_mem_save_EncryptedPassword_0;
 
10110
        if (flags & NDR_IN) {
 
10111
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
10112
                if (_ptr_server_name) {
 
10113
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
10114
                } else {
 
10115
                        r->in.server_name = NULL;
 
10116
                }
 
10117
                if (r->in.server_name) {
 
10118
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10119
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
10120
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
10121
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
10122
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
10123
                                return 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));
 
10124
                        }
 
10125
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
10126
                        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));
 
10127
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
10128
                }
 
10129
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_AlternateMachineNameToRemove));
 
10130
                if (_ptr_AlternateMachineNameToRemove) {
 
10131
                        NDR_PULL_ALLOC(ndr, r->in.AlternateMachineNameToRemove);
 
10132
                } else {
 
10133
                        r->in.AlternateMachineNameToRemove = NULL;
 
10134
                }
 
10135
                if (r->in.AlternateMachineNameToRemove) {
 
10136
                        _mem_save_AlternateMachineNameToRemove_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10137
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.AlternateMachineNameToRemove, 0);
 
10138
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.AlternateMachineNameToRemove));
 
10139
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.AlternateMachineNameToRemove));
 
10140
                        if (ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove) > ndr_get_array_size(ndr, &r->in.AlternateMachineNameToRemove)) {
 
10141
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.AlternateMachineNameToRemove), ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove));
 
10142
                        }
 
10143
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove), sizeof(uint16_t)));
 
10144
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.AlternateMachineNameToRemove, ndr_get_array_length(ndr, &r->in.AlternateMachineNameToRemove), sizeof(uint16_t), CH_UTF16));
 
10145
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_AlternateMachineNameToRemove_0, 0);
 
10146
                }
 
10147
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
10148
                if (_ptr_Account) {
 
10149
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
10150
                } else {
 
10151
                        r->in.Account = NULL;
 
10152
                }
 
10153
                if (r->in.Account) {
 
10154
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10155
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
10156
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
10157
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
10158
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
10159
                                return 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), ndr_get_array_length(ndr, &r->in.Account));
 
10160
                        }
 
10161
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
10162
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
10163
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
10164
                }
 
10165
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
 
10166
                if (_ptr_EncryptedPassword) {
 
10167
                        NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword);
 
10168
                } else {
 
10169
                        r->in.EncryptedPassword = NULL;
 
10170
                }
 
10171
                if (r->in.EncryptedPassword) {
 
10172
                        _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10173
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0);
 
10174
                        NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
10175
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0);
 
10176
                }
 
10177
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Reserved));
 
10178
        }
 
10179
        if (flags & NDR_OUT) {
 
10180
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
10181
        }
 
10182
        return NDR_ERR_SUCCESS;
 
10183
}
 
10184
 
 
10185
_PUBLIC_ void ndr_print_wkssvc_NetrRemoveAlternateComputerName(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrRemoveAlternateComputerName *r)
 
10186
{
 
10187
        ndr_print_struct(ndr, name, "wkssvc_NetrRemoveAlternateComputerName");
 
10188
        ndr->depth++;
 
10189
        if (flags & NDR_SET_VALUES) {
 
10190
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
10191
        }
 
10192
        if (flags & NDR_IN) {
 
10193
                ndr_print_struct(ndr, "in", "wkssvc_NetrRemoveAlternateComputerName");
 
10194
                ndr->depth++;
 
10195
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
10196
                ndr->depth++;
 
10197
                if (r->in.server_name) {
 
10198
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
10199
                }
 
10200
                ndr->depth--;
 
10201
                ndr_print_ptr(ndr, "AlternateMachineNameToRemove", r->in.AlternateMachineNameToRemove);
 
10202
                ndr->depth++;
 
10203
                if (r->in.AlternateMachineNameToRemove) {
 
10204
                        ndr_print_string(ndr, "AlternateMachineNameToRemove", r->in.AlternateMachineNameToRemove);
 
10205
                }
 
10206
                ndr->depth--;
 
10207
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
10208
                ndr->depth++;
 
10209
                if (r->in.Account) {
 
10210
                        ndr_print_string(ndr, "Account", r->in.Account);
 
10211
                }
 
10212
                ndr->depth--;
 
10213
                ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
10214
                ndr->depth++;
 
10215
                if (r->in.EncryptedPassword) {
 
10216
                        ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
10217
                }
 
10218
                ndr->depth--;
 
10219
                ndr_print_uint32(ndr, "Reserved", r->in.Reserved);
 
10220
                ndr->depth--;
 
10221
        }
 
10222
        if (flags & NDR_OUT) {
 
10223
                ndr_print_struct(ndr, "out", "wkssvc_NetrRemoveAlternateComputerName");
 
10224
                ndr->depth++;
 
10225
                ndr_print_WERROR(ndr, "result", r->out.result);
 
10226
                ndr->depth--;
 
10227
        }
 
10228
        ndr->depth--;
 
10229
}
 
10230
 
 
10231
static enum ndr_err_code ndr_push_wkssvc_NetrSetPrimaryComputername(struct ndr_push *ndr, int flags, const struct wkssvc_NetrSetPrimaryComputername *r)
 
10232
{
 
10233
        if (flags & NDR_IN) {
 
10234
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
10235
                if (r->in.server_name) {
 
10236
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
10237
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
10238
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
10239
                        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));
 
10240
                }
 
10241
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.primary_name));
 
10242
                if (r->in.primary_name) {
 
10243
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.primary_name, CH_UTF16)));
 
10244
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
10245
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.primary_name, CH_UTF16)));
 
10246
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.primary_name, ndr_charset_length(r->in.primary_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
10247
                }
 
10248
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.Account));
 
10249
                if (r->in.Account) {
 
10250
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
10251
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
10252
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Account, CH_UTF16)));
 
10253
                        NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Account, ndr_charset_length(r->in.Account, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 
10254
                }
 
10255
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.EncryptedPassword));
 
10256
                if (r->in.EncryptedPassword) {
 
10257
                        NDR_CHECK(ndr_push_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
10258
                }
 
10259
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Reserved));
 
10260
        }
 
10261
        if (flags & NDR_OUT) {
 
10262
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
10263
        }
 
10264
        return NDR_ERR_SUCCESS;
 
10265
}
 
10266
 
 
10267
static enum ndr_err_code ndr_pull_wkssvc_NetrSetPrimaryComputername(struct ndr_pull *ndr, int flags, struct wkssvc_NetrSetPrimaryComputername *r)
 
10268
{
 
10269
        uint32_t _ptr_server_name;
 
10270
        uint32_t _ptr_primary_name;
 
10271
        uint32_t _ptr_Account;
 
10272
        uint32_t _ptr_EncryptedPassword;
 
10273
        TALLOC_CTX *_mem_save_server_name_0;
 
10274
        TALLOC_CTX *_mem_save_primary_name_0;
 
10275
        TALLOC_CTX *_mem_save_Account_0;
 
10276
        TALLOC_CTX *_mem_save_EncryptedPassword_0;
 
10277
        if (flags & NDR_IN) {
 
10278
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
10279
                if (_ptr_server_name) {
 
10280
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
10281
                } else {
 
10282
                        r->in.server_name = NULL;
 
10283
                }
 
10284
                if (r->in.server_name) {
 
10285
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10286
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
10287
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
10288
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
10289
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
10290
                                return 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));
 
10291
                        }
 
10292
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
10293
                        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));
 
10294
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
10295
                }
 
10296
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_primary_name));
 
10297
                if (_ptr_primary_name) {
 
10298
                        NDR_PULL_ALLOC(ndr, r->in.primary_name);
 
10299
                } else {
 
10300
                        r->in.primary_name = NULL;
 
10301
                }
 
10302
                if (r->in.primary_name) {
 
10303
                        _mem_save_primary_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10304
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.primary_name, 0);
 
10305
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.primary_name));
 
10306
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.primary_name));
 
10307
                        if (ndr_get_array_length(ndr, &r->in.primary_name) > ndr_get_array_size(ndr, &r->in.primary_name)) {
 
10308
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.primary_name), ndr_get_array_length(ndr, &r->in.primary_name));
 
10309
                        }
 
10310
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.primary_name), sizeof(uint16_t)));
 
10311
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.primary_name, ndr_get_array_length(ndr, &r->in.primary_name), sizeof(uint16_t), CH_UTF16));
 
10312
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_primary_name_0, 0);
 
10313
                }
 
10314
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_Account));
 
10315
                if (_ptr_Account) {
 
10316
                        NDR_PULL_ALLOC(ndr, r->in.Account);
 
10317
                } else {
 
10318
                        r->in.Account = NULL;
 
10319
                }
 
10320
                if (r->in.Account) {
 
10321
                        _mem_save_Account_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10322
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.Account, 0);
 
10323
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Account));
 
10324
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Account));
 
10325
                        if (ndr_get_array_length(ndr, &r->in.Account) > ndr_get_array_size(ndr, &r->in.Account)) {
 
10326
                                return 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), ndr_get_array_length(ndr, &r->in.Account));
 
10327
                        }
 
10328
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t)));
 
10329
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Account, ndr_get_array_length(ndr, &r->in.Account), sizeof(uint16_t), CH_UTF16));
 
10330
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Account_0, 0);
 
10331
                }
 
10332
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_EncryptedPassword));
 
10333
                if (_ptr_EncryptedPassword) {
 
10334
                        NDR_PULL_ALLOC(ndr, r->in.EncryptedPassword);
 
10335
                } else {
 
10336
                        r->in.EncryptedPassword = NULL;
 
10337
                }
 
10338
                if (r->in.EncryptedPassword) {
 
10339
                        _mem_save_EncryptedPassword_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10340
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.EncryptedPassword, 0);
 
10341
                        NDR_CHECK(ndr_pull_wkssvc_PasswordBuffer(ndr, NDR_SCALARS, r->in.EncryptedPassword));
 
10342
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_EncryptedPassword_0, 0);
 
10343
                }
 
10344
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Reserved));
 
10345
        }
 
10346
        if (flags & NDR_OUT) {
 
10347
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
10348
        }
 
10349
        return NDR_ERR_SUCCESS;
 
10350
}
 
10351
 
 
10352
_PUBLIC_ void ndr_print_wkssvc_NetrSetPrimaryComputername(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrSetPrimaryComputername *r)
 
10353
{
 
10354
        ndr_print_struct(ndr, name, "wkssvc_NetrSetPrimaryComputername");
 
10355
        ndr->depth++;
 
10356
        if (flags & NDR_SET_VALUES) {
 
10357
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
10358
        }
 
10359
        if (flags & NDR_IN) {
 
10360
                ndr_print_struct(ndr, "in", "wkssvc_NetrSetPrimaryComputername");
 
10361
                ndr->depth++;
 
10362
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
10363
                ndr->depth++;
 
10364
                if (r->in.server_name) {
 
10365
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
10366
                }
 
10367
                ndr->depth--;
 
10368
                ndr_print_ptr(ndr, "primary_name", r->in.primary_name);
 
10369
                ndr->depth++;
 
10370
                if (r->in.primary_name) {
 
10371
                        ndr_print_string(ndr, "primary_name", r->in.primary_name);
 
10372
                }
 
10373
                ndr->depth--;
 
10374
                ndr_print_ptr(ndr, "Account", r->in.Account);
 
10375
                ndr->depth++;
 
10376
                if (r->in.Account) {
 
10377
                        ndr_print_string(ndr, "Account", r->in.Account);
 
10378
                }
 
10379
                ndr->depth--;
 
10380
                ndr_print_ptr(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
10381
                ndr->depth++;
 
10382
                if (r->in.EncryptedPassword) {
 
10383
                        ndr_print_wkssvc_PasswordBuffer(ndr, "EncryptedPassword", r->in.EncryptedPassword);
 
10384
                }
 
10385
                ndr->depth--;
 
10386
                ndr_print_uint32(ndr, "Reserved", r->in.Reserved);
 
10387
                ndr->depth--;
 
10388
        }
 
10389
        if (flags & NDR_OUT) {
 
10390
                ndr_print_struct(ndr, "out", "wkssvc_NetrSetPrimaryComputername");
 
10391
                ndr->depth++;
 
10392
                ndr_print_WERROR(ndr, "result", r->out.result);
 
10393
                ndr->depth--;
 
10394
        }
 
10395
        ndr->depth--;
 
10396
}
 
10397
 
 
10398
static enum ndr_err_code ndr_push_wkssvc_NetrEnumerateComputerNames(struct ndr_push *ndr, int flags, const struct wkssvc_NetrEnumerateComputerNames *r)
 
10399
{
 
10400
        if (flags & NDR_IN) {
 
10401
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
 
10402
                if (r->in.server_name) {
 
10403
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
10404
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
 
10405
                        NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16)));
 
10406
                        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));
 
10407
                }
 
10408
                NDR_CHECK(ndr_push_wkssvc_ComputerNameType(ndr, NDR_SCALARS, r->in.name_type));
 
10409
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Reserved));
 
10410
        }
 
10411
        if (flags & NDR_OUT) {
 
10412
                if (r->out.ctr == NULL) {
 
10413
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
 
10414
                }
 
10415
                NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.ctr));
 
10416
                if (*r->out.ctr) {
 
10417
                        NDR_CHECK(ndr_push_wkssvc_ComputerNamesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
 
10418
                }
 
10419
                NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
 
10420
        }
 
10421
        return NDR_ERR_SUCCESS;
 
10422
}
 
10423
 
 
10424
static enum ndr_err_code ndr_pull_wkssvc_NetrEnumerateComputerNames(struct ndr_pull *ndr, int flags, struct wkssvc_NetrEnumerateComputerNames *r)
 
10425
{
 
10426
        uint32_t _ptr_server_name;
 
10427
        uint32_t _ptr_ctr;
 
10428
        TALLOC_CTX *_mem_save_server_name_0;
 
10429
        TALLOC_CTX *_mem_save_ctr_0;
 
10430
        TALLOC_CTX *_mem_save_ctr_1;
 
10431
        if (flags & NDR_IN) {
 
10432
                ZERO_STRUCT(r->out);
 
10433
 
 
10434
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
 
10435
                if (_ptr_server_name) {
 
10436
                        NDR_PULL_ALLOC(ndr, r->in.server_name);
 
10437
                } else {
 
10438
                        r->in.server_name = NULL;
 
10439
                }
 
10440
                if (r->in.server_name) {
 
10441
                        _mem_save_server_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10442
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.server_name, 0);
 
10443
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name));
 
10444
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name));
 
10445
                        if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) {
 
10446
                                return 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));
 
10447
                        }
 
10448
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t)));
 
10449
                        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));
 
10450
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
 
10451
                }
 
10452
                NDR_CHECK(ndr_pull_wkssvc_ComputerNameType(ndr, NDR_SCALARS, &r->in.name_type));
 
10453
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Reserved));
 
10454
                NDR_PULL_ALLOC(ndr, r->out.ctr);
 
10455
                ZERO_STRUCTP(r->out.ctr);
 
10456
        }
 
10457
        if (flags & NDR_OUT) {
 
10458
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
 
10459
                        NDR_PULL_ALLOC(ndr, r->out.ctr);
 
10460
                }
 
10461
                _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
 
10462
                NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
 
10463
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ctr));
 
10464
                if (_ptr_ctr) {
 
10465
                        NDR_PULL_ALLOC(ndr, *r->out.ctr);
 
10466
                } else {
 
10467
                        *r->out.ctr = NULL;
 
10468
                }
 
10469
                if (*r->out.ctr) {
 
10470
                        _mem_save_ctr_1 = NDR_PULL_GET_MEM_CTX(ndr);
 
10471
                        NDR_PULL_SET_MEM_CTX(ndr, *r->out.ctr, 0);
 
10472
                        NDR_CHECK(ndr_pull_wkssvc_ComputerNamesCtr(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.ctr));
 
10473
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_1, 0);
 
10474
                }
 
10475
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
 
10476
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
 
10477
        }
 
10478
        return NDR_ERR_SUCCESS;
 
10479
}
 
10480
 
 
10481
_PUBLIC_ void ndr_print_wkssvc_NetrEnumerateComputerNames(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrEnumerateComputerNames *r)
 
10482
{
 
10483
        ndr_print_struct(ndr, name, "wkssvc_NetrEnumerateComputerNames");
 
10484
        ndr->depth++;
 
10485
        if (flags & NDR_SET_VALUES) {
 
10486
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
 
10487
        }
 
10488
        if (flags & NDR_IN) {
 
10489
                ndr_print_struct(ndr, "in", "wkssvc_NetrEnumerateComputerNames");
 
10490
                ndr->depth++;
 
10491
                ndr_print_ptr(ndr, "server_name", r->in.server_name);
 
10492
                ndr->depth++;
 
10493
                if (r->in.server_name) {
 
10494
                        ndr_print_string(ndr, "server_name", r->in.server_name);
 
10495
                }
 
10496
                ndr->depth--;
 
10497
                ndr_print_wkssvc_ComputerNameType(ndr, "name_type", r->in.name_type);
 
10498
                ndr_print_uint32(ndr, "Reserved", r->in.Reserved);
 
10499
                ndr->depth--;
 
10500
        }
 
10501
        if (flags & NDR_OUT) {
 
10502
                ndr_print_struct(ndr, "out", "wkssvc_NetrEnumerateComputerNames");
 
10503
                ndr->depth++;
 
10504
                ndr_print_ptr(ndr, "ctr", r->out.ctr);
 
10505
                ndr->depth++;
 
10506
                ndr_print_ptr(ndr, "ctr", *r->out.ctr);
 
10507
                ndr->depth++;
 
10508
                if (*r->out.ctr) {
 
10509
                        ndr_print_wkssvc_ComputerNamesCtr(ndr, "ctr", *r->out.ctr);
 
10510
                }
 
10511
                ndr->depth--;
 
10512
                ndr->depth--;
 
10513
                ndr_print_WERROR(ndr, "result", r->out.result);
 
10514
                ndr->depth--;
 
10515
        }
 
10516
        ndr->depth--;
 
10517
}
 
10518
 
 
10519
static const struct ndr_interface_call wkssvc_calls[] = {
 
10520
        {
 
10521
                "wkssvc_NetWkstaGetInfo",
 
10522
                sizeof(struct wkssvc_NetWkstaGetInfo),
 
10523
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetWkstaGetInfo,
 
10524
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetWkstaGetInfo,
 
10525
                (ndr_print_function_t) ndr_print_wkssvc_NetWkstaGetInfo,
 
10526
                false,
 
10527
        },
 
10528
        {
 
10529
                "wkssvc_NetWkstaSetInfo",
 
10530
                sizeof(struct wkssvc_NetWkstaSetInfo),
 
10531
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetWkstaSetInfo,
 
10532
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetWkstaSetInfo,
 
10533
                (ndr_print_function_t) ndr_print_wkssvc_NetWkstaSetInfo,
 
10534
                false,
 
10535
        },
 
10536
        {
 
10537
                "wkssvc_NetWkstaEnumUsers",
 
10538
                sizeof(struct wkssvc_NetWkstaEnumUsers),
 
10539
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetWkstaEnumUsers,
 
10540
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetWkstaEnumUsers,
 
10541
                (ndr_print_function_t) ndr_print_wkssvc_NetWkstaEnumUsers,
 
10542
                false,
 
10543
        },
 
10544
        {
 
10545
                "wkssvc_NetrWkstaUserGetInfo",
 
10546
                sizeof(struct wkssvc_NetrWkstaUserGetInfo),
 
10547
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrWkstaUserGetInfo,
 
10548
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrWkstaUserGetInfo,
 
10549
                (ndr_print_function_t) ndr_print_wkssvc_NetrWkstaUserGetInfo,
 
10550
                false,
 
10551
        },
 
10552
        {
 
10553
                "wkssvc_NetrWkstaUserSetInfo",
 
10554
                sizeof(struct wkssvc_NetrWkstaUserSetInfo),
 
10555
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrWkstaUserSetInfo,
 
10556
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrWkstaUserSetInfo,
 
10557
                (ndr_print_function_t) ndr_print_wkssvc_NetrWkstaUserSetInfo,
 
10558
                false,
 
10559
        },
 
10560
        {
 
10561
                "wkssvc_NetWkstaTransportEnum",
 
10562
                sizeof(struct wkssvc_NetWkstaTransportEnum),
 
10563
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetWkstaTransportEnum,
 
10564
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetWkstaTransportEnum,
 
10565
                (ndr_print_function_t) ndr_print_wkssvc_NetWkstaTransportEnum,
 
10566
                false,
 
10567
        },
 
10568
        {
 
10569
                "wkssvc_NetrWkstaTransportAdd",
 
10570
                sizeof(struct wkssvc_NetrWkstaTransportAdd),
 
10571
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrWkstaTransportAdd,
 
10572
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrWkstaTransportAdd,
 
10573
                (ndr_print_function_t) ndr_print_wkssvc_NetrWkstaTransportAdd,
 
10574
                false,
 
10575
        },
 
10576
        {
 
10577
                "wkssvc_NetrWkstaTransportDel",
 
10578
                sizeof(struct wkssvc_NetrWkstaTransportDel),
 
10579
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrWkstaTransportDel,
 
10580
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrWkstaTransportDel,
 
10581
                (ndr_print_function_t) ndr_print_wkssvc_NetrWkstaTransportDel,
 
10582
                false,
 
10583
        },
 
10584
        {
 
10585
                "wkssvc_NetrUseAdd",
 
10586
                sizeof(struct wkssvc_NetrUseAdd),
 
10587
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUseAdd,
 
10588
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUseAdd,
 
10589
                (ndr_print_function_t) ndr_print_wkssvc_NetrUseAdd,
 
10590
                false,
 
10591
        },
 
10592
        {
 
10593
                "wkssvc_NetrUseGetInfo",
 
10594
                sizeof(struct wkssvc_NetrUseGetInfo),
 
10595
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUseGetInfo,
 
10596
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUseGetInfo,
 
10597
                (ndr_print_function_t) ndr_print_wkssvc_NetrUseGetInfo,
 
10598
                false,
 
10599
        },
 
10600
        {
 
10601
                "wkssvc_NetrUseDel",
 
10602
                sizeof(struct wkssvc_NetrUseDel),
 
10603
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUseDel,
 
10604
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUseDel,
 
10605
                (ndr_print_function_t) ndr_print_wkssvc_NetrUseDel,
 
10606
                false,
 
10607
        },
 
10608
        {
 
10609
                "wkssvc_NetrUseEnum",
 
10610
                sizeof(struct wkssvc_NetrUseEnum),
 
10611
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUseEnum,
 
10612
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUseEnum,
 
10613
                (ndr_print_function_t) ndr_print_wkssvc_NetrUseEnum,
 
10614
                false,
 
10615
        },
 
10616
        {
 
10617
                "wkssvc_NetrMessageBufferSend",
 
10618
                sizeof(struct wkssvc_NetrMessageBufferSend),
 
10619
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrMessageBufferSend,
 
10620
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrMessageBufferSend,
 
10621
                (ndr_print_function_t) ndr_print_wkssvc_NetrMessageBufferSend,
 
10622
                false,
 
10623
        },
 
10624
        {
 
10625
                "wkssvc_NetrWorkstationStatisticsGet",
 
10626
                sizeof(struct wkssvc_NetrWorkstationStatisticsGet),
 
10627
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrWorkstationStatisticsGet,
 
10628
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrWorkstationStatisticsGet,
 
10629
                (ndr_print_function_t) ndr_print_wkssvc_NetrWorkstationStatisticsGet,
 
10630
                false,
 
10631
        },
 
10632
        {
 
10633
                "wkssvc_NetrLogonDomainNameAdd",
 
10634
                sizeof(struct wkssvc_NetrLogonDomainNameAdd),
 
10635
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrLogonDomainNameAdd,
 
10636
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrLogonDomainNameAdd,
 
10637
                (ndr_print_function_t) ndr_print_wkssvc_NetrLogonDomainNameAdd,
 
10638
                false,
 
10639
        },
 
10640
        {
 
10641
                "wkssvc_NetrLogonDomainNameDel",
 
10642
                sizeof(struct wkssvc_NetrLogonDomainNameDel),
 
10643
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrLogonDomainNameDel,
 
10644
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrLogonDomainNameDel,
 
10645
                (ndr_print_function_t) ndr_print_wkssvc_NetrLogonDomainNameDel,
 
10646
                false,
 
10647
        },
 
10648
        {
 
10649
                "wkssvc_NetrJoinDomain",
 
10650
                sizeof(struct wkssvc_NetrJoinDomain),
 
10651
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrJoinDomain,
 
10652
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrJoinDomain,
 
10653
                (ndr_print_function_t) ndr_print_wkssvc_NetrJoinDomain,
 
10654
                false,
 
10655
        },
 
10656
        {
 
10657
                "wkssvc_NetrUnjoinDomain",
 
10658
                sizeof(struct wkssvc_NetrUnjoinDomain),
 
10659
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUnjoinDomain,
 
10660
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUnjoinDomain,
 
10661
                (ndr_print_function_t) ndr_print_wkssvc_NetrUnjoinDomain,
 
10662
                false,
 
10663
        },
 
10664
        {
 
10665
                "wkssvc_NetrRenameMachineInDomain",
 
10666
                sizeof(struct wkssvc_NetrRenameMachineInDomain),
 
10667
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrRenameMachineInDomain,
 
10668
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrRenameMachineInDomain,
 
10669
                (ndr_print_function_t) ndr_print_wkssvc_NetrRenameMachineInDomain,
 
10670
                false,
 
10671
        },
 
10672
        {
 
10673
                "wkssvc_NetrValidateName",
 
10674
                sizeof(struct wkssvc_NetrValidateName),
 
10675
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrValidateName,
 
10676
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrValidateName,
 
10677
                (ndr_print_function_t) ndr_print_wkssvc_NetrValidateName,
 
10678
                false,
 
10679
        },
 
10680
        {
 
10681
                "wkssvc_NetrGetJoinInformation",
 
10682
                sizeof(struct wkssvc_NetrGetJoinInformation),
 
10683
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrGetJoinInformation,
 
10684
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrGetJoinInformation,
 
10685
                (ndr_print_function_t) ndr_print_wkssvc_NetrGetJoinInformation,
 
10686
                false,
 
10687
        },
 
10688
        {
 
10689
                "wkssvc_NetrGetJoinableOus",
 
10690
                sizeof(struct wkssvc_NetrGetJoinableOus),
 
10691
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrGetJoinableOus,
 
10692
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrGetJoinableOus,
 
10693
                (ndr_print_function_t) ndr_print_wkssvc_NetrGetJoinableOus,
 
10694
                false,
 
10695
        },
 
10696
        {
 
10697
                "wkssvc_NetrJoinDomain2",
 
10698
                sizeof(struct wkssvc_NetrJoinDomain2),
 
10699
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrJoinDomain2,
 
10700
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrJoinDomain2,
 
10701
                (ndr_print_function_t) ndr_print_wkssvc_NetrJoinDomain2,
 
10702
                false,
 
10703
        },
 
10704
        {
 
10705
                "wkssvc_NetrUnjoinDomain2",
 
10706
                sizeof(struct wkssvc_NetrUnjoinDomain2),
 
10707
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrUnjoinDomain2,
 
10708
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrUnjoinDomain2,
 
10709
                (ndr_print_function_t) ndr_print_wkssvc_NetrUnjoinDomain2,
 
10710
                false,
 
10711
        },
 
10712
        {
 
10713
                "wkssvc_NetrRenameMachineInDomain2",
 
10714
                sizeof(struct wkssvc_NetrRenameMachineInDomain2),
 
10715
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrRenameMachineInDomain2,
 
10716
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrRenameMachineInDomain2,
 
10717
                (ndr_print_function_t) ndr_print_wkssvc_NetrRenameMachineInDomain2,
 
10718
                false,
 
10719
        },
 
10720
        {
 
10721
                "wkssvc_NetrValidateName2",
 
10722
                sizeof(struct wkssvc_NetrValidateName2),
 
10723
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrValidateName2,
 
10724
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrValidateName2,
 
10725
                (ndr_print_function_t) ndr_print_wkssvc_NetrValidateName2,
 
10726
                false,
 
10727
        },
 
10728
        {
 
10729
                "wkssvc_NetrGetJoinableOus2",
 
10730
                sizeof(struct wkssvc_NetrGetJoinableOus2),
 
10731
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrGetJoinableOus2,
 
10732
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrGetJoinableOus2,
 
10733
                (ndr_print_function_t) ndr_print_wkssvc_NetrGetJoinableOus2,
 
10734
                false,
 
10735
        },
 
10736
        {
 
10737
                "wkssvc_NetrAddAlternateComputerName",
 
10738
                sizeof(struct wkssvc_NetrAddAlternateComputerName),
 
10739
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrAddAlternateComputerName,
 
10740
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrAddAlternateComputerName,
 
10741
                (ndr_print_function_t) ndr_print_wkssvc_NetrAddAlternateComputerName,
 
10742
                false,
 
10743
        },
 
10744
        {
 
10745
                "wkssvc_NetrRemoveAlternateComputerName",
 
10746
                sizeof(struct wkssvc_NetrRemoveAlternateComputerName),
 
10747
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrRemoveAlternateComputerName,
 
10748
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrRemoveAlternateComputerName,
 
10749
                (ndr_print_function_t) ndr_print_wkssvc_NetrRemoveAlternateComputerName,
 
10750
                false,
 
10751
        },
 
10752
        {
 
10753
                "wkssvc_NetrSetPrimaryComputername",
 
10754
                sizeof(struct wkssvc_NetrSetPrimaryComputername),
 
10755
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrSetPrimaryComputername,
 
10756
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrSetPrimaryComputername,
 
10757
                (ndr_print_function_t) ndr_print_wkssvc_NetrSetPrimaryComputername,
 
10758
                false,
 
10759
        },
 
10760
        {
 
10761
                "wkssvc_NetrEnumerateComputerNames",
 
10762
                sizeof(struct wkssvc_NetrEnumerateComputerNames),
 
10763
                (ndr_push_flags_fn_t) ndr_push_wkssvc_NetrEnumerateComputerNames,
 
10764
                (ndr_pull_flags_fn_t) ndr_pull_wkssvc_NetrEnumerateComputerNames,
 
10765
                (ndr_print_function_t) ndr_print_wkssvc_NetrEnumerateComputerNames,
 
10766
                false,
 
10767
        },
 
10768
        { NULL, 0, NULL, NULL, NULL, false }
 
10769
};
 
10770
 
 
10771
static const char * const wkssvc_endpoint_strings[] = {
 
10772
        "ncacn_np:[\\pipe\\wkssvc]", 
 
10773
        "ncacn_ip_tcp:", 
 
10774
        "ncalrpc:", 
 
10775
};
 
10776
 
 
10777
static const struct ndr_interface_string_array wkssvc_endpoints = {
 
10778
        .count  = 3,
 
10779
        .names  = wkssvc_endpoint_strings
 
10780
};
 
10781
 
 
10782
static const char * const wkssvc_authservice_strings[] = {
 
10783
        "host", 
 
10784
};
 
10785
 
 
10786
static const struct ndr_interface_string_array wkssvc_authservices = {
 
10787
        .count  = 1,
 
10788
        .names  = wkssvc_authservice_strings
 
10789
};
 
10790
 
 
10791
 
 
10792
const struct ndr_interface_table ndr_table_wkssvc = {
 
10793
        .name           = "wkssvc",
 
10794
        .syntax_id      = {
 
10795
                {0x6bffd098,0xa112,0x3610,{0x98,0x33},{0x46,0xc3,0xf8,0x7e,0x34,0x5a}},
 
10796
                NDR_WKSSVC_VERSION
 
10797
        },
 
10798
        .helpstring     = NDR_WKSSVC_HELPSTRING,
 
10799
        .num_calls      = 31,
 
10800
        .calls          = wkssvc_calls,
 
10801
        .endpoints      = &wkssvc_endpoints,
 
10802
        .authservices   = &wkssvc_authservices
 
10803
};
 
10804