mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-02 11:21:12 +00:00
99fd69c3de
Qemu is adding the ability to do a partial rebase. That is, given: base <- intermediate <- current virDomainBlockPull will produce: current but qemu now has the ability to leave base in the chain, to produce: base <- current Note that current qemu can only do a forward merge, and only with the current image as the destination, which is fully described by this API without flags. But in the future, it may be possible to enhance this API for additional scenarios by using flags: Merging the current image back into a previous image (that is, undoing a live snapshot), could be done by passing base as the destination and flags with a bit requesting a backward merge. Merging any other part of the image chain, whether forwards (the backing image contents are pulled into the newer file) or backwards (the deltas recorded in the newer file are merged back into the backing file), could also be done by passing a new flag that says that base should be treated as an XML snippet rather than an absolute path name, where the XML could then supply the additional instructions of which part of the image chain is being merged into any other part. * include/libvirt/libvirt.h.in (virDomainBlockRebase): New declaration. * src/libvirt.c (virDomainBlockRebase): Implement it. * src/libvirt_public.syms (LIBVIRT_0.9.10): Export it. * src/driver.h (virDrvDomainBlockRebase): New driver callback. * src/rpc/gendispatch.pl (long_legacy): Add exemption. * docs/apibuild.py (long_legacy_functions): Likewise.
533 lines
13 KiB
Plaintext
533 lines
13 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:
|
|
virDomainGetBlkioParameters;
|
|
virDomainMigrateSetMaxSpeed;
|
|
virDomainSetBlkioParameters;
|
|
virDomainSetMemoryFlags;
|
|
virEventRegisterDefaultImpl;
|
|
virEventRunDefaultImpl;
|
|
virStorageVolDownload;
|
|
virStorageVolUpload;
|
|
} LIBVIRT_0.8.8;
|
|
|
|
LIBVIRT_0.9.2 {
|
|
global:
|
|
virDomainGetSchedulerParametersFlags;
|
|
virDomainGetState;
|
|
virDomainInjectNMI;
|
|
virDomainMigrate2;
|
|
virDomainMigrateToURI2;
|
|
virDomainScreenshot;
|
|
virDomainSetSchedulerParametersFlags;
|
|
virInterfaceChangeBegin;
|
|
virInterfaceChangeCommit;
|
|
virInterfaceChangeRollback;
|
|
} LIBVIRT_0.9.0;
|
|
|
|
LIBVIRT_0.9.3 {
|
|
global:
|
|
virDomainGetControlInfo;
|
|
virDomainGetVcpuPinInfo;
|
|
virDomainPinVcpuFlags;
|
|
virDomainSendKey;
|
|
virEventAddHandle;
|
|
virEventAddTimeout;
|
|
virEventRemoveHandle;
|
|
virEventRemoveTimeout;
|
|
virEventUpdateHandle;
|
|
virEventUpdateTimeout;
|
|
virNodeGetCPUStats;
|
|
virNodeGetMemoryStats;
|
|
} LIBVIRT_0.9.2;
|
|
|
|
LIBVIRT_0.9.4 {
|
|
global:
|
|
virDomainRestoreFlags;
|
|
virDomainSaveFlags;
|
|
virDomainSaveImageDefineXML;
|
|
virDomainSaveImageGetXMLDesc;
|
|
virDomainUndefineFlags;
|
|
virDomainDestroyFlags;
|
|
virDomainBlockJobAbort;
|
|
virDomainGetBlockJobInfo;
|
|
virDomainBlockJobSetSpeed;
|
|
virDomainBlockPull;
|
|
} LIBVIRT_0.9.3;
|
|
|
|
LIBVIRT_0.9.5 {
|
|
global:
|
|
virDomainBlockStatsFlags;
|
|
virDomainMigrateGetMaxSpeed;
|
|
virDomainSnapshotGetConnect;
|
|
virDomainSnapshotGetDomain;
|
|
virDomainSnapshotGetName;
|
|
} LIBVIRT_0.9.4;
|
|
|
|
LIBVIRT_0.9.7 {
|
|
global:
|
|
virDomainOpenGraphics;
|
|
virDomainReset;
|
|
virDomainSnapshotGetParent;
|
|
virDomainSnapshotListChildrenNames;
|
|
virDomainSnapshotNumChildren;
|
|
} LIBVIRT_0.9.5;
|
|
|
|
LIBVIRT_0.9.8 {
|
|
global:
|
|
virConnectIsAlive;
|
|
virConnectSetKeepAlive;
|
|
virDomainBlockResize;
|
|
virDomainGetBlockIoTune;
|
|
virDomainSetBlockIoTune;
|
|
virNodeSuspendForDuration;
|
|
} LIBVIRT_0.9.7;
|
|
|
|
LIBVIRT_0.9.9 {
|
|
global:
|
|
virDomainGetInterfaceParameters;
|
|
virDomainGetNumaParameters;
|
|
virDomainSetInterfaceParameters;
|
|
virDomainSetNumaParameters;
|
|
} LIBVIRT_0.9.8;
|
|
|
|
LIBVIRT_0.9.10 {
|
|
global:
|
|
virDomainBlockRebase;
|
|
virDomainGetCPUStats;
|
|
virDomainGetDiskErrors;
|
|
virDomainGetMetadata;
|
|
virDomainPMSuspendForDuration;
|
|
virDomainSetMetadata;
|
|
virDomainShutdownFlags;
|
|
virStorageVolResize;
|
|
virStorageVolWipePattern;
|
|
} LIBVIRT_0.9.9;
|
|
|
|
# .... define new API here using predicted next version number ....
|