From b6dc4ba5a44a2ed2a68266598ceb28b7a7d51af2 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 31 Mar 2013 18:52:45 +0200 Subject: ape: initial IPv6 support, inet_pton()/inet_ntop(), getaddrinfo()/getnameinfo() --- sys/src/ape/lib/bsd/socket.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'sys/src/ape/lib/bsd/socket.c') 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]); -- cgit v1.2.3