blob: f85e08b3be2c771fb7cc3e2d6ba6a61cb99489a9 [file] [log] [blame]
/*
* Copyright 2019, Data61, CSIRO (ABN 41 687 119 230)
*
* SPDX-License-Identifier: GPL-2.0-only
*/
procedure PicoControl {
include "picoserver_peer.h";
include "picoserver_event.h";
/* Only support IPv4 and UDP/TCP at the moment */
int open(in bool is_udp);
/*
* For bind and connect, the addresses will be expected in network order (1.2.3.4 -> 0x04030201),
* ports in non-network order (port 9000 -> (uint16_t) 9000)
*/
int bind(in int socket_fd, in uint32_t local_addr, in uint16_t port);
int connect(in int socket_fd, in uint32_t server_addr, in uint16_t port);
int listen(in int socket_fd, in int backlog);
picoserver_peer_t accept(in int socket_fd);
int shutdown(in int socket_fd, in int mode);
int close(in int socket_fd);
picoserver_event_t event_poll(void);
int get_ipv4(out uint32_t ipaddr);
int set_async(in int socket_fd, in bool enabled);
};