1/*
2 * Copyright (c) 2007, 2008, 2009, ETH Zurich.
3 * All rights reserved.
4 *
5 * This file is distributed under the terms in the attached LICENSE file.
6 * If you do not find this file, copies can be found by writing to:
7 * ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group.
8 *
9 * A simple interface used by usr/tests/thcrpctest
10 */
11
12interface ping_pong "Ping-Pong async example Interface" {
13        // The following messages are used in the test program
14
15    message rsrc_join_request(uint32 id);
16    message rsrc_join_reply();
17    message init();
18    message ping(uint64 val);
19    message pong(uint64 val);
20
21	message slow_op(uint64 val);
22	message slow_reply(uint64 val);
23
24    message stop();
25
26    rpc testrpc(in uint64 testin, out uint64 testout);
27    rpc testrpc2(in uint64 testin, out uint64 testout);
28
29    rpc outoforder(in uint64 seq_in,
30                   out uint64 seq_out,
31                   in uint64 testin,
32                   out uint64 testout);
33
34    // The following messages are not used in practice, but
35    // exercise the THC Flounder back-end
36
37    message str0(uint32 arg1, String s[2048]);
38    message str1(uint32 arg1, String s[2048]);
39    message str2(uint32 arg1, String s[2048]);
40    rpc str3(in uint32 arg1, in String s[2048]);
41    rpc str4(out uint32 arg1, out String s[2048]);
42    rpc str5(in uint64 seq_in,
43             out uint64 seq_out,
44             in uint32 arg1, in String s[2048]);
45    rpc str6(in uint64 seq_in,
46             out uint64 seq_out,
47             out uint32 arg1, out String s[2048]);
48
49    message arr0(uint32 arg1, char a[l, 2048]);
50    message arr1(uint32 arg1, char a[l, 2048]);
51    message arr2(uint32 arg1, char a[l, 2048]);
52};
53