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