[Libsysio-commit] b_lustre: libsysio/drivers/sockets sockets.c
Brought to you by:
lward
From: Mei <me...@us...> - 2003-12-04 04:36:28
|
Update of /cvsroot/libsysio/libsysio/drivers/sockets In directory sc8-pr-cvs1:/tmp/cvs-serv17784/drivers/sockets Modified Files: Tag: b_lustre sockets.c Log Message: Zach's fix for build on x86_64: there's no socketcall on x86_64. Index: sockets.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/drivers/sockets/Attic/sockets.c,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -u -w -b -B -p -r1.1.2.3 -r1.1.2.4 --- sockets.c 1 Nov 2003 03:38:27 -0000 1.1.2.3 +++ sockets.c 4 Dec 2003 04:36:24 -0000 1.1.2.4 @@ -323,7 +323,6 @@ socket(int domain, int type, int protoco int err; struct inode *ino; struct socket_info *ski; - unsigned long avec[3]; struct file *fil; err = 0; @@ -335,11 +334,15 @@ socket(int domain, int type, int protoco goto error; } - avec[0] = domain; - avec[1] = type; - avec[2] = protocol; ski = I2SKI(ino); +#ifndef SYS_socketcall + ski->ski_fd = syscall(SYS_socket, domain, type, protocol); +#else + { + unsigned long avec[3] = {domain, type, protocol}; ski->ski_fd = syscall(SYS_socketcall, SYS_SOCKET, avec); + } +#endif if (ski->ski_fd < 0) { err = -errno; goto error; @@ -374,7 +377,6 @@ accept(int s, struct sockaddr *addr, soc struct inode *ino; struct socket_info *ski; struct file *ofil, *nfil; - unsigned long avec[3]; err = 0; nfil = NULL; @@ -398,11 +400,17 @@ accept(int s, struct sockaddr *addr, soc goto error; } - avec[0] = I2SKI(ofil->f_ino)->ski_fd; - avec[1] = (unsigned long )addr; - avec[2] = (unsigned long )addrlen; ski = I2SKI(ino); +#ifndef SYS_socketcall + ski->ski_fd = syscall(SYS_accept, I2SKI(ofil->f_ino)->ski_fd, + addr, addrlen); +#else + { + unsigned long avec[3] = {I2SKI(ofil->f_ino)->ski_fd, addr, + addrlen}; ski->ski_fd = syscall(SYS_socketcall, SYS_ACCEPT, avec); + } +#endif if (ski->ski_fd < 0) { err = -errno; goto error; @@ -444,7 +452,11 @@ bind(int sockfd, const struct sockaddr * avec[0] = I2SKI(fil->f_ino)->ski_fd; avec[1] = (unsigned long )my_addr; avec[2] = addrlen; +#ifndef SYS_socketcall + if (syscall(SYS_bind, I2SKI(fil->f_ino)->ski_fd, my_addr, addrlen)) { +#else if (syscall(SYS_socketcall, SYS_BIND, avec) != 0) { +#endif err = -errno; goto out; } @@ -472,7 +484,11 @@ listen(int s, int backlog) avec[0] = I2SKI(fil->f_ino)->ski_fd; avec[1] = backlog; +#ifndef SYS_socketcall + if (syscall(SYS_listen, I2SKI(fil->f_ino)->ski_fd, backlog) != 0) { +#else if (syscall(SYS_socketcall, SYS_LISTEN, avec) != 0) { +#endif err = -errno; goto out; } @@ -501,7 +517,11 @@ connect(int sockfd, const struct sockadd avec[0] = I2SKI(fil->f_ino)->ski_fd; avec[1] = (unsigned long )serv_addr; avec[2] = addrlen; +#ifndef SYS_socketcall + if (syscall(SYS_connect, I2SKI(fil->f_ino)->ski_fd, serv_addr, addrlen) != 0) { +#else if (syscall(SYS_socketcall, SYS_CONNECT, avec) != 0) { +#endif err = -errno; goto out; } |