]>
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; |
b36e239e | 30 | typedef struct ArchCPU ArchCPU; |
9a3f5cf1 | 31 | typedef struct BdrvDirtyBitmap BdrvDirtyBitmap; |
dc162c8e | 32 | typedef struct BdrvDirtyBitmapIter BdrvDirtyBitmapIter; |
26f54e9a | 33 | typedef struct BlockBackend BlockBackend; |
281d22d8 | 34 | typedef struct BlockBackendRootState BlockBackendRootState; |
394e1bb7 | 35 | typedef struct BlockDriverState BlockDriverState; |
64baadc2 DDAG |
36 | typedef struct BusClass BusClass; |
37 | typedef struct BusState BusState; | |
0ec7b3e7 | 38 | typedef struct Chardev Chardev; |
ad140dad | 39 | typedef struct Clock Clock; |
f91f9f25 | 40 | typedef struct ConfidentialGuestSupport ConfidentialGuestSupport; |
32857f4d | 41 | typedef struct CPUAddressSpace CPUAddressSpace; |
1ea4a06a | 42 | typedef struct CPUArchState CPUArchState; |
c0061471 | 43 | typedef struct CPUPluginState CPUPluginState; |
a976a99a | 44 | typedef struct CPUJumpCache CPUJumpCache; |
b23197f9 | 45 | typedef struct CPUState CPUState; |
af803a4f | 46 | typedef struct CPUTLBEntryFull CPUTLBEntryFull; |
2988cbea | 47 | typedef struct DeviceState DeviceState; |
8deaf12c | 48 | typedef struct DirtyBitmapSnapshot DirtyBitmapSnapshot; |
394e1bb7 | 49 | typedef struct DisplayChangeListener DisplayChangeListener; |
64baadc2 | 50 | typedef struct DriveInfo DriveInfo; |
38ce1ebf | 51 | typedef struct DumpState DumpState; |
da34e65c | 52 | typedef struct Error Error; |
64baadc2 | 53 | typedef struct EventNotifier EventNotifier; |
02d9651d | 54 | typedef struct FlatView FlatView; |
64baadc2 | 55 | typedef struct FWCfgState FWCfgState; |
38ce1ebf | 56 | typedef struct GraphicHwOps GraphicHwOps; |
7969dd91 | 57 | typedef struct HostMemoryBackend HostMemoryBackend; |
a5c82852 | 58 | typedef struct I2CBus I2CBus; |
64baadc2 | 59 | typedef struct I2SCodec I2SCodec; |
a98c370c | 60 | typedef struct IOMMUMemoryRegion IOMMUMemoryRegion; |
394e1bb7 EH |
61 | typedef struct ISABus ISABus; |
62 | typedef struct ISADevice ISADevice; | |
5484f30b | 63 | typedef struct IsaDma IsaDma; |
3ddba9a9 | 64 | typedef struct JSONWriter JSONWriter; |
64baadc2 DDAG |
65 | typedef struct MACAddr MACAddr; |
66 | typedef struct MachineClass MachineClass; | |
67 | typedef struct MachineState MachineState; | |
68 | typedef struct MemoryListener MemoryListener; | |
69 | typedef struct MemoryMappingList MemoryMappingList; | |
70 | typedef struct MemoryRegion MemoryRegion; | |
1f4e496e | 71 | typedef struct MemoryRegionCache MemoryRegionCache; |
64baadc2 | 72 | typedef struct MemoryRegionSection MemoryRegionSection; |
bca7856a | 73 | typedef struct MigrationIncomingState MigrationIncomingState; |
aefeb18b | 74 | typedef struct MigrationState MigrationState; |
64baadc2 | 75 | typedef struct Monitor Monitor; |
64baadc2 DDAG |
76 | typedef struct MSIMessage MSIMessage; |
77 | typedef struct NetClientState NetClientState; | |
fdccce45 | 78 | typedef struct NetFilterState NetFilterState; |
64baadc2 | 79 | typedef struct NICInfo NICInfo; |
ca27b5eb | 80 | typedef struct Object Object; |
7cfda775 | 81 | typedef struct ObjectClass ObjectClass; |
64baadc2 | 82 | typedef struct PCIBridge PCIBridge; |
394e1bb7 EH |
83 | typedef struct PCIBus PCIBus; |
84 | typedef struct PCIDevice PCIDevice; | |
394e1bb7 | 85 | typedef struct PCIEAERErr PCIEAERErr; |
64baadc2 DDAG |
86 | typedef struct PCIEAERLog PCIEAERLog; |
87 | typedef struct PCIEAERMsg PCIEAERMsg; | |
394e1bb7 EH |
88 | typedef struct PCIEPort PCIEPort; |
89 | typedef struct PCIESlot PCIESlot; | |
38ce1ebf PMD |
90 | typedef struct PCIESriovPF PCIESriovPF; |
91 | typedef struct PCIESriovVF PCIESriovVF; | |
64baadc2 DDAG |
92 | typedef struct PCIExpressDevice PCIExpressDevice; |
93 | typedef struct PCIExpressHost PCIExpressHost; | |
a7c4d9c7 | 94 | typedef struct PCIHostDeviceAddress PCIHostDeviceAddress; |
64baadc2 | 95 | typedef struct PCIHostState PCIHostState; |
64baadc2 | 96 | typedef struct Property Property; |
2988cbea | 97 | typedef struct PropertyInfo PropertyInfo; |
a98c370c EB |
98 | typedef struct QBool QBool; |
99 | typedef struct QDict QDict; | |
64baadc2 DDAG |
100 | typedef struct QEMUBH QEMUBH; |
101 | typedef struct QemuConsole QemuConsole; | |
38ce1ebf | 102 | typedef struct QEMUCursor QEMUCursor; |
64baadc2 | 103 | typedef struct QEMUFile QEMUFile; |
e70372fc | 104 | typedef struct QemuMutex QemuMutex; |
ae1e9380 PD |
105 | typedef struct QemuOpts QemuOpts; |
106 | typedef struct QemuOptsList QemuOptsList; | |
394e1bb7 | 107 | typedef struct QEMUSGList QEMUSGList; |
a98c370c | 108 | typedef struct QemuSpin QemuSpin; |
64baadc2 | 109 | typedef struct QEMUTimer QEMUTimer; |
2988cbea | 110 | typedef struct QEMUTimerListGroup QEMUTimerListGroup; |
9f5c734d | 111 | typedef struct QList QList; |
4d2d5c41 | 112 | typedef struct QNull QNull; |
9f5c734d MA |
113 | typedef struct QNum QNum; |
114 | typedef struct QObject QObject; | |
115 | typedef struct QString QString; | |
422148d3 | 116 | typedef struct RAMBlock RAMBlock; |
2988cbea | 117 | typedef struct Range Range; |
3ddba9a9 | 118 | typedef struct ReservedRegion ReservedRegion; |
64baadc2 | 119 | typedef struct SHPCDevice SHPCDevice; |
64baadc2 | 120 | typedef struct SSIBus SSIBus; |
1764ad70 | 121 | typedef struct TCGCPUOps TCGCPUOps; |
d53106c9 | 122 | typedef struct TCGHelperInfo TCGHelperInfo; |
8349d2ae | 123 | typedef struct TranslationBlock TranslationBlock; |
64baadc2 DDAG |
124 | typedef struct VirtIODevice VirtIODevice; |
125 | typedef struct Visitor Visitor; | |
2f780b6a | 126 | typedef struct VMChangeStateEntry VMChangeStateEntry; |
8a9358cc | 127 | typedef struct VMStateDescription VMStateDescription; |
2a28720d | 128 | |
64552b6b MA |
129 | /* |
130 | * Pointer types | |
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. | |
134 | */ | |
135 | typedef struct IRQState *qemu_irq; | |
136 | ||
2a28720d MA |
137 | /* |
138 | * Function types | |
139 | */ | |
64552b6b | 140 | typedef void (*qemu_irq_handler)(void *opaque, int n, int level); |
394e1bb7 EH |
141 | |
142 | #endif /* QEMU_TYPEDEFS_H */ |