]>
Commit | Line | Data |
---|---|---|
394e1bb7 EH |
1 | #ifndef QEMU_TYPEDEFS_H |
2 | #define QEMU_TYPEDEFS_H | |
3 | ||
2a28720d MA |
4 | /* |
5 | * This header is for selectively avoiding #include just to get a | |
6 | * typedef name. | |
7 | * | |
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. | |
12 | * | |
13 | * You can break such cycles and unwanted dependencies by declaring | |
14 | * the typedef name here. | |
15 | * | |
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. | |
18 | */ | |
394e1bb7 | 19 | |
2a28720d MA |
20 | /* |
21 | * Incomplete struct types | |
22 | * Please keep this list in case-insensitive alphabetical order. | |
23 | */ | |
f861b3f3 | 24 | typedef struct AccelCPUState AccelCPUState; |
3d277871 | 25 | typedef struct AccelState AccelState; |
64baadc2 | 26 | typedef struct AdapterInfo AdapterInfo; |
b421d9c6 | 27 | typedef struct AddressSpace AddressSpace; |
64baadc2 | 28 | typedef struct AioContext AioContext; |
0f8d656b | 29 | typedef struct Aml Aml; |
50510ea2 | 30 | typedef struct AnnounceTimer AnnounceTimer; |
b36e239e | 31 | typedef struct ArchCPU ArchCPU; |
9a3f5cf1 | 32 | typedef struct BdrvDirtyBitmap BdrvDirtyBitmap; |
dc162c8e | 33 | typedef struct BdrvDirtyBitmapIter BdrvDirtyBitmapIter; |
26f54e9a | 34 | typedef struct BlockBackend BlockBackend; |
281d22d8 | 35 | typedef struct BlockBackendRootState BlockBackendRootState; |
394e1bb7 | 36 | typedef struct BlockDriverState BlockDriverState; |
64baadc2 DDAG |
37 | typedef struct BusClass BusClass; |
38 | typedef struct BusState BusState; | |
0ec7b3e7 | 39 | typedef struct Chardev Chardev; |
ad140dad | 40 | typedef struct Clock Clock; |
64baadc2 | 41 | typedef struct CompatProperty CompatProperty; |
f91f9f25 | 42 | typedef struct ConfidentialGuestSupport ConfidentialGuestSupport; |
32857f4d | 43 | typedef struct CPUAddressSpace CPUAddressSpace; |
1ea4a06a | 44 | typedef struct CPUArchState CPUArchState; |
c0061471 | 45 | typedef struct CPUPluginState CPUPluginState; |
5503da4a | 46 | typedef struct CpuInfoFast CpuInfoFast; |
a976a99a | 47 | typedef struct CPUJumpCache CPUJumpCache; |
b23197f9 | 48 | typedef struct CPUState CPUState; |
af803a4f | 49 | typedef struct CPUTLBEntryFull CPUTLBEntryFull; |
707ff800 | 50 | typedef struct DeviceListener DeviceListener; |
2988cbea | 51 | typedef struct DeviceState DeviceState; |
8deaf12c | 52 | typedef struct DirtyBitmapSnapshot DirtyBitmapSnapshot; |
394e1bb7 | 53 | typedef struct DisplayChangeListener DisplayChangeListener; |
64baadc2 | 54 | typedef struct DriveInfo DriveInfo; |
38ce1ebf | 55 | typedef struct DumpState DumpState; |
da34e65c | 56 | typedef struct Error Error; |
64baadc2 | 57 | typedef struct EventNotifier EventNotifier; |
02d9651d | 58 | typedef struct FlatView FlatView; |
39736e18 | 59 | typedef struct FWCfgEntry FWCfgEntry; |
5712db6a LE |
60 | typedef struct FWCfgIoState FWCfgIoState; |
61 | typedef struct FWCfgMemState FWCfgMemState; | |
64baadc2 | 62 | typedef struct FWCfgState FWCfgState; |
38ce1ebf | 63 | typedef struct GraphicHwOps GraphicHwOps; |
7969dd91 | 64 | typedef struct HostMemoryBackend HostMemoryBackend; |
a5c82852 | 65 | typedef struct I2CBus I2CBus; |
64baadc2 | 66 | typedef struct I2SCodec I2SCodec; |
a98c370c | 67 | typedef struct IOMMUMemoryRegion IOMMUMemoryRegion; |
394e1bb7 EH |
68 | typedef struct ISABus ISABus; |
69 | typedef struct ISADevice ISADevice; | |
5484f30b | 70 | typedef struct IsaDma IsaDma; |
3ddba9a9 | 71 | typedef struct JSONWriter JSONWriter; |
64baadc2 DDAG |
72 | typedef struct MACAddr MACAddr; |
73 | typedef struct MachineClass MachineClass; | |
74 | typedef struct MachineState MachineState; | |
75 | typedef struct MemoryListener MemoryListener; | |
76 | typedef struct MemoryMappingList MemoryMappingList; | |
77 | typedef struct MemoryRegion MemoryRegion; | |
1f4e496e | 78 | typedef struct MemoryRegionCache MemoryRegionCache; |
64baadc2 | 79 | typedef struct MemoryRegionSection MemoryRegionSection; |
bca7856a | 80 | typedef struct MigrationIncomingState MigrationIncomingState; |
aefeb18b | 81 | typedef struct MigrationState MigrationState; |
64baadc2 | 82 | typedef struct Monitor Monitor; |
2988cbea | 83 | typedef struct MonitorDef MonitorDef; |
64baadc2 DDAG |
84 | typedef struct MSIMessage MSIMessage; |
85 | typedef struct NetClientState NetClientState; | |
fdccce45 | 86 | typedef struct NetFilterState NetFilterState; |
64baadc2 | 87 | typedef struct NICInfo NICInfo; |
aec90730 | 88 | typedef struct NodeInfo NodeInfo; |
31959e82 | 89 | typedef struct NumaNodeMem NumaNodeMem; |
ca27b5eb | 90 | typedef struct Object Object; |
7cfda775 | 91 | typedef struct ObjectClass ObjectClass; |
64baadc2 | 92 | typedef struct PCIBridge PCIBridge; |
394e1bb7 EH |
93 | typedef struct PCIBus PCIBus; |
94 | typedef struct PCIDevice PCIDevice; | |
394e1bb7 | 95 | typedef struct PCIEAERErr PCIEAERErr; |
64baadc2 DDAG |
96 | typedef struct PCIEAERLog PCIEAERLog; |
97 | typedef struct PCIEAERMsg PCIEAERMsg; | |
394e1bb7 EH |
98 | typedef struct PCIEPort PCIEPort; |
99 | typedef struct PCIESlot PCIESlot; | |
38ce1ebf PMD |
100 | typedef struct PCIESriovPF PCIESriovPF; |
101 | typedef struct PCIESriovVF PCIESriovVF; | |
64baadc2 DDAG |
102 | typedef struct PCIExpressDevice PCIExpressDevice; |
103 | typedef struct PCIExpressHost PCIExpressHost; | |
a7c4d9c7 | 104 | typedef struct PCIHostDeviceAddress PCIHostDeviceAddress; |
64baadc2 | 105 | typedef struct PCIHostState PCIHostState; |
2aaf0ec7 | 106 | typedef struct PICCommonState PICCommonState; |
e0b266f0 | 107 | typedef struct PostcopyDiscardState PostcopyDiscardState; |
64baadc2 | 108 | typedef struct Property Property; |
2988cbea | 109 | typedef struct PropertyInfo PropertyInfo; |
a98c370c EB |
110 | typedef struct QBool QBool; |
111 | typedef struct QDict QDict; | |
64baadc2 DDAG |
112 | typedef struct QEMUBH QEMUBH; |
113 | typedef struct QemuConsole QemuConsole; | |
38ce1ebf | 114 | typedef struct QEMUCursor QEMUCursor; |
64baadc2 | 115 | typedef struct QEMUFile QEMUFile; |
e70372fc PB |
116 | typedef struct QemuLockable QemuLockable; |
117 | typedef struct QemuMutex QemuMutex; | |
ae1e9380 PD |
118 | typedef struct QemuOpt QemuOpt; |
119 | typedef struct QemuOpts QemuOpts; | |
120 | typedef struct QemuOptsList QemuOptsList; | |
394e1bb7 | 121 | typedef struct QEMUSGList QEMUSGList; |
a98c370c | 122 | typedef struct QemuSpin QemuSpin; |
64baadc2 | 123 | typedef struct QEMUTimer QEMUTimer; |
2988cbea | 124 | typedef struct QEMUTimerListGroup QEMUTimerListGroup; |
9f5c734d | 125 | typedef struct QList QList; |
4d2d5c41 | 126 | typedef struct QNull QNull; |
9f5c734d MA |
127 | typedef struct QNum QNum; |
128 | typedef struct QObject QObject; | |
129 | typedef struct QString QString; | |
422148d3 | 130 | typedef struct RAMBlock RAMBlock; |
2988cbea | 131 | typedef struct Range Range; |
3ddba9a9 | 132 | typedef struct ReservedRegion ReservedRegion; |
64baadc2 | 133 | typedef struct SHPCDevice SHPCDevice; |
64baadc2 | 134 | typedef struct SSIBus SSIBus; |
1764ad70 | 135 | typedef struct TCGCPUOps TCGCPUOps; |
d53106c9 | 136 | typedef struct TCGHelperInfo TCGHelperInfo; |
8349d2ae | 137 | typedef struct TranslationBlock TranslationBlock; |
64baadc2 DDAG |
138 | typedef struct VirtIODevice VirtIODevice; |
139 | typedef struct Visitor Visitor; | |
2f780b6a | 140 | typedef struct VMChangeStateEntry VMChangeStateEntry; |
8a9358cc | 141 | typedef struct VMStateDescription VMStateDescription; |
2a28720d | 142 | |
64552b6b MA |
143 | /* |
144 | * Pointer types | |
145 | * Such typedefs should be limited to cases where the typedef's users | |
146 | * are oblivious of its "pointer-ness". | |
147 | * Please keep this list in case-insensitive alphabetical order. | |
148 | */ | |
149 | typedef struct IRQState *qemu_irq; | |
150 | ||
2a28720d MA |
151 | /* |
152 | * Function types | |
153 | */ | |
68a4a2fd JQ |
154 | typedef void SaveStateHandler(QEMUFile *f, void *opaque); |
155 | typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id); | |
64552b6b | 156 | typedef void (*qemu_irq_handler)(void *opaque, int n, int level); |
394e1bb7 EH |
157 | |
158 | #endif /* QEMU_TYPEDEFS_H */ |