1#ifndef QEMU_TYPEDEFS_H
2#define QEMU_TYPEDEFS_H
3
4/* A load of opaque types so that device init declarations don't have to
5   pull in all the real definitions.  */
6typedef struct QEMUTimer QEMUTimer;
7typedef struct QEMUTimerListGroup QEMUTimerListGroup;
8typedef struct QEMUFile QEMUFile;
9typedef struct QEMUBH QEMUBH;
10
11typedef struct AioContext AioContext;
12
13struct Monitor;
14typedef struct Monitor Monitor;
15typedef struct MigrationParams MigrationParams;
16
17typedef struct Property Property;
18typedef struct PropertyInfo PropertyInfo;
19typedef struct CompatProperty CompatProperty;
20typedef struct DeviceState DeviceState;
21typedef struct BusState BusState;
22typedef struct BusClass BusClass;
23
24typedef struct AddressSpace AddressSpace;
25typedef struct MemoryRegion MemoryRegion;
26typedef struct MemoryRegionSection MemoryRegionSection;
27
28typedef struct MemoryMappingList MemoryMappingList;
29
30typedef struct NICInfo NICInfo;
31typedef struct HCIInfo HCIInfo;
32typedef struct AudioState AudioState;
33typedef struct BlockDriverState BlockDriverState;
34typedef struct DriveInfo DriveInfo;
35typedef struct DisplayState DisplayState;
36typedef struct DisplayChangeListener DisplayChangeListener;
37typedef struct DisplaySurface DisplaySurface;
38typedef struct PixelFormat PixelFormat;
39//typedef struct QemuConsole QemuConsole;  (see below)
40typedef struct CharDriverState CharDriverState;
41typedef struct MACAddr MACAddr;
42typedef struct NetClientState NetClientState;
43typedef struct i2c_bus i2c_bus;
44typedef struct ISABus ISABus;
45typedef struct ISADevice ISADevice;
46typedef struct SMBusDevice SMBusDevice;
47typedef struct PCIHostState PCIHostState;
48typedef struct PCIExpressHost PCIExpressHost;
49typedef struct PCIBus PCIBus;
50typedef struct PCIDevice PCIDevice;
51typedef struct PCIExpressDevice PCIExpressDevice;
52typedef struct PCIBridge PCIBridge;
53typedef struct PCIEAERMsg PCIEAERMsg;
54typedef struct PCIEAERLog PCIEAERLog;
55typedef struct PCIEAERErr PCIEAERErr;
56typedef struct PCIEPort PCIEPort;
57typedef struct PCIESlot PCIESlot;
58typedef struct MSIMessage MSIMessage;
59typedef struct SerialState SerialState;
60typedef struct PCMCIACardState PCMCIACardState;
61typedef struct MouseTransformInfo MouseTransformInfo;
62typedef struct uWireSlave uWireSlave;
63typedef struct I2SCodec I2SCodec;
64typedef struct SSIBus SSIBus;
65typedef struct EventNotifier EventNotifier;
66typedef struct VirtIODevice VirtIODevice;
67typedef struct QEMUSGList QEMUSGList;
68typedef struct SHPCDevice SHPCDevice;
69typedef struct FWCfgState FWCfgState;
70typedef struct PcGuestInfo PcGuestInfo;
71typedef struct Range Range;
72
73// NOTE(digit): Remove typedefs below when everything is upstreamed.
74typedef struct DisplayAllocator DisplayAllocator;
75typedef struct IRQState *qemu_irq;
76typedef struct QEMUConsole QEMUConsole;
77typedef struct VLANState VLANState;
78typedef struct VLANClientState VLANClientState;
79
80#endif /* QEMU_TYPEDEFS_H */
81