79d4220714d40b121272919be953cb96ab69057f
[amitay/samba.git] / librpc / gen_ndr / echo.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #ifndef _HEADER_rpcecho
6 #define _HEADER_rpcecho
7
8 struct echo_info1 {
9         uint8_t v;
10 }/* [public] */;
11
12 struct echo_info2 {
13         uint16_t v;
14 };
15
16 struct echo_info3 {
17         uint32_t v;
18 };
19
20 struct echo_info4 {
21         uint64_t v;
22 };
23
24 struct echo_info5 {
25         uint8_t v1;
26         uint64_t v2;
27 };
28
29 struct echo_info6 {
30         uint8_t v1;
31         struct echo_info1 info1;
32 };
33
34 struct echo_info7 {
35         uint8_t v1;
36         struct echo_info4 info4;
37 };
38
39 union echo_Info {
40         struct echo_info1 info1;/* [case] */
41         struct echo_info2 info2;/* [case(2)] */
42         struct echo_info3 info3;/* [case(3)] */
43         struct echo_info4 info4;/* [case(4)] */
44         struct echo_info5 info5;/* [case(5)] */
45         struct echo_info6 info6;/* [case(6)] */
46         struct echo_info7 info7;/* [case(7)] */
47 }/* [switch_type(uint16)] */;
48
49 enum echo_Enum1
50 #ifndef USE_UINT_ENUMS
51  {
52         ECHO_ENUM1=1,
53         ECHO_ENUM2=2
54 }
55 #else
56  { __donnot_use_enum_echo_Enum1=0x7FFFFFFF}
57 #define ECHO_ENUM1 ( 1 )
58 #define ECHO_ENUM2 ( 2 )
59 #endif
60 ;
61
62 enum echo_Enum1_32
63 #ifndef USE_UINT_ENUMS
64  {
65         ECHO_ENUM1_32=1,
66         ECHO_ENUM2_32=2
67 }
68 #else
69  { __donnot_use_enum_echo_Enum1_32=0x7FFFFFFF}
70 #define ECHO_ENUM1_32 ( 1 )
71 #define ECHO_ENUM2_32 ( 2 )
72 #endif
73 ;
74
75 struct echo_Enum2 {
76         enum echo_Enum1 e1;
77         enum echo_Enum1_32 e2;
78 };
79
80 union echo_Enum3 {
81         enum echo_Enum1 e1;/* [case(ECHO_ENUM1)] */
82         struct echo_Enum2 e2;/* [case(ECHO_ENUM2)] */
83 }/* [switch_type(uint16)] */;
84
85 struct echo_Surrounding {
86         uint32_t x;
87         uint16_t *surrounding;/* [size_is(x)] */
88 };
89
90
91 struct echo_AddOne {
92         struct {
93                 uint32_t in_data;
94         } in;
95
96         struct {
97                 uint32_t *out_data;/* [ref] */
98         } out;
99
100 };
101
102
103 struct echo_EchoData {
104         struct {
105                 uint32_t len;
106                 uint8_t *in_data;/* [size_is(len)] */
107         } in;
108
109         struct {
110                 uint8_t *out_data;/* [size_is(len)] */
111         } out;
112
113 };
114
115
116 struct echo_SinkData {
117         struct {
118                 uint32_t len;
119                 uint8_t *data;/* [size_is(len)] */
120         } in;
121
122 };
123
124
125 struct echo_SourceData {
126         struct {
127                 uint32_t len;
128         } in;
129
130         struct {
131                 uint8_t *data;/* [size_is(len)] */
132         } out;
133
134 };
135
136
137 struct echo_TestCall {
138         struct {
139                 const char *s1;/* [ref,charset(UTF16)] */
140         } in;
141
142         struct {
143                 const char **s2;/* [ref,charset(UTF16)] */
144         } out;
145
146 };
147
148
149 struct echo_TestCall2 {
150         struct {
151                 uint16_t level;
152         } in;
153
154         struct {
155                 union echo_Info *info;/* [ref,switch_is(level)] */
156                 NTSTATUS result;
157         } out;
158
159 };
160
161
162 struct echo_TestSleep {
163         struct {
164                 uint32_t seconds;
165         } in;
166
167         struct {
168                 uint32_t result;
169         } out;
170
171 };
172
173
174 struct echo_TestEnum {
175         struct {
176                 enum echo_Enum1 *foo1;/* [ref] */
177                 struct echo_Enum2 *foo2;/* [ref] */
178                 union echo_Enum3 *foo3;/* [ref,switch_is(*foo1)] */
179         } in;
180
181         struct {
182                 enum echo_Enum1 *foo1;/* [ref] */
183                 struct echo_Enum2 *foo2;/* [ref] */
184                 union echo_Enum3 *foo3;/* [ref,switch_is(*foo1)] */
185         } out;
186
187 };
188
189
190 struct echo_TestSurrounding {
191         struct {
192                 struct echo_Surrounding *data;/* [ref] */
193         } in;
194
195         struct {
196                 struct echo_Surrounding *data;/* [ref] */
197         } out;
198
199 };
200
201
202 struct echo_TestDoublePointer {
203         struct {
204                 uint16_t ***data;/* [ref] */
205         } in;
206
207         struct {
208                 uint16_t result;
209         } out;
210
211 };
212
213 #endif /* _HEADER_rpcecho */