+void extract_v4_addr(const struct sockaddr_storage *ss, struct in_addr *ia);
+
+/**
+ * Functions to support listening sockets.
+ */
+/** How many pending connections queue of a listening server will hold. */
+#define BACKLOG 10
+extern int para_listen(unsigned l4type, uint16_t port, struct flowopts *fo);
+
+static inline int para_listen_simple(unsigned l4type, uint16_t port)
+{
+ return para_listen(l4type, port, NULL);
+}
+
+/** Pretty-printing of IPv4/6 socket addresses */
+extern char *local_name(int sockfd);
+extern char *remote_name(int sockfd);
+
+/**
+ * Determining maximum payload (packet) size
+ */
+extern int generic_max_transport_msg_size(int sockfd);
+
+int recv_bin_buffer(int fd, char *buf, size_t size);
+int recv_buffer(int fd, char *buf, size_t size);
+
+int para_accept(int fd, fd_set *rfds, void *addr, socklen_t size, int *new_fd);
+int create_local_socket(const char *name, struct sockaddr_un *unix_addr,
+ mode_t mode);
+int connect_local_socket(const char *name);
+int recv_cred_buffer(int, char *, size_t);
+ssize_t send_cred_buffer(int, char*);
+
+/**
+ * Functions and definitions to support \p IPPROTO_DCCP
+ */
+/** Estimated worst-case length of a DCCP header including options. */
+#define DCCP_MAX_HEADER 128
+/** Hardcoded maximum number of separate CCID modules compiled into a host. */
+#define DCCP_MAX_HOST_CCIDS 20
+extern int dccp_available_ccids(uint8_t **ccid_array);