#define UTCP_TCP 3
#define UTCP_UDP 0
+#define UTCP_CHANGEABLE_FLAGS 0x18U
typedef bool (*utcp_listen_t)(struct utcp *utcp, uint16_t port);
typedef void (*utcp_accept_t)(struct utcp_connection *utcp_connection, uint16_t port);
void utcp_set_poll_cb(struct utcp_connection *connection, utcp_poll_t poll);
void utcp_set_accept_cb(struct utcp *utcp, utcp_accept_t accept, utcp_listen_t listen);
bool utcp_is_active(struct utcp *utcp);
-void utcp_abort_all_connections(struct utcp *utcp);
+void utcp_reset_all_connections(struct utcp *utcp);
// Global socket options
// Per-socket options
size_t utcp_get_sndbuf(struct utcp_connection *connection);
-void utcp_set_sndbuf(struct utcp_connection *connection, size_t size);
+void utcp_set_sndbuf(struct utcp_connection *connection, void *buf, size_t size);
size_t utcp_get_sndbuf_free(struct utcp_connection *connection);
size_t utcp_get_rcvbuf(struct utcp_connection *connection);
-void utcp_set_rcvbuf(struct utcp_connection *connection, size_t size);
+void utcp_set_rcvbuf(struct utcp_connection *connection, void *buf, size_t size);
size_t utcp_get_rcvbuf_free(struct utcp_connection *connection);
size_t utcp_get_sendq(struct utcp_connection *connection);
void utcp_expect_data(struct utcp_connection *connection, bool expect);
+void utcp_set_flags(struct utcp_connection *connection, uint32_t flags);
+
// Completely global options
void utcp_set_clock_granularity(long granularity);