diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-03-31 18:52:45 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-03-31 18:52:45 +0200 |
commit | b6dc4ba5a44a2ed2a68266598ceb28b7a7d51af2 (patch) | |
tree | b2af773db48a3606bd078055db925dbba6d4ffaa /sys/src/ape/lib/bsd/socket.c | |
parent | 9c7e1db701e0e80b42bb5990e2f6839d712bb984 (diff) |
ape: initial IPv6 support, inet_pton()/inet_ntop(), getaddrinfo()/getnameinfo()
Diffstat (limited to 'sys/src/ape/lib/bsd/socket.c')
-rw-r--r-- | sys/src/ape/lib/bsd/socket.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/src/ape/lib/bsd/socket.c b/sys/src/ape/lib/bsd/socket.c index d14b35386..3cf8c6632 100644 --- a/sys/src/ape/lib/bsd/socket.c +++ b/sys/src/ape/lib/bsd/socket.c @@ -125,6 +125,7 @@ socket(int domain, int stype, int protocol) switch(domain){ case PF_INET: + case PF_INET6: /* get a free network directory */ switch(stype){ case SOCK_DGRAM: @@ -135,20 +136,20 @@ socket(int domain, int stype, int protocol) net = "tcp"; cfd = open("/net/tcp/clone", O_RDWR); break; + case SOCK_RDM: + net = "il"; + cfd = open("/net/il/clone", O_RDWR); + break; default: errno = EPROTONOSUPPORT; return -1; } - if(cfd < 0){ - _syserrno(); + if(cfd < 0) return -1; - } return _sock_data(cfd, net, domain, stype, protocol, 0); case PF_UNIX: - if(pipe(pfd) < 0){ - _syserrno(); + if(pipe(pfd) < 0) return -1; - } r = _sock_newrock(pfd[0]); if(r == 0){ close(pfd[0]); |