1/*
2 * Copyright (c) 2017 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_sockets "Interface for network sockets" {
11    rpc register_queue(in uint64 queue_id);
12
13    rpc new_udp_socket(out uint32 descriptor);
14    rpc new_tcp_socket(out uint32 descriptor);
15
16    rpc bind(in uint32 descriptor, in uint32 host_address, in uint16 port, out errval error, out uint16 bound_port);
17    rpc listen(in uint32 descriptor, in uint8 backlog, out errval error);
18
19    rpc connect(in uint32 descriptor, in uint32 host_address, in uint16 port, out errval error);
20    message connected(uint32 descriptor, errval error, uint32 connected_address, uint16 connected_port);
21};
22