1/*
2 * Copyright (c) 2007-12 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, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
8 */
9
10interface net_queue_manager "Ethernet hardware RX/TX queue manager" {
11    /* antoinek: I think most of the queue id arguments are not needed here */
12
13    rpc register_buffer(in cap buf,
14                         in cap sp,
15                         in uint64 queueid,
16                         in uint64 slots,
17                         in uint8 role,
18                         in cap queue,
19                         out uint64 idx);
20    rpc get_mac_address(in uint64 queueid, out uint64 hwaddr);
21
22    message sp_notification_from_app(uint64 queueid, uint64 type,
23                         uint64 ts);
24    message sp_notification_from_driver(uint64 queueid, uint64 type,
25                         uint64 ts);
26
27    message raw_add_buffer(uint64 offset, uint64 length, uint64 more,
28                        uint64 flags);
29    message raw_xmit_done(uint64 offset, uint64 length, uint64 more,
30                           uint64 flags);
31
32    message print_statistics(uint64 queueid);
33    message print_cardinfo();
34    message benchmark_control_request(uint64 queueid, uint8 state,
35                            uint64 trigger, uint64 cl);
36    message benchmark_control_response(uint64 queueid, uint8 state,
37                            uint64 delta, uint64 cl);
38
39    message terminate_queue();
40};
41
42