From patchwork Fri Nov 9 14:56:34 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eduardo Habkost X-Patchwork-Id: 198123 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 8EB232C0269 for ; Sat, 10 Nov 2012 03:24:48 +1100 (EST) Received: from localhost ([::1]:37207 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TWq1a-0001Nn-IZ for incoming@patchwork.ozlabs.org; Fri, 09 Nov 2012 09:57:38 -0500 Received: from eggs.gnu.org ([208.118.235.92]:55956) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TWq07-00077p-63 for qemu-devel@nongnu.org; Fri, 09 Nov 2012 09:56:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TWpzt-0005WD-QD for qemu-devel@nongnu.org; Fri, 09 Nov 2012 09:56:07 -0500 Received: from mx1.redhat.com ([209.132.183.28]:26398) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TWpzt-0005VU-Hv for qemu-devel@nongnu.org; Fri, 09 Nov 2012 09:55:53 -0500 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id qA9Eth5S008460 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 9 Nov 2012 09:55:43 -0500 Received: from blackpad.lan.raisama.net (vpn1-4-237.gru2.redhat.com [10.97.4.237]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id qA9EtfIu018612; Fri, 9 Nov 2012 09:55:42 -0500 Received: by blackpad.lan.raisama.net (Postfix, from userid 500) id ACBBB20341C; Fri, 9 Nov 2012 12:56:55 -0200 (BRST) From: Eduardo Habkost To: qemu-devel@nongnu.org Date: Fri, 9 Nov 2012 12:56:34 -0200 Message-Id: <1352473012-20500-7-git-send-email-ehabkost@redhat.com> In-Reply-To: <1352473012-20500-1-git-send-email-ehabkost@redhat.com> References: <1352473012-20500-1-git-send-email-ehabkost@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 Cc: peter.maydell@linaro.org, riku.voipio@iki.fi, blauwirbel@gmail.com, Anthony Liguori , Igor Mammedov , =?UTF-8?q?Andreas=20F=C3=A4rber?= Subject: [Qemu-devel] [PATCH 06/24] move I/O-related definitions from qemu-common.h to a new header (qemu-stdio.h) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org This will help reduce the qemu-common.h dependency hell. Signed-off-by: Eduardo Habkost --- Changes v1 -> v2: - move qemu_open() & qemu_close() to qemu-stdio.h, too --- qemu-common.h | 59 ++-------------------------------------------- qemu-stdio.h | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 57 deletions(-) create mode 100644 qemu-stdio.h diff --git a/qemu-common.h b/qemu-common.h index 6441bee..5080382 100644 --- a/qemu-common.h +++ b/qemu-common.h @@ -15,6 +15,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 @@ -58,28 +60,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 @@ -89,39 +69,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); @@ -217,8 +164,6 @@ const char *path(const char *pathname); void *qemu_oom_check(void *ptr); -int qemu_open(const char *name, int flags, ...); -int qemu_close(int fd); ssize_t qemu_write_full(int fd, const void *buf, size_t count) QEMU_WARN_UNUSED_RESULT; ssize_t qemu_send_full(int fd, const void *buf, size_t count, int flags) diff --git a/qemu-stdio.h b/qemu-stdio.h new file mode 100644 index 0000000..b2e8eda --- /dev/null +++ b/qemu-stdio.h @@ -0,0 +1,76 @@ +/* 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 + +int qemu_open(const char *name, int flags, ...); +int qemu_close(int fd); + +#endif /* QEMU_STDIO_H */