@@ -83,10 +83,23 @@ #endif #ifdef _WIN32 # define close(sock) closesocket(sock) #endif + +#ifdef __wii__ +# define accept(sock, addr, addrlen) net_accept(sock, addr, addrlen) +# define bind(sock, addr, addrlen) net_bind(sock, addr, addrlen) +# define close(sock) net_close(sock) +# define connect(sock, addr, addrlen) net_connect(sock, addr, addrlen) +# define gethostbyname(name) net_gethostbyname(name) +# define getsockname(sock, addr, addrlen) net_getsockname(sock, addr, addrlen) +# define listen(sock, backlog) net_listen(sock, backlog) +# define setsockopt(sock, level, name, value, len) \ + net_setsockopt(sock, level, name, value, len) +# define socket(domain, type, proto) net_socket(domain, type, proto) +#endif /* References for static linking */ void _references_to_categories_of_OFTCPSocket(void) { _OFTCPSocket_SOCKS5_reference = 1; @@ -489,11 +502,13 @@ { const int one = 1; union { struct sockaddr_storage storage; struct sockaddr_in in; +#ifdef AF_INET6 struct sockaddr_in6 in6; +#endif } addr; socklen_t addrLen; if (_socket != INVALID_SOCKET) @throw [OFAlreadyConnectedException @@ -618,12 +633,14 @@ port: port]; } if (addr.storage.ss_family == AF_INET) return OF_BSWAP16_IF_LE(addr.in.sin_port); +#ifdef AF_INET6 if (addr.storage.ss_family == AF_INET6) return OF_BSWAP16_IF_LE(addr.in6.sin6_port); +#endif close(_socket); _socket = INVALID_SOCKET; @throw [OFBindFailedException exceptionWithClass: [self class] socket: self