Index: src/OFStream.m ================================================================== --- src/OFStream.m +++ src/OFStream.m @@ -27,10 +27,14 @@ #include #ifdef HAVE_FCNTL_H # include #endif + +#ifdef OF_HAVE_SOCKETS +# import "socket_helpers.h" +#endif #include "platform.h" #if !defined(OF_WINDOWS) && !defined(OF_MORPHOS) # include @@ -1672,11 +1676,12 @@ bool readImplemented = false, writeImplemented = false; @try { int readFlags; - readFlags = fcntl([(id)self fileDescriptorForReading], F_GETFL); + readFlags = + fcntl([(id)self fileDescriptorForReading], F_GETFL, 0); readImplemented = true; if (readFlags == -1) @throw [OFSetOptionFailedException @@ -1698,11 +1703,11 @@ @try { int writeFlags; writeFlags = - fcntl([(id)self fileDescriptorForWriting], F_GETFL); + fcntl([(id)self fileDescriptorForWriting], F_GETFL, 0); writeImplemented = true; if (writeFlags == -1) @throw [OFSetOptionFailedException Index: src/OFTCPSocket.m ================================================================== --- src/OFTCPSocket.m +++ src/OFTCPSocket.m @@ -337,13 +337,15 @@ switch (result->family) { case AF_INET: address.family = OF_SOCKET_ADDRESS_FAMILY_IPV4; break; +#ifdef AF_INET6 case AF_INET6: address.family = OF_SOCKET_ADDRESS_FAMILY_IPV6; break; +#endif default: errNo = EAFNOSUPPORT; continue; } Index: src/OFUDPSocket.m ================================================================== --- src/OFUDPSocket.m +++ src/OFUDPSocket.m @@ -296,11 +296,11 @@ } - (void)setBlocking: (bool)enable { #if defined(HAVE_FCNTL) - int flags = fcntl(_socket, F_GETFL); + int flags = fcntl(_socket, F_GETFL, 0); if (flags == -1) @throw [OFSetOptionFailedException exceptionWithObject: self errNo: errno]; Index: src/socket.h ================================================================== --- src/socket.h +++ src/socket.h @@ -21,11 +21,11 @@ # error No sockets available! #endif #include -#import "platform.h" +#import "OFString.h" #ifdef OF_HAVE_SYS_SOCKET_H # include #endif #ifdef OF_HAVE_NETINET_IN_H Index: src/socket_helpers.h ================================================================== --- src/socket_helpers.h +++ src/socket_helpers.h @@ -72,12 +72,16 @@ #ifdef OF_WII # define accept(sock, addr, addrlen) net_accept(sock, addr, addrlen) # define bind(sock, addr, addrlen) net_bind(sock, addr, addrlen) # define closesocket(sock) net_close(sock) -# define connect(sock, addr, addrlen) net_connect(sock, addr, addrlen) +# define connect(sock, addr, addrlen) \ + net_connect(sock, (struct sockaddr *)addr, addrlen) +# define fcntl(fd, cmd, flags) net_fcntl(fd, cmd, flags) # define gethostbyname(name) net_gethostbyname(name) +# define getsockopt(sock, level, name, value, len) \ + net_getsockopt(sock, level, name, value, len) # define h_errno 0 # define hstrerror(err) "unknown (no hstrerror)" # define listen(sock, backlog) net_listen(sock, backlog) # define poll(fds, nfds, timeout) net_poll(fds, nfds, timeout) # define recv(sock, buf, len, flags) net_recv(sock, buf, len, flags)