[libvirt] [PATCH 1 of 5] Split out version script into multiple files

john.levon at sun.com john.levon at sun.com
Tue Dec 23 04:20:56 UTC 2008


# HG changeset patch
# User john.levon at 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 at 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_ at 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 at libvirt_sym.version \
+libvirt_la_LDFLAGS = @VERSION_SCRIPT_FLAGS at 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 at 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_ at 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:
-	*;
-};




More information about the libvir-list mailing list