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 AccelCPUState AccelCPUState
;
25 typedef struct AccelState AccelState
;
26 typedef struct AddressSpace AddressSpace
;
27 typedef struct AioContext AioContext
;
28 typedef struct Aml Aml
;
29 typedef struct ArchCPU ArchCPU
;
30 typedef struct BdrvDirtyBitmap BdrvDirtyBitmap
;
31 typedef struct BdrvDirtyBitmapIter BdrvDirtyBitmapIter
;
32 typedef struct BlockBackend BlockBackend
;
33 typedef struct BlockBackendRootState BlockBackendRootState
;
34 typedef struct BlockDriverState BlockDriverState
;
35 typedef struct BusClass BusClass
;
36 typedef struct BusState BusState
;
37 typedef struct Chardev Chardev
;
38 typedef struct Clock Clock
;
39 typedef struct ConfidentialGuestSupport ConfidentialGuestSupport
;
40 typedef struct CPUArchState CPUArchState
;
41 typedef struct CPUPluginState CPUPluginState
;
42 typedef struct CPUState CPUState
;
43 typedef struct DeviceState DeviceState
;
44 typedef struct DirtyBitmapSnapshot DirtyBitmapSnapshot
;
45 typedef struct DisasContextBase DisasContextBase
;
46 typedef struct DisplayChangeListener DisplayChangeListener
;
47 typedef struct DriveInfo DriveInfo
;
48 typedef struct DumpState DumpState
;
49 typedef struct Error Error
;
50 typedef struct EventNotifier EventNotifier
;
51 typedef struct FlatView FlatView
;
52 typedef struct FWCfgState FWCfgState
;
53 typedef struct HostMemoryBackend HostMemoryBackend
;
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 JSONWriter JSONWriter
;
61 typedef struct MACAddr MACAddr
;
62 typedef struct MachineClass MachineClass
;
63 typedef struct MachineState MachineState
;
64 typedef struct MemoryListener MemoryListener
;
65 typedef struct MemoryMappingList MemoryMappingList
;
66 typedef struct MemoryRegion MemoryRegion
;
67 typedef struct MemoryRegionCache MemoryRegionCache
;
68 typedef struct MemoryRegionSection MemoryRegionSection
;
69 typedef struct MigrationIncomingState MigrationIncomingState
;
70 typedef struct MigrationState MigrationState
;
71 typedef struct Monitor Monitor
;
72 typedef struct MSIMessage MSIMessage
;
73 typedef struct NetClientState NetClientState
;
74 typedef struct NetFilterState NetFilterState
;
75 typedef struct NICInfo NICInfo
;
76 typedef struct Object Object
;
77 typedef struct ObjectClass ObjectClass
;
78 typedef struct PCIBridge PCIBridge
;
79 typedef struct PCIBus PCIBus
;
80 typedef struct PCIDevice PCIDevice
;
81 typedef struct PCIEPort PCIEPort
;
82 typedef struct PCIESlot PCIESlot
;
83 typedef struct PCIExpressDevice PCIExpressDevice
;
84 typedef struct PCIExpressHost PCIExpressHost
;
85 typedef struct PCIHostDeviceAddress PCIHostDeviceAddress
;
86 typedef struct PCIHostState PCIHostState
;
87 typedef struct Property Property
;
88 typedef struct PropertyInfo PropertyInfo
;
89 typedef struct QBool QBool
;
90 typedef struct QDict QDict
;
91 typedef struct QEMUBH QEMUBH
;
92 typedef struct QemuConsole QemuConsole
;
93 typedef struct QEMUCursor QEMUCursor
;
94 typedef struct QEMUFile QEMUFile
;
95 typedef struct QemuMutex QemuMutex
;
96 typedef struct QemuOpts QemuOpts
;
97 typedef struct QemuOptsList QemuOptsList
;
98 typedef struct QEMUSGList QEMUSGList
;
99 typedef struct QemuSpin QemuSpin
;
100 typedef struct QEMUTimer QEMUTimer
;
101 typedef struct QEMUTimerListGroup QEMUTimerListGroup
;
102 typedef struct QList QList
;
103 typedef struct QNull QNull
;
104 typedef struct QNum QNum
;
105 typedef struct QObject QObject
;
106 typedef struct QString QString
;
107 typedef struct RAMBlock RAMBlock
;
108 typedef struct Range Range
;
109 typedef struct ReservedRegion ReservedRegion
;
110 typedef struct SHPCDevice SHPCDevice
;
111 typedef struct SSIBus SSIBus
;
112 typedef struct TCGCPUOps TCGCPUOps
;
113 typedef struct TCGHelperInfo TCGHelperInfo
;
114 typedef struct TaskState TaskState
;
115 typedef struct TranslationBlock TranslationBlock
;
116 typedef struct VirtIODevice VirtIODevice
;
117 typedef struct Visitor Visitor
;
118 typedef struct VMChangeStateEntry VMChangeStateEntry
;
119 typedef struct VMStateDescription VMStateDescription
;
123 * Such typedefs should be limited to cases where the typedef's users
124 * are oblivious of its "pointer-ness".
125 * Please keep this list in case-insensitive alphabetical order.
127 typedef struct IRQState
*qemu_irq
;
132 typedef void (*qemu_irq_handler
)(void *opaque
, int n
, int level
);
134 #endif /* QEMU_TYPEDEFS_H */