# HG changeset patch
# User john.levon(a)sun.com
# Date 1230005985 28800
# Node ID 9621540df10095ea8b0cdc83cdd3d17a68509a64
# Parent 60090fd4e447795742265241b39f2759d9530514
Split out version script into multiple files
Some (private) symbols disappear depending on build options. Introduce
infrastructure to account for this correctly, and use it for
--enable-debug related symbols.
Signed-off-by: John Levon <john.levon(a)sun.com>
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
@@ -195,6 +195,7 @@ AC_ARG_ENABLE([debug],
AC_ARG_ENABLE([debug],
[AC_HELP_STRING([--enable-debug=no/yes],
[enable debugging output])],[],[enable_debug=yes])
+AM_CONDITIONAL([ENABLE_DEBUG], test x"$enable_debug" = x"yes")
if test x"$enable_debug" = x"yes"; then
AC_DEFINE([ENABLE_DEBUG], [], [whether debugging is enabled])
fi
@@ -1253,7 +1254,6 @@ AC_OUTPUT(Makefile src/Makefile include/
gnulib/lib/Makefile \
gnulib/tests/Makefile \
libvirt.pc libvirt.spec mingw32-libvirt.spec \
- src/libvirt_sym.version \
include/libvirt/Makefile include/libvirt/libvirt.h \
python/Makefile python/tests/Makefile \
qemud/Makefile \
diff --git a/src/Makefile.am b/src/Makefile.am
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -191,6 +191,8 @@ libvirt_driver_la_SOURCES = \
libvirt_driver_la_CFLAGS = $(XEN_CFLAGS) $(NUMACTL_CFLAGS)
libvirt_driver_la_LDFLAGS = $(XEN_LIBS) $(NUMACTL_LIBS)
+
+PRIVSYMFILES = libvirt_private.syms
if WITH_TEST
if WITH_DRIVER_MODULES
@@ -390,31 +392,65 @@ EXTRA_DIST += \
$(NODE_DEVICE_DRIVER_HAL_SOURCES) \
$(NODE_DEVICE_DRIVER_DEVKIT_SOURCES)
+#
+# Build our version script. This is composed of three parts:
+#
+# 1. libvirt_public.syms - public API. These functions are always
+# present in the library and should never change incompatibly.
+#
+# 2. libvirt_private.syms - private API. These symbols are private and
+# semantics may change on every release, hence the version number is
+# spliced in at build time. This ensures that if libvirtd, virsh, or a
+# driver module was built against one libvirt release, it will refuse to
+# load with another where symbols may have same names but different
+# semantics. Such symbols should never be visible in an (installed)
+# public header file.
+#
+# 3. libvirt_*.syms - dynamic private API. Like libvirt_private.syms,
+# except that build options (such as --enable-debug) can mean these
+# symbols aren't present at all.
+#
+
+if ENABLE_DEBUG
+PRIVSYMFILES += libvirt_debug.syms
+endif
+
+EXTRA_DIST += libvirt_public.syms $(PRIVSYMFILES)
+
+libvirt.syms: libvirt_public.syms $(PRIVSYMFILES)
+ rm -f $@-tmp
+ cat $(srcdir)/libvirt_public.syms >$@-tmp
+ printf "\n\n# Private symbols\n\n" >>$@-tmp
+ printf "LIBVIRT_PRIVATE_@VERSION@ {\n\n" >>$@-tmp
+ printf "global:\n\n" >>$@-tmp
+ for file in $(PRIVSYMFILES); do \
+ cat $(srcdir)/$${file} >>$@-tmp ; \
+ done
+ printf "\n\nlocal:\n*;\n\n};" >>$@-tmp
+ mv $@-tmp libvirt.syms
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
libvirt_la_LIBADD += \
@CYGWIN_EXTRA_LIBADD@ ../gnulib/lib/libgnu.la
-libvirt_la_LDFLAGS = @VERSION_SCRIPT_FLAGS(a)libvirt_sym.version \
+libvirt_la_LDFLAGS = @VERSION_SCRIPT_FLAGS(a)libvirt.syms \
-version-info @LIBVIRT_VERSION_INFO@ \
$(COVERAGE_CFLAGS:-f%=-Wc,-f%) \
$(LIBXML_LIBS) $(SELINUX_LIBS) \
$(XEN_LIBS) $(DRIVER_MODULE_LIBS) \
@CYGWIN_EXTRA_LDFLAGS@ @MINGW_EXTRA_LDFLAGS@
libvirt_la_CFLAGS = $(COVERAGE_CFLAGS) -DIN_LIBVIRT
-libvirt_la_DEPENDENCIES = $(libvirt_la_LIBADD) libvirt_sym.version
+libvirt_la_DEPENDENCIES = $(libvirt_la_LIBADD) libvirt.syms
# Create an automake "convenience library" version of libvirt_la,
# just for testing, since the test harness requires access to internal
# bits and pieces that we don't want to make publicly accessible.
noinst_LTLIBRARIES += libvirt_test.la
-# Convert libvirt_sym.version
-# to libvirt_test_sym.version, and
-# remove -version-info X.Y.Z (not needed since this is a convenience library.
+# Remove version script from convenience library
test_LDFLAGS = \
$$(echo '$(libvirt_la_LDFLAGS)' \
- |sed 's!-Wl,--v.*_sym\.version!!' \
+ |sed 's!@VERSION_SCRIPT_FLAGS(a)libvirt.syms!!' \
|sed 's!-version-info @LIBVIRT_VERSION_INFO@!!')
# Just like the above, but with a slightly different set of public symbols.
@@ -438,7 +474,7 @@ virsh_LDADD = \
../gnulib/lib/libgnu.la \
$(VIRSH_LIBS)
virsh_CFLAGS = $(COVERAGE_CFLAGS) $(READLINE_CFLAGS) $(NUMACTL_CFLAGS)
-BUILT_SOURCES = virsh-net-edit.c virsh-pool-edit.c
+BUILT_SOURCES = virsh-net-edit.c virsh-pool-edit.c libvirt.syms
virsh-net-edit.c: virsh.c Makefile.am
rm -f $@-tmp
diff --git a/src/libvirt_debug.syms b/src/libvirt_debug.syms
new file mode 100644
--- /dev/null
+++ b/src/libvirt_debug.syms
@@ -0,0 +1,19 @@
+#
+# These symbols are dependent upon --enable-debug.
+#
+
+
+# libvirt_internal.h
+debugFlag;
+
+
+# logging.h
+virLogMessage;
+virLogSetDefaultPriority;
+virLogDefineFilter;
+virLogDefineOutput;
+virLogParseFilters;
+virLogParseOutputs;
+virLogStartup;
+virLogShutdown;
+virLogReset;
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
new file mode 100644
--- /dev/null
+++ b/src/libvirt_private.syms
@@ -0,0 +1,346 @@
+#
+# General private symbols. See Makefile.am.
+#
+
+
+# bridge.h
+brAddBridge;
+brAddInterface;
+brAddTap;
+brDeleteBridge;
+brInit;
+brSetEnableSTP;
+brSetForwardDelay;
+brSetInetAddress;
+brSetInetNetmask;
+brSetInterfaceUp;
+brShutdown;
+
+
+# buf.h
+virBufferVSprintf;
+virBufferEscapeString;
+virBufferAdd;
+virBufferAddChar;
+virBufferContentAndReset;
+virBufferError;
+
+
+# caps.h
+virCapabilitiesAddGuest;
+virCapabilitiesAddGuestDomain;
+virCapabilitiesAddGuestFeature;
+virCapabilitiesAddHostMigrateTransport;
+virCapabilitiesAddHostNUMACell;
+virCapabilitiesAddHostFeature;
+virCapabilitiesDefaultGuestArch;
+virCapabilitiesDefaultGuestEmulator;
+virCapabilitiesDefaultGuestMachine;
+virCapabilitiesFormatXML;
+virCapabilitiesFree;
+virCapabilitiesNew;
+virCapabilitiesSetMacPrefix;
+
+
+# conf.h
+virConfNew;
+virConfReadFile;
+virConfReadMem;
+virConfFree;
+virConfFreeValue;
+virConfGetValue;
+virConfSetValue;
+virConfWriteFile;
+virConfWriteMem;
+
+
+# datatypes.h
+virGetDomain;
+virGetNetwork;
+virGetStoragePool;
+virGetStorageVol;
+virGetNodeDevice;
+virUnrefDomain;
+
+
+# domain_conf.h
+virDiskNameToBusDeviceIndex;
+virDiskNameToIndex;
+virDomainAssignDef;
+virDomainConfigFile;
+virDomainCpuSetFormat;
+virDomainCpuSetParse;
+virDomainChrDefFree;
+virDomainChrTypeFromString;
+virDomainChrTypeToString;
+virDomainDefDefaultEmulator;
+virDomainDefFormat;
+virDomainDefFree;
+virDomainDefParseFile;
+virDomainDefParseNode;
+virDomainDefParseString;
+virDomainDeleteConfig;
+virDomainDeviceDefFree;
+virDomainDeviceDefParse;
+virDomainDiskBusTypeToString;
+virDomainDiskDefFree;
+virDomainDiskDeviceTypeToString;
+virDomainDiskQSort;
+virDomainFindByID;
+virDomainFindByName;
+virDomainFindByUUID;
+virDomainGraphicsTypeFromString;
+virDomainGraphicsDefFree;
+virDomainInputDefFree;
+virDomainLifecycleTypeFromString;
+virDomainLifecycleTypeToString;
+virDomainLoadAllConfigs;
+virDomainNetDefFree;
+virDomainObjFree;
+virDomainObjListFree;
+virDomainRemoveInactive;
+virDomainSaveXML;
+virDomainSaveConfig;
+virDomainSoundDefFree;
+virDomainSoundModelTypeFromString;
+virDomainSoundModelTypeToString;
+virDomainVirtTypeToString;
+virDomainFSDefFree;
+virDomainObjLock;
+virDomainObjUnlock;
+
+
+# domain_event.h
+virDomainEventCallbackListAdd;
+virDomainEventCallbackListFree;
+virDomainEventCallbackListRemove;
+virDomainEventCallbackListRemoveConn;
+virDomainEventCallbackListMarkDelete;
+virDomainEventCallbackListPurgeMarked;
+virDomainEventQueueNew;
+virDomainEventQueueFree;
+virDomainEventQueuePop;
+virDomainEventQueuePush;
+virDomainEventNew;
+virDomainEventNewFromDom;
+virDomainEventNewFromObj;
+virDomainEventNewFromDef;
+virDomainEventFree;
+virDomainEventDispatchDefaultFunc;
+virDomainEventDispatch;
+virDomainEventQueueDispatch;
+
+
+# driver.h
+virDriverLoadModule;
+
+
+# event.h
+virEventAddHandle;
+virEventAddTimeout;
+virEventRemoveHandle;
+virEventRemoveTimeout;
+virEventUpdateHandle;
+virEventUpdateTimeout;
+
+
+# hash.h
+virHashAddEntry;
+virHashCreate;
+virHashForEach;
+virHashFree;
+virHashLookup;
+virHashRemoveEntry;
+virHashRemoveSet;
+virHashSearch;
+virHashSize;
+
+
+# iptables.h
+iptablesAddForwardAllowCross;
+iptablesAddForwardAllowIn;
+iptablesAddForwardAllowOut;
+iptablesAddForwardAllowRelatedIn;
+iptablesAddForwardMasquerade;
+iptablesAddForwardRejectIn;
+iptablesAddForwardRejectOut;
+iptablesAddTcpInput;
+iptablesAddUdpInput;
+iptablesContextFree;
+iptablesContextNew;
+iptablesReloadRules;
+iptablesRemoveForwardAllowCross;
+iptablesRemoveForwardAllowIn;
+iptablesRemoveForwardAllowOut;
+iptablesRemoveForwardAllowRelatedIn;
+iptablesRemoveForwardMasquerade;
+iptablesRemoveForwardRejectIn;
+iptablesRemoveForwardRejectOut;
+iptablesRemoveTcpInput;
+iptablesRemoveUdpInput;
+iptablesSaveRules;
+
+
+# libvirt_internal.h
+virStateInitialize;
+virStateCleanup;
+virStateReload;
+virStateActive;
+virDrvSupportsFeature;
+virDomainMigratePrepare;
+virDomainMigratePerform;
+virDomainMigrateFinish;
+virDomainMigratePrepare2;
+virDomainMigrateFinish2;
+virRegisterDriver;
+virRegisterNetworkDriver;
+virRegisterStateDriver;
+virRegisterStorageDriver;
+virRegisterDeviceMonitor;
+
+
+# memory.h
+virAlloc;
+virAllocN;
+virReallocN;
+virFree;
+
+
+# network_conf.h
+virNetworkAssignDef;
+virNetworkDefFormat;
+virNetworkDefFree;
+virNetworkDefParseFile;
+virNetworkDefParseNode;
+virNetworkDefParseString;
+virNetworkDeleteConfig;
+virNetworkFindByName;
+virNetworkFindByUUID;
+virNetworkLoadAllConfigs;
+virNetworkObjListFree;
+virNetworkDefParseNode;
+virNetworkRemoveInactive;
+virNetworkSaveConfig;
+virNetworkObjLock;
+virNetworkObjUnlock;
+
+
+# nodeinfo.h
+virNodeInfoPopulate;
+virCapsInitNUMA;
+
+
+# node_device_conf.h
+virNodeDeviceObjRemove;
+virNodeDevCapTypeToString;
+virNodeDeviceFindByName;
+virNodeDeviceObjListFree;
+virNodeDeviceDefFree;
+virNodeDevCapsDefFree;
+virNodeDeviceDefFormat;
+virNodeDeviceObjLock;
+virNodeDeviceObjUnlock;
+virNodeDeviceAssignDef;
+
+
+# qparams.h
+qparam_get_query;
+qparam_query_parse;
+free_qparam_set;
+
+
+# stats_linux.h
+linuxDomainInterfaceStats;
+xenLinuxDomainBlockStats;
+
+
+# storage_backend.h
+virStorageBackendForType;
+virStorageBackendRunProgNul;
+virStorageBackendRunProgRegex;
+virStorageBackendStablePath;
+virStorageBackendUpdateVolInfo;
+virStorageBackendUpdateVolInfoFD;
+
+
+# storage_conf.h
+virStoragePoolDefFormat;
+virStoragePoolDefFree;
+virStoragePoolDefParse;
+virStoragePoolLoadAllConfigs;
+virStoragePoolObjAssignDef;
+virStoragePoolObjClearVols;
+virStoragePoolObjDeleteDef;
+virStoragePoolObjFindByName;
+virStoragePoolObjFindByUUID;
+virStoragePoolObjListFree;
+virStoragePoolObjRemove;
+virStoragePoolObjSaveDef;
+virStoragePoolSourceFree;
+virStoragePoolSourceListFormat;
+virStorageVolDefFindByKey;
+virStorageVolDefFindByName;
+virStorageVolDefFindByPath;
+virStorageVolDefFormat;
+virStorageVolDefFree;
+virStorageVolDefParse;
+virStoragePoolFormatDiskTypeToString;
+virStoragePoolFormatFileSystemTypeToString;
+virStoragePoolFormatFileSystemNetTypeToString;
+virStorageVolFormatFileSystemTypeToString;
+virStoragePoolTypeFromString;
+virStoragePoolObjLock;
+virStoragePoolObjUnlock;
+
+
+# util.h
+virFileReadAll;
+virStrToLong_i;
+virStrToLong_ll;
+virStrToLong_ull;
+virStrToLong_ui;
+virFileLinkPointsTo;
+saferead;
+safewrite;
+virMacAddrCompare;
+virEnumFromString;
+virEnumToString;
+virEventAddHandle;
+virEventRemoveHandle;
+virExec;
+virFormatMacAddr;
+virParseMacAddr;
+virFileDeletePid;
+virFileExists;
+virFileHasSuffix;
+virFileLinkPointsTo;
+virFileMakePath;
+virFileOpenTty;
+virFileReadLimFD;
+virFilePid;
+virFileReadPid;
+virFileLinkPointsTo;
+virParseNumber;
+virAsprintf;
+virRun;
+virSkipSpaces;
+
+
+# uuid.h
+virUUIDFormat;
+virUUIDGenerate;
+virUUIDParse;
+
+
+# virterror_internal.h
+virReportErrorHelper;
+virErrorMsg;
+virRaiseError;
+
+
+# xml.h
+virXPathLong;
+virXPathNode;
+virXPathNodeSet;
+virXPathString;
+virXMLPropString;
diff --git a/src/libvirt_sym.version.in b/src/libvirt_public.syms
rename from src/libvirt_sym.version.in
rename to src/libvirt_public.syms
--- a/src/libvirt_public.syms
+++ b/src/libvirt_public.syms
@@ -1,11 +1,5 @@
#
-# WARNING: libvirt_sym.version.in is the master file
-#
-# WARNING: libvirt_sym.version is auto-generated by configure
-#
-
-#
-# First officially exported symbols, for which header
+# Officially exported symbols, for which header
# file definitions are installed in /usr/include/libvirt
# either from libvirt.h and virterror.h
#
@@ -244,383 +238,3 @@ LIBVIRT_0.5.0 {
# no new entry point in 0.5.1
# .... define new API here using predicted next version number ....
-
-
-
-
-# Finally these symbols are private and semantics may change
-# on every release, hence the version number is spliced in at
-# build time. This ensures that if libvirtd, virsh, or a driver
-# module was built against one libvirt release, it will refuse
-# to load with another where symbols may have same names but
-# different semantics.
-#
-# No header files are provided outside the source tree.
-#
-# Keep this section ordered alphabetically by header file name
-#
-# Symbols here are only for use by virsh, libvirtd and dlopen
-# driver modules
-#
-LIBVIRT_PRIVATE_@VERSION@ {
-
- global:
- # bridge.h
- brAddBridge;
- brAddInterface;
- brAddTap;
- brDeleteBridge;
- brInit;
- brSetEnableSTP;
- brSetForwardDelay;
- brSetInetAddress;
- brSetInetNetmask;
- brSetInterfaceUp;
- brShutdown;
-
-
- # buf.h
- virBufferVSprintf;
- virBufferEscapeString;
- virBufferAdd;
- virBufferAddChar;
- virBufferContentAndReset;
- virBufferError;
-
-
- # caps.h
- virCapabilitiesAddGuest;
- virCapabilitiesAddGuestDomain;
- virCapabilitiesAddGuestFeature;
- virCapabilitiesAddHostMigrateTransport;
- virCapabilitiesAddHostNUMACell;
- virCapabilitiesAddHostFeature;
- virCapabilitiesDefaultGuestArch;
- virCapabilitiesDefaultGuestEmulator;
- virCapabilitiesDefaultGuestMachine;
- virCapabilitiesFormatXML;
- virCapabilitiesFree;
- virCapabilitiesNew;
- virCapabilitiesSetMacPrefix;
-
-
- # conf.h
- virConfNew;
- virConfReadFile;
- virConfReadMem;
- virConfFree;
- virConfFreeValue;
- virConfGetValue;
- virConfSetValue;
- virConfWriteFile;
- virConfWriteMem;
-
-
- # datatypes.h
- virGetDomain;
- virGetNetwork;
- virGetStoragePool;
- virGetStorageVol;
- virGetNodeDevice;
- virUnrefDomain;
-
-
- # domain_conf.h
- virDiskNameToBusDeviceIndex;
- virDiskNameToIndex;
- virDomainAssignDef;
- virDomainConfigFile;
- virDomainCpuSetFormat;
- virDomainCpuSetParse;
- virDomainChrDefFree;
- virDomainChrTypeFromString;
- virDomainChrTypeToString;
- virDomainDefDefaultEmulator;
- virDomainDefFormat;
- virDomainDefFree;
- virDomainDefParseFile;
- virDomainDefParseNode;
- virDomainDefParseString;
- virDomainDeleteConfig;
- virDomainDeviceDefFree;
- virDomainDeviceDefParse;
- virDomainDiskBusTypeToString;
- virDomainDiskDefFree;
- virDomainDiskDeviceTypeToString;
- virDomainDiskQSort;
- virDomainFindByID;
- virDomainFindByName;
- virDomainFindByUUID;
- virDomainGraphicsTypeFromString;
- virDomainGraphicsDefFree;
- virDomainInputDefFree;
- virDomainLifecycleTypeFromString;
- virDomainLifecycleTypeToString;
- virDomainLoadAllConfigs;
- virDomainNetDefFree;
- virDomainObjFree;
- virDomainObjListFree;
- virDomainRemoveInactive;
- virDomainSaveXML;
- virDomainSaveConfig;
- virDomainSoundDefFree;
- virDomainSoundModelTypeFromString;
- virDomainSoundModelTypeToString;
- virDomainVirtTypeToString;
- virDomainFSDefFree;
- virDomainObjLock;
- virDomainObjUnlock;
-
-
- # domain_event.h
- virDomainEventCallbackListAdd;
- virDomainEventCallbackListFree;
- virDomainEventCallbackListRemove;
- virDomainEventCallbackListRemoveConn;
- virDomainEventCallbackListMarkDelete;
- virDomainEventCallbackListPurgeMarked;
- virDomainEventQueueNew;
- virDomainEventQueueFree;
- virDomainEventQueuePop;
- virDomainEventQueuePush;
- virDomainEventNew;
- virDomainEventNewFromDom;
- virDomainEventNewFromObj;
- virDomainEventNewFromDef;
- virDomainEventFree;
- virDomainEventDispatchDefaultFunc;
- virDomainEventDispatch;
- virDomainEventQueueDispatch;
-
-
-
- # driver.h
- virDriverLoadModule;
-
-
- # event.h
- virEventAddHandle;
- virEventAddTimeout;
- virEventRemoveHandle;
- virEventRemoveTimeout;
- virEventUpdateHandle;
- virEventUpdateTimeout;
-
-
- # hash.h
- virHashAddEntry;
- virHashCreate;
- virHashForEach;
- virHashFree;
- virHashLookup;
- virHashRemoveEntry;
- virHashRemoveSet;
- virHashSearch;
- virHashSize;
-
-
- # iptables.h
- iptablesAddForwardAllowCross;
- iptablesAddForwardAllowIn;
- iptablesAddForwardAllowOut;
- iptablesAddForwardAllowRelatedIn;
- iptablesAddForwardMasquerade;
- iptablesAddForwardRejectIn;
- iptablesAddForwardRejectOut;
- iptablesAddTcpInput;
- iptablesAddUdpInput;
- iptablesContextFree;
- iptablesContextNew;
- iptablesReloadRules;
- iptablesRemoveForwardAllowCross;
- iptablesRemoveForwardAllowIn;
- iptablesRemoveForwardAllowOut;
- iptablesRemoveForwardAllowRelatedIn;
- iptablesRemoveForwardMasquerade;
- iptablesRemoveForwardRejectIn;
- iptablesRemoveForwardRejectOut;
- iptablesRemoveTcpInput;
- iptablesRemoveUdpInput;
- iptablesSaveRules;
-
-
- # libvirt_internal.h
- debugFlag;
- virStateInitialize;
- virStateCleanup;
- virStateReload;
- virStateActive;
- virDrvSupportsFeature;
- virDomainMigratePrepare;
- virDomainMigratePerform;
- virDomainMigrateFinish;
- virDomainMigratePrepare2;
- virDomainMigrateFinish2;
- virRegisterDriver;
- virRegisterNetworkDriver;
- virRegisterStateDriver;
- virRegisterStorageDriver;
- virRegisterDeviceMonitor;
-
- # logging.h
- virLogSetDefaultPriority;
- virLogDefineFilter;
- virLogDefineOutput;
- virLogParseFilters;
- virLogParseOutputs;
- virLogStartup;
- virLogShutdown;
- virLogReset;
- virLogMessage;
-
- # memory.h
- virAlloc;
- virAllocN;
- virReallocN;
- virFree;
-
-
- # network_conf.h
- virNetworkAssignDef;
- virNetworkDefFormat;
- virNetworkDefFree;
- virNetworkDefParseFile;
- virNetworkDefParseNode;
- virNetworkDefParseString;
- virNetworkDeleteConfig;
- virNetworkFindByName;
- virNetworkFindByUUID;
- virNetworkLoadAllConfigs;
- virNetworkObjListFree;
- virNetworkDefParseNode;
- virNetworkRemoveInactive;
- virNetworkSaveConfig;
- virNetworkObjLock;
- virNetworkObjUnlock;
-
-
- # nodeinfo.h
- virNodeInfoPopulate;
- virCapsInitNUMA;
-
-
- # node_device_conf.h
- virNodeDeviceObjRemove;
- virNodeDevCapTypeToString;
- virNodeDeviceFindByName;
- virNodeDeviceObjListFree;
- virNodeDeviceDefFree;
- virNodeDevCapsDefFree;
- virNodeDeviceDefFormat;
- virNodeDeviceObjLock;
- virNodeDeviceObjUnlock;
- virNodeDeviceAssignDef;
-
-
- # qparams.h
- qparam_get_query;
- qparam_query_parse;
- free_qparam_set;
-
-
- # stats_linux.h
- linuxDomainInterfaceStats;
- xenLinuxDomainBlockStats;
-
-
- # storage_backend.h
- virStorageBackendForType;
- virStorageBackendRunProgNul;
- virStorageBackendRunProgRegex;
- virStorageBackendStablePath;
- virStorageBackendUpdateVolInfo;
- virStorageBackendUpdateVolInfoFD;
-
-
- # storage_conf.h
- virStoragePoolDefFormat;
- virStoragePoolDefFree;
- virStoragePoolDefParse;
- virStoragePoolLoadAllConfigs;
- virStoragePoolObjAssignDef;
- virStoragePoolObjClearVols;
- virStoragePoolObjDeleteDef;
- virStoragePoolObjFindByName;
- virStoragePoolObjFindByUUID;
- virStoragePoolObjListFree;
- virStoragePoolObjRemove;
- virStoragePoolObjSaveDef;
- virStoragePoolSourceFree;
- virStoragePoolSourceListFormat;
- virStorageVolDefFindByKey;
- virStorageVolDefFindByName;
- virStorageVolDefFindByPath;
- virStorageVolDefFormat;
- virStorageVolDefFree;
- virStorageVolDefParse;
- virStoragePoolFormatDiskTypeToString;
- virStoragePoolFormatFileSystemTypeToString;
- virStoragePoolFormatFileSystemNetTypeToString;
- virStorageVolFormatFileSystemTypeToString;
- virStoragePoolTypeFromString;
- virStoragePoolObjLock;
- virStoragePoolObjUnlock;
-
-
- # util.h
- virFileReadAll;
- virStrToLong_i;
- virStrToLong_ll;
- virStrToLong_ull;
- virStrToLong_ui;
- virFileLinkPointsTo;
- saferead;
- safewrite;
- virMacAddrCompare;
- virEnumFromString;
- virEnumToString;
- virEventAddHandle;
- virEventRemoveHandle;
- virExec;
- virFormatMacAddr;
- virParseMacAddr;
- virFileDeletePid;
- virFileExists;
- virFileHasSuffix;
- virFileLinkPointsTo;
- virFileMakePath;
- virFileOpenTty;
- virFileReadLimFD;
- virFilePid;
- virFileReadPid;
- virFileLinkPointsTo;
- virParseNumber;
- virAsprintf;
- virRun;
- virSkipSpaces;
-
-
- # uuid.h
- virUUIDFormat;
- virUUIDGenerate;
- virUUIDParse;
-
-
- # virterror_internal.h
- virReportErrorHelper;
- virErrorMsg;
- virRaiseError;
-
-
- # xml.h
- virXPathLong;
- virXPathNode;
- virXPathNodeSet;
- virXPathString;
- virXMLPropString;
-
-
- # Finally everything else is totally private
- local:
- *;
-};