# HG changeset patch
# User john.le...@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.le...@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_priva...@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_fl...@libvirt_sym.version \
+libvirt_la_LDFLAGS = @version_script_fl...@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@libvirt.syms!!'   \
      |sed 's!-version-info @libvirt_version_i...@!!')
 
 # 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_priva...@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:
-       *;
-};

--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to