From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:36686) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TYJ6I-0001oC-GP for qemu-devel@nongnu.org; Tue, 13 Nov 2012 11:12:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TYJ6F-0004ru-As for qemu-devel@nongnu.org; Tue, 13 Nov 2012 11:12:34 -0500 Received: from mx1.redhat.com ([209.132.183.28]:37418) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TYJ6F-0004rh-2e for qemu-devel@nongnu.org; Tue, 13 Nov 2012 11:12:31 -0500 Date: Tue, 13 Nov 2012 16:30:17 +0100 From: Igor Mammedov Message-ID: <20121113163017.4ab591cf@nial.usersys.redhat.com> In-Reply-To: <1352473012-20500-7-git-send-email-ehabkost@redhat.com> References: <1352473012-20500-1-git-send-email-ehabkost@redhat.com> <1352473012-20500-7-git-send-email-ehabkost@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 06/24] 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: Eduardo Habkost Cc: peter.maydell@linaro.org, riku.voipio@iki.fi, qemu-devel@nongnu.org, blauwirbel@gmail.com, Anthony Liguori , Andreas =?ISO-8859-1?B?RuRyYmVy?= On Fri, 9 Nov 2012 12:56:34 -0200 Eduardo Habkost wrote: > 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); Is there any particular reason to move fprintf_function from qemu-common.h? > - > -#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) 2 above funcs could be moved along with qemu_open() to osdep.h > 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); qemu_open() and qemu_close() are defined in osdep.c so perhaps it would be better to move their declaration to osdep.h. The rest looks like it fits a purpose of osdep.h as well, so probably it could be moved there and we could avoid creating a new header. > + > +#endif /* QEMU_STDIO_H */