gen_ndr
[metze/samba/wip.git] / bin.gen_ndr / default / librpc / gen_ndr / echo.h
1 /* header auto-generated by pidl */
2
3 #ifndef _PIDL_HEADER_rpcecho
4 #define _PIDL_HEADER_rpcecho
5
6 #include <stdint.h>
7
8 #include "libcli/util/ntstatus.h"
9
10 #ifndef _HEADER_rpcecho
11 #define _HEADER_rpcecho
12
13 struct echo_info1 {
14         uint8_t v;
15 }/* [public] */;
16
17 struct echo_info2 {
18         uint16_t v;
19 };
20
21 struct echo_info3 {
22         uint32_t v;
23 };
24
25 struct echo_info4 {
26         uint64_t v;
27 };
28
29 struct echo_info5 {
30         uint8_t v1;
31         uint64_t v2;
32 };
33
34 struct echo_info6 {
35         uint8_t v1;
36         struct echo_info1 info1;
37 };
38
39 struct echo_info7 {
40         uint8_t v1;
41         struct echo_info4 info4;
42 };
43
44 union echo_Info {
45         struct echo_info1 info1;/* [case] */
46         struct echo_info2 info2;/* [case(2)] */
47         struct echo_info3 info3;/* [case(3)] */
48         struct echo_info4 info4;/* [case(4)] */
49         struct echo_info5 info5;/* [case(5)] */
50         struct echo_info6 info6;/* [case(6)] */
51         struct echo_info7 info7;/* [case(7)] */
52 }/* [switch_type(uint16)] */;
53
54 enum echo_Enum1
55 #ifndef USE_UINT_ENUMS
56  {
57         ECHO_ENUM1=(int)(1),
58         ECHO_ENUM2=(int)(2)
59 }
60 #else
61  { __do_not_use_enum_echo_Enum1=0x7FFFFFFF}
62 #define ECHO_ENUM1 ( 1 )
63 #define ECHO_ENUM2 ( 2 )
64 #endif
65 ;
66
67 enum echo_Enum1_32
68 #ifndef USE_UINT_ENUMS
69  {
70         ECHO_ENUM1_32=(int)(1),
71         ECHO_ENUM2_32=(int)(2)
72 }
73 #else
74  { __do_not_use_enum_echo_Enum1_32=0x7FFFFFFF}
75 #define ECHO_ENUM1_32 ( 1 )
76 #define ECHO_ENUM2_32 ( 2 )
77 #endif
78 ;
79
80 struct echo_Enum2 {
81         enum echo_Enum1 e1;
82         enum echo_Enum1_32 e2;
83 };
84
85 union echo_Enum3 {
86         enum echo_Enum1 e1;/* [case(ECHO_ENUM1)] */
87         struct echo_Enum2 e2;/* [case(ECHO_ENUM2)] */
88 }/* [switch_type(uint16)] */;
89
90 struct echo_Surrounding {
91         uint32_t x;
92         uint16_t *surrounding;/* [size_is(x)] */
93 };
94
95 struct echo_BytePipe;
96 struct echo_BytePipe_chunk {
97         uint32_t count;
98         uint8_t *array;
99 };
100
101
102 struct echo_AddOne {
103         struct {
104                 uint32_t in_data;
105         } in;
106
107         struct {
108                 uint32_t *out_data;/* [ref] */
109         } out;
110
111 };
112
113
114 struct echo_EchoData {
115         struct {
116                 uint32_t len;
117                 uint8_t *in_data;/* [size_is(len)] */
118         } in;
119
120         struct {
121                 uint8_t *out_data;/* [size_is(len)] */
122         } out;
123
124 };
125
126
127 struct echo_SinkData {
128         struct {
129                 uint32_t len;
130                 uint8_t *data;/* [size_is(len)] */
131         } in;
132
133 };
134
135
136 struct echo_SourceData {
137         struct {
138                 uint32_t len;
139         } in;
140
141         struct {
142                 uint8_t *data;/* [size_is(len)] */
143         } out;
144
145 };
146
147
148 struct echo_TestCall {
149         struct {
150                 const char *s1;/* [ref,charset(UTF16)] */
151         } in;
152
153         struct {
154                 const char **s2;/* [ref,charset(UTF16)] */
155         } out;
156
157 };
158
159
160 struct echo_TestCall2 {
161         struct {
162                 uint16_t level;
163         } in;
164
165         struct {
166                 union echo_Info *info;/* [ref,switch_is(level)] */
167                 NTSTATUS result;
168         } out;
169
170 };
171
172
173 struct echo_TestSleep {
174         struct {
175                 uint32_t seconds;
176         } in;
177
178         struct {
179                 uint32_t result;
180         } out;
181
182 };
183
184
185 struct echo_TestEnum {
186         struct {
187                 enum echo_Enum1 *foo1;/* [ref] */
188                 struct echo_Enum2 *foo2;/* [ref] */
189                 union echo_Enum3 *foo3;/* [ref,switch_is(*foo1)] */
190         } in;
191
192         struct {
193                 enum echo_Enum1 *foo1;/* [ref] */
194                 struct echo_Enum2 *foo2;/* [ref] */
195                 union echo_Enum3 *foo3;/* [ref,switch_is(*foo1)] */
196         } out;
197
198 };
199
200
201 struct echo_TestSurrounding {
202         struct {
203                 struct echo_Surrounding *data;/* [ref] */
204         } in;
205
206         struct {
207                 struct echo_Surrounding *data;/* [ref] */
208         } out;
209
210 };
211
212
213 struct echo_TestDoublePointer {
214         struct {
215                 uint16_t ***data;/* [ref] */
216         } in;
217
218         struct {
219                 uint16_t result;
220         } out;
221
222 };
223
224
225 struct echo_TestBytePipeIn {
226         struct {
227                 uint32_t num_chunks;
228                 uint32_t chunk_size;
229                 struct echo_BytePipe *in_pipe;/* [ref] */
230         } in;
231
232         struct {
233                 uint32_t result;
234         } out;
235
236 };
237
238
239 struct echo_TestBytePipeOut {
240         struct {
241                 uint32_t num_chunks;
242                 uint32_t chunk_size;
243         } in;
244
245         struct {
246                 struct echo_BytePipe *out_pipe;/* [ref] */
247                 uint32_t result;
248         } out;
249
250 };
251
252
253 struct echo_TestBytePipeInOut {
254         struct {
255                 uint32_t num_chunks;
256                 uint32_t chunk_size;
257                 struct echo_BytePipe *out_pipe;/* [ref] */
258         } in;
259
260         struct {
261                 struct echo_BytePipe *out_pipe;/* [ref] */
262                 uint32_t result;
263         } out;
264
265 };
266
267 #endif /* _HEADER_rpcecho */
268 #endif /* _PIDL_HEADER_rpcecho */