libvirt/src/libvirt_private.syms

640 lines
13 KiB
Plaintext
Raw Normal View History

#
# General private symbols. Add symbols here, and see Makefile.am for
# more details.
#
# buf.h
virBufferVSprintf;
virBufferEscapeString;
virBufferAdd;
virBufferAddChar;
virBufferContentAndReset;
virBufferError;
virBufferURIEncodeString;
virBufferFreeAndReset;
# caps.h
virCapabilitiesAddGuest;
virCapabilitiesAddGuestDomain;
virCapabilitiesAddGuestFeature;
virCapabilitiesAddHostMigrateTransport;
virCapabilitiesAddHostNUMACell;
virCapabilitiesAddHostFeature;
virCapabilitiesDefaultGuestArch;
virCapabilitiesDefaultGuestEmulator;
virCapabilitiesDefaultGuestMachine;
virCapabilitiesFormatXML;
virCapabilitiesFree;
virCapabilitiesFreeNUMAInfo;
virCapabilitiesNew;
virCapabilitiesSetMacPrefix;
virCapabilitiesGenerateMac;
virCapabilitiesSetEmulatorRequired;
virCapabilitiesIsEmulatorRequired;
virCapabilitiesAllocMachines;
virCapabilitiesFreeMachines;
virCapabilitiesSetHostCPU;
# conf.h
virConfNew;
virConfReadFile;
virConfReadMem;
virConfFree;
virConfFreeValue;
virConfGetValue;
virConfSetValue;
virConfWriteFile;
virConfWriteMem;
# cgroup.h
virCgroupForDomain;
virCgroupForDriver;
virCgroupRemove;
virCgroupFree;
virCgroupAddTask;
virCgroupSetMemory;
virCgroupGetMemoryUsage;
virCgroupSetCpuShares;
virCgroupGetCpuShares;
virCgroupDenyDevicePath;
virCgroupAllowDevicePath;
virCgroupDenyAllDevices;
virCgroupAllowDeviceMajor;
virCgroupControllerTypeToString;
virCgroupControllerTypeFromString;
virCgroupGetCpuacctUsage;
virCgroupGetFreezerState;
virCgroupSetFreezerState;
Adds CPU selection infrastructure Each driver supporting CPU selection must fill in host CPU capabilities. When filling them, drivers for hypervisors running on the same node as libvirtd can use cpuNodeData() to obtain raw CPU data. Other drivers, such as VMware, need to implement their own way of getting such data. Raw data can be decoded into virCPUDefPtr using cpuDecode() function. When implementing virConnectCompareCPU(), a hypervisor driver can just call cpuCompareXML() function with host CPU capabilities. For each guest for which a driver supports selecting CPU models, it must set the appropriate feature in guest's capabilities: virCapabilitiesAddGuestFeature(guest, "cpuselection", 1, 0) Actions needed when a domain is being created depend on whether the hypervisor understands raw CPU data (currently CPUID for i686, x86_64 architectures) or symbolic names has to be used. Typical use by hypervisors which prefer CPUID (such as VMware and Xen): - convert guest CPU configuration from domain's XML into a set of raw data structures each representing one of the feature policies: cpuEncode(conn, architecture, guest_cpu_config, &forced_data, &required_data, &optional_data, &disabled_data, &forbidden_data) - create a mask or whatever the hypervisor expects to see and pass it to the hypervisor Typical use by hypervisors with symbolic model names (such as QEMU): - get raw CPU data for a computed guest CPU: cpuGuestData(conn, host_cpu, guest_cpu_config, &data) - decode raw data into virCPUDefPtr with a possible restriction on allowed model names: cpuDecode(conn, guest, data, n_allowed_models, allowed_models) - pass guest->model and guest->features to the hypervisor * src/cpu/cpu.c src/cpu/cpu.h src/cpu/cpu_generic.c src/cpu/cpu_generic.h src/cpu/cpu_map.c src/cpu/cpu_map.h src/cpu/cpu_x86.c src/cpu/cpu_x86.h src/cpu/cpu_x86_data.h * configure.in: check for CPUID instruction * src/Makefile.am: glue the new files in * src/libvirt_private.syms: add new private symbols * po/POTFILES.in: add new cpu files containing translatable strings
2009-12-18 15:02:11 +00:00
# cpu.h
cpuBaseline;
cpuBaselineXML;
Adds CPU selection infrastructure Each driver supporting CPU selection must fill in host CPU capabilities. When filling them, drivers for hypervisors running on the same node as libvirtd can use cpuNodeData() to obtain raw CPU data. Other drivers, such as VMware, need to implement their own way of getting such data. Raw data can be decoded into virCPUDefPtr using cpuDecode() function. When implementing virConnectCompareCPU(), a hypervisor driver can just call cpuCompareXML() function with host CPU capabilities. For each guest for which a driver supports selecting CPU models, it must set the appropriate feature in guest's capabilities: virCapabilitiesAddGuestFeature(guest, "cpuselection", 1, 0) Actions needed when a domain is being created depend on whether the hypervisor understands raw CPU data (currently CPUID for i686, x86_64 architectures) or symbolic names has to be used. Typical use by hypervisors which prefer CPUID (such as VMware and Xen): - convert guest CPU configuration from domain's XML into a set of raw data structures each representing one of the feature policies: cpuEncode(conn, architecture, guest_cpu_config, &forced_data, &required_data, &optional_data, &disabled_data, &forbidden_data) - create a mask or whatever the hypervisor expects to see and pass it to the hypervisor Typical use by hypervisors with symbolic model names (such as QEMU): - get raw CPU data for a computed guest CPU: cpuGuestData(conn, host_cpu, guest_cpu_config, &data) - decode raw data into virCPUDefPtr with a possible restriction on allowed model names: cpuDecode(conn, guest, data, n_allowed_models, allowed_models) - pass guest->model and guest->features to the hypervisor * src/cpu/cpu.c src/cpu/cpu.h src/cpu/cpu_generic.c src/cpu/cpu_generic.h src/cpu/cpu_map.c src/cpu/cpu_map.h src/cpu/cpu_x86.c src/cpu/cpu_x86.h src/cpu/cpu_x86_data.h * configure.in: check for CPUID instruction * src/Makefile.am: glue the new files in * src/libvirt_private.syms: add new private symbols * po/POTFILES.in: add new cpu files containing translatable strings
2009-12-18 15:02:11 +00:00
cpuCompare;
cpuCompareXML;
cpuDataFree;
cpuDecode;
cpuEncode;
cpuGuestData;
cpuNodeData;
# cpu_conf.h
virCPUDefFree;
virCPUDefParseXML;
virCPUDefFormat;
virCPUDefFormatBuf;
virCPUDefAddFeature;
# datatypes.h
virGetDomain;
virGetInterface;
virGetNetwork;
virGetStoragePool;
virGetStorageVol;
virGetSecret;
virUnrefStorageVol;
virGetNodeDevice;
virUnrefDomain;
virUnrefConnect;
virUnrefSecret;
virGetStream;
virUnrefStream;
# domain_conf.h
virDiskNameToBusDeviceIndex;
virDiskNameToIndex;
virDomainAssignDef;
virDomainConfigFile;
virDomainCpuSetFormat;
virDomainCpuSetParse;
virDomainChrDefFree;
virDomainChrTypeFromString;
virDomainChrTypeToString;
virDomainDefFormat;
virDomainDefFree;
virDomainDefParseFile;
virDomainDefParseNode;
virDomainDefParseString;
virDomainDeleteConfig;
virDomainDeviceDefFree;
virDomainDeviceDefParse;
virDomainDeviceTypeToString;
virDomainDiskBusTypeToString;
virDomainDiskDefFree;
virDomainDiskDeviceTypeToString;
virDomainDiskInsert;
virDomainDiskInsertPreAlloced;
virDomainDiskDefAssignAddress;
virDomainControllerInsert;
virDomainControllerInsertPreAlloced;
virDomainFindByID;
virDomainFindByName;
virDomainFindByUUID;
virDomainGetRootFilesystem;
virDomainGraphicsTypeFromString;
virDomainGraphicsDefFree;
2009-04-24 12:19:00 +00:00
virDomainHostdevDefFree;
virDomainHostdevModeTypeToString;
virDomainHostdevSubsysTypeToString;
virDomainInputDefFree;
virDomainLifecycleTypeFromString;
virDomainLifecycleTypeToString;
virDomainLoadAllConfigs;
virDomainNetDefFree;
virDomainNetTypeToString;
virDomainRemoveInactive;
virDomainSaveXML;
virDomainSaveConfig;
virDomainSaveStatus;
virDomainSoundDefFree;
virDomainSoundModelTypeFromString;
virDomainSoundModelTypeToString;
virDomainWatchdogModelTypeFromString;
virDomainWatchdogModelTypeToString;
virDomainWatchdogActionTypeFromString;
virDomainWatchdogActionTypeToString;
virDomainVideoDefFree;
virDomainVideoTypeToString;
virDomainVideoTypeFromString;
virDomainVideoDefaultRAM;
virDomainVideoDefaultType;
virDomainVirtTypeToString;
virDomainFSDefFree;
virDomainObjLock;
virDomainObjUnlock;
2009-01-19 21:06:26 +00:00
virDomainStateTypeToString;
virDomainStateTypeFromString;
virDomainObjIsDuplicate;
Convert virDomainObjListPtr to use a hash of domain objects The current virDomainObjListPtr object stores domain objects in an array. This means that to find a particular objects requires O(n) time, and more critically acquiring O(n) mutex locks. The new impl replaces the array with a virHashTable, keyed off UUID. Finding a object based on UUID is now O(1) time, and only requires a single mutex lock. Finding by name/id is unchanged in complexity. In changing this, all code which iterates over the array had to be updated to use a hash table iterator function callback. Several of the functions which were identically duplicating across all drivers were pulled into domain_conf.c * src/conf/domain_conf.h, src/conf/domain_conf.c: Change virDomainObjListPtr to use virHashTable. Add a initializer method virDomainObjListInit, and rename virDomainObjListFree to virDomainObjListDeinit, since its not actually freeing the container, only its contents. Also add some convenient methods virDomainObjListGetInactiveNames, virDomainObjListGetActiveIDs and virDomainObjListNumOfDomains which can be used to implement the correspondingly named public API entry points in drivers * src/libvirt_private.syms: Export new methods from domain_conf.h * src/lxc/lxc_driver.c, src/opennebula/one_driver.c, src/openvz/openvz_conf.c, src/openvz/openvz_driver.c, src/qemu/qemu_driver.c, src/test/test_driver.c, src/uml/uml_driver.c, src/vbox/vbox_tmpl.c: Update all code to deal with hash tables instead of arrays for domains
2009-10-09 11:33:51 +00:00
virDomainObjListGetInactiveNames;
virDomainObjListGetActiveIDs;
virDomainObjListNumOfDomains;
virDomainObjListInit;
virDomainObjListDeinit;
virDomainObjRef;
virDomainObjUnref;
virDomainDeviceAddressIsValid;
virDomainDevicePCIAddressIsValid;
virDomainDeviceInfoIsSet;
virDomainControllerTypeToString;
virDomainControllerDefFree;
virDomainDeviceAddressTypeToString;
virDomainDefAddImplicitControllers;
virDomainDefClearPCIAddresses;
virDomainDefClearDeviceAliases;
virDomainDeviceInfoIterate;
virDomainClockOffsetTypeToString;
virDomainClockOffsetTypeFromString;
# domain_event.h
virDomainEventCallbackListAdd;
virDomainEventCallbackListAddID;
virDomainEventCallbackListFree;
virDomainEventCallbackListRemove;
virDomainEventCallbackListRemoveID;
virDomainEventCallbackListRemoveConn;
virDomainEventCallbackListMarkDelete;
virDomainEventCallbackListMarkDeleteID;
virDomainEventCallbackListPurgeMarked;
virDomainEventCallbackListCount;
virDomainEventCallbackListCountID;
virDomainEventCallbackListEventID;
virDomainEventQueueNew;
virDomainEventQueueFree;
virDomainEventQueuePop;
virDomainEventQueuePush;
virDomainEventNew;
virDomainEventNewFromDom;
virDomainEventNewFromObj;
virDomainEventNewFromDef;
virDomainEventRebootNewFromDom;
virDomainEventRebootNewFromObj;
virDomainEventRTCChangeNewFromDom;
virDomainEventRTCChangeNewFromObj;
virDomainEventFree;
virDomainEventDispatchDefaultFunc;
virDomainEventDispatch;
virDomainEventQueueDispatch;
# ebtables.h
ebtablesAddForwardAllowIn;
ebtablesAddForwardPolicyReject;
ebtablesContextNew;
ebtablesRemoveForwardAllowIn;
# event.h
virEventAddHandle;
virEventAddTimeout;
virEventRemoveHandle;
virEventRemoveTimeout;
virEventUpdateHandle;
virEventUpdateTimeout;
# hash.h
virHashAddEntry;
virHashCreate;
virHashForEach;
virHashFree;
virHashLookup;
virHashRemoveEntry;
virHashRemoveSet;
virHashSearch;
virHashSize;
# interface_conf.h
virInterfaceDefFormat;
virInterfaceDefParseFile;
virInterfaceDefParseString;
virInterfaceDefParseNode;
virInterfaceDefFree;
virInterfaceFindByName;
virInterfaceFindByMACString;
virInterfaceAssignDef;
virInterfaceRemove;
virInterfaceObjLock;
virInterfaceObjUnlock;
virInterfaceObjListFree;
# iptables.h
iptablesAddForwardAllowCross;
iptablesAddForwardAllowIn;
iptablesAddForwardAllowOut;
iptablesAddForwardAllowRelatedIn;
iptablesAddForwardMasquerade;
iptablesAddForwardRejectIn;
iptablesAddForwardRejectOut;
iptablesAddTcpInput;
iptablesAddUdpInput;
iptablesContextFree;
iptablesContextNew;
iptablesRemoveForwardAllowCross;
iptablesRemoveForwardAllowIn;
iptablesRemoveForwardAllowOut;
iptablesRemoveForwardAllowRelatedIn;
iptablesRemoveForwardMasquerade;
iptablesRemoveForwardRejectIn;
iptablesRemoveForwardRejectOut;
iptablesRemoveTcpInput;
iptablesRemoveUdpInput;
# libvirt_internal.h
virDrvSupportsFeature;
virDomainMigratePrepare;
virDomainMigratePerform;
virDomainMigrateFinish;
virDomainMigratePrepare2;
virDomainMigrateFinish2;
virDomainMigratePrepareTunnel;
virRegisterDriver;
virRegisterInterfaceDriver;
virRegisterNetworkDriver;
virRegisterStorageDriver;
virRegisterDeviceMonitor;
virRegisterSecretDriver;
# json.h
virJSONValueFree;
virJSONValueNewString;
virJSONValueNewStringLen;
virJSONValueNewNumberInt;
virJSONValueNewNumberUint;
virJSONValueNewNumberLong;
virJSONValueNewNumberUlong;
virJSONValueNewNumberDouble;
virJSONValueNewBoolean;
virJSONValueNewNull;
virJSONValueNewArray;
virJSONValueNewObject;
virJSONValueObjectAppend;
virJSONValueObjectAppendString;
virJSONValueObjectAppendNumberInt;
virJSONValueObjectAppendNumberUint;
virJSONValueObjectAppendNumberLong;
virJSONValueObjectAppendNumberUlong;
virJSONValueObjectAppendNumberDouble;
virJSONValueObjectAppendBoolean;
virJSONValueObjectAppendNull;
virJSONValueArrayAppend;
virJSONValueObjectHasKey;
virJSONValueObjectGet;
virJSONValueArraySize;
virJSONValueArrayGet;
virJSONValueGetString;
virJSONValueGetNumberInt;
virJSONValueGetNumberUint;
virJSONValueGetNumberLong;
virJSONValueGetNumberUlong;
virJSONValueGetNumberDouble;
virJSONValueGetBoolean;
virJSONValueIsNull;
virJSONValueObjectGetString;
virJSONValueObjectGetNumberInt;
virJSONValueObjectGetNumberUint;
virJSONValueObjectGetNumberLong;
virJSONValueObjectGetNumberUlong;
virJSONValueObjectGetNumberDouble;
virJSONValueObjectGetBoolean;
virJSONValueObjectIsNull;
virJSONValueFromString;
virJSONValueToString;
# logging.h
virLogMessage;
virLogGetNbFilters;
virLogGetNbOutputs;
virLogGetFilters;
virLogGetOutputs;
virLogGetDefaultPriority;
virLogSetDefaultPriority;
virLogSetFromEnv;
virLogDefineFilter;
virLogDefineOutput;
virLogParseDefaultPriority;
virLogParseFilters;
virLogParseOutputs;
virLogStartup;
virLogShutdown;
virLogReset;
virLogLock;
virLogUnlock;
# memory.h
virAlloc;
virAllocN;
virReallocN;
virFree;
# network.h
virSocketAddrIsNetmask;
virSocketCheckNetmask;
virSocketFormatAddr;
virSocketGetPort;
virSocketGetRange;
virSocketParseAddr;
virSocketParseIpv4Addr;
virSocketParseIpv6Addr;
virSocketSetPort;
# network_conf.h
virNetworkAssignDef;
virNetworkConfigFile;
virNetworkDefFormat;
virNetworkDefFree;
virNetworkDefParseFile;
virNetworkDefParseNode;
virNetworkDefParseString;
virNetworkDeleteConfig;
virNetworkFindByName;
virNetworkFindByUUID;
virNetworkLoadAllConfigs;
virNetworkObjListFree;
virNetworkDefParseNode;
virNetworkRemoveInactive;
virNetworkSaveConfig;
virNetworkSetBridgeName;
virNetworkObjLock;
virNetworkObjUnlock;
# nodeinfo.h
2009-06-03 13:28:02 +00:00
nodeGetInfo;
nodeCapsInitNUMA;
nodeGetCellsFreeMemory;
nodeGetFreeMemory;
# node_device_conf.h
virNodeDeviceHasCap;
virNodeDeviceObjRemove;
virNodeDevCapTypeToString;
virNodeDeviceFindByName;
virNodeDeviceFindBySysfsPath;
virNodeDeviceObjListFree;
virNodeDeviceDefFree;
virNodeDevCapsDefFree;
virNodeDeviceDefFormat;
virNodeDeviceDefParseString;
virNodeDeviceObjLock;
virNodeDeviceObjUnlock;
virNodeDeviceAssignDef;
virNodeDeviceGetWWNs;
virNodeDeviceGetParentHost;
# pci.h
pciGetDevice;
pciFreeDevice;
pciDettachDevice;
pciReAttachDevice;
pciWaitForDeviceCleanup;
pciResetDevice;
pciDeviceSetManaged;
pciDeviceGetManaged;
pciDeviceListNew;
pciDeviceListFree;
pciDeviceListAdd;
pciDeviceListDel;
pciDeviceFileIterate;
pciDeviceListCount;
pciDeviceListGet;
pciDeviceListSteal;
pciDeviceIsAssignable;
# processinfo.h
virProcessInfoSetAffinity;
virProcessInfoGetAffinity;
# qparams.h
qparam_get_query;
qparam_query_parse;
free_qparam_set;
# secret_conf.h
virSecretDefFree;
virSecretDefParseString;
virSecretDefParseFile;
virSecretDefFormat;
# security.h
virSecurityDriverVerify;
virSecurityDriverStartup;
virSecurityDriverInit;
virSecurityDriverSetDOI;
virSecurityDriverGetDOI;
virSecurityDriverGetModel;
# storage_conf.h
virStoragePoolDefFormat;
virStoragePoolDefFree;
virStoragePoolDefParseString;
virStoragePoolDefParseFile;
virStoragePoolDefParseNode;
virStoragePoolLoadAllConfigs;
virStoragePoolObjAssignDef;
virStoragePoolObjClearVols;
virStoragePoolObjDeleteDef;
virStoragePoolObjFindByName;
virStoragePoolObjFindByUUID;
virStoragePoolObjListFree;
virStoragePoolObjRemove;
virStoragePoolObjSaveDef;
virStoragePoolSourceFree;
virStoragePoolDefParseSourceString;
virStoragePoolSourceListNewSource;
virStoragePoolSourceListFormat;
virStorageVolDefFindByKey;
virStorageVolDefFindByName;
virStorageVolDefFindByPath;
virStorageVolDefFormat;
virStorageVolDefFree;
virStorageVolDefParseFile;
virStorageVolDefParseString;
virStorageVolDefParseNode;
virStoragePoolFormatDiskTypeToString;
virStoragePoolFormatFileSystemTypeToString;
virStoragePoolFormatFileSystemNetTypeToString;
virStoragePoolTypeFromString;
virStoragePartedFsTypeTypeToString;
virStoragePoolObjLock;
virStoragePoolObjUnlock;
# storage_encryption_conf.h
virStorageEncryptionFree;
virStorageEncryptionParseNode;
virStorageEncryptionFormat;
virStorageGenerateQcowPassphrase;
# storage_file.h
virStorageFileFormatTypeToString;
virStorageFileFormatTypeFromString;
virStorageFileGetMetadata;
virStorageFileGetMetadataFromFD;
2009-01-15 19:56:05 +00:00
# threads.h
virMutexInit;
virMutexDestroy;
virMutexLock;
virMutexUnlock;
virCondInit;
virCondDestroy;
virCondWait;
virCondWaitUntil;
2009-01-15 19:56:05 +00:00
virCondSignal;
virCondBroadcast;
# util.h
virFileReadAll;
virFileWriteStr;
virStrToLong_i;
virStrToLong_ll;
virStrToLong_ull;
virStrToLong_ui;
virStrToDouble;
virFileLinkPointsTo;
2009-04-01 10:26:22 +00:00
virFileResolveLink;
saferead;
safewrite;
safezero;
virMacAddrCompare;
virEnumFromString;
virEnumToString;
virEventAddHandle;
virEventRemoveHandle;
virExec;
virExecDaemonize;
virSetCloseExec;
2009-01-20 16:36:34 +00:00
virSetNonBlock;
virFormatMacAddr;
virGetHostnameLocalhost;
virGetHostname;
virParseMacAddr;
virFileDeletePid;
virFindFileInPath;
virFileExists;
virFileHasSuffix;
virFileLinkPointsTo;
virFileMakePath;
virFileAbsPath;
virFileOpenTty;
virFileReadLimFD;
virFilePid;
virFileReadPid;
virFileLinkPointsTo;
virParseNumber;
virAsprintf;
virRun;
virSkipSpaces;
2009-01-06 17:46:46 +00:00
virKillProcess;
2009-01-22 19:41:48 +00:00
virGetUserDirectory;
virGetUserName;
virGetUserID;
virGetGroupID;
virFileFindMountPoint;
virFileWaitForDevices;
virFileMatchesNameSuffix;
virArgvToString;
# usb.h
usbGetDevice;
usbFindDevice;
usbFreeDevice;
usbDeviceGetBus;
usbDeviceGetDevno;
usbDeviceFileIterate;
# uuid.h
virUUIDFormat;
virUUIDGenerate;
virUUIDParse;
# virterror_internal.h
virReportErrorHelper;
virErrorMsg;
virRaiseErrorFull;
virReportSystemErrorFull;
virReportOOMErrorFull;
virStrerror;
virSetError;
# xml.h
virXPathBoolean;
virXPathLong;
virXPathNode;
virXPathNodeSet;
virXPathString;
virXMLPropString;
virXPathStringLimit;
virXPathBoolean;
virXPathNumber;
virXPathULong;
virXPathLongLong;
virXPathULongLong;
virXPathLongHex;
virXPathULongHex;