1 #ifndef QEMU_TYPEDEFS_H
2 #define QEMU_TYPEDEFS_H
5 * This header is for selectively avoiding #include just to get a
8 * Declaring a typedef name in its "obvious" place can result in
9 * inclusion cycles, in particular for complete struct and union
10 * types that need more types for their members. It can also result
11 * in headers pulling in many more headers, slowing down builds.
13 * You can break such cycles and unwanted dependencies by declaring
14 * the typedef name here.
16 * For struct types used in only a few headers, judicious use of the
17 * struct tag instead of the typedef name is commonly preferable.
21 * Incomplete struct types
22 * Please keep this list in case-insensitive alphabetical order.
24 typedef struct AdapterInfo AdapterInfo
;
25 typedef struct AddressSpace AddressSpace
;
26 typedef struct AioContext AioContext
;
27 typedef struct AnnounceTimer AnnounceTimer
;
28 typedef struct BdrvDirtyBitmap BdrvDirtyBitmap
;
29 typedef struct BdrvDirtyBitmapIter BdrvDirtyBitmapIter
;
30 typedef struct BlockBackend BlockBackend
;
31 typedef struct BlockBackendRootState BlockBackendRootState
;
32 typedef struct BlockDriverState BlockDriverState
;
33 typedef struct BusClass BusClass
;
34 typedef struct BusState BusState
;
35 typedef struct Chardev Chardev
;
36 typedef struct CompatProperty CompatProperty
;
37 typedef struct CoMutex CoMutex
;
38 typedef struct CPUAddressSpace CPUAddressSpace
;
39 typedef struct CPUState CPUState
;
40 typedef struct DeviceListener DeviceListener
;
41 typedef struct DeviceState DeviceState
;
42 typedef struct DirtyBitmapSnapshot DirtyBitmapSnapshot
;
43 typedef struct DisplayChangeListener DisplayChangeListener
;
44 typedef struct DriveInfo DriveInfo
;
45 typedef struct Error Error
;
46 typedef struct EventNotifier EventNotifier
;
47 typedef struct FlatView FlatView
;
48 typedef struct FWCfgEntry FWCfgEntry
;
49 typedef struct FWCfgIoState FWCfgIoState
;
50 typedef struct FWCfgMemState FWCfgMemState
;
51 typedef struct FWCfgState FWCfgState
;
52 typedef struct HostMemoryBackend HostMemoryBackend
;
53 typedef struct HVFX86EmulatorState HVFX86EmulatorState
;
54 typedef struct I2CBus I2CBus
;
55 typedef struct I2SCodec I2SCodec
;
56 typedef struct IOMMUMemoryRegion IOMMUMemoryRegion
;
57 typedef struct ISABus ISABus
;
58 typedef struct ISADevice ISADevice
;
59 typedef struct IsaDma IsaDma
;
60 typedef struct MACAddr MACAddr
;
61 typedef struct MachineClass MachineClass
;
62 typedef struct MachineState MachineState
;
63 typedef struct MemoryListener MemoryListener
;
64 typedef struct MemoryMappingList MemoryMappingList
;
65 typedef struct MemoryRegion MemoryRegion
;
66 typedef struct MemoryRegionCache MemoryRegionCache
;
67 typedef struct MemoryRegionSection MemoryRegionSection
;
68 typedef struct MigrationIncomingState MigrationIncomingState
;
69 typedef struct MigrationState MigrationState
;
70 typedef struct Monitor Monitor
;
71 typedef struct MonitorDef MonitorDef
;
72 typedef struct MSIMessage MSIMessage
;
73 typedef struct NetClientState NetClientState
;
74 typedef struct NetFilterState NetFilterState
;
75 typedef struct NICInfo NICInfo
;
76 typedef struct NodeInfo NodeInfo
;
77 typedef struct NumaNodeMem NumaNodeMem
;
78 typedef struct ObjectClass ObjectClass
;
79 typedef struct PCIBridge PCIBridge
;
80 typedef struct PCIBus PCIBus
;
81 typedef struct PCIDevice PCIDevice
;
82 typedef struct PCIEAERErr PCIEAERErr
;
83 typedef struct PCIEAERLog PCIEAERLog
;
84 typedef struct PCIEAERMsg PCIEAERMsg
;
85 typedef struct PCIEPort PCIEPort
;
86 typedef struct PCIESlot PCIESlot
;
87 typedef struct PCIExpressDevice PCIExpressDevice
;
88 typedef struct PCIExpressHost PCIExpressHost
;
89 typedef struct PCIHostDeviceAddress PCIHostDeviceAddress
;
90 typedef struct PCIHostState PCIHostState
;
91 typedef struct PCMachineState PCMachineState
;
92 typedef struct PostcopyDiscardState PostcopyDiscardState
;
93 typedef struct Property Property
;
94 typedef struct PropertyInfo PropertyInfo
;
95 typedef struct QBool QBool
;
96 typedef struct QDict QDict
;
97 typedef struct QEMUBH QEMUBH
;
98 typedef struct QemuConsole QemuConsole
;
99 typedef struct QEMUFile QEMUFile
;
100 typedef struct QemuLockable QemuLockable
;
101 typedef struct QemuMutex QemuMutex
;
102 typedef struct QemuOpt QemuOpt
;
103 typedef struct QemuOpts QemuOpts
;
104 typedef struct QemuOptsList QemuOptsList
;
105 typedef struct QEMUSGList QEMUSGList
;
106 typedef struct QemuSpin QemuSpin
;
107 typedef struct QEMUTimer QEMUTimer
;
108 typedef struct QEMUTimerListGroup QEMUTimerListGroup
;
109 typedef struct QJSON QJSON
;
110 typedef struct QList QList
;
111 typedef struct QNull QNull
;
112 typedef struct QNum QNum
;
113 typedef struct QObject QObject
;
114 typedef struct QString QString
;
115 typedef struct RAMBlock RAMBlock
;
116 typedef struct Range Range
;
117 typedef struct SHPCDevice SHPCDevice
;
118 typedef struct SSIBus SSIBus
;
119 typedef struct VirtIODevice VirtIODevice
;
120 typedef struct Visitor Visitor
;
121 typedef struct VMChangeStateEntry VMChangeStateEntry
;
122 typedef struct VMStateDescription VMStateDescription
;
126 * Such typedefs should be limited to cases where the typedef's users
127 * are oblivious of its "pointer-ness".
128 * Please keep this list in case-insensitive alphabetical order.
130 typedef struct IRQState
*qemu_irq
;
135 typedef void SaveStateHandler(QEMUFile
*f
, void *opaque
);
136 typedef int LoadStateHandler(QEMUFile
*f
, void *opaque
, int version_id
);
137 typedef void (*qemu_irq_handler
)(void *opaque
, int n
, int level
);
139 #endif /* QEMU_TYPEDEFS_H */