1/*
2 * Copyright (c) 2007-2011, 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
10/*
11 * This interface is used for the devif interface for communication between
12 * domains
13 */
14interface descq "Devif communication queue" {
15    // create and destroy a queue
16    rpc create_queue(in uint32 slots, in cap rx, in cap tx, 
17                     out errval err, out uint64 queue_id);
18    rpc destroy_queue(out errval err);
19
20    // add a memory region to the buffer table
21    rpc register_region(in cap cap, in uint32 rid, out errval err);
22    rpc deregister_region(in uint32 rid, out errval err);
23
24    rpc control(in uint64 cmd, in uint64 value, out uint64 result, out errval err);
25
26    message enqueue_buffer(uint32 region_id, uint64 offset, uint64 length,
27        uint64 valid_data, uint64 valid_length, uint64 flags, uint64 seq);
28
29    message enqueued();
30    message notify();
31};
32