--- qemu/qemu-common.h 2018/04/24 16:50:36 1.1.1.2 +++ qemu/qemu-common.h 2018/04/24 17:20:43 1.1.1.3 @@ -2,12 +2,6 @@ #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 QEMU_NORETURN __attribute__ ((__noreturn__)) /* Hack around the mess dyngen-exec.h causes: We need QEMU_NORETURN in files that @@ -29,6 +23,7 @@ #include #include #include +#include #include "config-host.h" #ifndef O_LARGEFILE @@ -113,6 +108,7 @@ void pstrcpy(char *buf, int buf_size, co char *pstrcat(char *buf, int buf_size, const char *s); int strstart(const char *str, const char *val, const char **ptr); int stristart(const char *str, const char *val, const char **ptr); +int qemu_strnlen(const char *s, int max_len); time_t mktimegm(struct tm *tm); int qemu_fls(int i); @@ -168,6 +164,7 @@ typedef struct BlockDriverState BlockDri 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 +179,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 +193,19 @@ int cpu_load(QEMUFile *f, void *opaque, /* 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; @@ -199,12 +214,18 @@ typedef struct QEMUIOVector { } 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