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
10interface timer "Timer service" {
11    // set the one (and only) timeout value (in us) for this client
12    message set_timeout(uint64 timeout);
13
14    // add the given increment (in us) to the running timer for this client
15    message add_to_timeout(uint64 increment);
16
17    // cancel the outstanding timeout
18    message cancel_timeout();
19
20    // wakeup response when the timer is triggered
21    message wakeup();
22
23    // request for the remaining time of the currently-running timer
24    message get_remaining();
25
26    // response containing remaining time of running timer
27    message remaining(uint64 time);
28};
29