1 #ifndef QEMU_TYPEDEFS_H 2 #define QEMU_TYPEDEFS_H 3 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 */ 19 20 /* 21 * Incomplete struct types 22 * Please keep this list in case-insensitive alphabetical order. 23 */ 24 typedef struct AccelCPUState AccelCPUState; 25 typedef struct AccelState AccelState; 26 typedef struct AdapterInfo AdapterInfo; 27 typedef struct AddressSpace AddressSpace; 28 typedef struct AioContext AioContext; 29 typedef struct Aml Aml; 30 typedef struct AnnounceTimer AnnounceTimer; 31 typedef struct ArchCPU ArchCPU; 32 typedef struct BdrvDirtyBitmap BdrvDirtyBitmap; 33 typedef struct BdrvDirtyBitmapIter BdrvDirtyBitmapIter; 34 typedef struct BlockBackend BlockBackend; 35 typedef struct BlockBackendRootState BlockBackendRootState; 36 typedef struct BlockDriverState BlockDriverState; 37 typedef struct BusClass BusClass; 38 typedef struct BusState BusState; 39 typedef struct Chardev Chardev; 40 typedef struct Clock Clock; 41 typedef struct CompatProperty CompatProperty; 42 typedef struct ConfidentialGuestSupport ConfidentialGuestSupport; 43 typedef struct CPUAddressSpace CPUAddressSpace; 44 typedef struct CPUArchState CPUArchState; 45 typedef struct CPUPluginState CPUPluginState; 46 typedef struct CpuInfoFast CpuInfoFast; 47 typedef struct CPUJumpCache CPUJumpCache; 48 typedef struct CPUState CPUState; 49 typedef struct CPUTLBEntryFull CPUTLBEntryFull; 50 typedef struct DeviceListener DeviceListener; 51 typedef struct DeviceState DeviceState; 52 typedef struct DirtyBitmapSnapshot DirtyBitmapSnapshot; 53 typedef struct DisplayChangeListener DisplayChangeListener; 54 typedef struct DriveInfo DriveInfo; 55 typedef struct DumpState DumpState; 56 typedef struct Error Error; 57 typedef struct EventNotifier EventNotifier; 58 typedef struct FlatView FlatView; 59 typedef struct FWCfgEntry FWCfgEntry; 60 typedef struct FWCfgIoState FWCfgIoState; 61 typedef struct FWCfgMemState FWCfgMemState; 62 typedef struct FWCfgState FWCfgState; 63 typedef struct GraphicHwOps GraphicHwOps; 64 typedef struct HostMemoryBackend HostMemoryBackend; 65 typedef struct I2CBus I2CBus; 66 typedef struct I2SCodec I2SCodec; 67 typedef struct IOMMUMemoryRegion IOMMUMemoryRegion; 68 typedef struct ISABus ISABus; 69 typedef struct ISADevice ISADevice; 70 typedef struct IsaDma IsaDma; 71 typedef struct JSONWriter JSONWriter; 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; 78 typedef struct MemoryRegionCache MemoryRegionCache; 79 typedef struct MemoryRegionSection MemoryRegionSection; 80 typedef struct MigrationIncomingState MigrationIncomingState; 81 typedef struct MigrationState MigrationState; 82 typedef struct Monitor Monitor; 83 typedef struct MonitorDef MonitorDef; 84 typedef struct MSIMessage MSIMessage; 85 typedef struct NetClientState NetClientState; 86 typedef struct NetFilterState NetFilterState; 87 typedef struct NICInfo NICInfo; 88 typedef struct NodeInfo NodeInfo; 89 typedef struct NumaNodeMem NumaNodeMem; 90 typedef struct Object Object; 91 typedef struct ObjectClass ObjectClass; 92 typedef struct PCIBridge PCIBridge; 93 typedef struct PCIBus PCIBus; 94 typedef struct PCIDevice PCIDevice; 95 typedef struct PCIEAERErr PCIEAERErr; 96 typedef struct PCIEAERLog PCIEAERLog; 97 typedef struct PCIEAERMsg PCIEAERMsg; 98 typedef struct PCIEPort PCIEPort; 99 typedef struct PCIESlot PCIESlot; 100 typedef struct PCIESriovPF PCIESriovPF; 101 typedef struct PCIESriovVF PCIESriovVF; 102 typedef struct PCIExpressDevice PCIExpressDevice; 103 typedef struct PCIExpressHost PCIExpressHost; 104 typedef struct PCIHostDeviceAddress PCIHostDeviceAddress; 105 typedef struct PCIHostState PCIHostState; 106 typedef struct PICCommonState PICCommonState; 107 typedef struct PostcopyDiscardState PostcopyDiscardState; 108 typedef struct Property Property; 109 typedef struct PropertyInfo PropertyInfo; 110 typedef struct QBool QBool; 111 typedef struct QDict QDict; 112 typedef struct QEMUBH QEMUBH; 113 typedef struct QemuConsole QemuConsole; 114 typedef struct QEMUCursor QEMUCursor; 115 typedef struct QEMUFile QEMUFile; 116 typedef struct QemuLockable QemuLockable; 117 typedef struct QemuMutex QemuMutex; 118 typedef struct QemuOpt QemuOpt; 119 typedef struct QemuOpts QemuOpts; 120 typedef struct QemuOptsList QemuOptsList; 121 typedef struct QEMUSGList QEMUSGList; 122 typedef struct QemuSpin QemuSpin; 123 typedef struct QEMUTimer QEMUTimer; 124 typedef struct QEMUTimerListGroup QEMUTimerListGroup; 125 typedef struct QList QList; 126 typedef struct QNull QNull; 127 typedef struct QNum QNum; 128 typedef struct QObject QObject; 129 typedef struct QString QString; 130 typedef struct RAMBlock RAMBlock; 131 typedef struct Range Range; 132 typedef struct ReservedRegion ReservedRegion; 133 typedef struct SHPCDevice SHPCDevice; 134 typedef struct SSIBus SSIBus; 135 typedef struct TCGCPUOps TCGCPUOps; 136 typedef struct TCGHelperInfo TCGHelperInfo; 137 typedef struct TranslationBlock TranslationBlock; 138 typedef struct VirtIODevice VirtIODevice; 139 typedef struct Visitor Visitor; 140 typedef struct VMChangeStateEntry VMChangeStateEntry; 141 typedef struct VMStateDescription VMStateDescription; 142 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 151 /* 152 * Function types 153 */ 154 typedef void (*qemu_irq_handler)(void *opaque, int n, int level); 155 156 #endif /* QEMU_TYPEDEFS_H */ 157