mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-28 07:25:17 +00:00
2ed6cc7bec
Not all applications have an existing event loop they need to integrate with. Forcing them to implement the libvirt event loop integration APIs is an undue burden. This just exposes our simple poll() based implementation for apps to use. So instead of calling virEventRegister(....callbacks...) The app would call virEventRegisterDefaultImpl() And then have a thread somewhere calling static bool quit = false; .... while (!quit) virEventRunDefaultImpl() * daemon/libvirtd.c, tools/console.c, tools/virsh.c: Convert to public event loop APIs * include/libvirt/libvirt.h.in, src/libvirt_private.syms: Add virEventRegisterDefaultImpl and virEventRunDefaultImpl * src/util/event.c: Implement virEventRegisterDefaultImpl and virEventRunDefaultImpl using poll() event loop * src/util/event_poll.c: Add full error reporting * src/util/virterror.c, include/libvirt/virterror.h: Add VIR_FROM_EVENTS
434 lines
8.8 KiB
Plaintext
434 lines
8.8 KiB
Plaintext
#
|
|
# Officially exported symbols, for which header
|
|
# file definitions are installed in /usr/include/libvirt
|
|
# either from libvirt.h and virterror.h
|
|
#
|
|
# Versions here are *fixed* to match the libvirt version
|
|
# at which the symbol was introduced. This ensures that
|
|
# a new client app requiring symbol foo() can't accidentally
|
|
# run with old libvirt.so not providing foo() - the global
|
|
# soname version info can't enforce this since we never
|
|
# change the soname
|
|
#
|
|
LIBVIRT_0.0.3 {
|
|
global:
|
|
virConnectClose;
|
|
virConnectGetType;
|
|
virConnectGetVersion;
|
|
virConnectListDomains;
|
|
virConnectNumOfDomains;
|
|
virConnectOpen;
|
|
virConnectOpenReadOnly;
|
|
|
|
virDomainCreateLinux;
|
|
virDomainDestroy;
|
|
virDomainFree;
|
|
virDomainGetID;
|
|
virDomainGetInfo;
|
|
virDomainGetMaxMemory;
|
|
virDomainGetName;
|
|
virDomainGetOSType;
|
|
virDomainGetXMLDesc;
|
|
virDomainLookupByID;
|
|
virDomainLookupByName;
|
|
virDomainRestore;
|
|
virDomainResume;
|
|
virDomainSave;
|
|
virDomainSetMaxMemory;
|
|
virDomainShutdown;
|
|
virDomainSuspend;
|
|
|
|
virGetVersion;
|
|
};
|
|
|
|
LIBVIRT_0.0.5 {
|
|
global:
|
|
virDomainLookupByUUID;
|
|
virDomainGetUUID;
|
|
} LIBVIRT_0.0.3;
|
|
|
|
LIBVIRT_0.1.0 {
|
|
global:
|
|
virInitialize;
|
|
virNodeGetInfo;
|
|
virDomainReboot;
|
|
|
|
virCopyLastError;
|
|
virConnSetErrorFunc;
|
|
virResetLastError;
|
|
virResetError;
|
|
virConnGetLastError;
|
|
virGetLastError;
|
|
virSetErrorFunc;
|
|
virConnCopyLastError;
|
|
virConnResetLastError;
|
|
virDefaultErrorFunc;
|
|
} LIBVIRT_0.0.5;
|
|
|
|
LIBVIRT_0.1.1 {
|
|
global:
|
|
virDomainLookupByUUIDString;
|
|
virDomainGetUUIDString;
|
|
virDomainSetMemory;
|
|
virDomainDefineXML;
|
|
virDomainCreate;
|
|
virDomainUndefine;
|
|
virConnectListDefinedDomains;
|
|
} LIBVIRT_0.1.0;
|
|
|
|
LIBVIRT_0.1.4 {
|
|
global:
|
|
virDomainSetVcpus;
|
|
virDomainPinVcpu;
|
|
virDomainGetVcpus;
|
|
} LIBVIRT_0.1.1;
|
|
|
|
LIBVIRT_0.1.5 {
|
|
global:
|
|
virConnectNumOfDefinedDomains;
|
|
} LIBVIRT_0.1.4;
|
|
|
|
LIBVIRT_0.1.9 {
|
|
global:
|
|
virDomainCoreDump;
|
|
virDomainAttachDevice;
|
|
virDomainDetachDevice;
|
|
} LIBVIRT_0.1.5;
|
|
|
|
LIBVIRT_0.2.0 {
|
|
global:
|
|
virConnectNumOfNetworks;
|
|
virConnectListNetworks;
|
|
virConnectNumOfDefinedNetworks;
|
|
virConnectListDefinedNetworks;
|
|
virNetworkLookupByName;
|
|
virNetworkLookupByUUID;
|
|
virNetworkLookupByUUIDString;
|
|
virNetworkCreateXML;
|
|
virNetworkDefineXML;
|
|
virNetworkUndefine;
|
|
virNetworkCreate;
|
|
virNetworkDestroy;
|
|
virNetworkFree;
|
|
virNetworkGetName;
|
|
virNetworkGetUUID;
|
|
virNetworkGetUUIDString;
|
|
virNetworkGetXMLDesc;
|
|
virNetworkGetBridgeName;
|
|
} LIBVIRT_0.1.9;
|
|
|
|
LIBVIRT_0.2.1 {
|
|
global:
|
|
virConnectGetCapabilities;
|
|
virConnectGetMaxVcpus;
|
|
virDomainGetMaxVcpus;
|
|
virDomainGetAutostart;
|
|
virDomainSetAutostart;
|
|
virNetworkGetAutostart;
|
|
virNetworkSetAutostart;
|
|
} LIBVIRT_0.2.0;
|
|
|
|
LIBVIRT_0.2.3 {
|
|
global:
|
|
virDomainGetSchedulerType;
|
|
virDomainGetSchedulerParameters;
|
|
virDomainSetSchedulerParameters;
|
|
} LIBVIRT_0.2.1;
|
|
|
|
LIBVIRT_0.3.0 {
|
|
global:
|
|
virConnectGetHostname;
|
|
virConnectGetURI;
|
|
virDomainGetConnect;
|
|
virNetworkGetConnect;
|
|
} LIBVIRT_0.2.3;
|
|
|
|
LIBVIRT_0.3.2 {
|
|
global:
|
|
virDomainMigrate;
|
|
virDomainBlockStats;
|
|
virDomainInterfaceStats;
|
|
} LIBVIRT_0.3.0;
|
|
|
|
LIBVIRT_0.3.3 {
|
|
global:
|
|
virNodeGetCellsFreeMemory;
|
|
virNodeGetFreeMemory;
|
|
} LIBVIRT_0.3.2;
|
|
|
|
LIBVIRT_0.4.0 {
|
|
global:
|
|
virConnectOpenAuth;
|
|
virConnectAuthPtrDefault;
|
|
} LIBVIRT_0.3.3;
|
|
|
|
LIBVIRT_0.4.1 {
|
|
global:
|
|
virStoragePoolGetConnect;
|
|
virConnectNumOfStoragePools;
|
|
virConnectNumOfDefinedStoragePools;
|
|
virConnectListStoragePools;
|
|
virConnectListDefinedStoragePools;
|
|
virStoragePoolLookupByName;
|
|
virStoragePoolLookupByUUID;
|
|
virStoragePoolLookupByUUIDString;
|
|
virStoragePoolLookupByVolume;
|
|
virStoragePoolCreateXML;
|
|
virStoragePoolDefineXML;
|
|
virStoragePoolUndefine;
|
|
virStoragePoolCreate;
|
|
virStoragePoolBuild;
|
|
virStoragePoolDestroy;
|
|
virStoragePoolDelete;
|
|
virStoragePoolRefresh;
|
|
virStoragePoolFree;
|
|
virStoragePoolGetName;
|
|
virStoragePoolGetUUID;
|
|
virStoragePoolGetUUIDString;
|
|
virStoragePoolGetInfo;
|
|
virStoragePoolGetXMLDesc;
|
|
virStoragePoolSetAutostart;
|
|
virStoragePoolGetAutostart;
|
|
virStoragePoolNumOfVolumes;
|
|
virStoragePoolListVolumes;
|
|
|
|
virStorageVolGetConnect;
|
|
virStorageVolLookupByName;
|
|
virStorageVolLookupByKey;
|
|
virStorageVolLookupByPath;
|
|
virStorageVolCreateXML;
|
|
virStorageVolDelete;
|
|
virStorageVolFree;
|
|
virStorageVolGetName;
|
|
virStorageVolGetKey;
|
|
virStorageVolGetInfo;
|
|
virStorageVolGetXMLDesc;
|
|
virStorageVolGetPath;
|
|
} LIBVIRT_0.4.0;
|
|
|
|
LIBVIRT_0.4.2 {
|
|
global:
|
|
virDomainBlockPeek;
|
|
virDomainMemoryPeek;
|
|
} LIBVIRT_0.4.1;
|
|
|
|
LIBVIRT_0.4.5 {
|
|
global:
|
|
virConnectFindStoragePoolSources;
|
|
} LIBVIRT_0.4.2;
|
|
|
|
LIBVIRT_0.5.0 {
|
|
global:
|
|
virDomainCreateXML;
|
|
virEventRegisterImpl;
|
|
virConnectDomainEventRegister;
|
|
virConnectDomainEventDeregister;
|
|
|
|
virNodeNumOfDevices;
|
|
virNodeListDevices;
|
|
virNodeDeviceLookupByName;
|
|
virNodeDeviceFree;
|
|
virNodeDeviceGetXMLDesc;
|
|
virNodeDeviceGetName;
|
|
virNodeDeviceGetParent;
|
|
virNodeDeviceNumOfCaps;
|
|
virNodeDeviceListCaps;
|
|
|
|
} LIBVIRT_0.4.5;
|
|
|
|
LIBVIRT_0.6.0 {
|
|
global:
|
|
virConnectRef;
|
|
virDomainRef;
|
|
virNetworkRef;
|
|
virStoragePoolRef;
|
|
virStorageVolRef;
|
|
virNodeDeviceRef;
|
|
|
|
} LIBVIRT_0.5.0;
|
|
|
|
LIBVIRT_0.6.1 {
|
|
global:
|
|
virFreeError;
|
|
virSaveLastError;
|
|
virNodeDeviceDettach;
|
|
virNodeDeviceReAttach;
|
|
virNodeDeviceReset;
|
|
virDomainGetSecurityLabel;
|
|
virNodeGetSecurityModel;
|
|
} LIBVIRT_0.6.0;
|
|
|
|
LIBVIRT_0.6.3 {
|
|
global:
|
|
virNodeDeviceCreateXML;
|
|
virNodeDeviceDestroy;
|
|
} LIBVIRT_0.6.1;
|
|
|
|
LIBVIRT_0.6.4 {
|
|
global:
|
|
virInterfaceGetConnect;
|
|
virConnectNumOfInterfaces;
|
|
virConnectListInterfaces;
|
|
virInterfaceLookupByName;
|
|
virInterfaceLookupByMACString;
|
|
virInterfaceGetName;
|
|
virInterfaceGetMACString;
|
|
virInterfaceGetXMLDesc;
|
|
virInterfaceRef;
|
|
virInterfaceFree;
|
|
virInterfaceDefineXML;
|
|
virInterfaceUndefine;
|
|
virInterfaceCreate;
|
|
virInterfaceDestroy;
|
|
virStorageVolCreateXMLFrom;
|
|
virConnectDomainXMLFromNative;
|
|
virConnectDomainXMLToNative;
|
|
} LIBVIRT_0.6.3;
|
|
|
|
LIBVIRT_0.7.0 {
|
|
global:
|
|
virConnectNumOfDefinedInterfaces;
|
|
virConnectListDefinedInterfaces;
|
|
} LIBVIRT_0.6.4;
|
|
|
|
LIBVIRT_0.7.1 {
|
|
global:
|
|
virSecretGetConnect;
|
|
virConnectNumOfSecrets;
|
|
virConnectListSecrets;
|
|
virSecretLookupByUUID;
|
|
virSecretLookupByUUIDString;
|
|
virSecretLookupByUsage;
|
|
virSecretDefineXML;
|
|
virSecretGetUUID;
|
|
virSecretGetUUIDString;
|
|
virSecretGetUsageType;
|
|
virSecretGetUsageID;
|
|
virSecretGetXMLDesc;
|
|
virSecretSetValue;
|
|
virSecretGetValue;
|
|
virSecretUndefine;
|
|
virSecretRef;
|
|
virSecretFree;
|
|
} LIBVIRT_0.7.0;
|
|
|
|
LIBVIRT_0.7.2 {
|
|
global:
|
|
virStreamNew;
|
|
virStreamRef;
|
|
virStreamSend;
|
|
virStreamRecv;
|
|
virStreamSendAll;
|
|
virStreamRecvAll;
|
|
virStreamEventAddCallback;
|
|
virStreamEventUpdateCallback;
|
|
virStreamEventRemoveCallback;
|
|
virStreamFinish;
|
|
virStreamAbort;
|
|
virStreamFree;
|
|
virDomainMigrateToURI;
|
|
} LIBVIRT_0.7.1;
|
|
|
|
LIBVIRT_0.7.3 {
|
|
global:
|
|
virConnectGetLibVersion;
|
|
virConnectIsEncrypted;
|
|
virConnectIsSecure;
|
|
virDomainIsActive;
|
|
virDomainIsPersistent;
|
|
virNetworkIsActive;
|
|
virNetworkIsPersistent;
|
|
virStoragePoolIsActive;
|
|
virStoragePoolIsPersistent;
|
|
virInterfaceIsActive;
|
|
} LIBVIRT_0.7.2;
|
|
|
|
LIBVIRT_0.7.5 {
|
|
global:
|
|
virConnectCompareCPU;
|
|
virDomainMemoryStats;
|
|
} LIBVIRT_0.7.3;
|
|
|
|
LIBVIRT_0.7.7 {
|
|
global:
|
|
virDomainAttachDeviceFlags;
|
|
virDomainDetachDeviceFlags;
|
|
virConnectBaselineCPU;
|
|
virDomainGetJobInfo;
|
|
virDomainAbortJob;
|
|
} LIBVIRT_0.7.5;
|
|
|
|
LIBVIRT_0.8.0 {
|
|
global:
|
|
virStorageVolWipe;
|
|
virDomainMigrateSetMaxDowntime;
|
|
virConnectDomainEventRegisterAny;
|
|
virConnectDomainEventDeregisterAny;
|
|
virDomainUpdateDeviceFlags;
|
|
virConnectListNWFilters;
|
|
virConnectNumOfNWFilters;
|
|
virNWFilterLookupByName;
|
|
virNWFilterLookupByUUID;
|
|
virNWFilterLookupByUUIDString;
|
|
virNWFilterFree;
|
|
virNWFilterGetName;
|
|
virNWFilterGetUUID;
|
|
virNWFilterGetUUIDString;
|
|
virNWFilterGetXMLDesc;
|
|
virNWFilterRef;
|
|
virNWFilterDefineXML;
|
|
virNWFilterUndefine;
|
|
virDomainManagedSave;
|
|
virDomainHasManagedSaveImage;
|
|
virDomainManagedSaveRemove;
|
|
virDomainSnapshotCreateXML;
|
|
virDomainSnapshotGetXMLDesc;
|
|
virDomainSnapshotNum;
|
|
virDomainSnapshotListNames;
|
|
virDomainSnapshotLookupByName;
|
|
virDomainHasCurrentSnapshot;
|
|
virDomainSnapshotCurrent;
|
|
virDomainRevertToSnapshot;
|
|
virDomainSnapshotDelete;
|
|
virDomainSnapshotFree;
|
|
} LIBVIRT_0.7.7;
|
|
|
|
|
|
LIBVIRT_0.8.1 {
|
|
global:
|
|
virDomainGetBlockInfo;
|
|
} LIBVIRT_0.8.0;
|
|
|
|
|
|
LIBVIRT_0.8.2 {
|
|
global:
|
|
virDomainCreateWithFlags;
|
|
} LIBVIRT_0.8.1;
|
|
|
|
LIBVIRT_0.8.5 {
|
|
global:
|
|
virDomainSetMemoryParameters;
|
|
virDomainGetMemoryParameters;
|
|
virDomainGetVcpusFlags;
|
|
virDomainSetVcpusFlags;
|
|
} LIBVIRT_0.8.2;
|
|
|
|
LIBVIRT_0.8.6 {
|
|
global:
|
|
virDomainOpenConsole;
|
|
virDomainIsUpdated;
|
|
} LIBVIRT_0.8.5;
|
|
|
|
LIBVIRT_0.8.8 {
|
|
global:
|
|
virConnectGetSysinfo;
|
|
} LIBVIRT_0.8.6;
|
|
|
|
LIBVIRT_0.9.0 {
|
|
global:
|
|
virEventRegisterDefaultImpl;
|
|
virEventRunDefaultImpl;
|
|
} LIBVIRT_0.8.8;
|
|
|
|
# .... define new API here using predicted next version number ....
|