4 Copyright (C) Tim Potter 2003
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #define unistr
[string] wchar_t *
25 uuid(60a15ec5
-4de8
-11d7
-a637
-005056a20182
),
30 // Add one to an integer
35 // Echo an array of bytes back at the caller
38 [in] [size_is(len
)] char in_data
[],
39 [out] [size_is(len
)] char out_data
[]
41 // Sink data to the server
44 [in] [size_is(len
)] char in_data
[]
46 // Source data from server
49 [out] [size_is(len
)] char out_data
[]
51 const long myconstant
= 42;
59 /* test some alignment issues */
92 [case(1)] echo_info1 info1
;
93 [case(2)] echo_info2 info2
;
94 [case(3)] echo_info3 info3
;
95 [case(4)] echo_info4 info4
;
96 [case(5)] echo_info5 info5
;
97 [case(6)] echo_info6 info6
;
98 [case(7)] echo_info7 info7
;
103 [out,switch_is(level
)] echo_Info
**info
115 typedef [v1_enum] enum {
126 [case(ECHO_ENUM1
)] echo_Enum1 e1
;
127 [case(ECHO_ENUM2
)] echo_Enum2 e2
;
131 [in,out,ref] echo_Enum1
*foo1
,
132 [in,out,ref] echo_Enum2
*foo2
,
133 [in,out,ref,switch_is(*foo1
)] echo_Enum3
*foo3
138 [size_is(x
)] short surrounding
[*];
141 void echo_TestSurrounding
(
142 [in,out,ref] echo_Surrounding
*data
145 short echo_TestDoublePointer
([in] short ***data
);