Skip to content

Commit

Permalink
std.socket: replace version(BsdSockets) with version(Posix)
Browse files Browse the repository at this point in the history
  • Loading branch information
CyberShadow committed Aug 22, 2011
1 parent 1963269 commit 9b5aa12
Showing 1 changed file with 42 additions and 49 deletions.
91 changes: 42 additions & 49 deletions std/socket.d
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,6 @@ version(unittest)
private import std.c.stdio : printf;
}

version(Posix)
{
version = BsdSockets;
}

version(Win32)
{
pragma (lib, "ws2_32.lib");
Expand All @@ -72,39 +67,37 @@ version(Win32)
return WSAGetLastError();
}
}
else version(BsdSockets)
else version(Posix)
{
version(Posix)
{
version(linux)
import std.c.linux.socket : AF_IPX, AF_APPLETALK, SOCK_RDM,
IPPROTO_IGMP, IPPROTO_GGP, IPPROTO_PUP, IPPROTO_IDP,
SD_RECEIVE, SD_SEND, SD_BOTH, MSG_NOSIGNAL, INADDR_NONE;
else version(OSX)
private import std.c.osx.socket;
else version(FreeBSD)
{
import core.sys.posix.sys.socket;
import core.sys.posix.sys.select;
import std.c.freebsd.socket;
private enum SD_RECEIVE = SHUT_RD;
private enum SD_SEND = SHUT_WR;
private enum SD_BOTH = SHUT_RDWR;
}
else
static assert(false);

import core.sys.posix.netdb;
private import core.sys.posix.fcntl;
private import core.sys.posix.unistd;
private import core.sys.posix.arpa.inet;
private import core.sys.posix.netinet.tcp;
private import core.sys.posix.netinet.in_;
private import core.sys.posix.sys.time;
//private import core.sys.posix.sys.select;
private import core.sys.posix.sys.socket;
private alias core.sys.posix.sys.time.timeval _ctimeval;
version(linux)
import std.c.linux.socket : AF_IPX, AF_APPLETALK, SOCK_RDM,
IPPROTO_IGMP, IPPROTO_GGP, IPPROTO_PUP, IPPROTO_IDP,
SD_RECEIVE, SD_SEND, SD_BOTH, MSG_NOSIGNAL, INADDR_NONE;
else version(OSX)
private import std.c.osx.socket;
else version(FreeBSD)
{
import core.sys.posix.sys.socket;
import core.sys.posix.sys.select;
import std.c.freebsd.socket;
private enum SD_RECEIVE = SHUT_RD;
private enum SD_SEND = SHUT_WR;
private enum SD_BOTH = SHUT_RDWR;
}
else
static assert(false);

import core.sys.posix.netdb;
private import core.sys.posix.fcntl;
private import core.sys.posix.unistd;
private import core.sys.posix.arpa.inet;
private import core.sys.posix.netinet.tcp;
private import core.sys.posix.netinet.in_;
private import core.sys.posix.sys.time;
//private import core.sys.posix.sys.select;
private import core.sys.posix.sys.socket;
private alias core.sys.posix.sys.time.timeval _ctimeval;

private import core.stdc.errno;

typedef int32_t socket_t = -1;
Expand Down Expand Up @@ -225,7 +218,7 @@ bool wouldHaveBlocked()
{
version(Win32)
return _lasterr() == WSAEWOULDBLOCK;
else version(BsdSockets)
else version(Posix)
return _lasterr() == EAGAIN;
else
static assert(0);
Expand Down Expand Up @@ -1023,7 +1016,7 @@ private:
return set.fd_count;
}
}
else version(BsdSockets)
else version(Posix)
{
int maxfd;
uint count;
Expand All @@ -1050,7 +1043,7 @@ public:
{
FD_ZERO(&set);

version(BsdSockets)
version(Posix)
{
maxfd = -1;
count = 0;
Expand All @@ -1068,7 +1061,7 @@ public:
{
FD_SET(s, &set);

version(BsdSockets)
version(Posix)
{
++count;
if(s > maxfd)
Expand All @@ -1085,7 +1078,7 @@ public:
void remove(socket_t s)
{
FD_CLR(s, &set);
version(BsdSockets)
version(Posix)
{
--count;
// note: adjusting maxfd would require scanning the set, not worth it
Expand Down Expand Up @@ -1131,7 +1124,7 @@ public:
{
return count;
}
else version(BsdSockets)
else version(Posix)
{
return maxfd + 1;
}
Expand Down Expand Up @@ -1163,7 +1156,7 @@ extern(C) struct linger
uint16_t on; /// Nonzero for on.
uint16_t time; /// Linger time.
}
else version(BsdSockets)
else version(Posix)
{
int32_t on;
int32_t time;
Expand Down Expand Up @@ -1305,7 +1298,7 @@ public:
{
return _blocking;
}
else version(BsdSockets)
else version(Posix)
{
return !(fcntl(handle, F_GETFL, 0) & O_NONBLOCK);
}
Expand All @@ -1321,7 +1314,7 @@ public:
goto err;
_blocking = byes;
}
else version(BsdSockets)
else version(Posix)
{
int x = fcntl(sock, F_GETFL, 0);
if(-1 == x)
Expand Down Expand Up @@ -1463,7 +1456,7 @@ public:
{
.closesocket(sock);
}
else version(BsdSockets)
else version(Posix)
{
.close(sock);
}
Expand Down Expand Up @@ -1745,7 +1738,7 @@ public:
msecs += WINSOCK_TIMEOUT_SKEW;
result = dur!"msecs"(msecs);
}
else version (BsdSockets)
else version (Posix)
{
timeval tv;
getOption(level, option, (&tv)[0..1]);
Expand Down Expand Up @@ -1837,7 +1830,7 @@ public:
max(1, msecs - WINSOCK_TIMEOUT_SKEW));
}
}
else version (BsdSockets)
else version (Posix)
{
timeval tv = { seconds: cast(int)value.total!"seconds"(),
microseconds: value.fracSec.usecs };
Expand Down Expand Up @@ -2046,7 +2039,7 @@ class UdpSocket: Socket
*/
Socket[2] socketPair()
{
version(BsdSockets)
version(Posix)
{
int[2] socks;
if (socketpair(AF_UNIX, SOCK_STREAM, 0, socks) == -1)
Expand Down

0 comments on commit 9b5aa12

Please sign in to comment.