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 Aml Aml
;
28 typedef struct AnnounceTimer AnnounceTimer
;
29 typedef struct BdrvDirtyBitmap BdrvDirtyBitmap
;
30 typedef struct BdrvDirtyBitmapIter BdrvDirtyBitmapIter
;
31 typedef struct BlockBackend BlockBackend
;
32 typedef struct BlockBackendRootState BlockBackendRootState
;
33 typedef struct BlockDriverState BlockDriverState
;
34 typedef struct BusClass BusClass
;
35 typedef struct BusState BusState
;
36 typedef struct Chardev Chardev
;
37 typedef struct Clock Clock
;
38 typedef struct CompatProperty CompatProperty
;
39 typedef struct CoMutex CoMutex
;
40 typedef struct ConfidentialGuestSupport ConfidentialGuestSupport
;
41 typedef struct CPUAddressSpace CPUAddressSpace
;
42 typedef struct CPUState CPUState
;
43 typedef struct DeviceListener DeviceListener
;
44 typedef struct DeviceState DeviceState
;
45 typedef struct DirtyBitmapSnapshot DirtyBitmapSnapshot
;
46 typedef struct DisplayChangeListener DisplayChangeListener
;
47 typedef struct DriveInfo DriveInfo
;
48 typedef struct Error Error
;
49 typedef struct EventNotifier EventNotifier
;
50 typedef struct FlatView FlatView
;
51 typedef struct FWCfgEntry FWCfgEntry
;
52 typedef struct FWCfgIoState FWCfgIoState
;
53 typedef struct FWCfgMemState FWCfgMemState
;
54 typedef struct FWCfgState FWCfgState
;
55 typedef struct HostMemoryBackend HostMemoryBackend
;
56 typedef struct I2CBus I2CBus
;
57 typedef struct I2SCodec I2SCodec
;
58 typedef struct IOMMUMemoryRegion IOMMUMemoryRegion
;
59 typedef struct ISABus ISABus
;
60 typedef struct ISADevice ISADevice
;
61 typedef struct IsaDma IsaDma
;
62 typedef struct JSONWriter JSONWriter
;
63 typedef struct MACAddr MACAddr
;
64 typedef struct MachineClass MachineClass
;
65 typedef struct MachineState MachineState
;
66 typedef struct MemoryListener MemoryListener
;
67 typedef struct MemoryMappingList MemoryMappingList
;
68 typedef struct MemoryRegion MemoryRegion
;
69 typedef struct MemoryRegionCache MemoryRegionCache
;
70 typedef struct MemoryRegionSection MemoryRegionSection
;
71 typedef struct MigrationIncomingState MigrationIncomingState
;
72 typedef struct MigrationState MigrationState
;
73 typedef struct Monitor Monitor
;
74 typedef struct MonitorDef MonitorDef
;
75 typedef struct MSIMessage MSIMessage
;
76 typedef struct NetClientState NetClientState
;
77 typedef struct NetFilterState NetFilterState
;
78 typedef struct NICInfo NICInfo
;
79 typedef struct NodeInfo NodeInfo
;
80 typedef struct NumaNodeMem NumaNodeMem
;
81 typedef struct Object Object
;
82 typedef struct ObjectClass ObjectClass
;
83 typedef struct PCIBridge PCIBridge
;
84 typedef struct PCIBus PCIBus
;
85 typedef struct PCIDevice PCIDevice
;
86 typedef struct PCIEAERErr PCIEAERErr
;
87 typedef struct PCIEAERLog PCIEAERLog
;
88 typedef struct PCIEAERMsg PCIEAERMsg
;
89 typedef struct PCIEPort PCIEPort
;
90 typedef struct PCIESlot PCIESlot
;
91 typedef struct PCIExpressDevice PCIExpressDevice
;
92 typedef struct PCIExpressHost PCIExpressHost
;
93 typedef struct PCIHostDeviceAddress PCIHostDeviceAddress
;
94 typedef struct PCIHostState PCIHostState
;
95 typedef struct PostcopyDiscardState PostcopyDiscardState
;
96 typedef struct Property Property
;
97 typedef struct PropertyInfo PropertyInfo
;
98 typedef struct QBool QBool
;
99 typedef struct QDict QDict
;
100 typedef struct QEMUBH QEMUBH
;
101 typedef struct QemuConsole QemuConsole
;
102 typedef struct QEMUFile QEMUFile
;
103 typedef struct QemuLockable QemuLockable
;
104 typedef struct QemuMutex QemuMutex
;
105 typedef struct QemuOpt QemuOpt
;
106 typedef struct QemuOpts QemuOpts
;
107 typedef struct QemuOptsList QemuOptsList
;
108 typedef struct QEMUSGList QEMUSGList
;
109 typedef struct QemuSpin QemuSpin
;
110 typedef struct QEMUTimer QEMUTimer
;
111 typedef struct QEMUTimerListGroup QEMUTimerListGroup
;
112 typedef struct QList QList
;
113 typedef struct QNull QNull
;
114 typedef struct QNum QNum
;
115 typedef struct QObject QObject
;
116 typedef struct QString QString
;
117 typedef struct RAMBlock RAMBlock
;
118 typedef struct Range Range
;
119 typedef struct ReservedRegion ReservedRegion
;
120 typedef struct SavedIOTLB SavedIOTLB
;
121 typedef struct SHPCDevice SHPCDevice
;
122 typedef struct SSIBus SSIBus
;
123 typedef struct TranslationBlock TranslationBlock
;
124 typedef struct VirtIODevice VirtIODevice
;
125 typedef struct Visitor Visitor
;
126 typedef struct VMChangeStateEntry VMChangeStateEntry
;
127 typedef struct VMStateDescription VMStateDescription
;
131 * Such typedefs should be limited to cases where the typedef's users
132 * are oblivious of its "pointer-ness".
133 * Please keep this list in case-insensitive alphabetical order.
135 typedef struct IRQState
*qemu_irq
;
140 typedef void SaveStateHandler(QEMUFile
*f
, void *opaque
);
141 typedef int LoadStateHandler(QEMUFile
*f
, void *opaque
, int version_id
);
142 typedef void (*qemu_irq_handler
)(void *opaque
, int n
, int level
);
144 #endif /* QEMU_TYPEDEFS_H */