• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/samba-3.5.8/librpc/gen_ndr/
1/* parser auto-generated by pidl */
2
3#include "includes.h"
4#include "../librpc/gen_ndr/ndr_epmapper.h"
5
6#include "librpc/gen_ndr/ndr_misc.h"
7static enum ndr_err_code ndr_push_epm_protocol(struct ndr_push *ndr, int ndr_flags, enum epm_protocol r)
8{
9	NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
10	return NDR_ERR_SUCCESS;
11}
12
13static enum ndr_err_code ndr_pull_epm_protocol(struct ndr_pull *ndr, int ndr_flags, enum epm_protocol *r)
14{
15	uint8_t v;
16	NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
17	*r = v;
18	return NDR_ERR_SUCCESS;
19}
20
21_PUBLIC_ void ndr_print_epm_protocol(struct ndr_print *ndr, const char *name, enum epm_protocol r)
22{
23	const char *val = NULL;
24
25	switch (r) {
26		case EPM_PROTOCOL_DNET_NSP: val = "EPM_PROTOCOL_DNET_NSP"; break;
27		case EPM_PROTOCOL_OSI_TP4: val = "EPM_PROTOCOL_OSI_TP4"; break;
28		case EPM_PROTOCOL_OSI_CLNS: val = "EPM_PROTOCOL_OSI_CLNS"; break;
29		case EPM_PROTOCOL_TCP: val = "EPM_PROTOCOL_TCP"; break;
30		case EPM_PROTOCOL_UDP: val = "EPM_PROTOCOL_UDP"; break;
31		case EPM_PROTOCOL_IP: val = "EPM_PROTOCOL_IP"; break;
32		case EPM_PROTOCOL_NCADG: val = "EPM_PROTOCOL_NCADG"; break;
33		case EPM_PROTOCOL_NCACN: val = "EPM_PROTOCOL_NCACN"; break;
34		case EPM_PROTOCOL_NCALRPC: val = "EPM_PROTOCOL_NCALRPC"; break;
35		case EPM_PROTOCOL_UUID: val = "EPM_PROTOCOL_UUID"; break;
36		case EPM_PROTOCOL_IPX: val = "EPM_PROTOCOL_IPX"; break;
37		case EPM_PROTOCOL_SMB: val = "EPM_PROTOCOL_SMB"; break;
38		case EPM_PROTOCOL_NAMED_PIPE: val = "EPM_PROTOCOL_NAMED_PIPE"; break;
39		case EPM_PROTOCOL_NETBIOS: val = "EPM_PROTOCOL_NETBIOS"; break;
40		case EPM_PROTOCOL_NETBEUI: val = "EPM_PROTOCOL_NETBEUI"; break;
41		case EPM_PROTOCOL_SPX: val = "EPM_PROTOCOL_SPX"; break;
42		case EPM_PROTOCOL_NB_IPX: val = "EPM_PROTOCOL_NB_IPX"; break;
43		case EPM_PROTOCOL_DSP: val = "EPM_PROTOCOL_DSP"; break;
44		case EPM_PROTOCOL_DDP: val = "EPM_PROTOCOL_DDP"; break;
45		case EPM_PROTOCOL_APPLETALK: val = "EPM_PROTOCOL_APPLETALK"; break;
46		case EPM_PROTOCOL_VINES_SPP: val = "EPM_PROTOCOL_VINES_SPP"; break;
47		case EPM_PROTOCOL_VINES_IPC: val = "EPM_PROTOCOL_VINES_IPC"; break;
48		case EPM_PROTOCOL_STREETTALK: val = "EPM_PROTOCOL_STREETTALK"; break;
49		case EPM_PROTOCOL_HTTP: val = "EPM_PROTOCOL_HTTP"; break;
50		case EPM_PROTOCOL_UNIX_DS: val = "EPM_PROTOCOL_UNIX_DS"; break;
51		case EPM_PROTOCOL_NULL: val = "EPM_PROTOCOL_NULL"; break;
52	}
53	ndr_print_enum(ndr, name, "ENUM", val, r);
54}
55
56static enum ndr_err_code ndr_push_epm_rhs_dnet_nsp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_dnet_nsp *r)
57{
58	if (ndr_flags & NDR_SCALARS) {
59		NDR_CHECK(ndr_push_align(ndr, 1));
60		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
61	}
62	if (ndr_flags & NDR_BUFFERS) {
63	}
64	return NDR_ERR_SUCCESS;
65}
66
67static enum ndr_err_code ndr_pull_epm_rhs_dnet_nsp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_dnet_nsp *r)
68{
69	if (ndr_flags & NDR_SCALARS) {
70		NDR_CHECK(ndr_pull_align(ndr, 1));
71		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
72	}
73	if (ndr_flags & NDR_BUFFERS) {
74	}
75	return NDR_ERR_SUCCESS;
76}
77
78_PUBLIC_ void ndr_print_epm_rhs_dnet_nsp(struct ndr_print *ndr, const char *name, const struct epm_rhs_dnet_nsp *r)
79{
80	ndr_print_struct(ndr, name, "epm_rhs_dnet_nsp");
81	ndr->depth++;
82	ndr->depth--;
83}
84
85static enum ndr_err_code ndr_push_epm_rhs_osi_tp4(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_osi_tp4 *r)
86{
87	if (ndr_flags & NDR_SCALARS) {
88		NDR_CHECK(ndr_push_align(ndr, 1));
89		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
90	}
91	if (ndr_flags & NDR_BUFFERS) {
92	}
93	return NDR_ERR_SUCCESS;
94}
95
96static enum ndr_err_code ndr_pull_epm_rhs_osi_tp4(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_osi_tp4 *r)
97{
98	if (ndr_flags & NDR_SCALARS) {
99		NDR_CHECK(ndr_pull_align(ndr, 1));
100		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
101	}
102	if (ndr_flags & NDR_BUFFERS) {
103	}
104	return NDR_ERR_SUCCESS;
105}
106
107_PUBLIC_ void ndr_print_epm_rhs_osi_tp4(struct ndr_print *ndr, const char *name, const struct epm_rhs_osi_tp4 *r)
108{
109	ndr_print_struct(ndr, name, "epm_rhs_osi_tp4");
110	ndr->depth++;
111	ndr->depth--;
112}
113
114static enum ndr_err_code ndr_push_epm_rhs_osi_clns(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_osi_clns *r)
115{
116	if (ndr_flags & NDR_SCALARS) {
117		NDR_CHECK(ndr_push_align(ndr, 1));
118		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
119	}
120	if (ndr_flags & NDR_BUFFERS) {
121	}
122	return NDR_ERR_SUCCESS;
123}
124
125static enum ndr_err_code ndr_pull_epm_rhs_osi_clns(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_osi_clns *r)
126{
127	if (ndr_flags & NDR_SCALARS) {
128		NDR_CHECK(ndr_pull_align(ndr, 1));
129		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
130	}
131	if (ndr_flags & NDR_BUFFERS) {
132	}
133	return NDR_ERR_SUCCESS;
134}
135
136_PUBLIC_ void ndr_print_epm_rhs_osi_clns(struct ndr_print *ndr, const char *name, const struct epm_rhs_osi_clns *r)
137{
138	ndr_print_struct(ndr, name, "epm_rhs_osi_clns");
139	ndr->depth++;
140	ndr->depth--;
141}
142
143static enum ndr_err_code ndr_push_epm_rhs_udp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_udp *r)
144{
145	if (ndr_flags & NDR_SCALARS) {
146		NDR_CHECK(ndr_push_align(ndr, 2));
147		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port));
148		NDR_CHECK(ndr_push_trailer_align(ndr, 2));
149	}
150	if (ndr_flags & NDR_BUFFERS) {
151	}
152	return NDR_ERR_SUCCESS;
153}
154
155static enum ndr_err_code ndr_pull_epm_rhs_udp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_udp *r)
156{
157	if (ndr_flags & NDR_SCALARS) {
158		NDR_CHECK(ndr_pull_align(ndr, 2));
159		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port));
160		NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
161	}
162	if (ndr_flags & NDR_BUFFERS) {
163	}
164	return NDR_ERR_SUCCESS;
165}
166
167_PUBLIC_ void ndr_print_epm_rhs_udp(struct ndr_print *ndr, const char *name, const struct epm_rhs_udp *r)
168{
169	ndr_print_struct(ndr, name, "epm_rhs_udp");
170	ndr->depth++;
171	ndr_print_uint16(ndr, "port", r->port);
172	ndr->depth--;
173}
174
175static enum ndr_err_code ndr_push_epm_rhs_tcp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_tcp *r)
176{
177	if (ndr_flags & NDR_SCALARS) {
178		NDR_CHECK(ndr_push_align(ndr, 2));
179		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port));
180		NDR_CHECK(ndr_push_trailer_align(ndr, 2));
181	}
182	if (ndr_flags & NDR_BUFFERS) {
183	}
184	return NDR_ERR_SUCCESS;
185}
186
187static enum ndr_err_code ndr_pull_epm_rhs_tcp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_tcp *r)
188{
189	if (ndr_flags & NDR_SCALARS) {
190		NDR_CHECK(ndr_pull_align(ndr, 2));
191		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port));
192		NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
193	}
194	if (ndr_flags & NDR_BUFFERS) {
195	}
196	return NDR_ERR_SUCCESS;
197}
198
199_PUBLIC_ void ndr_print_epm_rhs_tcp(struct ndr_print *ndr, const char *name, const struct epm_rhs_tcp *r)
200{
201	ndr_print_struct(ndr, name, "epm_rhs_tcp");
202	ndr->depth++;
203	ndr_print_uint16(ndr, "port", r->port);
204	ndr->depth--;
205}
206
207static enum ndr_err_code ndr_push_epm_rhs_ip(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ip *r)
208{
209	if (ndr_flags & NDR_SCALARS) {
210		NDR_CHECK(ndr_push_align(ndr, 4));
211		NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->ipaddr));
212		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
213	}
214	if (ndr_flags & NDR_BUFFERS) {
215	}
216	return NDR_ERR_SUCCESS;
217}
218
219static enum ndr_err_code ndr_pull_epm_rhs_ip(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ip *r)
220{
221	if (ndr_flags & NDR_SCALARS) {
222		NDR_CHECK(ndr_pull_align(ndr, 4));
223		NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->ipaddr));
224		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
225	}
226	if (ndr_flags & NDR_BUFFERS) {
227	}
228	return NDR_ERR_SUCCESS;
229}
230
231_PUBLIC_ void ndr_print_epm_rhs_ip(struct ndr_print *ndr, const char *name, const struct epm_rhs_ip *r)
232{
233	ndr_print_struct(ndr, name, "epm_rhs_ip");
234	ndr->depth++;
235	ndr_print_ipv4address(ndr, "ipaddr", r->ipaddr);
236	ndr->depth--;
237}
238
239static enum ndr_err_code ndr_push_epm_rhs_ncadg(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ncadg *r)
240{
241	if (ndr_flags & NDR_SCALARS) {
242		NDR_CHECK(ndr_push_align(ndr, 2));
243		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minor_version));
244		NDR_CHECK(ndr_push_trailer_align(ndr, 2));
245	}
246	if (ndr_flags & NDR_BUFFERS) {
247	}
248	return NDR_ERR_SUCCESS;
249}
250
251static enum ndr_err_code ndr_pull_epm_rhs_ncadg(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ncadg *r)
252{
253	if (ndr_flags & NDR_SCALARS) {
254		NDR_CHECK(ndr_pull_align(ndr, 2));
255		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minor_version));
256		NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
257	}
258	if (ndr_flags & NDR_BUFFERS) {
259	}
260	return NDR_ERR_SUCCESS;
261}
262
263_PUBLIC_ void ndr_print_epm_rhs_ncadg(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncadg *r)
264{
265	ndr_print_struct(ndr, name, "epm_rhs_ncadg");
266	ndr->depth++;
267	ndr_print_uint16(ndr, "minor_version", r->minor_version);
268	ndr->depth--;
269}
270
271static enum ndr_err_code ndr_push_epm_rhs_ncacn(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ncacn *r)
272{
273	if (ndr_flags & NDR_SCALARS) {
274		NDR_CHECK(ndr_push_align(ndr, 2));
275		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minor_version));
276		NDR_CHECK(ndr_push_trailer_align(ndr, 2));
277	}
278	if (ndr_flags & NDR_BUFFERS) {
279	}
280	return NDR_ERR_SUCCESS;
281}
282
283static enum ndr_err_code ndr_pull_epm_rhs_ncacn(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ncacn *r)
284{
285	if (ndr_flags & NDR_SCALARS) {
286		NDR_CHECK(ndr_pull_align(ndr, 2));
287		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minor_version));
288		NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
289	}
290	if (ndr_flags & NDR_BUFFERS) {
291	}
292	return NDR_ERR_SUCCESS;
293}
294
295_PUBLIC_ void ndr_print_epm_rhs_ncacn(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncacn *r)
296{
297	ndr_print_struct(ndr, name, "epm_rhs_ncacn");
298	ndr->depth++;
299	ndr_print_uint16(ndr, "minor_version", r->minor_version);
300	ndr->depth--;
301}
302
303static enum ndr_err_code ndr_push_epm_rhs_uuid(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_uuid *r)
304{
305	if (ndr_flags & NDR_SCALARS) {
306		NDR_CHECK(ndr_push_align(ndr, 4));
307		{
308			uint32_t _flags_save_DATA_BLOB = ndr->flags;
309			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
310			NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->unknown));
311			ndr->flags = _flags_save_DATA_BLOB;
312		}
313		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
314	}
315	if (ndr_flags & NDR_BUFFERS) {
316	}
317	return NDR_ERR_SUCCESS;
318}
319
320static enum ndr_err_code ndr_pull_epm_rhs_uuid(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_uuid *r)
321{
322	if (ndr_flags & NDR_SCALARS) {
323		NDR_CHECK(ndr_pull_align(ndr, 4));
324		{
325			uint32_t _flags_save_DATA_BLOB = ndr->flags;
326			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
327			NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->unknown));
328			ndr->flags = _flags_save_DATA_BLOB;
329		}
330		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
331	}
332	if (ndr_flags & NDR_BUFFERS) {
333	}
334	return NDR_ERR_SUCCESS;
335}
336
337_PUBLIC_ void ndr_print_epm_rhs_uuid(struct ndr_print *ndr, const char *name, const struct epm_rhs_uuid *r)
338{
339	ndr_print_struct(ndr, name, "epm_rhs_uuid");
340	ndr->depth++;
341	ndr_print_DATA_BLOB(ndr, "unknown", r->unknown);
342	ndr->depth--;
343}
344
345static enum ndr_err_code ndr_push_epm_rhs_ipx(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ipx *r)
346{
347	if (ndr_flags & NDR_SCALARS) {
348		NDR_CHECK(ndr_push_align(ndr, 1));
349		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
350	}
351	if (ndr_flags & NDR_BUFFERS) {
352	}
353	return NDR_ERR_SUCCESS;
354}
355
356static enum ndr_err_code ndr_pull_epm_rhs_ipx(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ipx *r)
357{
358	if (ndr_flags & NDR_SCALARS) {
359		NDR_CHECK(ndr_pull_align(ndr, 1));
360		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
361	}
362	if (ndr_flags & NDR_BUFFERS) {
363	}
364	return NDR_ERR_SUCCESS;
365}
366
367_PUBLIC_ void ndr_print_epm_rhs_ipx(struct ndr_print *ndr, const char *name, const struct epm_rhs_ipx *r)
368{
369	ndr_print_struct(ndr, name, "epm_rhs_ipx");
370	ndr->depth++;
371	ndr->depth--;
372}
373
374static enum ndr_err_code ndr_push_epm_rhs_smb(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_smb *r)
375{
376	if (ndr_flags & NDR_SCALARS) {
377		NDR_CHECK(ndr_push_align(ndr, 4));
378		{
379			uint32_t _flags_save_string = ndr->flags;
380			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
381			NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unc));
382			ndr->flags = _flags_save_string;
383		}
384		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
385	}
386	if (ndr_flags & NDR_BUFFERS) {
387	}
388	return NDR_ERR_SUCCESS;
389}
390
391static enum ndr_err_code ndr_pull_epm_rhs_smb(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_smb *r)
392{
393	if (ndr_flags & NDR_SCALARS) {
394		NDR_CHECK(ndr_pull_align(ndr, 4));
395		{
396			uint32_t _flags_save_string = ndr->flags;
397			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
398			NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unc));
399			ndr->flags = _flags_save_string;
400		}
401		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
402	}
403	if (ndr_flags & NDR_BUFFERS) {
404	}
405	return NDR_ERR_SUCCESS;
406}
407
408_PUBLIC_ void ndr_print_epm_rhs_smb(struct ndr_print *ndr, const char *name, const struct epm_rhs_smb *r)
409{
410	ndr_print_struct(ndr, name, "epm_rhs_smb");
411	ndr->depth++;
412	ndr_print_string(ndr, "unc", r->unc);
413	ndr->depth--;
414}
415
416static enum ndr_err_code ndr_push_epm_rhs_named_pipe(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_named_pipe *r)
417{
418	if (ndr_flags & NDR_SCALARS) {
419		NDR_CHECK(ndr_push_align(ndr, 4));
420		{
421			uint32_t _flags_save_string = ndr->flags;
422			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
423			NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->path));
424			ndr->flags = _flags_save_string;
425		}
426		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
427	}
428	if (ndr_flags & NDR_BUFFERS) {
429	}
430	return NDR_ERR_SUCCESS;
431}
432
433static enum ndr_err_code ndr_pull_epm_rhs_named_pipe(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_named_pipe *r)
434{
435	if (ndr_flags & NDR_SCALARS) {
436		NDR_CHECK(ndr_pull_align(ndr, 4));
437		{
438			uint32_t _flags_save_string = ndr->flags;
439			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
440			NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->path));
441			ndr->flags = _flags_save_string;
442		}
443		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
444	}
445	if (ndr_flags & NDR_BUFFERS) {
446	}
447	return NDR_ERR_SUCCESS;
448}
449
450_PUBLIC_ void ndr_print_epm_rhs_named_pipe(struct ndr_print *ndr, const char *name, const struct epm_rhs_named_pipe *r)
451{
452	ndr_print_struct(ndr, name, "epm_rhs_named_pipe");
453	ndr->depth++;
454	ndr_print_string(ndr, "path", r->path);
455	ndr->depth--;
456}
457
458static enum ndr_err_code ndr_push_epm_rhs_netbios(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_netbios *r)
459{
460	if (ndr_flags & NDR_SCALARS) {
461		NDR_CHECK(ndr_push_align(ndr, 4));
462		{
463			uint32_t _flags_save_string = ndr->flags;
464			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
465			NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
466			ndr->flags = _flags_save_string;
467		}
468		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
469	}
470	if (ndr_flags & NDR_BUFFERS) {
471	}
472	return NDR_ERR_SUCCESS;
473}
474
475static enum ndr_err_code ndr_pull_epm_rhs_netbios(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_netbios *r)
476{
477	if (ndr_flags & NDR_SCALARS) {
478		NDR_CHECK(ndr_pull_align(ndr, 4));
479		{
480			uint32_t _flags_save_string = ndr->flags;
481			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
482			NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
483			ndr->flags = _flags_save_string;
484		}
485		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
486	}
487	if (ndr_flags & NDR_BUFFERS) {
488	}
489	return NDR_ERR_SUCCESS;
490}
491
492_PUBLIC_ void ndr_print_epm_rhs_netbios(struct ndr_print *ndr, const char *name, const struct epm_rhs_netbios *r)
493{
494	ndr_print_struct(ndr, name, "epm_rhs_netbios");
495	ndr->depth++;
496	ndr_print_string(ndr, "name", r->name);
497	ndr->depth--;
498}
499
500static enum ndr_err_code ndr_push_epm_rhs_netbeui(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_netbeui *r)
501{
502	if (ndr_flags & NDR_SCALARS) {
503		NDR_CHECK(ndr_push_align(ndr, 1));
504		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
505	}
506	if (ndr_flags & NDR_BUFFERS) {
507	}
508	return NDR_ERR_SUCCESS;
509}
510
511static enum ndr_err_code ndr_pull_epm_rhs_netbeui(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_netbeui *r)
512{
513	if (ndr_flags & NDR_SCALARS) {
514		NDR_CHECK(ndr_pull_align(ndr, 1));
515		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
516	}
517	if (ndr_flags & NDR_BUFFERS) {
518	}
519	return NDR_ERR_SUCCESS;
520}
521
522_PUBLIC_ void ndr_print_epm_rhs_netbeui(struct ndr_print *ndr, const char *name, const struct epm_rhs_netbeui *r)
523{
524	ndr_print_struct(ndr, name, "epm_rhs_netbeui");
525	ndr->depth++;
526	ndr->depth--;
527}
528
529static enum ndr_err_code ndr_push_epm_rhs_spx(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_spx *r)
530{
531	if (ndr_flags & NDR_SCALARS) {
532		NDR_CHECK(ndr_push_align(ndr, 1));
533		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
534	}
535	if (ndr_flags & NDR_BUFFERS) {
536	}
537	return NDR_ERR_SUCCESS;
538}
539
540static enum ndr_err_code ndr_pull_epm_rhs_spx(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_spx *r)
541{
542	if (ndr_flags & NDR_SCALARS) {
543		NDR_CHECK(ndr_pull_align(ndr, 1));
544		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
545	}
546	if (ndr_flags & NDR_BUFFERS) {
547	}
548	return NDR_ERR_SUCCESS;
549}
550
551_PUBLIC_ void ndr_print_epm_rhs_spx(struct ndr_print *ndr, const char *name, const struct epm_rhs_spx *r)
552{
553	ndr_print_struct(ndr, name, "epm_rhs_spx");
554	ndr->depth++;
555	ndr->depth--;
556}
557
558static enum ndr_err_code ndr_push_epm_rhs_nb_ipx(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_nb_ipx *r)
559{
560	if (ndr_flags & NDR_SCALARS) {
561		NDR_CHECK(ndr_push_align(ndr, 1));
562		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
563	}
564	if (ndr_flags & NDR_BUFFERS) {
565	}
566	return NDR_ERR_SUCCESS;
567}
568
569static enum ndr_err_code ndr_pull_epm_rhs_nb_ipx(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_nb_ipx *r)
570{
571	if (ndr_flags & NDR_SCALARS) {
572		NDR_CHECK(ndr_pull_align(ndr, 1));
573		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
574	}
575	if (ndr_flags & NDR_BUFFERS) {
576	}
577	return NDR_ERR_SUCCESS;
578}
579
580_PUBLIC_ void ndr_print_epm_rhs_nb_ipx(struct ndr_print *ndr, const char *name, const struct epm_rhs_nb_ipx *r)
581{
582	ndr_print_struct(ndr, name, "epm_rhs_nb_ipx");
583	ndr->depth++;
584	ndr->depth--;
585}
586
587static enum ndr_err_code ndr_push_epm_rhs_http(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_http *r)
588{
589	if (ndr_flags & NDR_SCALARS) {
590		NDR_CHECK(ndr_push_align(ndr, 2));
591		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port));
592		NDR_CHECK(ndr_push_trailer_align(ndr, 2));
593	}
594	if (ndr_flags & NDR_BUFFERS) {
595	}
596	return NDR_ERR_SUCCESS;
597}
598
599static enum ndr_err_code ndr_pull_epm_rhs_http(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_http *r)
600{
601	if (ndr_flags & NDR_SCALARS) {
602		NDR_CHECK(ndr_pull_align(ndr, 2));
603		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port));
604		NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
605	}
606	if (ndr_flags & NDR_BUFFERS) {
607	}
608	return NDR_ERR_SUCCESS;
609}
610
611_PUBLIC_ void ndr_print_epm_rhs_http(struct ndr_print *ndr, const char *name, const struct epm_rhs_http *r)
612{
613	ndr_print_struct(ndr, name, "epm_rhs_http");
614	ndr->depth++;
615	ndr_print_uint16(ndr, "port", r->port);
616	ndr->depth--;
617}
618
619static enum ndr_err_code ndr_push_epm_rhs_unix_ds(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_unix_ds *r)
620{
621	if (ndr_flags & NDR_SCALARS) {
622		NDR_CHECK(ndr_push_align(ndr, 4));
623		{
624			uint32_t _flags_save_string = ndr->flags;
625			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
626			NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->path));
627			ndr->flags = _flags_save_string;
628		}
629		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
630	}
631	if (ndr_flags & NDR_BUFFERS) {
632	}
633	return NDR_ERR_SUCCESS;
634}
635
636static enum ndr_err_code ndr_pull_epm_rhs_unix_ds(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_unix_ds *r)
637{
638	if (ndr_flags & NDR_SCALARS) {
639		NDR_CHECK(ndr_pull_align(ndr, 4));
640		{
641			uint32_t _flags_save_string = ndr->flags;
642			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
643			NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->path));
644			ndr->flags = _flags_save_string;
645		}
646		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
647	}
648	if (ndr_flags & NDR_BUFFERS) {
649	}
650	return NDR_ERR_SUCCESS;
651}
652
653_PUBLIC_ void ndr_print_epm_rhs_unix_ds(struct ndr_print *ndr, const char *name, const struct epm_rhs_unix_ds *r)
654{
655	ndr_print_struct(ndr, name, "epm_rhs_unix_ds");
656	ndr->depth++;
657	ndr_print_string(ndr, "path", r->path);
658	ndr->depth--;
659}
660
661static enum ndr_err_code ndr_push_epm_rhs_null(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_null *r)
662{
663	if (ndr_flags & NDR_SCALARS) {
664		NDR_CHECK(ndr_push_align(ndr, 1));
665		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
666	}
667	if (ndr_flags & NDR_BUFFERS) {
668	}
669	return NDR_ERR_SUCCESS;
670}
671
672static enum ndr_err_code ndr_pull_epm_rhs_null(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_null *r)
673{
674	if (ndr_flags & NDR_SCALARS) {
675		NDR_CHECK(ndr_pull_align(ndr, 1));
676		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
677	}
678	if (ndr_flags & NDR_BUFFERS) {
679	}
680	return NDR_ERR_SUCCESS;
681}
682
683_PUBLIC_ void ndr_print_epm_rhs_null(struct ndr_print *ndr, const char *name, const struct epm_rhs_null *r)
684{
685	ndr_print_struct(ndr, name, "epm_rhs_null");
686	ndr->depth++;
687	ndr->depth--;
688}
689
690static enum ndr_err_code ndr_push_epm_rhs_ncalrpc(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ncalrpc *r)
691{
692	if (ndr_flags & NDR_SCALARS) {
693		NDR_CHECK(ndr_push_align(ndr, 2));
694		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minor_version));
695		NDR_CHECK(ndr_push_trailer_align(ndr, 2));
696	}
697	if (ndr_flags & NDR_BUFFERS) {
698	}
699	return NDR_ERR_SUCCESS;
700}
701
702static enum ndr_err_code ndr_pull_epm_rhs_ncalrpc(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ncalrpc *r)
703{
704	if (ndr_flags & NDR_SCALARS) {
705		NDR_CHECK(ndr_pull_align(ndr, 2));
706		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minor_version));
707		NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
708	}
709	if (ndr_flags & NDR_BUFFERS) {
710	}
711	return NDR_ERR_SUCCESS;
712}
713
714_PUBLIC_ void ndr_print_epm_rhs_ncalrpc(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncalrpc *r)
715{
716	ndr_print_struct(ndr, name, "epm_rhs_ncalrpc");
717	ndr->depth++;
718	ndr_print_uint16(ndr, "minor_version", r->minor_version);
719	ndr->depth--;
720}
721
722static enum ndr_err_code ndr_push_epm_rhs_appletalk(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_appletalk *r)
723{
724	if (ndr_flags & NDR_SCALARS) {
725		NDR_CHECK(ndr_push_align(ndr, 1));
726		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
727	}
728	if (ndr_flags & NDR_BUFFERS) {
729	}
730	return NDR_ERR_SUCCESS;
731}
732
733static enum ndr_err_code ndr_pull_epm_rhs_appletalk(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_appletalk *r)
734{
735	if (ndr_flags & NDR_SCALARS) {
736		NDR_CHECK(ndr_pull_align(ndr, 1));
737		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
738	}
739	if (ndr_flags & NDR_BUFFERS) {
740	}
741	return NDR_ERR_SUCCESS;
742}
743
744_PUBLIC_ void ndr_print_epm_rhs_appletalk(struct ndr_print *ndr, const char *name, const struct epm_rhs_appletalk *r)
745{
746	ndr_print_struct(ndr, name, "epm_rhs_appletalk");
747	ndr->depth++;
748	ndr->depth--;
749}
750
751static enum ndr_err_code ndr_push_epm_rhs_atalk_stream(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_atalk_stream *r)
752{
753	if (ndr_flags & NDR_SCALARS) {
754		NDR_CHECK(ndr_push_align(ndr, 1));
755		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
756	}
757	if (ndr_flags & NDR_BUFFERS) {
758	}
759	return NDR_ERR_SUCCESS;
760}
761
762static enum ndr_err_code ndr_pull_epm_rhs_atalk_stream(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_atalk_stream *r)
763{
764	if (ndr_flags & NDR_SCALARS) {
765		NDR_CHECK(ndr_pull_align(ndr, 1));
766		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
767	}
768	if (ndr_flags & NDR_BUFFERS) {
769	}
770	return NDR_ERR_SUCCESS;
771}
772
773_PUBLIC_ void ndr_print_epm_rhs_atalk_stream(struct ndr_print *ndr, const char *name, const struct epm_rhs_atalk_stream *r)
774{
775	ndr_print_struct(ndr, name, "epm_rhs_atalk_stream");
776	ndr->depth++;
777	ndr->depth--;
778}
779
780static enum ndr_err_code ndr_push_epm_rhs_atalk_datagram(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_atalk_datagram *r)
781{
782	if (ndr_flags & NDR_SCALARS) {
783		NDR_CHECK(ndr_push_align(ndr, 1));
784		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
785	}
786	if (ndr_flags & NDR_BUFFERS) {
787	}
788	return NDR_ERR_SUCCESS;
789}
790
791static enum ndr_err_code ndr_pull_epm_rhs_atalk_datagram(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_atalk_datagram *r)
792{
793	if (ndr_flags & NDR_SCALARS) {
794		NDR_CHECK(ndr_pull_align(ndr, 1));
795		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
796	}
797	if (ndr_flags & NDR_BUFFERS) {
798	}
799	return NDR_ERR_SUCCESS;
800}
801
802_PUBLIC_ void ndr_print_epm_rhs_atalk_datagram(struct ndr_print *ndr, const char *name, const struct epm_rhs_atalk_datagram *r)
803{
804	ndr_print_struct(ndr, name, "epm_rhs_atalk_datagram");
805	ndr->depth++;
806	ndr->depth--;
807}
808
809static enum ndr_err_code ndr_push_epm_rhs_vines_spp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_vines_spp *r)
810{
811	if (ndr_flags & NDR_SCALARS) {
812		NDR_CHECK(ndr_push_align(ndr, 2));
813		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port));
814		NDR_CHECK(ndr_push_trailer_align(ndr, 2));
815	}
816	if (ndr_flags & NDR_BUFFERS) {
817	}
818	return NDR_ERR_SUCCESS;
819}
820
821static enum ndr_err_code ndr_pull_epm_rhs_vines_spp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_vines_spp *r)
822{
823	if (ndr_flags & NDR_SCALARS) {
824		NDR_CHECK(ndr_pull_align(ndr, 2));
825		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port));
826		NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
827	}
828	if (ndr_flags & NDR_BUFFERS) {
829	}
830	return NDR_ERR_SUCCESS;
831}
832
833_PUBLIC_ void ndr_print_epm_rhs_vines_spp(struct ndr_print *ndr, const char *name, const struct epm_rhs_vines_spp *r)
834{
835	ndr_print_struct(ndr, name, "epm_rhs_vines_spp");
836	ndr->depth++;
837	ndr_print_uint16(ndr, "port", r->port);
838	ndr->depth--;
839}
840
841static enum ndr_err_code ndr_push_epm_rhs_vines_ipc(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_vines_ipc *r)
842{
843	if (ndr_flags & NDR_SCALARS) {
844		NDR_CHECK(ndr_push_align(ndr, 2));
845		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port));
846		NDR_CHECK(ndr_push_trailer_align(ndr, 2));
847	}
848	if (ndr_flags & NDR_BUFFERS) {
849	}
850	return NDR_ERR_SUCCESS;
851}
852
853static enum ndr_err_code ndr_pull_epm_rhs_vines_ipc(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_vines_ipc *r)
854{
855	if (ndr_flags & NDR_SCALARS) {
856		NDR_CHECK(ndr_pull_align(ndr, 2));
857		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port));
858		NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
859	}
860	if (ndr_flags & NDR_BUFFERS) {
861	}
862	return NDR_ERR_SUCCESS;
863}
864
865_PUBLIC_ void ndr_print_epm_rhs_vines_ipc(struct ndr_print *ndr, const char *name, const struct epm_rhs_vines_ipc *r)
866{
867	ndr_print_struct(ndr, name, "epm_rhs_vines_ipc");
868	ndr->depth++;
869	ndr_print_uint16(ndr, "port", r->port);
870	ndr->depth--;
871}
872
873static enum ndr_err_code ndr_push_epm_rhs_streettalk(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_streettalk *r)
874{
875	if (ndr_flags & NDR_SCALARS) {
876		NDR_CHECK(ndr_push_align(ndr, 4));
877		{
878			uint32_t _flags_save_string = ndr->flags;
879			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
880			NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->streettalk));
881			ndr->flags = _flags_save_string;
882		}
883		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
884	}
885	if (ndr_flags & NDR_BUFFERS) {
886	}
887	return NDR_ERR_SUCCESS;
888}
889
890static enum ndr_err_code ndr_pull_epm_rhs_streettalk(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_streettalk *r)
891{
892	if (ndr_flags & NDR_SCALARS) {
893		NDR_CHECK(ndr_pull_align(ndr, 4));
894		{
895			uint32_t _flags_save_string = ndr->flags;
896			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
897			NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->streettalk));
898			ndr->flags = _flags_save_string;
899		}
900		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
901	}
902	if (ndr_flags & NDR_BUFFERS) {
903	}
904	return NDR_ERR_SUCCESS;
905}
906
907_PUBLIC_ void ndr_print_epm_rhs_streettalk(struct ndr_print *ndr, const char *name, const struct epm_rhs_streettalk *r)
908{
909	ndr_print_struct(ndr, name, "epm_rhs_streettalk");
910	ndr->depth++;
911	ndr_print_string(ndr, "streettalk", r->streettalk);
912	ndr->depth--;
913}
914
915static enum ndr_err_code ndr_push_epm_rhs(struct ndr_push *ndr, int ndr_flags, const union epm_rhs *r)
916{
917	{
918		uint32_t _flags_save_UNION = ndr->flags;
919		ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
920		if (ndr_flags & NDR_SCALARS) {
921			int level = ndr_push_get_switch_value(ndr, r);
922			NDR_CHECK(ndr_push_union_align(ndr, 4));
923			switch (level) {
924				case EPM_PROTOCOL_DNET_NSP: {
925					NDR_CHECK(ndr_push_epm_rhs_dnet_nsp(ndr, NDR_SCALARS, &r->dnet_nsp));
926				break; }
927
928				case EPM_PROTOCOL_OSI_TP4: {
929					NDR_CHECK(ndr_push_epm_rhs_osi_tp4(ndr, NDR_SCALARS, &r->osi_tp4));
930				break; }
931
932				case EPM_PROTOCOL_OSI_CLNS: {
933					NDR_CHECK(ndr_push_epm_rhs_osi_clns(ndr, NDR_SCALARS, &r->osi_clns));
934				break; }
935
936				case EPM_PROTOCOL_TCP: {
937					NDR_CHECK(ndr_push_epm_rhs_tcp(ndr, NDR_SCALARS, &r->tcp));
938				break; }
939
940				case EPM_PROTOCOL_UDP: {
941					NDR_CHECK(ndr_push_epm_rhs_udp(ndr, NDR_SCALARS, &r->udp));
942				break; }
943
944				case EPM_PROTOCOL_IP: {
945					NDR_CHECK(ndr_push_epm_rhs_ip(ndr, NDR_SCALARS, &r->ip));
946				break; }
947
948				case EPM_PROTOCOL_NCADG: {
949					NDR_CHECK(ndr_push_epm_rhs_ncadg(ndr, NDR_SCALARS, &r->ncadg));
950				break; }
951
952				case EPM_PROTOCOL_NCACN: {
953					NDR_CHECK(ndr_push_epm_rhs_ncacn(ndr, NDR_SCALARS, &r->ncacn));
954				break; }
955
956				case EPM_PROTOCOL_NCALRPC: {
957					NDR_CHECK(ndr_push_epm_rhs_ncalrpc(ndr, NDR_SCALARS, &r->ncalrpc));
958				break; }
959
960				case EPM_PROTOCOL_UUID: {
961					NDR_CHECK(ndr_push_epm_rhs_uuid(ndr, NDR_SCALARS, &r->uuid));
962				break; }
963
964				case EPM_PROTOCOL_IPX: {
965					NDR_CHECK(ndr_push_epm_rhs_ipx(ndr, NDR_SCALARS, &r->ipx));
966				break; }
967
968				case EPM_PROTOCOL_SMB: {
969					NDR_CHECK(ndr_push_epm_rhs_smb(ndr, NDR_SCALARS, &r->smb));
970				break; }
971
972				case EPM_PROTOCOL_NAMED_PIPE: {
973					NDR_CHECK(ndr_push_epm_rhs_named_pipe(ndr, NDR_SCALARS, &r->named_pipe));
974				break; }
975
976				case EPM_PROTOCOL_NETBIOS: {
977					NDR_CHECK(ndr_push_epm_rhs_netbios(ndr, NDR_SCALARS, &r->netbios));
978				break; }
979
980				case EPM_PROTOCOL_NETBEUI: {
981					NDR_CHECK(ndr_push_epm_rhs_netbeui(ndr, NDR_SCALARS, &r->netbeui));
982				break; }
983
984				case EPM_PROTOCOL_SPX: {
985					NDR_CHECK(ndr_push_epm_rhs_spx(ndr, NDR_SCALARS, &r->spx));
986				break; }
987
988				case EPM_PROTOCOL_NB_IPX: {
989					NDR_CHECK(ndr_push_epm_rhs_nb_ipx(ndr, NDR_SCALARS, &r->nb_ipx));
990				break; }
991
992				case EPM_PROTOCOL_DSP: {
993					NDR_CHECK(ndr_push_epm_rhs_atalk_stream(ndr, NDR_SCALARS, &r->atalk_stream));
994				break; }
995
996				case EPM_PROTOCOL_DDP: {
997					NDR_CHECK(ndr_push_epm_rhs_atalk_datagram(ndr, NDR_SCALARS, &r->atalk_datagram));
998				break; }
999
1000				case EPM_PROTOCOL_APPLETALK: {
1001					NDR_CHECK(ndr_push_epm_rhs_appletalk(ndr, NDR_SCALARS, &r->appletalk));
1002				break; }
1003
1004				case EPM_PROTOCOL_VINES_SPP: {
1005					NDR_CHECK(ndr_push_epm_rhs_vines_spp(ndr, NDR_SCALARS, &r->vines_spp));
1006				break; }
1007
1008				case EPM_PROTOCOL_VINES_IPC: {
1009					NDR_CHECK(ndr_push_epm_rhs_vines_ipc(ndr, NDR_SCALARS, &r->vines_ipc));
1010				break; }
1011
1012				case EPM_PROTOCOL_STREETTALK: {
1013					NDR_CHECK(ndr_push_epm_rhs_streettalk(ndr, NDR_SCALARS, &r->streettalk));
1014				break; }
1015
1016				case EPM_PROTOCOL_HTTP: {
1017					NDR_CHECK(ndr_push_epm_rhs_http(ndr, NDR_SCALARS, &r->http));
1018				break; }
1019
1020				case EPM_PROTOCOL_UNIX_DS: {
1021					NDR_CHECK(ndr_push_epm_rhs_unix_ds(ndr, NDR_SCALARS, &r->unix_ds));
1022				break; }
1023
1024				case EPM_PROTOCOL_NULL: {
1025					NDR_CHECK(ndr_push_epm_rhs_null(ndr, NDR_SCALARS, &r->null));
1026				break; }
1027
1028				default: {
1029					{
1030						uint32_t _flags_save_DATA_BLOB = ndr->flags;
1031						ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1032						NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->unknown));
1033						ndr->flags = _flags_save_DATA_BLOB;
1034					}
1035				break; }
1036
1037			}
1038		}
1039		if (ndr_flags & NDR_BUFFERS) {
1040			int level = ndr_push_get_switch_value(ndr, r);
1041			switch (level) {
1042				case EPM_PROTOCOL_DNET_NSP:
1043				break;
1044
1045				case EPM_PROTOCOL_OSI_TP4:
1046				break;
1047
1048				case EPM_PROTOCOL_OSI_CLNS:
1049				break;
1050
1051				case EPM_PROTOCOL_TCP:
1052				break;
1053
1054				case EPM_PROTOCOL_UDP:
1055				break;
1056
1057				case EPM_PROTOCOL_IP:
1058				break;
1059
1060				case EPM_PROTOCOL_NCADG:
1061				break;
1062
1063				case EPM_PROTOCOL_NCACN:
1064				break;
1065
1066				case EPM_PROTOCOL_NCALRPC:
1067				break;
1068
1069				case EPM_PROTOCOL_UUID:
1070				break;
1071
1072				case EPM_PROTOCOL_IPX:
1073				break;
1074
1075				case EPM_PROTOCOL_SMB:
1076				break;
1077
1078				case EPM_PROTOCOL_NAMED_PIPE:
1079				break;
1080
1081				case EPM_PROTOCOL_NETBIOS:
1082				break;
1083
1084				case EPM_PROTOCOL_NETBEUI:
1085				break;
1086
1087				case EPM_PROTOCOL_SPX:
1088				break;
1089
1090				case EPM_PROTOCOL_NB_IPX:
1091				break;
1092
1093				case EPM_PROTOCOL_DSP:
1094				break;
1095
1096				case EPM_PROTOCOL_DDP:
1097				break;
1098
1099				case EPM_PROTOCOL_APPLETALK:
1100				break;
1101
1102				case EPM_PROTOCOL_VINES_SPP:
1103				break;
1104
1105				case EPM_PROTOCOL_VINES_IPC:
1106				break;
1107
1108				case EPM_PROTOCOL_STREETTALK:
1109				break;
1110
1111				case EPM_PROTOCOL_HTTP:
1112				break;
1113
1114				case EPM_PROTOCOL_UNIX_DS:
1115				break;
1116
1117				case EPM_PROTOCOL_NULL:
1118				break;
1119
1120				default:
1121				break;
1122
1123			}
1124		}
1125		ndr->flags = _flags_save_UNION;
1126	}
1127	return NDR_ERR_SUCCESS;
1128}
1129
1130static enum ndr_err_code ndr_pull_epm_rhs(struct ndr_pull *ndr, int ndr_flags, union epm_rhs *r)
1131{
1132	int level;
1133	{
1134		uint32_t _flags_save_UNION = ndr->flags;
1135		ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
1136		level = ndr_pull_get_switch_value(ndr, r);
1137		if (ndr_flags & NDR_SCALARS) {
1138			NDR_CHECK(ndr_pull_union_align(ndr, 4));
1139			switch (level) {
1140				case EPM_PROTOCOL_DNET_NSP: {
1141					NDR_CHECK(ndr_pull_epm_rhs_dnet_nsp(ndr, NDR_SCALARS, &r->dnet_nsp));
1142				break; }
1143
1144				case EPM_PROTOCOL_OSI_TP4: {
1145					NDR_CHECK(ndr_pull_epm_rhs_osi_tp4(ndr, NDR_SCALARS, &r->osi_tp4));
1146				break; }
1147
1148				case EPM_PROTOCOL_OSI_CLNS: {
1149					NDR_CHECK(ndr_pull_epm_rhs_osi_clns(ndr, NDR_SCALARS, &r->osi_clns));
1150				break; }
1151
1152				case EPM_PROTOCOL_TCP: {
1153					NDR_CHECK(ndr_pull_epm_rhs_tcp(ndr, NDR_SCALARS, &r->tcp));
1154				break; }
1155
1156				case EPM_PROTOCOL_UDP: {
1157					NDR_CHECK(ndr_pull_epm_rhs_udp(ndr, NDR_SCALARS, &r->udp));
1158				break; }
1159
1160				case EPM_PROTOCOL_IP: {
1161					NDR_CHECK(ndr_pull_epm_rhs_ip(ndr, NDR_SCALARS, &r->ip));
1162				break; }
1163
1164				case EPM_PROTOCOL_NCADG: {
1165					NDR_CHECK(ndr_pull_epm_rhs_ncadg(ndr, NDR_SCALARS, &r->ncadg));
1166				break; }
1167
1168				case EPM_PROTOCOL_NCACN: {
1169					NDR_CHECK(ndr_pull_epm_rhs_ncacn(ndr, NDR_SCALARS, &r->ncacn));
1170				break; }
1171
1172				case EPM_PROTOCOL_NCALRPC: {
1173					NDR_CHECK(ndr_pull_epm_rhs_ncalrpc(ndr, NDR_SCALARS, &r->ncalrpc));
1174				break; }
1175
1176				case EPM_PROTOCOL_UUID: {
1177					NDR_CHECK(ndr_pull_epm_rhs_uuid(ndr, NDR_SCALARS, &r->uuid));
1178				break; }
1179
1180				case EPM_PROTOCOL_IPX: {
1181					NDR_CHECK(ndr_pull_epm_rhs_ipx(ndr, NDR_SCALARS, &r->ipx));
1182				break; }
1183
1184				case EPM_PROTOCOL_SMB: {
1185					NDR_CHECK(ndr_pull_epm_rhs_smb(ndr, NDR_SCALARS, &r->smb));
1186				break; }
1187
1188				case EPM_PROTOCOL_NAMED_PIPE: {
1189					NDR_CHECK(ndr_pull_epm_rhs_named_pipe(ndr, NDR_SCALARS, &r->named_pipe));
1190				break; }
1191
1192				case EPM_PROTOCOL_NETBIOS: {
1193					NDR_CHECK(ndr_pull_epm_rhs_netbios(ndr, NDR_SCALARS, &r->netbios));
1194				break; }
1195
1196				case EPM_PROTOCOL_NETBEUI: {
1197					NDR_CHECK(ndr_pull_epm_rhs_netbeui(ndr, NDR_SCALARS, &r->netbeui));
1198				break; }
1199
1200				case EPM_PROTOCOL_SPX: {
1201					NDR_CHECK(ndr_pull_epm_rhs_spx(ndr, NDR_SCALARS, &r->spx));
1202				break; }
1203
1204				case EPM_PROTOCOL_NB_IPX: {
1205					NDR_CHECK(ndr_pull_epm_rhs_nb_ipx(ndr, NDR_SCALARS, &r->nb_ipx));
1206				break; }
1207
1208				case EPM_PROTOCOL_DSP: {
1209					NDR_CHECK(ndr_pull_epm_rhs_atalk_stream(ndr, NDR_SCALARS, &r->atalk_stream));
1210				break; }
1211
1212				case EPM_PROTOCOL_DDP: {
1213					NDR_CHECK(ndr_pull_epm_rhs_atalk_datagram(ndr, NDR_SCALARS, &r->atalk_datagram));
1214				break; }
1215
1216				case EPM_PROTOCOL_APPLETALK: {
1217					NDR_CHECK(ndr_pull_epm_rhs_appletalk(ndr, NDR_SCALARS, &r->appletalk));
1218				break; }
1219
1220				case EPM_PROTOCOL_VINES_SPP: {
1221					NDR_CHECK(ndr_pull_epm_rhs_vines_spp(ndr, NDR_SCALARS, &r->vines_spp));
1222				break; }
1223
1224				case EPM_PROTOCOL_VINES_IPC: {
1225					NDR_CHECK(ndr_pull_epm_rhs_vines_ipc(ndr, NDR_SCALARS, &r->vines_ipc));
1226				break; }
1227
1228				case EPM_PROTOCOL_STREETTALK: {
1229					NDR_CHECK(ndr_pull_epm_rhs_streettalk(ndr, NDR_SCALARS, &r->streettalk));
1230				break; }
1231
1232				case EPM_PROTOCOL_HTTP: {
1233					NDR_CHECK(ndr_pull_epm_rhs_http(ndr, NDR_SCALARS, &r->http));
1234				break; }
1235
1236				case EPM_PROTOCOL_UNIX_DS: {
1237					NDR_CHECK(ndr_pull_epm_rhs_unix_ds(ndr, NDR_SCALARS, &r->unix_ds));
1238				break; }
1239
1240				case EPM_PROTOCOL_NULL: {
1241					NDR_CHECK(ndr_pull_epm_rhs_null(ndr, NDR_SCALARS, &r->null));
1242				break; }
1243
1244				default: {
1245					{
1246						uint32_t _flags_save_DATA_BLOB = ndr->flags;
1247						ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1248						NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->unknown));
1249						ndr->flags = _flags_save_DATA_BLOB;
1250					}
1251				break; }
1252
1253			}
1254		}
1255		if (ndr_flags & NDR_BUFFERS) {
1256			switch (level) {
1257				case EPM_PROTOCOL_DNET_NSP:
1258				break;
1259
1260				case EPM_PROTOCOL_OSI_TP4:
1261				break;
1262
1263				case EPM_PROTOCOL_OSI_CLNS:
1264				break;
1265
1266				case EPM_PROTOCOL_TCP:
1267				break;
1268
1269				case EPM_PROTOCOL_UDP:
1270				break;
1271
1272				case EPM_PROTOCOL_IP:
1273				break;
1274
1275				case EPM_PROTOCOL_NCADG:
1276				break;
1277
1278				case EPM_PROTOCOL_NCACN:
1279				break;
1280
1281				case EPM_PROTOCOL_NCALRPC:
1282				break;
1283
1284				case EPM_PROTOCOL_UUID:
1285				break;
1286
1287				case EPM_PROTOCOL_IPX:
1288				break;
1289
1290				case EPM_PROTOCOL_SMB:
1291				break;
1292
1293				case EPM_PROTOCOL_NAMED_PIPE:
1294				break;
1295
1296				case EPM_PROTOCOL_NETBIOS:
1297				break;
1298
1299				case EPM_PROTOCOL_NETBEUI:
1300				break;
1301
1302				case EPM_PROTOCOL_SPX:
1303				break;
1304
1305				case EPM_PROTOCOL_NB_IPX:
1306				break;
1307
1308				case EPM_PROTOCOL_DSP:
1309				break;
1310
1311				case EPM_PROTOCOL_DDP:
1312				break;
1313
1314				case EPM_PROTOCOL_APPLETALK:
1315				break;
1316
1317				case EPM_PROTOCOL_VINES_SPP:
1318				break;
1319
1320				case EPM_PROTOCOL_VINES_IPC:
1321				break;
1322
1323				case EPM_PROTOCOL_STREETTALK:
1324				break;
1325
1326				case EPM_PROTOCOL_HTTP:
1327				break;
1328
1329				case EPM_PROTOCOL_UNIX_DS:
1330				break;
1331
1332				case EPM_PROTOCOL_NULL:
1333				break;
1334
1335				default:
1336				break;
1337
1338			}
1339		}
1340		ndr->flags = _flags_save_UNION;
1341	}
1342	return NDR_ERR_SUCCESS;
1343}
1344
1345_PUBLIC_ void ndr_print_epm_rhs(struct ndr_print *ndr, const char *name, const union epm_rhs *r)
1346{
1347	int level;
1348	{
1349		uint32_t _flags_save_UNION = ndr->flags;
1350		ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
1351		level = ndr_print_get_switch_value(ndr, r);
1352		ndr_print_union(ndr, name, level, "epm_rhs");
1353		switch (level) {
1354			case EPM_PROTOCOL_DNET_NSP:
1355				ndr_print_epm_rhs_dnet_nsp(ndr, "dnet_nsp", &r->dnet_nsp);
1356			break;
1357
1358			case EPM_PROTOCOL_OSI_TP4:
1359				ndr_print_epm_rhs_osi_tp4(ndr, "osi_tp4", &r->osi_tp4);
1360			break;
1361
1362			case EPM_PROTOCOL_OSI_CLNS:
1363				ndr_print_epm_rhs_osi_clns(ndr, "osi_clns", &r->osi_clns);
1364			break;
1365
1366			case EPM_PROTOCOL_TCP:
1367				ndr_print_epm_rhs_tcp(ndr, "tcp", &r->tcp);
1368			break;
1369
1370			case EPM_PROTOCOL_UDP:
1371				ndr_print_epm_rhs_udp(ndr, "udp", &r->udp);
1372			break;
1373
1374			case EPM_PROTOCOL_IP:
1375				ndr_print_epm_rhs_ip(ndr, "ip", &r->ip);
1376			break;
1377
1378			case EPM_PROTOCOL_NCADG:
1379				ndr_print_epm_rhs_ncadg(ndr, "ncadg", &r->ncadg);
1380			break;
1381
1382			case EPM_PROTOCOL_NCACN:
1383				ndr_print_epm_rhs_ncacn(ndr, "ncacn", &r->ncacn);
1384			break;
1385
1386			case EPM_PROTOCOL_NCALRPC:
1387				ndr_print_epm_rhs_ncalrpc(ndr, "ncalrpc", &r->ncalrpc);
1388			break;
1389
1390			case EPM_PROTOCOL_UUID:
1391				ndr_print_epm_rhs_uuid(ndr, "uuid", &r->uuid);
1392			break;
1393
1394			case EPM_PROTOCOL_IPX:
1395				ndr_print_epm_rhs_ipx(ndr, "ipx", &r->ipx);
1396			break;
1397
1398			case EPM_PROTOCOL_SMB:
1399				ndr_print_epm_rhs_smb(ndr, "smb", &r->smb);
1400			break;
1401
1402			case EPM_PROTOCOL_NAMED_PIPE:
1403				ndr_print_epm_rhs_named_pipe(ndr, "named_pipe", &r->named_pipe);
1404			break;
1405
1406			case EPM_PROTOCOL_NETBIOS:
1407				ndr_print_epm_rhs_netbios(ndr, "netbios", &r->netbios);
1408			break;
1409
1410			case EPM_PROTOCOL_NETBEUI:
1411				ndr_print_epm_rhs_netbeui(ndr, "netbeui", &r->netbeui);
1412			break;
1413
1414			case EPM_PROTOCOL_SPX:
1415				ndr_print_epm_rhs_spx(ndr, "spx", &r->spx);
1416			break;
1417
1418			case EPM_PROTOCOL_NB_IPX:
1419				ndr_print_epm_rhs_nb_ipx(ndr, "nb_ipx", &r->nb_ipx);
1420			break;
1421
1422			case EPM_PROTOCOL_DSP:
1423				ndr_print_epm_rhs_atalk_stream(ndr, "atalk_stream", &r->atalk_stream);
1424			break;
1425
1426			case EPM_PROTOCOL_DDP:
1427				ndr_print_epm_rhs_atalk_datagram(ndr, "atalk_datagram", &r->atalk_datagram);
1428			break;
1429
1430			case EPM_PROTOCOL_APPLETALK:
1431				ndr_print_epm_rhs_appletalk(ndr, "appletalk", &r->appletalk);
1432			break;
1433
1434			case EPM_PROTOCOL_VINES_SPP:
1435				ndr_print_epm_rhs_vines_spp(ndr, "vines_spp", &r->vines_spp);
1436			break;
1437
1438			case EPM_PROTOCOL_VINES_IPC:
1439				ndr_print_epm_rhs_vines_ipc(ndr, "vines_ipc", &r->vines_ipc);
1440			break;
1441
1442			case EPM_PROTOCOL_STREETTALK:
1443				ndr_print_epm_rhs_streettalk(ndr, "streettalk", &r->streettalk);
1444			break;
1445
1446			case EPM_PROTOCOL_HTTP:
1447				ndr_print_epm_rhs_http(ndr, "http", &r->http);
1448			break;
1449
1450			case EPM_PROTOCOL_UNIX_DS:
1451				ndr_print_epm_rhs_unix_ds(ndr, "unix_ds", &r->unix_ds);
1452			break;
1453
1454			case EPM_PROTOCOL_NULL:
1455				ndr_print_epm_rhs_null(ndr, "null", &r->null);
1456			break;
1457
1458			default:
1459				ndr_print_DATA_BLOB(ndr, "unknown", r->unknown);
1460			break;
1461
1462		}
1463		ndr->flags = _flags_save_UNION;
1464	}
1465}
1466
1467static enum ndr_err_code ndr_push_epm_lhs(struct ndr_push *ndr, int ndr_flags, const struct epm_lhs *r)
1468{
1469	if (ndr_flags & NDR_SCALARS) {
1470		NDR_CHECK(ndr_push_align(ndr, 4));
1471		NDR_CHECK(ndr_push_epm_protocol(ndr, NDR_SCALARS, r->protocol));
1472		{
1473			uint32_t _flags_save_DATA_BLOB = ndr->flags;
1474			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1475			NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->lhs_data));
1476			ndr->flags = _flags_save_DATA_BLOB;
1477		}
1478		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1479	}
1480	if (ndr_flags & NDR_BUFFERS) {
1481	}
1482	return NDR_ERR_SUCCESS;
1483}
1484
1485static enum ndr_err_code ndr_pull_epm_lhs(struct ndr_pull *ndr, int ndr_flags, struct epm_lhs *r)
1486{
1487	if (ndr_flags & NDR_SCALARS) {
1488		NDR_CHECK(ndr_pull_align(ndr, 4));
1489		NDR_CHECK(ndr_pull_epm_protocol(ndr, NDR_SCALARS, &r->protocol));
1490		{
1491			uint32_t _flags_save_DATA_BLOB = ndr->flags;
1492			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1493			NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->lhs_data));
1494			ndr->flags = _flags_save_DATA_BLOB;
1495		}
1496		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1497	}
1498	if (ndr_flags & NDR_BUFFERS) {
1499	}
1500	return NDR_ERR_SUCCESS;
1501}
1502
1503_PUBLIC_ void ndr_print_epm_lhs(struct ndr_print *ndr, const char *name, const struct epm_lhs *r)
1504{
1505	ndr_print_struct(ndr, name, "epm_lhs");
1506	ndr->depth++;
1507	ndr_print_epm_protocol(ndr, "protocol", r->protocol);
1508	ndr_print_DATA_BLOB(ndr, "lhs_data", r->lhs_data);
1509	ndr->depth--;
1510}
1511
1512static enum ndr_err_code ndr_push_epm_floor(struct ndr_push *ndr, int ndr_flags, const struct epm_floor *r)
1513{
1514	if (ndr_flags & NDR_SCALARS) {
1515		NDR_CHECK(ndr_push_align(ndr, 1));
1516		{
1517			struct ndr_push *_ndr_lhs;
1518			NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_lhs, 2, -1));
1519			NDR_CHECK(ndr_push_epm_lhs(_ndr_lhs, NDR_SCALARS, &r->lhs));
1520			NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_lhs, 2, -1));
1521		}
1522		{
1523			struct ndr_push *_ndr_rhs;
1524			NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_rhs, 2, -1));
1525			NDR_CHECK(ndr_push_set_switch_value(_ndr_rhs, &r->rhs, r->lhs.protocol));
1526			NDR_CHECK(ndr_push_epm_rhs(_ndr_rhs, NDR_SCALARS, &r->rhs));
1527			NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_rhs, 2, -1));
1528		}
1529		NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1530	}
1531	if (ndr_flags & NDR_BUFFERS) {
1532	}
1533	return NDR_ERR_SUCCESS;
1534}
1535
1536static enum ndr_err_code ndr_pull_epm_floor(struct ndr_pull *ndr, int ndr_flags, struct epm_floor *r)
1537{
1538	if (ndr_flags & NDR_SCALARS) {
1539		NDR_CHECK(ndr_pull_align(ndr, 1));
1540		{
1541			struct ndr_pull *_ndr_lhs;
1542			NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_lhs, 2, -1));
1543			NDR_CHECK(ndr_pull_epm_lhs(_ndr_lhs, NDR_SCALARS, &r->lhs));
1544			NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_lhs, 2, -1));
1545		}
1546		{
1547			struct ndr_pull *_ndr_rhs;
1548			NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_rhs, 2, -1));
1549			NDR_CHECK(ndr_pull_set_switch_value(_ndr_rhs, &r->rhs, r->lhs.protocol));
1550			NDR_CHECK(ndr_pull_epm_rhs(_ndr_rhs, NDR_SCALARS, &r->rhs));
1551			NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_rhs, 2, -1));
1552		}
1553		NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1554	}
1555	if (ndr_flags & NDR_BUFFERS) {
1556	}
1557	return NDR_ERR_SUCCESS;
1558}
1559
1560_PUBLIC_ void ndr_print_epm_floor(struct ndr_print *ndr, const char *name, const struct epm_floor *r)
1561{
1562	ndr_print_struct(ndr, name, "epm_floor");
1563	ndr->depth++;
1564	ndr_print_epm_lhs(ndr, "lhs", &r->lhs);
1565	ndr_print_set_switch_value(ndr, &r->rhs, r->lhs.protocol);
1566	ndr_print_epm_rhs(ndr, "rhs", &r->rhs);
1567	ndr->depth--;
1568}
1569
1570static enum ndr_err_code ndr_push_epm_tower(struct ndr_push *ndr, int ndr_flags, const struct epm_tower *r)
1571{
1572	uint32_t cntr_floors_0;
1573	{
1574		uint32_t _flags_save_STRUCT = ndr->flags;
1575		ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN);
1576		if (ndr_flags & NDR_SCALARS) {
1577			NDR_CHECK(ndr_push_align(ndr, 2));
1578			NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_floors));
1579			for (cntr_floors_0 = 0; cntr_floors_0 < r->num_floors; cntr_floors_0++) {
1580				NDR_CHECK(ndr_push_epm_floor(ndr, NDR_SCALARS, &r->floors[cntr_floors_0]));
1581			}
1582			NDR_CHECK(ndr_push_trailer_align(ndr, 2));
1583		}
1584		if (ndr_flags & NDR_BUFFERS) {
1585		}
1586		ndr->flags = _flags_save_STRUCT;
1587	}
1588	return NDR_ERR_SUCCESS;
1589}
1590
1591static enum ndr_err_code ndr_pull_epm_tower(struct ndr_pull *ndr, int ndr_flags, struct epm_tower *r)
1592{
1593	uint32_t cntr_floors_0;
1594	TALLOC_CTX *_mem_save_floors_0;
1595	{
1596		uint32_t _flags_save_STRUCT = ndr->flags;
1597		ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN);
1598		if (ndr_flags & NDR_SCALARS) {
1599			NDR_CHECK(ndr_pull_align(ndr, 2));
1600			NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_floors));
1601			NDR_PULL_ALLOC_N(ndr, r->floors, r->num_floors);
1602			_mem_save_floors_0 = NDR_PULL_GET_MEM_CTX(ndr);
1603			NDR_PULL_SET_MEM_CTX(ndr, r->floors, 0);
1604			for (cntr_floors_0 = 0; cntr_floors_0 < r->num_floors; cntr_floors_0++) {
1605				NDR_CHECK(ndr_pull_epm_floor(ndr, NDR_SCALARS, &r->floors[cntr_floors_0]));
1606			}
1607			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_floors_0, 0);
1608			NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
1609		}
1610		if (ndr_flags & NDR_BUFFERS) {
1611		}
1612		ndr->flags = _flags_save_STRUCT;
1613	}
1614	return NDR_ERR_SUCCESS;
1615}
1616
1617_PUBLIC_ void ndr_print_epm_tower(struct ndr_print *ndr, const char *name, const struct epm_tower *r)
1618{
1619	uint32_t cntr_floors_0;
1620	ndr_print_struct(ndr, name, "epm_tower");
1621	{
1622		uint32_t _flags_save_STRUCT = ndr->flags;
1623		ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN);
1624		ndr->depth++;
1625		ndr_print_uint16(ndr, "num_floors", r->num_floors);
1626		ndr->print(ndr, "%s: ARRAY(%d)", "floors", (int)r->num_floors);
1627		ndr->depth++;
1628		for (cntr_floors_0=0;cntr_floors_0<r->num_floors;cntr_floors_0++) {
1629			char *idx_0=NULL;
1630			if (asprintf(&idx_0, "[%d]", cntr_floors_0) != -1) {
1631				ndr_print_epm_floor(ndr, "floors", &r->floors[cntr_floors_0]);
1632				free(idx_0);
1633			}
1634		}
1635		ndr->depth--;
1636		ndr->depth--;
1637		ndr->flags = _flags_save_STRUCT;
1638	}
1639}
1640
1641static size_t ndr_size_epm_tower(const struct epm_tower *r, struct smb_iconv_convenience *ic, int flags)
1642{
1643	flags |= LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN;
1644	return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_epm_tower, ic);
1645}
1646
1647static enum ndr_err_code ndr_push_epm_twr_t(struct ndr_push *ndr, int ndr_flags, const struct epm_twr_t *r)
1648{
1649	if (ndr_flags & NDR_SCALARS) {
1650		NDR_CHECK(ndr_push_align(ndr, 4));
1651		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_epm_tower(&r->tower, ndr->iconv_convenience, ndr->flags)));
1652		{
1653			struct ndr_push *_ndr_tower;
1654			NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_tower, 4, -1));
1655			NDR_CHECK(ndr_push_epm_tower(_ndr_tower, NDR_SCALARS, &r->tower));
1656			NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_tower, 4, -1));
1657		}
1658		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1659	}
1660	if (ndr_flags & NDR_BUFFERS) {
1661	}
1662	return NDR_ERR_SUCCESS;
1663}
1664
1665static enum ndr_err_code ndr_pull_epm_twr_t(struct ndr_pull *ndr, int ndr_flags, struct epm_twr_t *r)
1666{
1667	if (ndr_flags & NDR_SCALARS) {
1668		NDR_CHECK(ndr_pull_align(ndr, 4));
1669		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tower_length));
1670		{
1671			struct ndr_pull *_ndr_tower;
1672			NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_tower, 4, -1));
1673			NDR_CHECK(ndr_pull_epm_tower(_ndr_tower, NDR_SCALARS, &r->tower));
1674			NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_tower, 4, -1));
1675		}
1676		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1677	}
1678	if (ndr_flags & NDR_BUFFERS) {
1679	}
1680	return NDR_ERR_SUCCESS;
1681}
1682
1683_PUBLIC_ void ndr_print_epm_twr_t(struct ndr_print *ndr, const char *name, const struct epm_twr_t *r)
1684{
1685	ndr_print_struct(ndr, name, "epm_twr_t");
1686	ndr->depth++;
1687	ndr_print_uint32(ndr, "tower_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_epm_tower(&r->tower, ndr->iconv_convenience, ndr->flags):r->tower_length);
1688	ndr_print_epm_tower(ndr, "tower", &r->tower);
1689	ndr->depth--;
1690}
1691
1692static enum ndr_err_code ndr_push_epm_entry_t(struct ndr_push *ndr, int ndr_flags, const struct epm_entry_t *r)
1693{
1694	if (ndr_flags & NDR_SCALARS) {
1695		NDR_CHECK(ndr_push_align(ndr, 5));
1696		NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->object));
1697		NDR_CHECK(ndr_push_full_ptr(ndr, r->tower));
1698		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1699		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->annotation) + 1));
1700		NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->annotation, strlen(r->annotation) + 1, sizeof(uint8_t), CH_DOS));
1701		NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1702	}
1703	if (ndr_flags & NDR_BUFFERS) {
1704		if (r->tower) {
1705			NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->tower));
1706		}
1707	}
1708	return NDR_ERR_SUCCESS;
1709}
1710
1711static enum ndr_err_code ndr_pull_epm_entry_t(struct ndr_pull *ndr, int ndr_flags, struct epm_entry_t *r)
1712{
1713	uint32_t _ptr_tower;
1714	TALLOC_CTX *_mem_save_tower_0;
1715	if (ndr_flags & NDR_SCALARS) {
1716		NDR_CHECK(ndr_pull_align(ndr, 5));
1717		NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->object));
1718		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_tower));
1719		if (_ptr_tower) {
1720			NDR_PULL_ALLOC(ndr, r->tower);
1721		} else {
1722			r->tower = NULL;
1723		}
1724		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__annotation_offset));
1725		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__annotation_length));
1726		NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->annotation, r->__annotation_length, sizeof(uint8_t), CH_DOS));
1727		NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1728	}
1729	if (ndr_flags & NDR_BUFFERS) {
1730		if (r->tower) {
1731			_mem_save_tower_0 = NDR_PULL_GET_MEM_CTX(ndr);
1732			NDR_PULL_SET_MEM_CTX(ndr, r->tower, 0);
1733			NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->tower));
1734			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_tower_0, 0);
1735		}
1736	}
1737	return NDR_ERR_SUCCESS;
1738}
1739
1740_PUBLIC_ void ndr_print_epm_entry_t(struct ndr_print *ndr, const char *name, const struct epm_entry_t *r)
1741{
1742	ndr_print_struct(ndr, name, "epm_entry_t");
1743	ndr->depth++;
1744	ndr_print_GUID(ndr, "object", &r->object);
1745	ndr_print_ptr(ndr, "tower", r->tower);
1746	ndr->depth++;
1747	if (r->tower) {
1748		ndr_print_epm_twr_t(ndr, "tower", r->tower);
1749	}
1750	ndr->depth--;
1751	ndr_print_uint32(ndr, "__annotation_offset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->__annotation_offset);
1752	ndr_print_uint32(ndr, "__annotation_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->annotation) + 1:r->__annotation_length);
1753	ndr_print_string(ndr, "annotation", r->annotation);
1754	ndr->depth--;
1755}
1756
1757static enum ndr_err_code ndr_push_rpc_if_id_t(struct ndr_push *ndr, int ndr_flags, const struct rpc_if_id_t *r)
1758{
1759	if (ndr_flags & NDR_SCALARS) {
1760		NDR_CHECK(ndr_push_align(ndr, 4));
1761		NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->uuid));
1762		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->vers_major));
1763		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->vers_minor));
1764		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1765	}
1766	if (ndr_flags & NDR_BUFFERS) {
1767	}
1768	return NDR_ERR_SUCCESS;
1769}
1770
1771static enum ndr_err_code ndr_pull_rpc_if_id_t(struct ndr_pull *ndr, int ndr_flags, struct rpc_if_id_t *r)
1772{
1773	if (ndr_flags & NDR_SCALARS) {
1774		NDR_CHECK(ndr_pull_align(ndr, 4));
1775		NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->uuid));
1776		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->vers_major));
1777		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->vers_minor));
1778		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1779	}
1780	if (ndr_flags & NDR_BUFFERS) {
1781	}
1782	return NDR_ERR_SUCCESS;
1783}
1784
1785_PUBLIC_ void ndr_print_rpc_if_id_t(struct ndr_print *ndr, const char *name, const struct rpc_if_id_t *r)
1786{
1787	ndr_print_struct(ndr, name, "rpc_if_id_t");
1788	ndr->depth++;
1789	ndr_print_GUID(ndr, "uuid", &r->uuid);
1790	ndr_print_uint16(ndr, "vers_major", r->vers_major);
1791	ndr_print_uint16(ndr, "vers_minor", r->vers_minor);
1792	ndr->depth--;
1793}
1794
1795static enum ndr_err_code ndr_push_epm_twr_p_t(struct ndr_push *ndr, int ndr_flags, const struct epm_twr_p_t *r)
1796{
1797	if (ndr_flags & NDR_SCALARS) {
1798		NDR_CHECK(ndr_push_align(ndr, 5));
1799		NDR_CHECK(ndr_push_full_ptr(ndr, r->twr));
1800		NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1801	}
1802	if (ndr_flags & NDR_BUFFERS) {
1803		if (r->twr) {
1804			NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->twr));
1805		}
1806	}
1807	return NDR_ERR_SUCCESS;
1808}
1809
1810static enum ndr_err_code ndr_pull_epm_twr_p_t(struct ndr_pull *ndr, int ndr_flags, struct epm_twr_p_t *r)
1811{
1812	uint32_t _ptr_twr;
1813	TALLOC_CTX *_mem_save_twr_0;
1814	if (ndr_flags & NDR_SCALARS) {
1815		NDR_CHECK(ndr_pull_align(ndr, 5));
1816		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_twr));
1817		if (_ptr_twr) {
1818			NDR_PULL_ALLOC(ndr, r->twr);
1819		} else {
1820			r->twr = NULL;
1821		}
1822		NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1823	}
1824	if (ndr_flags & NDR_BUFFERS) {
1825		if (r->twr) {
1826			_mem_save_twr_0 = NDR_PULL_GET_MEM_CTX(ndr);
1827			NDR_PULL_SET_MEM_CTX(ndr, r->twr, 0);
1828			NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->twr));
1829			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_twr_0, 0);
1830		}
1831	}
1832	return NDR_ERR_SUCCESS;
1833}
1834
1835_PUBLIC_ void ndr_print_epm_twr_p_t(struct ndr_print *ndr, const char *name, const struct epm_twr_p_t *r)
1836{
1837	ndr_print_struct(ndr, name, "epm_twr_p_t");
1838	ndr->depth++;
1839	ndr_print_ptr(ndr, "twr", r->twr);
1840	ndr->depth++;
1841	if (r->twr) {
1842		ndr_print_epm_twr_t(ndr, "twr", r->twr);
1843	}
1844	ndr->depth--;
1845	ndr->depth--;
1846}
1847
1848static enum ndr_err_code ndr_push_epm_Insert(struct ndr_push *ndr, int flags, const struct epm_Insert *r)
1849{
1850	uint32_t cntr_entries_0;
1851	if (flags & NDR_IN) {
1852		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_ents));
1853		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_ents));
1854		for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
1855			NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0]));
1856		}
1857		for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
1858			NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0]));
1859		}
1860		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.replace));
1861	}
1862	if (flags & NDR_OUT) {
1863		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
1864	}
1865	return NDR_ERR_SUCCESS;
1866}
1867
1868static enum ndr_err_code ndr_pull_epm_Insert(struct ndr_pull *ndr, int flags, struct epm_Insert *r)
1869{
1870	uint32_t cntr_entries_0;
1871	TALLOC_CTX *_mem_save_entries_0;
1872	if (flags & NDR_IN) {
1873		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_ents));
1874		NDR_CHECK(ndr_pull_array_size(ndr, &r->in.entries));
1875		NDR_PULL_ALLOC_N(ndr, r->in.entries, ndr_get_array_size(ndr, &r->in.entries));
1876		_mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
1877		NDR_PULL_SET_MEM_CTX(ndr, r->in.entries, 0);
1878		for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
1879			NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0]));
1880		}
1881		for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
1882			NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0]));
1883		}
1884		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
1885		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.replace));
1886		if (r->in.entries) {
1887			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.entries, r->in.num_ents));
1888		}
1889	}
1890	if (flags & NDR_OUT) {
1891		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
1892	}
1893	return NDR_ERR_SUCCESS;
1894}
1895
1896_PUBLIC_ void ndr_print_epm_Insert(struct ndr_print *ndr, const char *name, int flags, const struct epm_Insert *r)
1897{
1898	uint32_t cntr_entries_0;
1899	ndr_print_struct(ndr, name, "epm_Insert");
1900	ndr->depth++;
1901	if (flags & NDR_SET_VALUES) {
1902		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1903	}
1904	if (flags & NDR_IN) {
1905		ndr_print_struct(ndr, "in", "epm_Insert");
1906		ndr->depth++;
1907		ndr_print_uint32(ndr, "num_ents", r->in.num_ents);
1908		ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->in.num_ents);
1909		ndr->depth++;
1910		for (cntr_entries_0=0;cntr_entries_0<r->in.num_ents;cntr_entries_0++) {
1911			char *idx_0=NULL;
1912			if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) {
1913				ndr_print_epm_entry_t(ndr, "entries", &r->in.entries[cntr_entries_0]);
1914				free(idx_0);
1915			}
1916		}
1917		ndr->depth--;
1918		ndr_print_uint32(ndr, "replace", r->in.replace);
1919		ndr->depth--;
1920	}
1921	if (flags & NDR_OUT) {
1922		ndr_print_struct(ndr, "out", "epm_Insert");
1923		ndr->depth++;
1924		ndr_print_uint32(ndr, "result", r->out.result);
1925		ndr->depth--;
1926	}
1927	ndr->depth--;
1928}
1929
1930static enum ndr_err_code ndr_push_epm_Delete(struct ndr_push *ndr, int flags, const struct epm_Delete *r)
1931{
1932	uint32_t cntr_entries_0;
1933	if (flags & NDR_IN) {
1934		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_ents));
1935		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_ents));
1936		for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
1937			NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0]));
1938		}
1939		for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
1940			NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0]));
1941		}
1942	}
1943	if (flags & NDR_OUT) {
1944		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
1945	}
1946	return NDR_ERR_SUCCESS;
1947}
1948
1949static enum ndr_err_code ndr_pull_epm_Delete(struct ndr_pull *ndr, int flags, struct epm_Delete *r)
1950{
1951	uint32_t cntr_entries_0;
1952	TALLOC_CTX *_mem_save_entries_0;
1953	if (flags & NDR_IN) {
1954		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_ents));
1955		NDR_CHECK(ndr_pull_array_size(ndr, &r->in.entries));
1956		NDR_PULL_ALLOC_N(ndr, r->in.entries, ndr_get_array_size(ndr, &r->in.entries));
1957		_mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
1958		NDR_PULL_SET_MEM_CTX(ndr, r->in.entries, 0);
1959		for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
1960			NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0]));
1961		}
1962		for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) {
1963			NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0]));
1964		}
1965		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
1966		if (r->in.entries) {
1967			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.entries, r->in.num_ents));
1968		}
1969	}
1970	if (flags & NDR_OUT) {
1971		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
1972	}
1973	return NDR_ERR_SUCCESS;
1974}
1975
1976_PUBLIC_ void ndr_print_epm_Delete(struct ndr_print *ndr, const char *name, int flags, const struct epm_Delete *r)
1977{
1978	uint32_t cntr_entries_0;
1979	ndr_print_struct(ndr, name, "epm_Delete");
1980	ndr->depth++;
1981	if (flags & NDR_SET_VALUES) {
1982		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1983	}
1984	if (flags & NDR_IN) {
1985		ndr_print_struct(ndr, "in", "epm_Delete");
1986		ndr->depth++;
1987		ndr_print_uint32(ndr, "num_ents", r->in.num_ents);
1988		ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->in.num_ents);
1989		ndr->depth++;
1990		for (cntr_entries_0=0;cntr_entries_0<r->in.num_ents;cntr_entries_0++) {
1991			char *idx_0=NULL;
1992			if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) {
1993				ndr_print_epm_entry_t(ndr, "entries", &r->in.entries[cntr_entries_0]);
1994				free(idx_0);
1995			}
1996		}
1997		ndr->depth--;
1998		ndr->depth--;
1999	}
2000	if (flags & NDR_OUT) {
2001		ndr_print_struct(ndr, "out", "epm_Delete");
2002		ndr->depth++;
2003		ndr_print_uint32(ndr, "result", r->out.result);
2004		ndr->depth--;
2005	}
2006	ndr->depth--;
2007}
2008
2009static enum ndr_err_code ndr_push_epm_Lookup(struct ndr_push *ndr, int flags, const struct epm_Lookup *r)
2010{
2011	uint32_t cntr_entries_0;
2012	if (flags & NDR_IN) {
2013		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.inquiry_type));
2014		NDR_CHECK(ndr_push_full_ptr(ndr, r->in.object));
2015		if (r->in.object) {
2016			NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.object));
2017		}
2018		NDR_CHECK(ndr_push_full_ptr(ndr, r->in.interface_id));
2019		if (r->in.interface_id) {
2020			NDR_CHECK(ndr_push_rpc_if_id_t(ndr, NDR_SCALARS, r->in.interface_id));
2021		}
2022		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.vers_option));
2023		if (r->in.entry_handle == NULL) {
2024			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2025		}
2026		NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle));
2027		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_ents));
2028	}
2029	if (flags & NDR_OUT) {
2030		if (r->out.entry_handle == NULL) {
2031			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2032		}
2033		NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle));
2034		if (r->out.num_ents == NULL) {
2035			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2036		}
2037		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_ents));
2038		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.max_ents));
2039		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2040		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_ents));
2041		for (cntr_entries_0 = 0; cntr_entries_0 < *r->out.num_ents; cntr_entries_0++) {
2042			NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_SCALARS, &r->out.entries[cntr_entries_0]));
2043		}
2044		for (cntr_entries_0 = 0; cntr_entries_0 < *r->out.num_ents; cntr_entries_0++) {
2045			NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_BUFFERS, &r->out.entries[cntr_entries_0]));
2046		}
2047		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
2048	}
2049	return NDR_ERR_SUCCESS;
2050}
2051
2052static enum ndr_err_code ndr_pull_epm_Lookup(struct ndr_pull *ndr, int flags, struct epm_Lookup *r)
2053{
2054	uint32_t _ptr_object;
2055	uint32_t _ptr_interface_id;
2056	uint32_t cntr_entries_0;
2057	TALLOC_CTX *_mem_save_object_0;
2058	TALLOC_CTX *_mem_save_interface_id_0;
2059	TALLOC_CTX *_mem_save_entry_handle_0;
2060	TALLOC_CTX *_mem_save_num_ents_0;
2061	TALLOC_CTX *_mem_save_entries_0;
2062	if (flags & NDR_IN) {
2063		ZERO_STRUCT(r->out);
2064
2065		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.inquiry_type));
2066		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object));
2067		if (_ptr_object) {
2068			NDR_PULL_ALLOC(ndr, r->in.object);
2069		} else {
2070			r->in.object = NULL;
2071		}
2072		if (r->in.object) {
2073			_mem_save_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2074			NDR_PULL_SET_MEM_CTX(ndr, r->in.object, 0);
2075			NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.object));
2076			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_0, 0);
2077		}
2078		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_interface_id));
2079		if (_ptr_interface_id) {
2080			NDR_PULL_ALLOC(ndr, r->in.interface_id);
2081		} else {
2082			r->in.interface_id = NULL;
2083		}
2084		if (r->in.interface_id) {
2085			_mem_save_interface_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
2086			NDR_PULL_SET_MEM_CTX(ndr, r->in.interface_id, 0);
2087			NDR_CHECK(ndr_pull_rpc_if_id_t(ndr, NDR_SCALARS, r->in.interface_id));
2088			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_interface_id_0, 0);
2089		}
2090		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.vers_option));
2091		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2092			NDR_PULL_ALLOC(ndr, r->in.entry_handle);
2093		}
2094		_mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2095		NDR_PULL_SET_MEM_CTX(ndr, r->in.entry_handle, LIBNDR_FLAG_REF_ALLOC);
2096		NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle));
2097		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC);
2098		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_ents));
2099		NDR_PULL_ALLOC(ndr, r->out.entry_handle);
2100		*r->out.entry_handle = *r->in.entry_handle;
2101		NDR_PULL_ALLOC(ndr, r->out.num_ents);
2102		ZERO_STRUCTP(r->out.num_ents);
2103	}
2104	if (flags & NDR_OUT) {
2105		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2106			NDR_PULL_ALLOC(ndr, r->out.entry_handle);
2107		}
2108		_mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2109		NDR_PULL_SET_MEM_CTX(ndr, r->out.entry_handle, LIBNDR_FLAG_REF_ALLOC);
2110		NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle));
2111		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC);
2112		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2113			NDR_PULL_ALLOC(ndr, r->out.num_ents);
2114		}
2115		_mem_save_num_ents_0 = NDR_PULL_GET_MEM_CTX(ndr);
2116		NDR_PULL_SET_MEM_CTX(ndr, r->out.num_ents, LIBNDR_FLAG_REF_ALLOC);
2117		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_ents));
2118		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ents_0, LIBNDR_FLAG_REF_ALLOC);
2119		NDR_CHECK(ndr_pull_array_size(ndr, &r->out.entries));
2120		NDR_CHECK(ndr_pull_array_length(ndr, &r->out.entries));
2121		if (ndr_get_array_length(ndr, &r->out.entries) > ndr_get_array_size(ndr, &r->out.entries)) {
2122			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.entries), ndr_get_array_length(ndr, &r->out.entries));
2123		}
2124		NDR_PULL_ALLOC_N(ndr, r->out.entries, ndr_get_array_size(ndr, &r->out.entries));
2125		_mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
2126		NDR_PULL_SET_MEM_CTX(ndr, r->out.entries, 0);
2127		for (cntr_entries_0 = 0; cntr_entries_0 < ndr_get_array_length(ndr, &r->out.entries); cntr_entries_0++) {
2128			NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->out.entries[cntr_entries_0]));
2129		}
2130		for (cntr_entries_0 = 0; cntr_entries_0 < ndr_get_array_length(ndr, &r->out.entries); cntr_entries_0++) {
2131			NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->out.entries[cntr_entries_0]));
2132		}
2133		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
2134		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
2135		if (r->out.entries) {
2136			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.entries, r->in.max_ents));
2137		}
2138		if (r->out.entries) {
2139			NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.entries, *r->out.num_ents));
2140		}
2141	}
2142	return NDR_ERR_SUCCESS;
2143}
2144
2145_PUBLIC_ void ndr_print_epm_Lookup(struct ndr_print *ndr, const char *name, int flags, const struct epm_Lookup *r)
2146{
2147	uint32_t cntr_entries_0;
2148	ndr_print_struct(ndr, name, "epm_Lookup");
2149	ndr->depth++;
2150	if (flags & NDR_SET_VALUES) {
2151		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2152	}
2153	if (flags & NDR_IN) {
2154		ndr_print_struct(ndr, "in", "epm_Lookup");
2155		ndr->depth++;
2156		ndr_print_uint32(ndr, "inquiry_type", r->in.inquiry_type);
2157		ndr_print_ptr(ndr, "object", r->in.object);
2158		ndr->depth++;
2159		if (r->in.object) {
2160			ndr_print_GUID(ndr, "object", r->in.object);
2161		}
2162		ndr->depth--;
2163		ndr_print_ptr(ndr, "interface_id", r->in.interface_id);
2164		ndr->depth++;
2165		if (r->in.interface_id) {
2166			ndr_print_rpc_if_id_t(ndr, "interface_id", r->in.interface_id);
2167		}
2168		ndr->depth--;
2169		ndr_print_uint32(ndr, "vers_option", r->in.vers_option);
2170		ndr_print_ptr(ndr, "entry_handle", r->in.entry_handle);
2171		ndr->depth++;
2172		ndr_print_policy_handle(ndr, "entry_handle", r->in.entry_handle);
2173		ndr->depth--;
2174		ndr_print_uint32(ndr, "max_ents", r->in.max_ents);
2175		ndr->depth--;
2176	}
2177	if (flags & NDR_OUT) {
2178		ndr_print_struct(ndr, "out", "epm_Lookup");
2179		ndr->depth++;
2180		ndr_print_ptr(ndr, "entry_handle", r->out.entry_handle);
2181		ndr->depth++;
2182		ndr_print_policy_handle(ndr, "entry_handle", r->out.entry_handle);
2183		ndr->depth--;
2184		ndr_print_ptr(ndr, "num_ents", r->out.num_ents);
2185		ndr->depth++;
2186		ndr_print_uint32(ndr, "num_ents", *r->out.num_ents);
2187		ndr->depth--;
2188		ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)*r->out.num_ents);
2189		ndr->depth++;
2190		for (cntr_entries_0=0;cntr_entries_0<*r->out.num_ents;cntr_entries_0++) {
2191			char *idx_0=NULL;
2192			if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) {
2193				ndr_print_epm_entry_t(ndr, "entries", &r->out.entries[cntr_entries_0]);
2194				free(idx_0);
2195			}
2196		}
2197		ndr->depth--;
2198		ndr_print_uint32(ndr, "result", r->out.result);
2199		ndr->depth--;
2200	}
2201	ndr->depth--;
2202}
2203
2204_PUBLIC_ enum ndr_err_code ndr_push_epm_Map(struct ndr_push *ndr, int flags, const struct epm_Map *r)
2205{
2206	uint32_t cntr_towers_0;
2207	if (flags & NDR_IN) {
2208		NDR_CHECK(ndr_push_full_ptr(ndr, r->in.object));
2209		if (r->in.object) {
2210			NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.object));
2211		}
2212		NDR_CHECK(ndr_push_full_ptr(ndr, r->in.map_tower));
2213		if (r->in.map_tower) {
2214			NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->in.map_tower));
2215		}
2216		if (r->in.entry_handle == NULL) {
2217			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2218		}
2219		NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle));
2220		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_towers));
2221	}
2222	if (flags & NDR_OUT) {
2223		if (r->out.entry_handle == NULL) {
2224			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2225		}
2226		NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle));
2227		if (r->out.num_towers == NULL) {
2228			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2229		}
2230		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_towers));
2231		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.max_towers));
2232		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2233		NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_towers));
2234		for (cntr_towers_0 = 0; cntr_towers_0 < *r->out.num_towers; cntr_towers_0++) {
2235			NDR_CHECK(ndr_push_epm_twr_p_t(ndr, NDR_SCALARS, &r->out.towers[cntr_towers_0]));
2236		}
2237		for (cntr_towers_0 = 0; cntr_towers_0 < *r->out.num_towers; cntr_towers_0++) {
2238			NDR_CHECK(ndr_push_epm_twr_p_t(ndr, NDR_BUFFERS, &r->out.towers[cntr_towers_0]));
2239		}
2240		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
2241	}
2242	return NDR_ERR_SUCCESS;
2243}
2244
2245_PUBLIC_ enum ndr_err_code ndr_pull_epm_Map(struct ndr_pull *ndr, int flags, struct epm_Map *r)
2246{
2247	uint32_t _ptr_object;
2248	uint32_t _ptr_map_tower;
2249	uint32_t cntr_towers_0;
2250	TALLOC_CTX *_mem_save_object_0;
2251	TALLOC_CTX *_mem_save_map_tower_0;
2252	TALLOC_CTX *_mem_save_entry_handle_0;
2253	TALLOC_CTX *_mem_save_num_towers_0;
2254	TALLOC_CTX *_mem_save_towers_0;
2255	if (flags & NDR_IN) {
2256		ZERO_STRUCT(r->out);
2257
2258		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object));
2259		if (_ptr_object) {
2260			NDR_PULL_ALLOC(ndr, r->in.object);
2261		} else {
2262			r->in.object = NULL;
2263		}
2264		if (r->in.object) {
2265			_mem_save_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2266			NDR_PULL_SET_MEM_CTX(ndr, r->in.object, 0);
2267			NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.object));
2268			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_0, 0);
2269		}
2270		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_map_tower));
2271		if (_ptr_map_tower) {
2272			NDR_PULL_ALLOC(ndr, r->in.map_tower);
2273		} else {
2274			r->in.map_tower = NULL;
2275		}
2276		if (r->in.map_tower) {
2277			_mem_save_map_tower_0 = NDR_PULL_GET_MEM_CTX(ndr);
2278			NDR_PULL_SET_MEM_CTX(ndr, r->in.map_tower, 0);
2279			NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->in.map_tower));
2280			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_map_tower_0, 0);
2281		}
2282		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2283			NDR_PULL_ALLOC(ndr, r->in.entry_handle);
2284		}
2285		_mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2286		NDR_PULL_SET_MEM_CTX(ndr, r->in.entry_handle, LIBNDR_FLAG_REF_ALLOC);
2287		NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle));
2288		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC);
2289		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_towers));
2290		NDR_PULL_ALLOC(ndr, r->out.entry_handle);
2291		*r->out.entry_handle = *r->in.entry_handle;
2292		NDR_PULL_ALLOC(ndr, r->out.num_towers);
2293		ZERO_STRUCTP(r->out.num_towers);
2294	}
2295	if (flags & NDR_OUT) {
2296		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2297			NDR_PULL_ALLOC(ndr, r->out.entry_handle);
2298		}
2299		_mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2300		NDR_PULL_SET_MEM_CTX(ndr, r->out.entry_handle, LIBNDR_FLAG_REF_ALLOC);
2301		NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle));
2302		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC);
2303		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2304			NDR_PULL_ALLOC(ndr, r->out.num_towers);
2305		}
2306		_mem_save_num_towers_0 = NDR_PULL_GET_MEM_CTX(ndr);
2307		NDR_PULL_SET_MEM_CTX(ndr, r->out.num_towers, LIBNDR_FLAG_REF_ALLOC);
2308		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_towers));
2309		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_towers_0, LIBNDR_FLAG_REF_ALLOC);
2310		NDR_CHECK(ndr_pull_array_size(ndr, &r->out.towers));
2311		NDR_CHECK(ndr_pull_array_length(ndr, &r->out.towers));
2312		if (ndr_get_array_length(ndr, &r->out.towers) > ndr_get_array_size(ndr, &r->out.towers)) {
2313			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.towers), ndr_get_array_length(ndr, &r->out.towers));
2314		}
2315		NDR_PULL_ALLOC_N(ndr, r->out.towers, ndr_get_array_size(ndr, &r->out.towers));
2316		_mem_save_towers_0 = NDR_PULL_GET_MEM_CTX(ndr);
2317		NDR_PULL_SET_MEM_CTX(ndr, r->out.towers, 0);
2318		for (cntr_towers_0 = 0; cntr_towers_0 < ndr_get_array_length(ndr, &r->out.towers); cntr_towers_0++) {
2319			NDR_CHECK(ndr_pull_epm_twr_p_t(ndr, NDR_SCALARS, &r->out.towers[cntr_towers_0]));
2320		}
2321		for (cntr_towers_0 = 0; cntr_towers_0 < ndr_get_array_length(ndr, &r->out.towers); cntr_towers_0++) {
2322			NDR_CHECK(ndr_pull_epm_twr_p_t(ndr, NDR_BUFFERS, &r->out.towers[cntr_towers_0]));
2323		}
2324		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_towers_0, 0);
2325		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
2326		if (r->out.towers) {
2327			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.towers, r->in.max_towers));
2328		}
2329		if (r->out.towers) {
2330			NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.towers, *r->out.num_towers));
2331		}
2332	}
2333	return NDR_ERR_SUCCESS;
2334}
2335
2336_PUBLIC_ void ndr_print_epm_Map(struct ndr_print *ndr, const char *name, int flags, const struct epm_Map *r)
2337{
2338	uint32_t cntr_towers_0;
2339	ndr_print_struct(ndr, name, "epm_Map");
2340	ndr->depth++;
2341	if (flags & NDR_SET_VALUES) {
2342		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2343	}
2344	if (flags & NDR_IN) {
2345		ndr_print_struct(ndr, "in", "epm_Map");
2346		ndr->depth++;
2347		ndr_print_ptr(ndr, "object", r->in.object);
2348		ndr->depth++;
2349		if (r->in.object) {
2350			ndr_print_GUID(ndr, "object", r->in.object);
2351		}
2352		ndr->depth--;
2353		ndr_print_ptr(ndr, "map_tower", r->in.map_tower);
2354		ndr->depth++;
2355		if (r->in.map_tower) {
2356			ndr_print_epm_twr_t(ndr, "map_tower", r->in.map_tower);
2357		}
2358		ndr->depth--;
2359		ndr_print_ptr(ndr, "entry_handle", r->in.entry_handle);
2360		ndr->depth++;
2361		ndr_print_policy_handle(ndr, "entry_handle", r->in.entry_handle);
2362		ndr->depth--;
2363		ndr_print_uint32(ndr, "max_towers", r->in.max_towers);
2364		ndr->depth--;
2365	}
2366	if (flags & NDR_OUT) {
2367		ndr_print_struct(ndr, "out", "epm_Map");
2368		ndr->depth++;
2369		ndr_print_ptr(ndr, "entry_handle", r->out.entry_handle);
2370		ndr->depth++;
2371		ndr_print_policy_handle(ndr, "entry_handle", r->out.entry_handle);
2372		ndr->depth--;
2373		ndr_print_ptr(ndr, "num_towers", r->out.num_towers);
2374		ndr->depth++;
2375		ndr_print_uint32(ndr, "num_towers", *r->out.num_towers);
2376		ndr->depth--;
2377		ndr->print(ndr, "%s: ARRAY(%d)", "towers", (int)*r->out.num_towers);
2378		ndr->depth++;
2379		for (cntr_towers_0=0;cntr_towers_0<*r->out.num_towers;cntr_towers_0++) {
2380			char *idx_0=NULL;
2381			if (asprintf(&idx_0, "[%d]", cntr_towers_0) != -1) {
2382				ndr_print_epm_twr_p_t(ndr, "towers", &r->out.towers[cntr_towers_0]);
2383				free(idx_0);
2384			}
2385		}
2386		ndr->depth--;
2387		ndr_print_uint32(ndr, "result", r->out.result);
2388		ndr->depth--;
2389	}
2390	ndr->depth--;
2391}
2392
2393static enum ndr_err_code ndr_push_epm_LookupHandleFree(struct ndr_push *ndr, int flags, const struct epm_LookupHandleFree *r)
2394{
2395	if (flags & NDR_IN) {
2396		if (r->in.entry_handle == NULL) {
2397			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2398		}
2399		NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle));
2400	}
2401	if (flags & NDR_OUT) {
2402		if (r->out.entry_handle == NULL) {
2403			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2404		}
2405		NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle));
2406		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
2407	}
2408	return NDR_ERR_SUCCESS;
2409}
2410
2411static enum ndr_err_code ndr_pull_epm_LookupHandleFree(struct ndr_pull *ndr, int flags, struct epm_LookupHandleFree *r)
2412{
2413	TALLOC_CTX *_mem_save_entry_handle_0;
2414	if (flags & NDR_IN) {
2415		ZERO_STRUCT(r->out);
2416
2417		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2418			NDR_PULL_ALLOC(ndr, r->in.entry_handle);
2419		}
2420		_mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2421		NDR_PULL_SET_MEM_CTX(ndr, r->in.entry_handle, LIBNDR_FLAG_REF_ALLOC);
2422		NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle));
2423		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC);
2424		NDR_PULL_ALLOC(ndr, r->out.entry_handle);
2425		*r->out.entry_handle = *r->in.entry_handle;
2426	}
2427	if (flags & NDR_OUT) {
2428		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2429			NDR_PULL_ALLOC(ndr, r->out.entry_handle);
2430		}
2431		_mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2432		NDR_PULL_SET_MEM_CTX(ndr, r->out.entry_handle, LIBNDR_FLAG_REF_ALLOC);
2433		NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle));
2434		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC);
2435		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
2436	}
2437	return NDR_ERR_SUCCESS;
2438}
2439
2440_PUBLIC_ void ndr_print_epm_LookupHandleFree(struct ndr_print *ndr, const char *name, int flags, const struct epm_LookupHandleFree *r)
2441{
2442	ndr_print_struct(ndr, name, "epm_LookupHandleFree");
2443	ndr->depth++;
2444	if (flags & NDR_SET_VALUES) {
2445		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2446	}
2447	if (flags & NDR_IN) {
2448		ndr_print_struct(ndr, "in", "epm_LookupHandleFree");
2449		ndr->depth++;
2450		ndr_print_ptr(ndr, "entry_handle", r->in.entry_handle);
2451		ndr->depth++;
2452		ndr_print_policy_handle(ndr, "entry_handle", r->in.entry_handle);
2453		ndr->depth--;
2454		ndr->depth--;
2455	}
2456	if (flags & NDR_OUT) {
2457		ndr_print_struct(ndr, "out", "epm_LookupHandleFree");
2458		ndr->depth++;
2459		ndr_print_ptr(ndr, "entry_handle", r->out.entry_handle);
2460		ndr->depth++;
2461		ndr_print_policy_handle(ndr, "entry_handle", r->out.entry_handle);
2462		ndr->depth--;
2463		ndr_print_uint32(ndr, "result", r->out.result);
2464		ndr->depth--;
2465	}
2466	ndr->depth--;
2467}
2468
2469static enum ndr_err_code ndr_push_epm_InqObject(struct ndr_push *ndr, int flags, const struct epm_InqObject *r)
2470{
2471	if (flags & NDR_IN) {
2472		if (r->in.epm_object == NULL) {
2473			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2474		}
2475		NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.epm_object));
2476	}
2477	if (flags & NDR_OUT) {
2478		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
2479	}
2480	return NDR_ERR_SUCCESS;
2481}
2482
2483static enum ndr_err_code ndr_pull_epm_InqObject(struct ndr_pull *ndr, int flags, struct epm_InqObject *r)
2484{
2485	TALLOC_CTX *_mem_save_epm_object_0;
2486	if (flags & NDR_IN) {
2487		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2488			NDR_PULL_ALLOC(ndr, r->in.epm_object);
2489		}
2490		_mem_save_epm_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2491		NDR_PULL_SET_MEM_CTX(ndr, r->in.epm_object, LIBNDR_FLAG_REF_ALLOC);
2492		NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.epm_object));
2493		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_epm_object_0, LIBNDR_FLAG_REF_ALLOC);
2494	}
2495	if (flags & NDR_OUT) {
2496		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
2497	}
2498	return NDR_ERR_SUCCESS;
2499}
2500
2501_PUBLIC_ void ndr_print_epm_InqObject(struct ndr_print *ndr, const char *name, int flags, const struct epm_InqObject *r)
2502{
2503	ndr_print_struct(ndr, name, "epm_InqObject");
2504	ndr->depth++;
2505	if (flags & NDR_SET_VALUES) {
2506		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2507	}
2508	if (flags & NDR_IN) {
2509		ndr_print_struct(ndr, "in", "epm_InqObject");
2510		ndr->depth++;
2511		ndr_print_ptr(ndr, "epm_object", r->in.epm_object);
2512		ndr->depth++;
2513		ndr_print_GUID(ndr, "epm_object", r->in.epm_object);
2514		ndr->depth--;
2515		ndr->depth--;
2516	}
2517	if (flags & NDR_OUT) {
2518		ndr_print_struct(ndr, "out", "epm_InqObject");
2519		ndr->depth++;
2520		ndr_print_uint32(ndr, "result", r->out.result);
2521		ndr->depth--;
2522	}
2523	ndr->depth--;
2524}
2525
2526static enum ndr_err_code ndr_push_epm_MgmtDelete(struct ndr_push *ndr, int flags, const struct epm_MgmtDelete *r)
2527{
2528	if (flags & NDR_IN) {
2529		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.object_speced));
2530		NDR_CHECK(ndr_push_full_ptr(ndr, r->in.object));
2531		if (r->in.object) {
2532			NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.object));
2533		}
2534		NDR_CHECK(ndr_push_full_ptr(ndr, r->in.tower));
2535		if (r->in.tower) {
2536			NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->in.tower));
2537		}
2538	}
2539	if (flags & NDR_OUT) {
2540		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
2541	}
2542	return NDR_ERR_SUCCESS;
2543}
2544
2545static enum ndr_err_code ndr_pull_epm_MgmtDelete(struct ndr_pull *ndr, int flags, struct epm_MgmtDelete *r)
2546{
2547	uint32_t _ptr_object;
2548	uint32_t _ptr_tower;
2549	TALLOC_CTX *_mem_save_object_0;
2550	TALLOC_CTX *_mem_save_tower_0;
2551	if (flags & NDR_IN) {
2552		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.object_speced));
2553		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object));
2554		if (_ptr_object) {
2555			NDR_PULL_ALLOC(ndr, r->in.object);
2556		} else {
2557			r->in.object = NULL;
2558		}
2559		if (r->in.object) {
2560			_mem_save_object_0 = NDR_PULL_GET_MEM_CTX(ndr);
2561			NDR_PULL_SET_MEM_CTX(ndr, r->in.object, 0);
2562			NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.object));
2563			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_0, 0);
2564		}
2565		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_tower));
2566		if (_ptr_tower) {
2567			NDR_PULL_ALLOC(ndr, r->in.tower);
2568		} else {
2569			r->in.tower = NULL;
2570		}
2571		if (r->in.tower) {
2572			_mem_save_tower_0 = NDR_PULL_GET_MEM_CTX(ndr);
2573			NDR_PULL_SET_MEM_CTX(ndr, r->in.tower, 0);
2574			NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->in.tower));
2575			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_tower_0, 0);
2576		}
2577	}
2578	if (flags & NDR_OUT) {
2579		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
2580	}
2581	return NDR_ERR_SUCCESS;
2582}
2583
2584_PUBLIC_ void ndr_print_epm_MgmtDelete(struct ndr_print *ndr, const char *name, int flags, const struct epm_MgmtDelete *r)
2585{
2586	ndr_print_struct(ndr, name, "epm_MgmtDelete");
2587	ndr->depth++;
2588	if (flags & NDR_SET_VALUES) {
2589		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2590	}
2591	if (flags & NDR_IN) {
2592		ndr_print_struct(ndr, "in", "epm_MgmtDelete");
2593		ndr->depth++;
2594		ndr_print_uint32(ndr, "object_speced", r->in.object_speced);
2595		ndr_print_ptr(ndr, "object", r->in.object);
2596		ndr->depth++;
2597		if (r->in.object) {
2598			ndr_print_GUID(ndr, "object", r->in.object);
2599		}
2600		ndr->depth--;
2601		ndr_print_ptr(ndr, "tower", r->in.tower);
2602		ndr->depth++;
2603		if (r->in.tower) {
2604			ndr_print_epm_twr_t(ndr, "tower", r->in.tower);
2605		}
2606		ndr->depth--;
2607		ndr->depth--;
2608	}
2609	if (flags & NDR_OUT) {
2610		ndr_print_struct(ndr, "out", "epm_MgmtDelete");
2611		ndr->depth++;
2612		ndr_print_uint32(ndr, "result", r->out.result);
2613		ndr->depth--;
2614	}
2615	ndr->depth--;
2616}
2617
2618static enum ndr_err_code ndr_push_epm_MapAuth(struct ndr_push *ndr, int flags, const struct epm_MapAuth *r)
2619{
2620	if (flags & NDR_IN) {
2621	}
2622	if (flags & NDR_OUT) {
2623		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result));
2624	}
2625	return NDR_ERR_SUCCESS;
2626}
2627
2628static enum ndr_err_code ndr_pull_epm_MapAuth(struct ndr_pull *ndr, int flags, struct epm_MapAuth *r)
2629{
2630	if (flags & NDR_IN) {
2631	}
2632	if (flags & NDR_OUT) {
2633		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result));
2634	}
2635	return NDR_ERR_SUCCESS;
2636}
2637
2638_PUBLIC_ void ndr_print_epm_MapAuth(struct ndr_print *ndr, const char *name, int flags, const struct epm_MapAuth *r)
2639{
2640	ndr_print_struct(ndr, name, "epm_MapAuth");
2641	ndr->depth++;
2642	if (flags & NDR_SET_VALUES) {
2643		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2644	}
2645	if (flags & NDR_IN) {
2646		ndr_print_struct(ndr, "in", "epm_MapAuth");
2647		ndr->depth++;
2648		ndr->depth--;
2649	}
2650	if (flags & NDR_OUT) {
2651		ndr_print_struct(ndr, "out", "epm_MapAuth");
2652		ndr->depth++;
2653		ndr_print_uint32(ndr, "result", r->out.result);
2654		ndr->depth--;
2655	}
2656	ndr->depth--;
2657}
2658
2659static const struct ndr_interface_call epmapper_calls[] = {
2660	{
2661		"epm_Insert",
2662		sizeof(struct epm_Insert),
2663		(ndr_push_flags_fn_t) ndr_push_epm_Insert,
2664		(ndr_pull_flags_fn_t) ndr_pull_epm_Insert,
2665		(ndr_print_function_t) ndr_print_epm_Insert,
2666		false,
2667	},
2668	{
2669		"epm_Delete",
2670		sizeof(struct epm_Delete),
2671		(ndr_push_flags_fn_t) ndr_push_epm_Delete,
2672		(ndr_pull_flags_fn_t) ndr_pull_epm_Delete,
2673		(ndr_print_function_t) ndr_print_epm_Delete,
2674		false,
2675	},
2676	{
2677		"epm_Lookup",
2678		sizeof(struct epm_Lookup),
2679		(ndr_push_flags_fn_t) ndr_push_epm_Lookup,
2680		(ndr_pull_flags_fn_t) ndr_pull_epm_Lookup,
2681		(ndr_print_function_t) ndr_print_epm_Lookup,
2682		false,
2683	},
2684	{
2685		"epm_Map",
2686		sizeof(struct epm_Map),
2687		(ndr_push_flags_fn_t) ndr_push_epm_Map,
2688		(ndr_pull_flags_fn_t) ndr_pull_epm_Map,
2689		(ndr_print_function_t) ndr_print_epm_Map,
2690		false,
2691	},
2692	{
2693		"epm_LookupHandleFree",
2694		sizeof(struct epm_LookupHandleFree),
2695		(ndr_push_flags_fn_t) ndr_push_epm_LookupHandleFree,
2696		(ndr_pull_flags_fn_t) ndr_pull_epm_LookupHandleFree,
2697		(ndr_print_function_t) ndr_print_epm_LookupHandleFree,
2698		false,
2699	},
2700	{
2701		"epm_InqObject",
2702		sizeof(struct epm_InqObject),
2703		(ndr_push_flags_fn_t) ndr_push_epm_InqObject,
2704		(ndr_pull_flags_fn_t) ndr_pull_epm_InqObject,
2705		(ndr_print_function_t) ndr_print_epm_InqObject,
2706		false,
2707	},
2708	{
2709		"epm_MgmtDelete",
2710		sizeof(struct epm_MgmtDelete),
2711		(ndr_push_flags_fn_t) ndr_push_epm_MgmtDelete,
2712		(ndr_pull_flags_fn_t) ndr_pull_epm_MgmtDelete,
2713		(ndr_print_function_t) ndr_print_epm_MgmtDelete,
2714		false,
2715	},
2716	{
2717		"epm_MapAuth",
2718		sizeof(struct epm_MapAuth),
2719		(ndr_push_flags_fn_t) ndr_push_epm_MapAuth,
2720		(ndr_pull_flags_fn_t) ndr_pull_epm_MapAuth,
2721		(ndr_print_function_t) ndr_print_epm_MapAuth,
2722		false,
2723	},
2724	{ NULL, 0, NULL, NULL, NULL, false }
2725};
2726
2727static const char * const epmapper_endpoint_strings[] = {
2728	"ncacn_np:[\\pipe\\epmapper]",
2729	"ncacn_ip_tcp:[135]",
2730	"ncalrpc:[EPMAPPER]",
2731};
2732
2733static const struct ndr_interface_string_array epmapper_endpoints = {
2734	.count	= 3,
2735	.names	= epmapper_endpoint_strings
2736};
2737
2738static const char * const epmapper_authservice_strings[] = {
2739	"host",
2740};
2741
2742static const struct ndr_interface_string_array epmapper_authservices = {
2743	.count	= 1,
2744	.names	= epmapper_authservice_strings
2745};
2746
2747
2748const struct ndr_interface_table ndr_table_epmapper = {
2749	.name		= "epmapper",
2750	.syntax_id	= {
2751		{0xe1af8308,0x5d1f,0x11c9,{0x91,0xa4},{0x08,0x00,0x2b,0x14,0xa0,0xfa}},
2752		NDR_EPMAPPER_VERSION
2753	},
2754	.helpstring	= NDR_EPMAPPER_HELPSTRING,
2755	.num_calls	= 8,
2756	.calls		= epmapper_calls,
2757	.endpoints	= &epmapper_endpoints,
2758	.authservices	= &epmapper_authservices
2759};
2760
2761