mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-30 17:45:23 +00:00
69c6a58a1d
Apps using libvirt will often have code like if (virXXXX() < 0) { virErrorPtr err = virGetLastError(); fprintf(stderr, "Something failed: %s\n", err && err->message ? err->message : "unknown error"); return -1; } Checking for a NULL error object or message leads to very verbose code. A virGetLastErrorMessage() helper from libvirt can simplify this to if (virXXXX() < 0) { fprintf(stderr, "Something failed: %s\n", virGetLastErrorMessage()); return -1; } Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
625 lines
15 KiB
Plaintext
625 lines
15 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;
|
|
|
|
LIBVIRT_0.9.11 {
|
|
global:
|
|
virDomainPMWakeup;
|
|
} LIBVIRT_0.9.10;
|
|
|
|
LIBVIRT_0.9.13 {
|
|
global:
|
|
virConnectListAllDomains;
|
|
virDomainListAllSnapshots;
|
|
virDomainSnapshotHasMetadata;
|
|
virDomainSnapshotIsCurrent;
|
|
virDomainSnapshotListAllChildren;
|
|
virDomainSnapshotRef;
|
|
} LIBVIRT_0.9.11;
|
|
|
|
LIBVIRT_0.10.0 {
|
|
global:
|
|
virDomainGetHostname;
|
|
virConnectRegisterCloseCallback;
|
|
virConnectUnregisterCloseCallback;
|
|
virDomainGetSecurityLabelList;
|
|
virDomainPinEmulator;
|
|
virDomainGetEmulatorPinInfo;
|
|
} LIBVIRT_0.9.13;
|
|
|
|
LIBVIRT_0.10.2 {
|
|
global:
|
|
virConnectListAllInterfaces;
|
|
virConnectListAllNetworks;
|
|
virConnectListAllNodeDevices;
|
|
virConnectListAllNWFilters;
|
|
virConnectListAllSecrets;
|
|
virConnectListAllStoragePools;
|
|
virDomainBlockCommit;
|
|
virNetworkUpdate;
|
|
virNodeGetMemoryParameters;
|
|
virNodeSetMemoryParameters;
|
|
virStoragePoolListAllVolumes;
|
|
} LIBVIRT_0.10.0;
|
|
|
|
LIBVIRT_1.0.0 {
|
|
global:
|
|
virNodeGetCPUMap;
|
|
} LIBVIRT_0.10.2;
|
|
|
|
LIBVIRT_1.0.1 {
|
|
global:
|
|
virDomainFSTrim;
|
|
virDomainSendProcessSignal;
|
|
} LIBVIRT_1.0.0;
|
|
|
|
LIBVIRT_1.0.2 {
|
|
global:
|
|
virDomainOpenChannel;
|
|
virTypedParamsAddBoolean;
|
|
virTypedParamsAddDouble;
|
|
virTypedParamsAddFromString;
|
|
virTypedParamsAddInt;
|
|
virTypedParamsAddLLong;
|
|
virTypedParamsAddString;
|
|
virTypedParamsAddUInt;
|
|
virTypedParamsAddULLong;
|
|
virTypedParamsClear;
|
|
virTypedParamsFree;
|
|
virTypedParamsGet;
|
|
virTypedParamsGetBoolean;
|
|
virTypedParamsGetDouble;
|
|
virTypedParamsGetInt;
|
|
virTypedParamsGetLLong;
|
|
virTypedParamsGetString;
|
|
virTypedParamsGetUInt;
|
|
virTypedParamsGetULLong;
|
|
} LIBVIRT_1.0.1;
|
|
|
|
LIBVIRT_1.0.3 {
|
|
global:
|
|
virDomainGetJobStats;
|
|
virDomainMigrateGetCompressionCache;
|
|
virDomainMigrateSetCompressionCache;
|
|
virNodeDeviceLookupSCSIHostByWWN;
|
|
} LIBVIRT_1.0.2;
|
|
|
|
LIBVIRT_1.0.5 {
|
|
global:
|
|
virNodeDeviceDetachFlags;
|
|
} LIBVIRT_1.0.3;
|
|
|
|
LIBVIRT_1.0.6 {
|
|
global:
|
|
virGetLastErrorMessage;
|
|
} LIBVIRT_1.0.5;
|
|
|
|
# .... define new API here using predicted next version number ....
|