-extern int connect_to(char *host, int portnum, struct client_state *csp);
-extern int write_socket(int fd, const char *buf, int n);
-extern int read_socket(int fd, char *buf, int n);
-extern void close_socket(int fd);
+struct client_state;
+
+extern jb_socket connect_to(const char *host, int portnum, struct client_state *csp);
+#ifdef AMIGA
+extern int write_socket(jb_socket fd, const char *buf, ssize_t n);
+#else
+extern int write_socket(jb_socket fd, const char *buf, size_t n);
+#endif
+extern int read_socket(jb_socket fd, char *buf, int n);
+extern int data_is_available(jb_socket fd, int seconds_to_wait);
+extern void close_socket(jb_socket fd);
+
+extern int bind_port(const char *hostnam, int portnum, jb_socket *pfd);
+extern int accept_connection(struct client_state * csp, jb_socket fds[]);
+extern void get_host_information(jb_socket afd, char **ip_address, char **port, char **hostname);