From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:37088) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TJOzv-00041c-6I for qemu-devel@nongnu.org; Wed, 03 Oct 2012 09:28:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TJOzs-0006a2-3m for qemu-devel@nongnu.org; Wed, 03 Oct 2012 09:28:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:5094) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TJOzr-0006ZU-Sy for qemu-devel@nongnu.org; Wed, 03 Oct 2012 09:28:20 -0400 From: Eduardo Habkost Date: Wed, 3 Oct 2012 10:29:00 -0300 Message-Id: <1349270954-4657-5-git-send-email-ehabkost@redhat.com> In-Reply-To: <1349270954-4657-1-git-send-email-ehabkost@redhat.com> References: <1349270954-4657-1-git-send-email-ehabkost@redhat.com> Subject: [Qemu-devel] [RFC 04/18] move I/O-related definitions from qemu-common.h to a new header (qemu-stdio.h) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Igor Mammedov , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Gleb Natapov , Paolo Bonzini This will help reduce the qemu-common.h dependency hell. Signed-off-by: Eduardo Habkost --- qemu-common.h | 57 ++-------------------------------------------- qemu-stdio.h | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 55 deletions(-) create mode 100644 qemu-stdio.h diff --git a/qemu-common.h b/qemu-common.h index 15d9e4e..ed7ee81 100644 --- a/qemu-common.h +++ b/qemu-common.h @@ -6,6 +6,8 @@ #include "compiler.h" #include "config-host.h" +#include "qemu-stdio.h" + #if defined(__arm__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__) || defined(__ia64__) #define WORDS_ALIGNED #endif @@ -48,28 +50,6 @@ typedef struct MigrationParams MigrationParams; #include "qemu-os-posix.h" #endif -#ifndef O_LARGEFILE -#define O_LARGEFILE 0 -#endif -#ifndef O_BINARY -#define O_BINARY 0 -#endif -#ifndef MAP_ANONYMOUS -#define MAP_ANONYMOUS MAP_ANON -#endif -#ifndef ENOMEDIUM -#define ENOMEDIUM ENODEV -#endif -#if !defined(ENOTSUP) -#define ENOTSUP 4096 -#endif -#if !defined(ECANCELED) -#define ECANCELED 4097 -#endif -#ifndef TIME_MAX -#define TIME_MAX LONG_MAX -#endif - /* HOST_LONG_BITS is the size of a native pointer in bits. */ #if UINTPTR_MAX == UINT32_MAX # define HOST_LONG_BITS 32 @@ -79,39 +59,6 @@ typedef struct MigrationParams MigrationParams; # error Unknown pointer size #endif -#ifndef CONFIG_IOVEC -#define CONFIG_IOVEC -struct iovec { - void *iov_base; - size_t iov_len; -}; -/* - * Use the same value as Linux for now. - */ -#define IOV_MAX 1024 -#else -#include -#endif - -typedef int (*fprintf_function)(FILE *f, const char *fmt, ...) - GCC_FMT_ATTR(2, 3); - -#ifdef _WIN32 -#define fsync _commit -#if !defined(lseek) -# define lseek _lseeki64 -#endif -int qemu_ftruncate64(int, int64_t); -#if !defined(ftruncate) -# define ftruncate qemu_ftruncate64 -#endif - -static inline char *realpath(const char *path, char *resolved_path) -{ - _fullpath(resolved_path, path, _MAX_PATH); - return resolved_path; -} -#endif /* icount */ void configure_icount(const char *option); diff --git a/qemu-stdio.h b/qemu-stdio.h new file mode 100644 index 0000000..73d9f91 --- /dev/null +++ b/qemu-stdio.h @@ -0,0 +1,73 @@ +/* Some basic definitions related to stdio.h or other I/O interfaces + */ +#ifndef QEMU_STDIO_H +#define QEMU_STDIO_H + +#include "compiler.h" +#include "config-host.h" + +#include +#include +#include +#include +#include +#include +#include + +#ifndef O_LARGEFILE +#define O_LARGEFILE 0 +#endif +#ifndef O_BINARY +#define O_BINARY 0 +#endif +#ifndef MAP_ANONYMOUS +#define MAP_ANONYMOUS MAP_ANON +#endif +#ifndef ENOMEDIUM +#define ENOMEDIUM ENODEV +#endif +#if !defined(ENOTSUP) +#define ENOTSUP 4096 +#endif +#if !defined(ECANCELED) +#define ECANCELED 4097 +#endif +#ifndef TIME_MAX +#define TIME_MAX LONG_MAX +#endif + +#ifndef CONFIG_IOVEC +#define CONFIG_IOVEC +struct iovec { + void *iov_base; + size_t iov_len; +}; +/* + * Use the same value as Linux for now. + */ +#define IOV_MAX 1024 +#else +#include +#endif + +typedef int (*fprintf_function)(FILE *f, const char *fmt, ...) + GCC_FMT_ATTR(2, 3); + +#ifdef _WIN32 +#define fsync _commit +#if !defined(lseek) +# define lseek _lseeki64 +#endif +int qemu_ftruncate64(int, int64_t); +#if !defined(ftruncate) +# define ftruncate qemu_ftruncate64 +#endif + +static inline char *realpath(const char *path, char *resolved_path) +{ + _fullpath(resolved_path, path, _MAX_PATH); + return resolved_path; +} +#endif + +#endif /* QEMU_STDIO_H */ -- 1.7.11.4