From 94b20b0017cdeeb3581d8944d29e66c3d42ec9d4 Mon Sep 17 00:00:00 2001 From: subuzero Date: Thu, 12 Mar 2020 18:39:00 +0530 Subject: [PATCH] ioctlsocket() is Windows-Only. Using ioctl() for non-Windows platform. --- BeefLibs/corlib/src/Net/Socket.bf | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/BeefLibs/corlib/src/Net/Socket.bf b/BeefLibs/corlib/src/Net/Socket.bf index aa13b2d9..9373b529 100644 --- a/BeefLibs/corlib/src/Net/Socket.bf +++ b/BeefLibs/corlib/src/Net/Socket.bf @@ -164,8 +164,13 @@ namespace System.Net [CLink, StdCall] static extern HSocket accept(HSocket s, SockAddr* addr, int32* addrLen); +#if BF_PLATFORM_WINDOWS [CLink, StdCall] static extern int32 ioctlsocket(HSocket s, int cmd, int* argp); +#else + [CLink, StdCall] + static extern int32 ioctl(HSocket s, int cmd, int* argp); +#endif [CLink, StdCall] static extern int32 select(int nfds, FDSet* readFDS, FDSet* writeFDS, FDSet* exceptFDS, TimeVal* timeVal); @@ -221,7 +226,12 @@ namespace System.Net mHandle = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); int param = 1; + +#if BF_PLATFORM_WINDOWS ioctlsocket(mHandle, FIONBIO, ¶m); +#else + ioctl(mHandle, FIONBIO, ¶m); +#endif if (mHandle == INVALID_SOCKET) { #unwarn @@ -270,7 +280,12 @@ namespace System.Net return .Err; int param = 1; + +#if BF_PLATFORM_WINDOWS ioctlsocket(mHandle, FIONBIO, ¶m); +#else + ioctl(mHandle, FIONBIO, ¶m); +#endif if (mHandle == INVALID_SOCKET) { #unwarn