From: Jes Sorensen Date: Tue, 26 Oct 2010 08:39:20 +0000 (+0200) Subject: Move osdep socket code to oslib-{posix,win32}.c X-Git-Tag: v0.14.0-rc0~513 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=9549e764bdc24b085cb1bb87400bf6ef79ae9eb1;p=qemu.git Move osdep socket code to oslib-{posix,win32}.c Signed-off-by: Jes Sorensen Signed-off-by: Blue Swirl --- diff --git a/osdep.c b/osdep.c index 581768a90..902fce94b 100644 --- a/osdep.c +++ b/osdep.c @@ -147,44 +147,6 @@ int qemu_gettimeofday(qemu_timeval *tp) #endif /* _WIN32 */ -#ifdef _WIN32 -void socket_set_nonblock(int fd) -{ - unsigned long opt = 1; - ioctlsocket(fd, FIONBIO, &opt); -} - -int inet_aton(const char *cp, struct in_addr *ia) -{ - uint32_t addr = inet_addr(cp); - if (addr == 0xffffffff) - return 0; - ia->s_addr = addr; - return 1; -} - -void qemu_set_cloexec(int fd) -{ -} - -#else - -void socket_set_nonblock(int fd) -{ - int f; - f = fcntl(fd, F_GETFL); - fcntl(fd, F_SETFL, f | O_NONBLOCK); -} - -void qemu_set_cloexec(int fd) -{ - int f; - f = fcntl(fd, F_GETFD); - fcntl(fd, F_SETFD, f | FD_CLOEXEC); -} - -#endif - /* * Opens a file with FD_CLOEXEC set */ diff --git a/oslib-posix.c b/oslib-posix.c index df973042f..aebe3ac04 100644 --- a/oslib-posix.c +++ b/oslib-posix.c @@ -29,6 +29,7 @@ #include "config-host.h" #include "sysemu.h" #include "trace.h" +#include "qemu_socket.h" #if !defined(_POSIX_C_SOURCE) || defined(__sun__) static void *oom_check(void *ptr) @@ -72,3 +73,17 @@ void qemu_vfree(void *ptr) trace_qemu_vfree(ptr); free(ptr); } + +void socket_set_nonblock(int fd) +{ + int f; + f = fcntl(fd, F_GETFL); + fcntl(fd, F_SETFL, f | O_NONBLOCK); +} + +void qemu_set_cloexec(int fd) +{ + int f; + f = fcntl(fd, F_GETFD); + fcntl(fd, F_SETFD, f | FD_CLOEXEC); +} diff --git a/oslib-win32.c b/oslib-win32.c index 3b5245d12..1ddd85794 100644 --- a/oslib-win32.c +++ b/oslib-win32.c @@ -29,6 +29,7 @@ #include "config-host.h" #include "sysemu.h" #include "trace.h" +#include "qemu_socket.h" static void *oom_check(void *ptr) { @@ -71,3 +72,23 @@ void qemu_vfree(void *ptr) trace_qemu_vfree(ptr); VirtualFree(ptr, 0, MEM_RELEASE); } + +void socket_set_nonblock(int fd) +{ + unsigned long opt = 1; + ioctlsocket(fd, FIONBIO, &opt); +} + +int inet_aton(const char *cp, struct in_addr *ia) +{ + uint32_t addr = inet_addr(cp); + if (addr == 0xffffffff) { + return 0; + } + ia->s_addr = addr; + return 1; +} + +void qemu_set_cloexec(int fd) +{ +}