X-Git-Url: http://git.maemo.org/git/?p=qemu;a=blobdiff_plain;f=qemu-common.h;h=fdc367997dce8e7ff23ed6dcfea06846159e6a20;hp=d83e61be3514088eef498ebfd3b4b43262674b35;hb=HEAD;hpb=7d957bd8cbcbf56f7916d375e65042d767f544b5 diff --git a/qemu-common.h b/qemu-common.h index d83e61b..fdc3679 100644 --- a/qemu-common.h +++ b/qemu-common.h @@ -2,15 +2,9 @@ #ifndef QEMU_COMMON_H #define QEMU_COMMON_H -#ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN -#define WINVER 0x0501 /* needed for ipv6 bits */ -#include -#endif - -#define noreturn __attribute__ ((__noreturn__)) +#define QEMU_NORETURN __attribute__ ((__noreturn__)) -/* Hack around the mess dyngen-exec.h causes: We need noreturn in files that +/* Hack around the mess dyngen-exec.h causes: We need QEMU_NORETURN in files that cannot include the following headers without conflicts. This condition has to be removed once dyngen is gone. */ #ifndef __DYNGEN_EXEC_H__ @@ -29,6 +23,7 @@ #include #include #include +#include #include "config-host.h" #ifndef O_LARGEFILE @@ -144,7 +139,7 @@ void *get_mmap_addr(unsigned long size); /* Error handling. */ -void noreturn hw_error(const char *fmt, ...) +void QEMU_NORETURN hw_error(const char *fmt, ...) __attribute__ ((__format__ (__printf__, 1, 2))); /* IO callbacks. */ @@ -168,6 +163,7 @@ typedef struct BlockDriverState BlockDriverState; typedef struct DisplayState DisplayState; typedef struct DisplayChangeListener DisplayChangeListener; typedef struct DisplaySurface DisplaySurface; +typedef struct DisplayAllocator DisplayAllocator; typedef struct PixelFormat PixelFormat; typedef struct TextConsole TextConsole; typedef TextConsole QEMUConsole; @@ -182,7 +178,12 @@ typedef struct PCIBus PCIBus; typedef struct PCIDevice PCIDevice; typedef struct SerialState SerialState; typedef struct IRQState *qemu_irq; -struct pcmcia_card_s; +typedef struct PCMCIACardState PCMCIACardState; +typedef struct MouseTransformInfo MouseTransformInfo; +typedef struct uWireSlave uWireSlave; +typedef struct I2SCodec I2SCodec; +typedef struct DeviceState DeviceState; +typedef struct SSIBus SSIBus; /* CPU save/load. */ void cpu_save(QEMUFile *f, void *opaque); @@ -191,6 +192,39 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id); /* Force QEMU to stop what it's doing and service IO */ void qemu_service_io(void); +/* Force QEMU to process pending events */ +void qemu_notify_event(void); + +/* Unblock cpu */ +void qemu_cpu_kick(void *env); +int qemu_cpu_self(void *env); + +#ifdef CONFIG_USER_ONLY +#define qemu_init_vcpu(env) do { } while (0) +#else +void qemu_init_vcpu(void *env); +#endif + +typedef struct QEMUIOVector { + struct iovec *iov; + int niov; + int nalloc; + size_t size; +} QEMUIOVector; + +void qemu_iovec_init(QEMUIOVector *qiov, int alloc_hint); +void qemu_iovec_init_external(QEMUIOVector *qiov, struct iovec *iov, int niov); +void qemu_iovec_add(QEMUIOVector *qiov, void *base, size_t len); +void qemu_iovec_destroy(QEMUIOVector *qiov); +void qemu_iovec_reset(QEMUIOVector *qiov); +void qemu_iovec_to_buffer(QEMUIOVector *qiov, void *buf); +void qemu_iovec_from_buffer(QEMUIOVector *qiov, const void *buf, size_t count); + +struct Monitor; +typedef struct Monitor Monitor; + +#include "module.h" + #endif /* dyngen-exec.h hack */ #endif