[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;
}
|