X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibpsocket.so_src%2Fsocket.c;h=613e82b7440bd0d89607f9913ce3f9e857398725;hb=12040654ff2053cc97de492180b582027b6de60b;hp=913f72f733a35fcfa48f23710046effb1900b955;hpb=0dfc38f0ca6b391b15154e3173b5c9504df17f84;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libpsocket.so_src/socket.c b/Usermode/Libraries/libpsocket.so_src/socket.c index 913f72f7..613e82b7 100644 --- a/Usermode/Libraries/libpsocket.so_src/socket.c +++ b/Usermode/Libraries/libpsocket.so_src/socket.c @@ -6,10 +6,11 @@ * - sys/socket.h calls */ #include -#include +#include #include // malloc/free #include #include +#include "common.h" #define MAXFD 32 @@ -55,7 +56,7 @@ int socket(int domain, int type, int protocol) si = _GetInfo(0); if( !si ) return -1; - int fd = open("/Devices/null", O_RDWR); + int fd = _SysOpen("/Devices/null", OPENFLAG_RDWR); if( fd == -1 ) return -1; giNumPreinit ++; @@ -167,7 +168,7 @@ void _CommitServer(int sockfd) else path = mkstr("/Devices/ip/*%i/%s", si->local->sa_family, file); - reopen(si->fd, path, O_RDWR); + _SysReopen(si->fd, path, OPENFLAG_RDWR); // TODO: Error-check free(path); @@ -191,10 +192,11 @@ int accept(int sockfd, struct sockaddr *clientaddr, socklen_t addrlen) int child; - child = _SysOpenChild(sockfd, "", O_RDWR); + child = _SysOpenChild(sockfd, "", OPENFLAG_RDWR); if( child == -1 ) return -1; - ioctl(child, 8, clientaddr); + _SysIOCtl(child, 8, clientaddr); + return child; } @@ -203,25 +205,25 @@ int recvfrom(int sockfd, void *buffer, size_t length, int flags, struct sockaddr { _CommitClient(sockfd); // TODO: Determine socket type (TCP/UDP) and use a bounce-buffer for UDP - return read(sockfd, buffer, length); + return _SysRead(sockfd, buffer, length); } int recv(int sockfd, void *buffer, size_t length, int flags) { _CommitClient(sockfd); - return read(sockfd, buffer, length); + return _SysRead(sockfd, buffer, length); } int sendto(int sockfd, const void *buffer, size_t length, int flags, const struct sockaddr *clientaddr, socklen_t addrlen) { _CommitClient(sockfd); // TODO: Determine socket type (TCP/UDP) and use a bounce-buffer for UDP - return write(sockfd, buffer, length); + return _SysWrite(sockfd, buffer, length); } int send(int sockfd, void *buffer, size_t length, int flags) { _CommitClient(sockfd); - return write(sockfd, buffer, length); + return _SysWrite(sockfd, buffer, length); }