From: Igor Mammedov <imammedo@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: peter.maydell@linaro.org, riku.voipio@iki.fi,
qemu-devel@nongnu.org, blauwirbel@gmail.com,
"Anthony Liguori" <anthony@codemonkey.ws>,
"Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [PATCH 06/24] move I/O-related definitions from qemu-common.h to a new header (qemu-stdio.h)
Date: Tue, 13 Nov 2012 16:30:17 +0100 [thread overview]
Message-ID: <20121113163017.4ab591cf@nial.usersys.redhat.com> (raw)
In-Reply-To: <1352473012-20500-7-git-send-email-ehabkost@redhat.com>
On Fri, 9 Nov 2012 12:56:34 -0200
Eduardo Habkost <ehabkost@redhat.com> wrote:
> This will help reduce the qemu-common.h dependency hell.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> --
> 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 <sys/uio.h>
> -#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 <stdlib.h>
> +#include <stdio.h>
> +#include <fcntl.h>
> +#include <sys/types.h>
> +#include <sys/stat.h>
> +#include <sys/time.h>
> +#include <sys/mman.h>
> +
> +#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 <sys/uio.h>
> +#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 */
next prev parent reply other threads:[~2012-11-13 16:12 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-09 14:56 [Qemu-devel] [PATCH 00/24] CPU DeviceState v7 Eduardo Habkost
2012-11-09 14:56 ` [Qemu-devel] [PATCH 01/24] user: move *-user/qemu-types.h to main directory Eduardo Habkost
2012-11-12 21:38 ` Andreas Färber
2012-11-17 16:02 ` Blue Swirl
2012-11-09 14:56 ` [Qemu-devel] [PATCH 02/24] user: rename qemu-types.h to qemu-user-types.h Eduardo Habkost
2012-11-12 21:44 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 03/24] qemu-common.h: comment about usage rules Eduardo Habkost
2012-11-12 21:57 ` Andreas Färber
2012-11-12 22:04 ` Eduardo Habkost
2012-11-09 14:56 ` [Qemu-devel] [PATCH 04/24] move qemu_irq typedef out of cpu-common.h Eduardo Habkost
2012-11-14 0:03 ` Andreas Färber
2012-11-14 12:30 ` Eduardo Habkost
2012-11-09 14:56 ` [Qemu-devel] [PATCH 05/24] qdev: split up header so it can be used in cpu.h Eduardo Habkost
2012-11-14 13:51 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 06/24] move I/O-related definitions from qemu-common.h to a new header (qemu-stdio.h) Eduardo Habkost
2012-11-13 15:30 ` Igor Mammedov [this message]
2012-11-13 15:52 ` Eduardo Habkost
2012-11-13 16:43 ` Igor Mammedov
2012-11-13 16:50 ` Eduardo Habkost
2012-11-09 14:56 ` [Qemu-devel] [PATCH 07/24] qemu-fsdev-dummy.c: include module.h Eduardo Habkost
2012-11-14 14:03 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 08/24] vnc-palette.h: include <stdbool.h> Eduardo Habkost
2012-11-14 14:35 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 09/24] ui/vnc-pallete.c: include headers it needs Eduardo Habkost
2012-11-09 16:46 ` Peter Maydell
2012-11-14 14:37 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 10/24] qemu-config.h: " Eduardo Habkost
2012-11-14 14:43 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 11/24] qapi/qmp-registry.c: " Eduardo Habkost
2012-11-14 15:47 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 12/24] qga/channel-posix.c: " Eduardo Habkost
2012-11-14 16:14 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 13/24] create qemu-types.h for struct typedefs Eduardo Habkost
2012-11-14 21:52 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 14/24] sysemu.h: include qemu-types.h instead of qemu-common.h Eduardo Habkost
2012-11-14 21:56 ` Andreas Färber
2012-11-14 22:19 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 15/24] qlist.h: do not include qemu-common.h Eduardo Habkost
2012-11-14 22:42 ` Andreas Färber
2012-11-15 1:19 ` [Qemu-devel] [PATCH v2] qga/channel-posix.c: include headers it needs Igor Mammedov
2012-11-15 18:34 ` Eduardo Habkost
2012-11-09 14:56 ` [Qemu-devel] [PATCH 16/24] qapi-types.h: don't include qemu-common.h Eduardo Habkost
2012-11-14 22:13 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 17/24] qdev-properties.c: add copyright/license information Eduardo Habkost
2012-11-09 14:56 ` [Qemu-devel] [PATCH 18/24] qdev: qdev_create(): use error_report() instead of hw_error() Eduardo Habkost
2012-12-04 16:16 ` Andreas Färber
2012-11-09 14:56 ` [Qemu-devel] [PATCH 19/24] qdev: move reset handler list from vl.c to qdev.c Eduardo Habkost
2012-11-15 1:54 ` Andreas Färber
2012-11-15 18:42 ` Eduardo Habkost
2012-11-15 18:45 ` Peter Maydell
2012-11-30 16:56 ` Igor Mammedov
2012-11-30 21:38 ` Eduardo Habkost
2012-12-01 11:26 ` Peter Maydell
2012-12-02 5:44 ` Andreas Färber
2012-12-02 13:37 ` Peter Maydell
2012-11-09 14:56 ` [Qemu-devel] [PATCH 20/24] qdev: add weak aliases for vmstate handling on qdev.c Eduardo Habkost
2012-11-09 14:56 ` [Qemu-devel] [PATCH 21/24] qdev: add weak alias to sysbus_get_default() " Eduardo Habkost
2012-11-09 14:56 ` [Qemu-devel] [PATCH 22/24] qdev-properties.c: separate core from the code used only by qemu-system-* Eduardo Habkost
2012-11-14 17:02 ` [Qemu-devel] [PATCH v5 " Eduardo Habkost
2012-11-09 14:56 ` [Qemu-devel] [PATCH 23/24] include qdev code into *-user, too Eduardo Habkost
2012-11-09 14:56 ` [Qemu-devel] [PATCH 24/24] qom: make CPU a child of DeviceState Eduardo Habkost
-- strict thread matches above, loose matches on Subject: below --
2012-11-09 13:08 [Qemu-devel] [PATCH 00/24] CPU DeviceState v6 Eduardo Habkost
2012-11-09 13:08 ` [Qemu-devel] [PATCH 06/24] move I/O-related definitions from qemu-common.h to a new header (qemu-stdio.h) Eduardo Habkost
2012-10-24 3:01 [Qemu-devel] [PATCH v5 00/24] CPU DeviceState, 5th try Eduardo Habkost
2012-10-24 3:01 ` [Qemu-devel] [PATCH 06/24] move I/O-related definitions from qemu-common.h to a new header (qemu-stdio.h) Eduardo Habkost
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121113163017.4ab591cf@nial.usersys.redhat.com \
--to=imammedo@redhat.com \
--cc=afaerber@suse.de \
--cc=anthony@codemonkey.ws \
--cc=blauwirbel@gmail.com \
--cc=ehabkost@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=riku.voipio@iki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).