libvirt/src/libvirt_public.syms
Daniel P. Berrange 2ed6cc7bec Expose event loop implementation as a public API
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
2011-03-07 14:16:13 +00:00

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 ....