source: trunk/server/source3/librpc/gen_ndr/ndr_dfsblobs.c@ 751

Last change on this file since 751 was 751, checked in by Silvan Scherrer, 13 years ago

Samba Server: updated trunk to 3.6.9

File size: 48.2 KB
Line 
1/* parser auto-generated by pidl */
2
3#include "includes.h"
4#include "librpc/gen_ndr/ndr_dfsblobs.h"
5
6#include "librpc/gen_ndr/ndr_misc.h"
7static enum ndr_err_code ndr_push_DFS_HEADER_FLAG(struct ndr_push *ndr, int ndr_flags, uint32_t r)
8{
9 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
10 return NDR_ERR_SUCCESS;
11}
12
13static enum ndr_err_code ndr_pull_DFS_HEADER_FLAG(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
14{
15 uint32_t v;
16 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
17 *r = v;
18 return NDR_ERR_SUCCESS;
19}
20
21_PUBLIC_ void ndr_print_DFS_HEADER_FLAG(struct ndr_print *ndr, const char *name, uint32_t r)
22{
23 ndr_print_uint32(ndr, name, r);
24 ndr->depth++;
25 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_HEADER_FLAG_REFERAL_SVR", DFS_HEADER_FLAG_REFERAL_SVR, r);
26 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_HEADER_FLAG_STORAGE_SVR", DFS_HEADER_FLAG_STORAGE_SVR, r);
27 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DFS_HEADER_FLAG_TARGET_BCK", DFS_HEADER_FLAG_TARGET_BCK, r);
28 ndr->depth--;
29}
30
31static enum ndr_err_code ndr_push_DFS_SERVER_TYPE(struct ndr_push *ndr, int ndr_flags, enum DFS_SERVER_TYPE r)
32{
33 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
34 return NDR_ERR_SUCCESS;
35}
36
37static enum ndr_err_code ndr_pull_DFS_SERVER_TYPE(struct ndr_pull *ndr, int ndr_flags, enum DFS_SERVER_TYPE *r)
38{
39 uint16_t v;
40 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
41 *r = v;
42 return NDR_ERR_SUCCESS;
43}
44
45_PUBLIC_ void ndr_print_DFS_SERVER_TYPE(struct ndr_print *ndr, const char *name, enum DFS_SERVER_TYPE r)
46{
47 const char *val = NULL;
48
49 switch (r) {
50 case DFS_SERVER_NON_ROOT: val = "DFS_SERVER_NON_ROOT"; break;
51 case DFS_SERVER_ROOT: val = "DFS_SERVER_ROOT"; break;
52 }
53 ndr_print_enum(ndr, name, "ENUM", val, r);
54}
55
56static enum ndr_err_code ndr_push_DFS_FLAGS_REFERRAL(struct ndr_push *ndr, int ndr_flags, enum DFS_FLAGS_REFERRAL r)
57{
58 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
59 return NDR_ERR_SUCCESS;
60}
61
62static enum ndr_err_code ndr_pull_DFS_FLAGS_REFERRAL(struct ndr_pull *ndr, int ndr_flags, enum DFS_FLAGS_REFERRAL *r)
63{
64 uint16_t v;
65 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
66 *r = v;
67 return NDR_ERR_SUCCESS;
68}
69
70_PUBLIC_ void ndr_print_DFS_FLAGS_REFERRAL(struct ndr_print *ndr, const char *name, enum DFS_FLAGS_REFERRAL r)
71{
72 const char *val = NULL;
73
74 switch (r) {
75 case DFS_FLAG_REFERRAL_DOMAIN_RESP: val = "DFS_FLAG_REFERRAL_DOMAIN_RESP"; break;
76 case DFS_FLAG_REFERRAL_FIRST_TARGET_SET: val = "DFS_FLAG_REFERRAL_FIRST_TARGET_SET"; break;
77 }
78 ndr_print_enum(ndr, name, "ENUM", val, r);
79}
80
81static enum ndr_err_code ndr_push_dfs_referral_v1(struct ndr_push *ndr, int ndr_flags, const struct dfs_referral_v1 *r)
82{
83 if (ndr_flags & NDR_SCALARS) {
84 NDR_CHECK(ndr_push_align(ndr, 5));
85 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
86 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->server_type));
87 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->entry_flags));
88 {
89 uint32_t _flags_save_string = ndr->flags;
90 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
91 NDR_CHECK(ndr_push_unique_ptr(ndr, r->share_name));
92 ndr->flags = _flags_save_string;
93 }
94 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
95 }
96 if (ndr_flags & NDR_BUFFERS) {
97 {
98 uint32_t _flags_save_string = ndr->flags;
99 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
100 if (r->share_name) {
101 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->share_name));
102 }
103 ndr->flags = _flags_save_string;
104 }
105 }
106 return NDR_ERR_SUCCESS;
107}
108
109static enum ndr_err_code ndr_pull_dfs_referral_v1(struct ndr_pull *ndr, int ndr_flags, struct dfs_referral_v1 *r)
110{
111 uint32_t _ptr_share_name;
112 TALLOC_CTX *_mem_save_share_name_0;
113 if (ndr_flags & NDR_SCALARS) {
114 NDR_CHECK(ndr_pull_align(ndr, 5));
115 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
116 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->server_type));
117 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->entry_flags));
118 {
119 uint32_t _flags_save_string = ndr->flags;
120 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
121 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_share_name));
122 if (_ptr_share_name) {
123 NDR_PULL_ALLOC(ndr, r->share_name);
124 } else {
125 r->share_name = NULL;
126 }
127 ndr->flags = _flags_save_string;
128 }
129 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
130 }
131 if (ndr_flags & NDR_BUFFERS) {
132 {
133 uint32_t _flags_save_string = ndr->flags;
134 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
135 if (r->share_name) {
136 _mem_save_share_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
137 NDR_PULL_SET_MEM_CTX(ndr, r->share_name, 0);
138 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->share_name));
139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_name_0, 0);
140 }
141 ndr->flags = _flags_save_string;
142 }
143 }
144 return NDR_ERR_SUCCESS;
145}
146
147_PUBLIC_ void ndr_print_dfs_referral_v1(struct ndr_print *ndr, const char *name, const struct dfs_referral_v1 *r)
148{
149 ndr_print_struct(ndr, name, "dfs_referral_v1");
150 if (r == NULL) { ndr_print_null(ndr); return; }
151 ndr->depth++;
152 ndr_print_uint16(ndr, "size", r->size);
153 ndr_print_uint16(ndr, "server_type", r->server_type);
154 ndr_print_uint16(ndr, "entry_flags", r->entry_flags);
155 ndr_print_ptr(ndr, "share_name", r->share_name);
156 ndr->depth++;
157 if (r->share_name) {
158 ndr_print_string(ndr, "share_name", r->share_name);
159 }
160 ndr->depth--;
161 ndr->depth--;
162}
163
164static enum ndr_err_code ndr_push_dfs_referral_v2(struct ndr_push *ndr, int ndr_flags, const struct dfs_referral_v2 *r)
165{
166 if (ndr_flags & NDR_SCALARS) {
167 NDR_CHECK(ndr_push_align(ndr, 5));
168 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
169 NDR_CHECK(ndr_push_DFS_SERVER_TYPE(ndr, NDR_SCALARS, r->server_type));
170 NDR_CHECK(ndr_push_DFS_FLAGS_REFERRAL(ndr, NDR_SCALARS, r->entry_flags));
171 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->proximity));
172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ttl));
173 {
174 uint32_t _flags_save_string = ndr->flags;
175 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
176 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DFS_path));
177 ndr->flags = _flags_save_string;
178 }
179 {
180 uint32_t _flags_save_string = ndr->flags;
181 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
182 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DFS_alt_path));
183 ndr->flags = _flags_save_string;
184 }
185 {
186 uint32_t _flags_save_string = ndr->flags;
187 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
188 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->netw_address));
189 ndr->flags = _flags_save_string;
190 }
191 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
192 }
193 if (ndr_flags & NDR_BUFFERS) {
194 {
195 uint32_t _flags_save_string = ndr->flags;
196 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
197 if (r->DFS_path) {
198 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DFS_path));
199 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DFS_path));
200 }
201 ndr->flags = _flags_save_string;
202 }
203 {
204 uint32_t _flags_save_string = ndr->flags;
205 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
206 if (r->DFS_alt_path) {
207 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DFS_alt_path));
208 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DFS_alt_path));
209 }
210 ndr->flags = _flags_save_string;
211 }
212 {
213 uint32_t _flags_save_string = ndr->flags;
214 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
215 if (r->netw_address) {
216 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->netw_address));
217 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->netw_address));
218 }
219 ndr->flags = _flags_save_string;
220 }
221 }
222 return NDR_ERR_SUCCESS;
223}
224
225static enum ndr_err_code ndr_pull_dfs_referral_v2(struct ndr_pull *ndr, int ndr_flags, struct dfs_referral_v2 *r)
226{
227 uint16_t _ptr_DFS_path;
228 TALLOC_CTX *_mem_save_DFS_path_0;
229 uint16_t _ptr_DFS_alt_path;
230 TALLOC_CTX *_mem_save_DFS_alt_path_0;
231 uint16_t _ptr_netw_address;
232 TALLOC_CTX *_mem_save_netw_address_0;
233 if (ndr_flags & NDR_SCALARS) {
234 NDR_CHECK(ndr_pull_align(ndr, 5));
235 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
236 NDR_CHECK(ndr_pull_DFS_SERVER_TYPE(ndr, NDR_SCALARS, &r->server_type));
237 NDR_CHECK(ndr_pull_DFS_FLAGS_REFERRAL(ndr, NDR_SCALARS, &r->entry_flags));
238 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->proximity));
239 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ttl));
240 {
241 uint32_t _flags_save_string = ndr->flags;
242 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
243 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DFS_path));
244 if (_ptr_DFS_path) {
245 NDR_PULL_ALLOC(ndr, r->DFS_path);
246 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DFS_path, _ptr_DFS_path));
247 } else {
248 r->DFS_path = NULL;
249 }
250 ndr->flags = _flags_save_string;
251 }
252 {
253 uint32_t _flags_save_string = ndr->flags;
254 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
255 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DFS_alt_path));
256 if (_ptr_DFS_alt_path) {
257 NDR_PULL_ALLOC(ndr, r->DFS_alt_path);
258 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DFS_alt_path, _ptr_DFS_alt_path));
259 } else {
260 r->DFS_alt_path = NULL;
261 }
262 ndr->flags = _flags_save_string;
263 }
264 {
265 uint32_t _flags_save_string = ndr->flags;
266 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
267 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_netw_address));
268 if (_ptr_netw_address) {
269 NDR_PULL_ALLOC(ndr, r->netw_address);
270 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->netw_address, _ptr_netw_address));
271 } else {
272 r->netw_address = NULL;
273 }
274 ndr->flags = _flags_save_string;
275 }
276 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
277 }
278 if (ndr_flags & NDR_BUFFERS) {
279 {
280 uint32_t _flags_save_string = ndr->flags;
281 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
282 if (r->DFS_path) {
283 uint32_t _relative_save_offset;
284 _relative_save_offset = ndr->offset;
285 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DFS_path));
286 _mem_save_DFS_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
287 NDR_PULL_SET_MEM_CTX(ndr, r->DFS_path, 0);
288 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DFS_path));
289 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DFS_path_0, 0);
290 }
291 ndr->flags = _flags_save_string;
292 }
293 {
294 uint32_t _flags_save_string = ndr->flags;
295 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
296 if (r->DFS_alt_path) {
297 uint32_t _relative_save_offset;
298 _relative_save_offset = ndr->offset;
299 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DFS_alt_path));
300 _mem_save_DFS_alt_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
301 NDR_PULL_SET_MEM_CTX(ndr, r->DFS_alt_path, 0);
302 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DFS_alt_path));
303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DFS_alt_path_0, 0);
304 }
305 ndr->flags = _flags_save_string;
306 }
307 {
308 uint32_t _flags_save_string = ndr->flags;
309 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
310 if (r->netw_address) {
311 uint32_t _relative_save_offset;
312 _relative_save_offset = ndr->offset;
313 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->netw_address));
314 _mem_save_netw_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
315 NDR_PULL_SET_MEM_CTX(ndr, r->netw_address, 0);
316 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->netw_address));
317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netw_address_0, 0);
318 }
319 ndr->flags = _flags_save_string;
320 }
321 }
322 return NDR_ERR_SUCCESS;
323}
324
325_PUBLIC_ void ndr_print_dfs_referral_v2(struct ndr_print *ndr, const char *name, const struct dfs_referral_v2 *r)
326{
327 ndr_print_struct(ndr, name, "dfs_referral_v2");
328 if (r == NULL) { ndr_print_null(ndr); return; }
329 ndr->depth++;
330 ndr_print_uint16(ndr, "size", r->size);
331 ndr_print_DFS_SERVER_TYPE(ndr, "server_type", r->server_type);
332 ndr_print_DFS_FLAGS_REFERRAL(ndr, "entry_flags", r->entry_flags);
333 ndr_print_uint32(ndr, "proximity", r->proximity);
334 ndr_print_uint32(ndr, "ttl", r->ttl);
335 ndr_print_ptr(ndr, "DFS_path", r->DFS_path);
336 ndr->depth++;
337 if (r->DFS_path) {
338 ndr_print_string(ndr, "DFS_path", r->DFS_path);
339 }
340 ndr->depth--;
341 ndr_print_ptr(ndr, "DFS_alt_path", r->DFS_alt_path);
342 ndr->depth++;
343 if (r->DFS_alt_path) {
344 ndr_print_string(ndr, "DFS_alt_path", r->DFS_alt_path);
345 }
346 ndr->depth--;
347 ndr_print_ptr(ndr, "netw_address", r->netw_address);
348 ndr->depth++;
349 if (r->netw_address) {
350 ndr_print_string(ndr, "netw_address", r->netw_address);
351 }
352 ndr->depth--;
353 ndr->depth--;
354}
355
356static enum ndr_err_code ndr_push_dfs_normal_referral(struct ndr_push *ndr, int ndr_flags, const struct dfs_normal_referral *r)
357{
358 if (ndr_flags & NDR_SCALARS) {
359 NDR_CHECK(ndr_push_align(ndr, 5));
360 {
361 uint32_t _flags_save_string = ndr->flags;
362 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
363 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DFS_path));
364 ndr->flags = _flags_save_string;
365 }
366 {
367 uint32_t _flags_save_string = ndr->flags;
368 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
369 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DFS_alt_path));
370 ndr->flags = _flags_save_string;
371 }
372 {
373 uint32_t _flags_save_string = ndr->flags;
374 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
375 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->netw_address));
376 ndr->flags = _flags_save_string;
377 }
378 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
379 }
380 if (ndr_flags & NDR_BUFFERS) {
381 {
382 uint32_t _flags_save_string = ndr->flags;
383 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
384 if (r->DFS_path) {
385 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DFS_path));
386 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DFS_path));
387 }
388 ndr->flags = _flags_save_string;
389 }
390 {
391 uint32_t _flags_save_string = ndr->flags;
392 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
393 if (r->DFS_alt_path) {
394 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DFS_alt_path));
395 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->DFS_alt_path));
396 }
397 ndr->flags = _flags_save_string;
398 }
399 {
400 uint32_t _flags_save_string = ndr->flags;
401 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
402 if (r->netw_address) {
403 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->netw_address));
404 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->netw_address));
405 }
406 ndr->flags = _flags_save_string;
407 }
408 }
409 return NDR_ERR_SUCCESS;
410}
411
412static enum ndr_err_code ndr_pull_dfs_normal_referral(struct ndr_pull *ndr, int ndr_flags, struct dfs_normal_referral *r)
413{
414 uint16_t _ptr_DFS_path;
415 TALLOC_CTX *_mem_save_DFS_path_0;
416 uint16_t _ptr_DFS_alt_path;
417 TALLOC_CTX *_mem_save_DFS_alt_path_0;
418 uint16_t _ptr_netw_address;
419 TALLOC_CTX *_mem_save_netw_address_0;
420 if (ndr_flags & NDR_SCALARS) {
421 NDR_CHECK(ndr_pull_align(ndr, 5));
422 {
423 uint32_t _flags_save_string = ndr->flags;
424 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
425 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DFS_path));
426 if (_ptr_DFS_path) {
427 NDR_PULL_ALLOC(ndr, r->DFS_path);
428 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DFS_path, _ptr_DFS_path));
429 } else {
430 r->DFS_path = NULL;
431 }
432 ndr->flags = _flags_save_string;
433 }
434 {
435 uint32_t _flags_save_string = ndr->flags;
436 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
437 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DFS_alt_path));
438 if (_ptr_DFS_alt_path) {
439 NDR_PULL_ALLOC(ndr, r->DFS_alt_path);
440 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DFS_alt_path, _ptr_DFS_alt_path));
441 } else {
442 r->DFS_alt_path = NULL;
443 }
444 ndr->flags = _flags_save_string;
445 }
446 {
447 uint32_t _flags_save_string = ndr->flags;
448 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
449 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_netw_address));
450 if (_ptr_netw_address) {
451 NDR_PULL_ALLOC(ndr, r->netw_address);
452 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->netw_address, _ptr_netw_address));
453 } else {
454 r->netw_address = NULL;
455 }
456 ndr->flags = _flags_save_string;
457 }
458 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
459 }
460 if (ndr_flags & NDR_BUFFERS) {
461 {
462 uint32_t _flags_save_string = ndr->flags;
463 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
464 if (r->DFS_path) {
465 uint32_t _relative_save_offset;
466 _relative_save_offset = ndr->offset;
467 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DFS_path));
468 _mem_save_DFS_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
469 NDR_PULL_SET_MEM_CTX(ndr, r->DFS_path, 0);
470 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DFS_path));
471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DFS_path_0, 0);
472 }
473 ndr->flags = _flags_save_string;
474 }
475 {
476 uint32_t _flags_save_string = ndr->flags;
477 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
478 if (r->DFS_alt_path) {
479 uint32_t _relative_save_offset;
480 _relative_save_offset = ndr->offset;
481 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DFS_alt_path));
482 _mem_save_DFS_alt_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
483 NDR_PULL_SET_MEM_CTX(ndr, r->DFS_alt_path, 0);
484 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->DFS_alt_path));
485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DFS_alt_path_0, 0);
486 }
487 ndr->flags = _flags_save_string;
488 }
489 {
490 uint32_t _flags_save_string = ndr->flags;
491 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
492 if (r->netw_address) {
493 uint32_t _relative_save_offset;
494 _relative_save_offset = ndr->offset;
495 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->netw_address));
496 _mem_save_netw_address_0 = NDR_PULL_GET_MEM_CTX(ndr);
497 NDR_PULL_SET_MEM_CTX(ndr, r->netw_address, 0);
498 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->netw_address));
499 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netw_address_0, 0);
500 }
501 ndr->flags = _flags_save_string;
502 }
503 }
504 return NDR_ERR_SUCCESS;
505}
506
507_PUBLIC_ void ndr_print_dfs_normal_referral(struct ndr_print *ndr, const char *name, const struct dfs_normal_referral *r)
508{
509 ndr_print_struct(ndr, name, "dfs_normal_referral");
510 if (r == NULL) { ndr_print_null(ndr); return; }
511 ndr->depth++;
512 ndr_print_ptr(ndr, "DFS_path", r->DFS_path);
513 ndr->depth++;
514 if (r->DFS_path) {
515 ndr_print_string(ndr, "DFS_path", r->DFS_path);
516 }
517 ndr->depth--;
518 ndr_print_ptr(ndr, "DFS_alt_path", r->DFS_alt_path);
519 ndr->depth++;
520 if (r->DFS_alt_path) {
521 ndr_print_string(ndr, "DFS_alt_path", r->DFS_alt_path);
522 }
523 ndr->depth--;
524 ndr_print_ptr(ndr, "netw_address", r->netw_address);
525 ndr->depth++;
526 if (r->netw_address) {
527 ndr_print_string(ndr, "netw_address", r->netw_address);
528 }
529 ndr->depth--;
530 ndr->depth--;
531}
532
533static enum ndr_err_code ndr_push_dfs_domain_referral(struct ndr_push *ndr, int ndr_flags, const struct dfs_domain_referral *r)
534{
535 if (ndr_flags & NDR_SCALARS) {
536 NDR_CHECK(ndr_push_align(ndr, 5));
537 {
538 uint32_t _flags_save_string = ndr->flags;
539 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
540 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->special_name));
541 ndr->flags = _flags_save_string;
542 }
543 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nb_expanded_names));
544 {
545 uint32_t _flags_save_string_array = ndr->flags;
546 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|LIBNDR_FLAG_STR_NULLTERM);
547 NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->expanded_names));
548 ndr->flags = _flags_save_string_array;
549 }
550 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
551 }
552 if (ndr_flags & NDR_BUFFERS) {
553 {
554 uint32_t _flags_save_string = ndr->flags;
555 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
556 if (r->special_name) {
557 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->special_name));
558 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->special_name));
559 }
560 ndr->flags = _flags_save_string;
561 }
562 {
563 uint32_t _flags_save_string_array = ndr->flags;
564 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|LIBNDR_FLAG_STR_NULLTERM);
565 if (r->expanded_names) {
566 NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->expanded_names));
567 {
568 struct ndr_push *_ndr_expanded_names;
569 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_expanded_names, 0, -1));
570 NDR_CHECK(ndr_push_string_array(_ndr_expanded_names, NDR_SCALARS, r->expanded_names));
571 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_expanded_names, 0, -1));
572 }
573 }
574 ndr->flags = _flags_save_string_array;
575 }
576 }
577 return NDR_ERR_SUCCESS;
578}
579
580static enum ndr_err_code ndr_pull_dfs_domain_referral(struct ndr_pull *ndr, int ndr_flags, struct dfs_domain_referral *r)
581{
582 uint16_t _ptr_special_name;
583 TALLOC_CTX *_mem_save_special_name_0;
584 uint16_t _ptr_expanded_names;
585 TALLOC_CTX *_mem_save_expanded_names_0;
586 if (ndr_flags & NDR_SCALARS) {
587 NDR_CHECK(ndr_pull_align(ndr, 5));
588 {
589 uint32_t _flags_save_string = ndr->flags;
590 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
591 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_special_name));
592 if (_ptr_special_name) {
593 NDR_PULL_ALLOC(ndr, r->special_name);
594 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->special_name, _ptr_special_name));
595 } else {
596 r->special_name = NULL;
597 }
598 ndr->flags = _flags_save_string;
599 }
600 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nb_expanded_names));
601 {
602 uint32_t _flags_save_string_array = ndr->flags;
603 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|LIBNDR_FLAG_STR_NULLTERM);
604 NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_expanded_names));
605 if (_ptr_expanded_names) {
606 NDR_PULL_ALLOC(ndr, r->expanded_names);
607 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->expanded_names, _ptr_expanded_names));
608 } else {
609 r->expanded_names = NULL;
610 }
611 ndr->flags = _flags_save_string_array;
612 }
613 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
614 }
615 if (ndr_flags & NDR_BUFFERS) {
616 {
617 uint32_t _flags_save_string = ndr->flags;
618 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
619 if (r->special_name) {
620 uint32_t _relative_save_offset;
621 _relative_save_offset = ndr->offset;
622 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->special_name));
623 _mem_save_special_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
624 NDR_PULL_SET_MEM_CTX(ndr, r->special_name, 0);
625 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->special_name));
626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_special_name_0, 0);
627 }
628 ndr->flags = _flags_save_string;
629 }
630 {
631 uint32_t _flags_save_string_array = ndr->flags;
632 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|LIBNDR_FLAG_STR_NULLTERM);
633 if (r->expanded_names) {
634 uint32_t _relative_save_offset;
635 _relative_save_offset = ndr->offset;
636 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->expanded_names));
637 _mem_save_expanded_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
638 NDR_PULL_SET_MEM_CTX(ndr, r->expanded_names, 0);
639 {
640 struct ndr_pull *_ndr_expanded_names;
641 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_expanded_names, 0, -1));
642 NDR_CHECK(ndr_pull_string_array(_ndr_expanded_names, NDR_SCALARS, &r->expanded_names));
643 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_expanded_names, 0, -1));
644 }
645 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_expanded_names_0, 0);
646 }
647 ndr->flags = _flags_save_string_array;
648 }
649 }
650 return NDR_ERR_SUCCESS;
651}
652
653_PUBLIC_ void ndr_print_dfs_domain_referral(struct ndr_print *ndr, const char *name, const struct dfs_domain_referral *r)
654{
655 ndr_print_struct(ndr, name, "dfs_domain_referral");
656 if (r == NULL) { ndr_print_null(ndr); return; }
657 ndr->depth++;
658 ndr_print_ptr(ndr, "special_name", r->special_name);
659 ndr->depth++;
660 if (r->special_name) {
661 ndr_print_string(ndr, "special_name", r->special_name);
662 }
663 ndr->depth--;
664 ndr_print_uint16(ndr, "nb_expanded_names", r->nb_expanded_names);
665 ndr_print_ptr(ndr, "expanded_names", r->expanded_names);
666 ndr->depth++;
667 if (r->expanded_names) {
668 ndr_print_string_array(ndr, "expanded_names", r->expanded_names);
669 }
670 ndr->depth--;
671 ndr->depth--;
672}
673
674static enum ndr_err_code ndr_push_dfs_referral(struct ndr_push *ndr, int ndr_flags, const union dfs_referral *r)
675{
676 if (ndr_flags & NDR_SCALARS) {
677 uint32_t level = ndr_push_get_switch_value(ndr, r);
678 NDR_CHECK(ndr_push_union_align(ndr, 5));
679 switch (level) {
680 case 0: {
681 NDR_CHECK(ndr_push_dfs_normal_referral(ndr, NDR_SCALARS, &r->r1));
682 break; }
683
684 case 2: {
685 NDR_CHECK(ndr_push_dfs_domain_referral(ndr, NDR_SCALARS, &r->r2));
686 break; }
687
688 default: {
689 break; }
690
691 }
692 }
693 if (ndr_flags & NDR_BUFFERS) {
694 uint32_t level = ndr_push_get_switch_value(ndr, r);
695 switch (level) {
696 case 0:
697 NDR_CHECK(ndr_push_dfs_normal_referral(ndr, NDR_BUFFERS, &r->r1));
698 break;
699
700 case 2:
701 NDR_CHECK(ndr_push_dfs_domain_referral(ndr, NDR_BUFFERS, &r->r2));
702 break;
703
704 default:
705 break;
706
707 }
708 }
709 return NDR_ERR_SUCCESS;
710}
711
712static enum ndr_err_code ndr_pull_dfs_referral(struct ndr_pull *ndr, int ndr_flags, union dfs_referral *r)
713{
714 uint32_t level;
715 level = ndr_pull_get_switch_value(ndr, r);
716 if (ndr_flags & NDR_SCALARS) {
717 NDR_CHECK(ndr_pull_union_align(ndr, 5));
718 switch (level) {
719 case 0: {
720 NDR_CHECK(ndr_pull_dfs_normal_referral(ndr, NDR_SCALARS, &r->r1));
721 break; }
722
723 case 2: {
724 NDR_CHECK(ndr_pull_dfs_domain_referral(ndr, NDR_SCALARS, &r->r2));
725 break; }
726
727 default: {
728 break; }
729
730 }
731 }
732 if (ndr_flags & NDR_BUFFERS) {
733 switch (level) {
734 case 0:
735 NDR_CHECK(ndr_pull_dfs_normal_referral(ndr, NDR_BUFFERS, &r->r1));
736 break;
737
738 case 2:
739 NDR_CHECK(ndr_pull_dfs_domain_referral(ndr, NDR_BUFFERS, &r->r2));
740 break;
741
742 default:
743 break;
744
745 }
746 }
747 return NDR_ERR_SUCCESS;
748}
749
750_PUBLIC_ void ndr_print_dfs_referral(struct ndr_print *ndr, const char *name, const union dfs_referral *r)
751{
752 uint32_t level;
753 level = ndr_print_get_switch_value(ndr, r);
754 ndr_print_union(ndr, name, level, "dfs_referral");
755 switch (level) {
756 case 0:
757 ndr_print_dfs_normal_referral(ndr, "r1", &r->r1);
758 break;
759
760 case 2:
761 ndr_print_dfs_domain_referral(ndr, "r2", &r->r2);
762 break;
763
764 default:
765 break;
766
767 }
768}
769
770static enum ndr_err_code ndr_push_dfs_padding(struct ndr_push *ndr, int ndr_flags, const union dfs_padding *r)
771{
772 if (ndr_flags & NDR_SCALARS) {
773 uint32_t level = ndr_push_get_switch_value(ndr, r);
774 NDR_CHECK(ndr_push_union_align(ndr, 1));
775 switch (level) {
776 case 16: {
777 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->value, 16));
778 break; }
779
780 default: {
781 break; }
782
783 }
784 }
785 if (ndr_flags & NDR_BUFFERS) {
786 uint32_t level = ndr_push_get_switch_value(ndr, r);
787 switch (level) {
788 case 16:
789 break;
790
791 default:
792 break;
793
794 }
795 }
796 return NDR_ERR_SUCCESS;
797}
798
799static enum ndr_err_code ndr_pull_dfs_padding(struct ndr_pull *ndr, int ndr_flags, union dfs_padding *r)
800{
801 uint32_t level;
802 uint32_t size_value_0 = 0;
803 level = ndr_pull_get_switch_value(ndr, r);
804 if (ndr_flags & NDR_SCALARS) {
805 NDR_CHECK(ndr_pull_union_align(ndr, 1));
806 switch (level) {
807 case 16: {
808 size_value_0 = 16;
809 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->value, size_value_0));
810 break; }
811
812 default: {
813 break; }
814
815 }
816 }
817 if (ndr_flags & NDR_BUFFERS) {
818 switch (level) {
819 case 16:
820 break;
821
822 default:
823 break;
824
825 }
826 }
827 return NDR_ERR_SUCCESS;
828}
829
830_PUBLIC_ void ndr_print_dfs_padding(struct ndr_print *ndr, const char *name, const union dfs_padding *r)
831{
832 uint32_t level;
833 level = ndr_print_get_switch_value(ndr, r);
834 ndr_print_union(ndr, name, level, "dfs_padding");
835 switch (level) {
836 case 16:
837 ndr_print_array_uint8(ndr, "value", r->value, 16);
838 break;
839
840 default:
841 break;
842
843 }
844}
845
846static enum ndr_err_code ndr_push_dfs_referral_v3_remaining(struct ndr_push *ndr, int ndr_flags, const struct dfs_referral_v3_remaining *r)
847{
848 {
849 uint32_t _flags_save_STRUCT = ndr->flags;
850 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
851 if (ndr_flags & NDR_SCALARS) {
852 NDR_CHECK(ndr_push_align(ndr, 5));
853 NDR_CHECK(ndr_push_DFS_SERVER_TYPE(ndr, NDR_SCALARS, r->server_type));
854 NDR_CHECK(ndr_push_DFS_FLAGS_REFERRAL(ndr, NDR_SCALARS, r->entry_flags));
855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ttl));
856 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->referrals, r->entry_flags & DFS_FLAG_REFERRAL_DOMAIN_RESP));
857 NDR_CHECK(ndr_push_dfs_referral(ndr, NDR_SCALARS, &r->referrals));
858 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
859 }
860 if (ndr_flags & NDR_BUFFERS) {
861 NDR_CHECK(ndr_push_dfs_referral(ndr, NDR_BUFFERS, &r->referrals));
862 }
863 ndr->flags = _flags_save_STRUCT;
864 }
865 return NDR_ERR_SUCCESS;
866}
867
868static enum ndr_err_code ndr_pull_dfs_referral_v3_remaining(struct ndr_pull *ndr, int ndr_flags, struct dfs_referral_v3_remaining *r)
869{
870 {
871 uint32_t _flags_save_STRUCT = ndr->flags;
872 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
873 if (ndr_flags & NDR_SCALARS) {
874 NDR_CHECK(ndr_pull_align(ndr, 5));
875 NDR_CHECK(ndr_pull_DFS_SERVER_TYPE(ndr, NDR_SCALARS, &r->server_type));
876 NDR_CHECK(ndr_pull_DFS_FLAGS_REFERRAL(ndr, NDR_SCALARS, &r->entry_flags));
877 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ttl));
878 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->referrals, r->entry_flags & DFS_FLAG_REFERRAL_DOMAIN_RESP));
879 NDR_CHECK(ndr_pull_dfs_referral(ndr, NDR_SCALARS, &r->referrals));
880 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
881 }
882 if (ndr_flags & NDR_BUFFERS) {
883 NDR_CHECK(ndr_pull_dfs_referral(ndr, NDR_BUFFERS, &r->referrals));
884 }
885 ndr->flags = _flags_save_STRUCT;
886 }
887 return NDR_ERR_SUCCESS;
888}
889
890_PUBLIC_ void ndr_print_dfs_referral_v3_remaining(struct ndr_print *ndr, const char *name, const struct dfs_referral_v3_remaining *r)
891{
892 ndr_print_struct(ndr, name, "dfs_referral_v3_remaining");
893 if (r == NULL) { ndr_print_null(ndr); return; }
894 {
895 uint32_t _flags_save_STRUCT = ndr->flags;
896 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
897 ndr->depth++;
898 ndr_print_DFS_SERVER_TYPE(ndr, "server_type", r->server_type);
899 ndr_print_DFS_FLAGS_REFERRAL(ndr, "entry_flags", r->entry_flags);
900 ndr_print_uint32(ndr, "ttl", r->ttl);
901 ndr_print_set_switch_value(ndr, &r->referrals, r->entry_flags & DFS_FLAG_REFERRAL_DOMAIN_RESP);
902 ndr_print_dfs_referral(ndr, "referrals", &r->referrals);
903 ndr->depth--;
904 ndr->flags = _flags_save_STRUCT;
905 }
906}
907
908static enum ndr_err_code ndr_push_dfs_referral_v3(struct ndr_push *ndr, int ndr_flags, const struct dfs_referral_v3 *r)
909{
910 {
911 uint32_t _flags_save_STRUCT = ndr->flags;
912 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
913 if (ndr_flags & NDR_SCALARS) {
914 NDR_CHECK(ndr_push_align(ndr, 5));
915 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
916 NDR_CHECK(ndr_push_dfs_referral_v3_remaining(ndr, NDR_SCALARS, &r->data));
917 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->service_site_guid, r->size - 18));
918 NDR_CHECK(ndr_push_dfs_padding(ndr, NDR_SCALARS, &r->service_site_guid));
919 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
920 }
921 if (ndr_flags & NDR_BUFFERS) {
922 NDR_CHECK(ndr_push_dfs_referral_v3_remaining(ndr, NDR_BUFFERS, &r->data));
923 NDR_CHECK(ndr_push_dfs_padding(ndr, NDR_BUFFERS, &r->service_site_guid));
924 }
925 ndr->flags = _flags_save_STRUCT;
926 }
927 return NDR_ERR_SUCCESS;
928}
929
930static enum ndr_err_code ndr_pull_dfs_referral_v3(struct ndr_pull *ndr, int ndr_flags, struct dfs_referral_v3 *r)
931{
932 {
933 uint32_t _flags_save_STRUCT = ndr->flags;
934 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
935 if (ndr_flags & NDR_SCALARS) {
936 NDR_CHECK(ndr_pull_align(ndr, 5));
937 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
938 NDR_CHECK(ndr_pull_dfs_referral_v3_remaining(ndr, NDR_SCALARS, &r->data));
939 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->service_site_guid, r->size - 18));
940 NDR_CHECK(ndr_pull_dfs_padding(ndr, NDR_SCALARS, &r->service_site_guid));
941 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
942 }
943 if (ndr_flags & NDR_BUFFERS) {
944 NDR_CHECK(ndr_pull_dfs_referral_v3_remaining(ndr, NDR_BUFFERS, &r->data));
945 NDR_CHECK(ndr_pull_dfs_padding(ndr, NDR_BUFFERS, &r->service_site_guid));
946 }
947 ndr->flags = _flags_save_STRUCT;
948 }
949 return NDR_ERR_SUCCESS;
950}
951
952_PUBLIC_ void ndr_print_dfs_referral_v3(struct ndr_print *ndr, const char *name, const struct dfs_referral_v3 *r)
953{
954 ndr_print_struct(ndr, name, "dfs_referral_v3");
955 if (r == NULL) { ndr_print_null(ndr); return; }
956 {
957 uint32_t _flags_save_STRUCT = ndr->flags;
958 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
959 ndr->depth++;
960 ndr_print_uint16(ndr, "size", r->size);
961 ndr_print_dfs_referral_v3_remaining(ndr, "data", &r->data);
962 ndr_print_set_switch_value(ndr, &r->service_site_guid, r->size - 18);
963 ndr_print_dfs_padding(ndr, "service_site_guid", &r->service_site_guid);
964 ndr->depth--;
965 ndr->flags = _flags_save_STRUCT;
966 }
967}
968
969static enum ndr_err_code ndr_push_dfs_referral_v4(struct ndr_push *ndr, int ndr_flags, const struct dfs_referral_v4 *r)
970{
971 if (ndr_flags & NDR_SCALARS) {
972 NDR_CHECK(ndr_push_align(ndr, 5));
973 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
974 NDR_CHECK(ndr_push_DFS_SERVER_TYPE(ndr, NDR_SCALARS, r->server_type));
975 NDR_CHECK(ndr_push_DFS_FLAGS_REFERRAL(ndr, NDR_SCALARS, r->entry_flags));
976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ttl));
977 NDR_CHECK(ndr_push_dfs_normal_referral(ndr, NDR_SCALARS, &r->r1));
978 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
979 }
980 if (ndr_flags & NDR_BUFFERS) {
981 NDR_CHECK(ndr_push_dfs_normal_referral(ndr, NDR_BUFFERS, &r->r1));
982 }
983 return NDR_ERR_SUCCESS;
984}
985
986static enum ndr_err_code ndr_pull_dfs_referral_v4(struct ndr_pull *ndr, int ndr_flags, struct dfs_referral_v4 *r)
987{
988 if (ndr_flags & NDR_SCALARS) {
989 NDR_CHECK(ndr_pull_align(ndr, 5));
990 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
991 NDR_CHECK(ndr_pull_DFS_SERVER_TYPE(ndr, NDR_SCALARS, &r->server_type));
992 NDR_CHECK(ndr_pull_DFS_FLAGS_REFERRAL(ndr, NDR_SCALARS, &r->entry_flags));
993 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ttl));
994 NDR_CHECK(ndr_pull_dfs_normal_referral(ndr, NDR_SCALARS, &r->r1));
995 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
996 }
997 if (ndr_flags & NDR_BUFFERS) {
998 NDR_CHECK(ndr_pull_dfs_normal_referral(ndr, NDR_BUFFERS, &r->r1));
999 }
1000 return NDR_ERR_SUCCESS;
1001}
1002
1003_PUBLIC_ void ndr_print_dfs_referral_v4(struct ndr_print *ndr, const char *name, const struct dfs_referral_v4 *r)
1004{
1005 ndr_print_struct(ndr, name, "dfs_referral_v4");
1006 if (r == NULL) { ndr_print_null(ndr); return; }
1007 ndr->depth++;
1008 ndr_print_uint16(ndr, "size", r->size);
1009 ndr_print_DFS_SERVER_TYPE(ndr, "server_type", r->server_type);
1010 ndr_print_DFS_FLAGS_REFERRAL(ndr, "entry_flags", r->entry_flags);
1011 ndr_print_uint32(ndr, "ttl", r->ttl);
1012 ndr_print_dfs_normal_referral(ndr, "r1", &r->r1);
1013 ndr->depth--;
1014}
1015
1016static enum ndr_err_code ndr_push_dfs_referral_version(struct ndr_push *ndr, int ndr_flags, const union dfs_referral_version *r)
1017{
1018 if (ndr_flags & NDR_SCALARS) {
1019 uint32_t level = ndr_push_get_switch_value(ndr, r);
1020 NDR_CHECK(ndr_push_union_align(ndr, 5));
1021 switch (level) {
1022 case 1: {
1023 NDR_CHECK(ndr_push_dfs_referral_v1(ndr, NDR_SCALARS, &r->v1));
1024 break; }
1025
1026 case 2: {
1027 NDR_CHECK(ndr_push_dfs_referral_v2(ndr, NDR_SCALARS, &r->v2));
1028 break; }
1029
1030 case 3: {
1031 NDR_CHECK(ndr_push_dfs_referral_v3(ndr, NDR_SCALARS, &r->v3));
1032 break; }
1033
1034 case 4: {
1035 NDR_CHECK(ndr_push_dfs_referral_v4(ndr, NDR_SCALARS, &r->v4));
1036 break; }
1037
1038 default: {
1039 break; }
1040
1041 }
1042 }
1043 if (ndr_flags & NDR_BUFFERS) {
1044 uint32_t level = ndr_push_get_switch_value(ndr, r);
1045 switch (level) {
1046 case 1:
1047 NDR_CHECK(ndr_push_dfs_referral_v1(ndr, NDR_BUFFERS, &r->v1));
1048 break;
1049
1050 case 2:
1051 NDR_CHECK(ndr_push_dfs_referral_v2(ndr, NDR_BUFFERS, &r->v2));
1052 break;
1053
1054 case 3:
1055 NDR_CHECK(ndr_push_dfs_referral_v3(ndr, NDR_BUFFERS, &r->v3));
1056 break;
1057
1058 case 4:
1059 NDR_CHECK(ndr_push_dfs_referral_v4(ndr, NDR_BUFFERS, &r->v4));
1060 break;
1061
1062 default:
1063 break;
1064
1065 }
1066 }
1067 return NDR_ERR_SUCCESS;
1068}
1069
1070static enum ndr_err_code ndr_pull_dfs_referral_version(struct ndr_pull *ndr, int ndr_flags, union dfs_referral_version *r)
1071{
1072 uint32_t level;
1073 level = ndr_pull_get_switch_value(ndr, r);
1074 if (ndr_flags & NDR_SCALARS) {
1075 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1076 switch (level) {
1077 case 1: {
1078 NDR_CHECK(ndr_pull_dfs_referral_v1(ndr, NDR_SCALARS, &r->v1));
1079 break; }
1080
1081 case 2: {
1082 NDR_CHECK(ndr_pull_dfs_referral_v2(ndr, NDR_SCALARS, &r->v2));
1083 break; }
1084
1085 case 3: {
1086 NDR_CHECK(ndr_pull_dfs_referral_v3(ndr, NDR_SCALARS, &r->v3));
1087 break; }
1088
1089 case 4: {
1090 NDR_CHECK(ndr_pull_dfs_referral_v4(ndr, NDR_SCALARS, &r->v4));
1091 break; }
1092
1093 default: {
1094 break; }
1095
1096 }
1097 }
1098 if (ndr_flags & NDR_BUFFERS) {
1099 switch (level) {
1100 case 1:
1101 NDR_CHECK(ndr_pull_dfs_referral_v1(ndr, NDR_BUFFERS, &r->v1));
1102 break;
1103
1104 case 2:
1105 NDR_CHECK(ndr_pull_dfs_referral_v2(ndr, NDR_BUFFERS, &r->v2));
1106 break;
1107
1108 case 3:
1109 NDR_CHECK(ndr_pull_dfs_referral_v3(ndr, NDR_BUFFERS, &r->v3));
1110 break;
1111
1112 case 4:
1113 NDR_CHECK(ndr_pull_dfs_referral_v4(ndr, NDR_BUFFERS, &r->v4));
1114 break;
1115
1116 default:
1117 break;
1118
1119 }
1120 }
1121 return NDR_ERR_SUCCESS;
1122}
1123
1124_PUBLIC_ void ndr_print_dfs_referral_version(struct ndr_print *ndr, const char *name, const union dfs_referral_version *r)
1125{
1126 uint32_t level;
1127 level = ndr_print_get_switch_value(ndr, r);
1128 ndr_print_union(ndr, name, level, "dfs_referral_version");
1129 switch (level) {
1130 case 1:
1131 ndr_print_dfs_referral_v1(ndr, "v1", &r->v1);
1132 break;
1133
1134 case 2:
1135 ndr_print_dfs_referral_v2(ndr, "v2", &r->v2);
1136 break;
1137
1138 case 3:
1139 ndr_print_dfs_referral_v3(ndr, "v3", &r->v3);
1140 break;
1141
1142 case 4:
1143 ndr_print_dfs_referral_v4(ndr, "v4", &r->v4);
1144 break;
1145
1146 default:
1147 break;
1148
1149 }
1150}
1151
1152static enum ndr_err_code ndr_push_dfs_referral_type(struct ndr_push *ndr, int ndr_flags, const struct dfs_referral_type *r)
1153{
1154 uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
1155 {
1156 uint32_t _flags_save_STRUCT = ndr->flags;
1157 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
1158 if (ndr_flags & NDR_SCALARS) {
1159 NDR_CHECK(ndr_push_align(ndr, 5));
1160 NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
1161 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->version));
1162 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->referral, r->version));
1163 NDR_CHECK(ndr_push_dfs_referral_version(ndr, NDR_SCALARS, &r->referral));
1164 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1165 }
1166 if (ndr_flags & NDR_BUFFERS) {
1167 NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
1168 NDR_CHECK(ndr_push_dfs_referral_version(ndr, NDR_BUFFERS, &r->referral));
1169 }
1170 ndr->flags = _flags_save_STRUCT;
1171 }
1172 ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
1173 return NDR_ERR_SUCCESS;
1174}
1175
1176static enum ndr_err_code ndr_pull_dfs_referral_type(struct ndr_pull *ndr, int ndr_flags, struct dfs_referral_type *r)
1177{
1178 uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
1179 {
1180 uint32_t _flags_save_STRUCT = ndr->flags;
1181 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
1182 if (ndr_flags & NDR_SCALARS) {
1183 NDR_CHECK(ndr_pull_align(ndr, 5));
1184 NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
1185 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->version));
1186 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->referral, r->version));
1187 NDR_CHECK(ndr_pull_dfs_referral_version(ndr, NDR_SCALARS, &r->referral));
1188 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1189 }
1190 if (ndr_flags & NDR_BUFFERS) {
1191 NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
1192 NDR_CHECK(ndr_pull_dfs_referral_version(ndr, NDR_BUFFERS, &r->referral));
1193 }
1194 ndr->flags = _flags_save_STRUCT;
1195 }
1196 ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
1197 return NDR_ERR_SUCCESS;
1198}
1199
1200_PUBLIC_ void ndr_print_dfs_referral_type(struct ndr_print *ndr, const char *name, const struct dfs_referral_type *r)
1201{
1202 ndr_print_struct(ndr, name, "dfs_referral_type");
1203 if (r == NULL) { ndr_print_null(ndr); return; }
1204 {
1205 uint32_t _flags_save_STRUCT = ndr->flags;
1206 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
1207 ndr->depth++;
1208 ndr_print_uint16(ndr, "version", r->version);
1209 ndr_print_set_switch_value(ndr, &r->referral, r->version);
1210 ndr_print_dfs_referral_version(ndr, "referral", &r->referral);
1211 ndr->depth--;
1212 ndr->flags = _flags_save_STRUCT;
1213 }
1214}
1215
1216_PUBLIC_ enum ndr_err_code ndr_push_dfs_referral_resp(struct ndr_push *ndr, int ndr_flags, const struct dfs_referral_resp *r)
1217{
1218 uint32_t cntr_referral_entries_0;
1219 if (ndr_flags & NDR_SCALARS) {
1220 NDR_CHECK(ndr_push_align(ndr, 5));
1221 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->path_consumed));
1222 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->nb_referrals));
1223 NDR_CHECK(ndr_push_DFS_HEADER_FLAG(ndr, NDR_SCALARS, r->header_flags));
1224 for (cntr_referral_entries_0 = 0; cntr_referral_entries_0 < r->nb_referrals; cntr_referral_entries_0++) {
1225 NDR_CHECK(ndr_push_dfs_referral_type(ndr, NDR_SCALARS, &r->referral_entries[cntr_referral_entries_0]));
1226 }
1227 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1228 }
1229 if (ndr_flags & NDR_BUFFERS) {
1230 for (cntr_referral_entries_0 = 0; cntr_referral_entries_0 < r->nb_referrals; cntr_referral_entries_0++) {
1231 NDR_CHECK(ndr_push_dfs_referral_type(ndr, NDR_BUFFERS, &r->referral_entries[cntr_referral_entries_0]));
1232 }
1233 }
1234 return NDR_ERR_SUCCESS;
1235}
1236
1237_PUBLIC_ enum ndr_err_code ndr_pull_dfs_referral_resp(struct ndr_pull *ndr, int ndr_flags, struct dfs_referral_resp *r)
1238{
1239 uint32_t size_referral_entries_0 = 0;
1240 uint32_t cntr_referral_entries_0;
1241 TALLOC_CTX *_mem_save_referral_entries_0;
1242 if (ndr_flags & NDR_SCALARS) {
1243 NDR_CHECK(ndr_pull_align(ndr, 5));
1244 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->path_consumed));
1245 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->nb_referrals));
1246 NDR_CHECK(ndr_pull_DFS_HEADER_FLAG(ndr, NDR_SCALARS, &r->header_flags));
1247 size_referral_entries_0 = r->nb_referrals;
1248 NDR_PULL_ALLOC_N(ndr, r->referral_entries, size_referral_entries_0);
1249 _mem_save_referral_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
1250 NDR_PULL_SET_MEM_CTX(ndr, r->referral_entries, 0);
1251 for (cntr_referral_entries_0 = 0; cntr_referral_entries_0 < size_referral_entries_0; cntr_referral_entries_0++) {
1252 NDR_CHECK(ndr_pull_dfs_referral_type(ndr, NDR_SCALARS, &r->referral_entries[cntr_referral_entries_0]));
1253 }
1254 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_referral_entries_0, 0);
1255 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1256 }
1257 if (ndr_flags & NDR_BUFFERS) {
1258 size_referral_entries_0 = r->nb_referrals;
1259 _mem_save_referral_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
1260 NDR_PULL_SET_MEM_CTX(ndr, r->referral_entries, 0);
1261 for (cntr_referral_entries_0 = 0; cntr_referral_entries_0 < size_referral_entries_0; cntr_referral_entries_0++) {
1262 NDR_CHECK(ndr_pull_dfs_referral_type(ndr, NDR_BUFFERS, &r->referral_entries[cntr_referral_entries_0]));
1263 }
1264 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_referral_entries_0, 0);
1265 }
1266 return NDR_ERR_SUCCESS;
1267}
1268
1269_PUBLIC_ void ndr_print_dfs_referral_resp(struct ndr_print *ndr, const char *name, const struct dfs_referral_resp *r)
1270{
1271 uint32_t cntr_referral_entries_0;
1272 ndr_print_struct(ndr, name, "dfs_referral_resp");
1273 if (r == NULL) { ndr_print_null(ndr); return; }
1274 ndr->depth++;
1275 ndr_print_uint16(ndr, "path_consumed", r->path_consumed);
1276 ndr_print_uint16(ndr, "nb_referrals", r->nb_referrals);
1277 ndr_print_DFS_HEADER_FLAG(ndr, "header_flags", r->header_flags);
1278 ndr->print(ndr, "%s: ARRAY(%d)", "referral_entries", (int)r->nb_referrals);
1279 ndr->depth++;
1280 for (cntr_referral_entries_0=0;cntr_referral_entries_0<r->nb_referrals;cntr_referral_entries_0++) {
1281 ndr_print_dfs_referral_type(ndr, "referral_entries", &r->referral_entries[cntr_referral_entries_0]);
1282 }
1283 ndr->depth--;
1284 ndr->depth--;
1285}
1286
1287_PUBLIC_ enum ndr_err_code ndr_push_dfs_GetDFSReferral_in(struct ndr_push *ndr, int ndr_flags, const struct dfs_GetDFSReferral_in *r)
1288{
1289 if (ndr_flags & NDR_SCALARS) {
1290 NDR_CHECK(ndr_push_align(ndr, 4));
1291 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_referral_level));
1292 {
1293 uint32_t _flags_save_string = ndr->flags;
1294 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1295 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
1296 ndr->flags = _flags_save_string;
1297 }
1298 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1299 }
1300 if (ndr_flags & NDR_BUFFERS) {
1301 }
1302 return NDR_ERR_SUCCESS;
1303}
1304
1305_PUBLIC_ enum ndr_err_code ndr_pull_dfs_GetDFSReferral_in(struct ndr_pull *ndr, int ndr_flags, struct dfs_GetDFSReferral_in *r)
1306{
1307 if (ndr_flags & NDR_SCALARS) {
1308 NDR_CHECK(ndr_pull_align(ndr, 4));
1309 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_referral_level));
1310 {
1311 uint32_t _flags_save_string = ndr->flags;
1312 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1313 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
1314 ndr->flags = _flags_save_string;
1315 }
1316 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1317 }
1318 if (ndr_flags & NDR_BUFFERS) {
1319 }
1320 return NDR_ERR_SUCCESS;
1321}
1322
1323_PUBLIC_ void ndr_print_dfs_GetDFSReferral_in(struct ndr_print *ndr, const char *name, const struct dfs_GetDFSReferral_in *r)
1324{
1325 ndr_print_struct(ndr, name, "dfs_GetDFSReferral_in");
1326 if (r == NULL) { ndr_print_null(ndr); return; }
1327 ndr->depth++;
1328 ndr_print_uint16(ndr, "max_referral_level", r->max_referral_level);
1329 ndr_print_string(ndr, "servername", r->servername);
1330 ndr->depth--;
1331}
1332
1333_PUBLIC_ enum ndr_err_code ndr_push_dfs_GetDFSReferral(struct ndr_push *ndr, int flags, const struct dfs_GetDFSReferral *r)
1334{
1335 if (flags & NDR_IN) {
1336 NDR_CHECK(ndr_push_dfs_GetDFSReferral_in(ndr, NDR_SCALARS, &r->in.req));
1337 }
1338 if (flags & NDR_OUT) {
1339 if (r->out.resp == NULL) {
1340 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1341 }
1342 NDR_CHECK(ndr_push_dfs_referral_resp(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.resp));
1343 }
1344 return NDR_ERR_SUCCESS;
1345}
1346
1347_PUBLIC_ enum ndr_err_code ndr_pull_dfs_GetDFSReferral(struct ndr_pull *ndr, int flags, struct dfs_GetDFSReferral *r)
1348{
1349 TALLOC_CTX *_mem_save_resp_0;
1350 if (flags & NDR_IN) {
1351 ZERO_STRUCT(r->out);
1352
1353 NDR_CHECK(ndr_pull_dfs_GetDFSReferral_in(ndr, NDR_SCALARS, &r->in.req));
1354 NDR_PULL_ALLOC(ndr, r->out.resp);
1355 ZERO_STRUCTP(r->out.resp);
1356 }
1357 if (flags & NDR_OUT) {
1358 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1359 NDR_PULL_ALLOC(ndr, r->out.resp);
1360 }
1361 _mem_save_resp_0 = NDR_PULL_GET_MEM_CTX(ndr);
1362 NDR_PULL_SET_MEM_CTX(ndr, r->out.resp, LIBNDR_FLAG_REF_ALLOC);
1363 NDR_CHECK(ndr_pull_dfs_referral_resp(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.resp));
1364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resp_0, LIBNDR_FLAG_REF_ALLOC);
1365 }
1366 return NDR_ERR_SUCCESS;
1367}
1368
1369_PUBLIC_ void ndr_print_dfs_GetDFSReferral(struct ndr_print *ndr, const char *name, int flags, const struct dfs_GetDFSReferral *r)
1370{
1371 ndr_print_struct(ndr, name, "dfs_GetDFSReferral");
1372 if (r == NULL) { ndr_print_null(ndr); return; }
1373 ndr->depth++;
1374 if (flags & NDR_SET_VALUES) {
1375 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1376 }
1377 if (flags & NDR_IN) {
1378 ndr_print_struct(ndr, "in", "dfs_GetDFSReferral");
1379 ndr->depth++;
1380 ndr_print_dfs_GetDFSReferral_in(ndr, "req", &r->in.req);
1381 ndr->depth--;
1382 }
1383 if (flags & NDR_OUT) {
1384 ndr_print_struct(ndr, "out", "dfs_GetDFSReferral");
1385 ndr->depth++;
1386 ndr_print_ptr(ndr, "resp", r->out.resp);
1387 ndr->depth++;
1388 ndr_print_dfs_referral_resp(ndr, "resp", r->out.resp);
1389 ndr->depth--;
1390 ndr->depth--;
1391 }
1392 ndr->depth--;
1393}
1394
1395static const struct ndr_interface_call dfsblobs_calls[] = {
1396 {
1397 "dfs_GetDFSReferral",
1398 sizeof(struct dfs_GetDFSReferral),
1399 (ndr_push_flags_fn_t) ndr_push_dfs_GetDFSReferral,
1400 (ndr_pull_flags_fn_t) ndr_pull_dfs_GetDFSReferral,
1401 (ndr_print_function_t) ndr_print_dfs_GetDFSReferral,
1402 { 0, NULL },
1403 { 0, NULL },
1404 },
1405 { NULL, 0, NULL, NULL, NULL }
1406};
1407
1408static const char * const dfsblobs_endpoint_strings[] = {
1409 "ncacn_np:[\\pipe\\dfsblobs]",
1410};
1411
1412static const struct ndr_interface_string_array dfsblobs_endpoints = {
1413 .count = 1,
1414 .names = dfsblobs_endpoint_strings
1415};
1416
1417static const char * const dfsblobs_authservice_strings[] = {
1418 "host",
1419};
1420
1421static const struct ndr_interface_string_array dfsblobs_authservices = {
1422 .count = 1,
1423 .names = dfsblobs_authservice_strings
1424};
1425
1426
1427const struct ndr_interface_table ndr_table_dfsblobs = {
1428 .name = "dfsblobs",
1429 .syntax_id = {
1430 {0x12345778,0x1234,0xabcd,{0x00,0x01},{0x00,0x00,0x00,0x03}},
1431 NDR_DFSBLOBS_VERSION
1432 },
1433 .helpstring = NDR_DFSBLOBS_HELPSTRING,
1434 .num_calls = 1,
1435 .calls = dfsblobs_calls,
1436 .endpoints = &dfsblobs_endpoints,
1437 .authservices = &dfsblobs_authservices
1438};
1439
Note: See TracBrowser for help on using the repository browser.