diff --git a/programs/develop/ktcc/trunk/bin/lib/libck.a b/programs/develop/ktcc/trunk/bin/lib/libck.a index bd72aeb30e..15bd4554f8 100644 Binary files a/programs/develop/ktcc/trunk/bin/lib/libck.a and b/programs/develop/ktcc/trunk/bin/lib/libck.a differ diff --git a/programs/develop/ktcc/trunk/libc/include/net/socket.h b/programs/develop/ktcc/trunk/libc/include/net/socket.h index b250171449..114a5fae7a 100644 --- a/programs/develop/ktcc/trunk/libc/include/net/socket.h +++ b/programs/develop/ktcc/trunk/libc/include/net/socket.h @@ -102,6 +102,6 @@ int send(int socket, const void *message, size_t msg_len, int flag); int recv(int socket, void *buffer, size_t buff_len, int flag); int setsockopt(int socket,const optstruct* opt); int getsockopt(int socket, optstruct* opt); -int socketpair(); +int socketpair(int *sock1, int *sock2); #endif diff --git a/programs/develop/ktcc/trunk/libc/net/socket.c b/programs/develop/ktcc/trunk/libc/net/socket.c index f2c177da27..ce5720a77c 100644 --- a/programs/develop/ktcc/trunk/libc/net/socket.c +++ b/programs/develop/ktcc/trunk/libc/net/socket.c @@ -91,11 +91,13 @@ int getsockopt(int socket, optstruct* opt) ); } -int socketpair() +int socketpair(int *sock1, int *sock2) { asm volatile( "int $0x40" - :"=b"(err_code) + :"=b"(*sock2), "=a"(*sock1) :"a"(75), "b"(10) - ); + ); + err_code = *sock2; + return *sock1; }