-extern int os_get_sockname(int fd, struct sockaddr_in* sin_out);
-extern int os_get_peername(int fd, struct sockaddr_in* sin_out);
+extern int os_get_sockname(int fd, struct irc_sockaddr* sin_out);
+extern int os_get_peername(int fd, struct irc_sockaddr* sin_out);
+extern int os_socket(const struct irc_sockaddr* local, int type, const char* port_name, int family);
+extern int os_accept(int fd, struct irc_sockaddr* peer);
+extern IOResult os_sendto_nonb(int fd, const char* buf, unsigned int length,
+ unsigned int* length_out, unsigned int flags,
+ const struct irc_sockaddr* peer);