Create qemu-types.h for struct typedefs
Instead of keeping all those struct typedefs in qemu-common.h, move it to a header that can be safely included by other headers, containing only the struct typedefs and not pulling in other dependencies. Also, move some of the qdev-core.h typedefs to the new file, too, so other headers don't need to include qdev-core.h only because of DeviceState and other typedefs. This will help us remove qemu-common.h dependencies from some headers later. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
cad3215966
commit
394e1bb795
|
@ -3,20 +3,11 @@
|
||||||
|
|
||||||
#include "qemu-queue.h"
|
#include "qemu-queue.h"
|
||||||
#include "qemu-option.h"
|
#include "qemu-option.h"
|
||||||
|
#include "qemu-types.h"
|
||||||
#include "qemu/object.h"
|
#include "qemu/object.h"
|
||||||
#include "hw/irq.h"
|
#include "hw/irq.h"
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
|
|
||||||
typedef struct Property Property;
|
|
||||||
|
|
||||||
typedef struct PropertyInfo PropertyInfo;
|
|
||||||
|
|
||||||
typedef struct CompatProperty CompatProperty;
|
|
||||||
|
|
||||||
typedef struct BusState BusState;
|
|
||||||
|
|
||||||
typedef struct BusClass BusClass;
|
|
||||||
|
|
||||||
enum DevState {
|
enum DevState {
|
||||||
DEV_STATE_CREATED = 1,
|
DEV_STATE_CREATED = 1,
|
||||||
DEV_STATE_INITIALIZED,
|
DEV_STATE_INITIALIZED,
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
#include "compiler.h"
|
#include "compiler.h"
|
||||||
#include "config-host.h"
|
#include "config-host.h"
|
||||||
|
#include "qemu-types.h"
|
||||||
|
|
||||||
#if defined(__arm__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__) || defined(__ia64__)
|
#if defined(__arm__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__) || defined(__ia64__)
|
||||||
#define WORDS_ALIGNED
|
#define WORDS_ALIGNED
|
||||||
|
@ -21,15 +22,6 @@
|
||||||
|
|
||||||
#define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
|
#define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
|
||||||
|
|
||||||
typedef struct QEMUTimer QEMUTimer;
|
|
||||||
typedef struct QEMUFile QEMUFile;
|
|
||||||
typedef struct QEMUBH QEMUBH;
|
|
||||||
typedef struct DeviceState DeviceState;
|
|
||||||
|
|
||||||
struct Monitor;
|
|
||||||
typedef struct Monitor Monitor;
|
|
||||||
typedef struct MigrationParams MigrationParams;
|
|
||||||
|
|
||||||
/* we put basic includes here to avoid repeating them in device drivers */
|
/* we put basic includes here to avoid repeating them in device drivers */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -258,48 +250,6 @@ struct ParallelIOArg {
|
||||||
|
|
||||||
typedef int (*DMA_transfer_handler) (void *opaque, int nchan, int pos, int size);
|
typedef int (*DMA_transfer_handler) (void *opaque, int nchan, int pos, int size);
|
||||||
|
|
||||||
/* A load of opaque types so that device init declarations don't have to
|
|
||||||
pull in all the real definitions. */
|
|
||||||
typedef struct NICInfo NICInfo;
|
|
||||||
typedef struct HCIInfo HCIInfo;
|
|
||||||
typedef struct AudioState AudioState;
|
|
||||||
typedef struct BlockDriverState BlockDriverState;
|
|
||||||
typedef struct DriveInfo DriveInfo;
|
|
||||||
typedef struct DisplayState DisplayState;
|
|
||||||
typedef struct DisplayChangeListener DisplayChangeListener;
|
|
||||||
typedef struct DisplaySurface DisplaySurface;
|
|
||||||
typedef struct PixelFormat PixelFormat;
|
|
||||||
typedef struct QemuConsole QemuConsole;
|
|
||||||
typedef struct CharDriverState CharDriverState;
|
|
||||||
typedef struct MACAddr MACAddr;
|
|
||||||
typedef struct NetClientState NetClientState;
|
|
||||||
typedef struct i2c_bus i2c_bus;
|
|
||||||
typedef struct ISABus ISABus;
|
|
||||||
typedef struct ISADevice ISADevice;
|
|
||||||
typedef struct SMBusDevice SMBusDevice;
|
|
||||||
typedef struct PCIHostState PCIHostState;
|
|
||||||
typedef struct PCIExpressHost PCIExpressHost;
|
|
||||||
typedef struct PCIBus PCIBus;
|
|
||||||
typedef struct PCIDevice PCIDevice;
|
|
||||||
typedef struct PCIExpressDevice PCIExpressDevice;
|
|
||||||
typedef struct PCIBridge PCIBridge;
|
|
||||||
typedef struct PCIEAERMsg PCIEAERMsg;
|
|
||||||
typedef struct PCIEAERLog PCIEAERLog;
|
|
||||||
typedef struct PCIEAERErr PCIEAERErr;
|
|
||||||
typedef struct PCIEPort PCIEPort;
|
|
||||||
typedef struct PCIESlot PCIESlot;
|
|
||||||
typedef struct MSIMessage MSIMessage;
|
|
||||||
typedef struct SerialState SerialState;
|
|
||||||
typedef struct PCMCIACardState PCMCIACardState;
|
|
||||||
typedef struct MouseTransformInfo MouseTransformInfo;
|
|
||||||
typedef struct uWireSlave uWireSlave;
|
|
||||||
typedef struct I2SCodec I2SCodec;
|
|
||||||
typedef struct SSIBus SSIBus;
|
|
||||||
typedef struct EventNotifier EventNotifier;
|
|
||||||
typedef struct VirtIODevice VirtIODevice;
|
|
||||||
typedef struct QEMUSGList QEMUSGList;
|
|
||||||
typedef struct SHPCDevice SHPCDevice;
|
|
||||||
|
|
||||||
typedef uint64_t pcibus_t;
|
typedef uint64_t pcibus_t;
|
||||||
|
|
||||||
typedef enum LostTickPolicy {
|
typedef enum LostTickPolicy {
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
#ifndef QEMU_TYPEDEFS_H
|
||||||
|
#define QEMU_TYPEDEFS_H
|
||||||
|
|
||||||
|
/* A load of opaque types so that device init declarations don't have to
|
||||||
|
pull in all the real definitions. */
|
||||||
|
typedef struct QEMUTimer QEMUTimer;
|
||||||
|
typedef struct QEMUFile QEMUFile;
|
||||||
|
typedef struct QEMUBH QEMUBH;
|
||||||
|
|
||||||
|
struct Monitor;
|
||||||
|
typedef struct Monitor Monitor;
|
||||||
|
typedef struct MigrationParams MigrationParams;
|
||||||
|
|
||||||
|
typedef struct Property Property;
|
||||||
|
typedef struct PropertyInfo PropertyInfo;
|
||||||
|
typedef struct CompatProperty CompatProperty;
|
||||||
|
typedef struct DeviceState DeviceState;
|
||||||
|
typedef struct BusState BusState;
|
||||||
|
typedef struct BusClass BusClass;
|
||||||
|
|
||||||
|
typedef struct NICInfo NICInfo;
|
||||||
|
typedef struct HCIInfo HCIInfo;
|
||||||
|
typedef struct AudioState AudioState;
|
||||||
|
typedef struct BlockDriverState BlockDriverState;
|
||||||
|
typedef struct DriveInfo DriveInfo;
|
||||||
|
typedef struct DisplayState DisplayState;
|
||||||
|
typedef struct DisplayChangeListener DisplayChangeListener;
|
||||||
|
typedef struct DisplaySurface DisplaySurface;
|
||||||
|
typedef struct PixelFormat PixelFormat;
|
||||||
|
typedef struct QemuConsole QemuConsole;
|
||||||
|
typedef struct CharDriverState CharDriverState;
|
||||||
|
typedef struct MACAddr MACAddr;
|
||||||
|
typedef struct NetClientState NetClientState;
|
||||||
|
typedef struct i2c_bus i2c_bus;
|
||||||
|
typedef struct ISABus ISABus;
|
||||||
|
typedef struct ISADevice ISADevice;
|
||||||
|
typedef struct SMBusDevice SMBusDevice;
|
||||||
|
typedef struct PCIHostState PCIHostState;
|
||||||
|
typedef struct PCIExpressHost PCIExpressHost;
|
||||||
|
typedef struct PCIBus PCIBus;
|
||||||
|
typedef struct PCIDevice PCIDevice;
|
||||||
|
typedef struct PCIExpressDevice PCIExpressDevice;
|
||||||
|
typedef struct PCIBridge PCIBridge;
|
||||||
|
typedef struct PCIEAERMsg PCIEAERMsg;
|
||||||
|
typedef struct PCIEAERLog PCIEAERLog;
|
||||||
|
typedef struct PCIEAERErr PCIEAERErr;
|
||||||
|
typedef struct PCIEPort PCIEPort;
|
||||||
|
typedef struct PCIESlot PCIESlot;
|
||||||
|
typedef struct MSIMessage MSIMessage;
|
||||||
|
typedef struct SerialState SerialState;
|
||||||
|
typedef struct PCMCIACardState PCMCIACardState;
|
||||||
|
typedef struct MouseTransformInfo MouseTransformInfo;
|
||||||
|
typedef struct uWireSlave uWireSlave;
|
||||||
|
typedef struct I2SCodec I2SCodec;
|
||||||
|
typedef struct SSIBus SSIBus;
|
||||||
|
typedef struct EventNotifier EventNotifier;
|
||||||
|
typedef struct VirtIODevice VirtIODevice;
|
||||||
|
typedef struct QEMUSGList QEMUSGList;
|
||||||
|
typedef struct SHPCDevice SHPCDevice;
|
||||||
|
|
||||||
|
#endif /* QEMU_TYPEDEFS_H */
|
Loading…
Reference in New Issue