This patch changes the way we use linker scripts to have fully versioned
symbols, and a versioned private section for symbols needed by libvirtd
and virsh.

Daniel

diff -r bbf3d0bc9d49 configure.in
--- a/configure.in      Tue Nov 11 17:28:27 2008 +0000
+++ b/configure.in      Tue Nov 11 17:28:31 2008 +0000
@@ -1076,6 +1076,7 @@
          gnulib/lib/Makefile \
          gnulib/tests/Makefile \
           libvirt.pc libvirt.spec mingw32-libvirt.spec \
+          src/libvirt_sym.version \
           po/Makefile.in \
          include/libvirt/Makefile include/libvirt/libvirt.h \
          python/Makefile python/tests/Makefile \
diff -r bbf3d0bc9d49 qemud/Makefile.am
--- a/qemud/Makefile.am Tue Nov 11 17:28:27 2008 +0000
+++ b/qemud/Makefile.am Tue Nov 11 17:28:31 2008 +0000
@@ -7,8 +7,7 @@
                remote_dispatch_prototypes.h            \
                remote_dispatch_localvars.h             \
                remote_dispatch_proc_switch.h           \
-               remote_protocol.h remote_protocol.c     \
-               $(srcdir)/../src/util-lib.c
+               remote_protocol.h remote_protocol.c
 
 AVAHI_SOURCES =                                                \
                mdns.c mdns.h
diff -r bbf3d0bc9d49 qemud/remote.c
--- a/qemud/remote.c    Tue Nov 11 17:28:27 2008 +0000
+++ b/qemud/remote.c    Tue Nov 11 17:28:31 2008 +0000
@@ -487,7 +487,7 @@
 {
     CHECK_CONN(client);
 
-    ret->supported = __virDrvSupportsFeature (client->conn, args->feature);
+    ret->supported = virDrvSupportsFeature (client->conn, args->feature);
     if (ret->supported == -1) return -1;
 
     return 0;
@@ -1396,9 +1396,9 @@
         return -2;
     }
 
-    r = __virDomainMigratePrepare (client->conn, &cookie, &cookielen,
-                                   uri_in, uri_out,
-                                   args->flags, dname, args->resource);
+    r = virDomainMigratePrepare (client->conn, &cookie, &cookielen,
+                                 uri_in, uri_out,
+                                 args->flags, dname, args->resource);
     if (r == -1) {
         VIR_FREE(uri_out);
         return -1;
@@ -1439,11 +1439,11 @@
 
     dname = args->dname == NULL ? NULL : *args->dname;
 
-    r = __virDomainMigratePerform (dom,
-                                   args->cookie.cookie_val,
-                                   args->cookie.cookie_len,
-                                   args->uri,
-                                   args->flags, dname, args->resource);
+    r = virDomainMigratePerform (dom,
+                                 args->cookie.cookie_val,
+                                 args->cookie.cookie_len,
+                                 args->uri,
+                                 args->flags, dname, args->resource);
     virDomainFree (dom);
     if (r == -1) return -1;
 
@@ -1460,11 +1460,11 @@
     virDomainPtr ddom;
     CHECK_CONN (client);
 
-    ddom = __virDomainMigrateFinish (client->conn, args->dname,
-                                     args->cookie.cookie_val,
-                                     args->cookie.cookie_len,
-                                     args->uri,
-                                     args->flags);
+    ddom = virDomainMigrateFinish (client->conn, args->dname,
+                                   args->cookie.cookie_val,
+                                   args->cookie.cookie_len,
+                                   args->uri,
+                                   args->flags);
     if (ddom == NULL) return -1;
 
     make_nonnull_domain (&ret->ddom, ddom);
diff -r bbf3d0bc9d49 src/Makefile.am
--- a/src/Makefile.am   Tue Nov 11 17:28:27 2008 +0000
+++ b/src/Makefile.am   Tue Nov 11 17:28:31 2008 +0000
@@ -285,7 +285,6 @@
 
 virsh_SOURCES =                                                        \
                console.c console.h                             \
-               util-lib.c util-lib.h                           \
                virsh.c
 
 virsh_LDFLAGS = $(WARN_CFLAGS) $(COVERAGE_LDFLAGS)
diff -r bbf3d0bc9d49 src/buf.c
--- a/src/buf.c Tue Nov 11 17:28:27 2008 +0000
+++ b/src/buf.c Tue Nov 11 17:28:31 2008 +0000
@@ -88,7 +88,7 @@
  *
  */
 void
-__virBufferAdd(const virBufferPtr buf, const char *str, int len)
+virBufferAdd(const virBufferPtr buf, const char *str, int len)
 {
     unsigned int needSize;
 
@@ -120,7 +120,7 @@
  *
  */
 void
-__virBufferAddChar (virBufferPtr buf, char c)
+virBufferAddChar (virBufferPtr buf, char c)
 {
     unsigned int needSize;
 
@@ -150,7 +150,7 @@
  * Returns the buffer content or NULL in case of error.
  */
 char *
-__virBufferContentAndReset(const virBufferPtr buf)
+virBufferContentAndReset(const virBufferPtr buf)
 {
     char *str;
     if (buf == NULL)
@@ -176,7 +176,7 @@
  * Return true if in error, 0 if normal
  */
 int
-__virBufferError(const virBufferPtr buf)
+virBufferError(const virBufferPtr buf)
 {
     if (buf == NULL)
         return 1;
@@ -208,7 +208,7 @@
  * Do a formatted print to an XML buffer.
  */
 void
-__virBufferVSprintf(const virBufferPtr buf, const char *format, ...)
+virBufferVSprintf(const virBufferPtr buf, const char *format, ...)
 {
     int size, count, grow_size;
     va_list locarg, argptr;
diff -r bbf3d0bc9d49 src/buf.h
--- a/src/buf.h Tue Nov 11 17:28:27 2008 +0000
+++ b/src/buf.h Tue Nov 11 17:28:31 2008 +0000
@@ -34,25 +34,18 @@
 };
 #endif
 
-char *__virBufferContentAndReset(const virBufferPtr buf);
-int __virBufferError(const virBufferPtr buf);
+char *virBufferContentAndReset(const virBufferPtr buf);
+int virBufferError(const virBufferPtr buf);
 unsigned int virBufferUse(const virBufferPtr buf);
-void __virBufferAdd(const virBufferPtr buf, const char *str, int len);
-void __virBufferAddChar(const virBufferPtr buf, char c);
-void __virBufferVSprintf(const virBufferPtr buf, const char *format, ...)
+void virBufferAdd(const virBufferPtr buf, const char *str, int len);
+void virBufferAddChar(const virBufferPtr buf, char c);
+void virBufferVSprintf(const virBufferPtr buf, const char *format, ...)
   ATTRIBUTE_FORMAT(printf, 2, 3);
 void virBufferStrcat(const virBufferPtr buf, ...);
 void virBufferEscapeString(const virBufferPtr buf, const char *format, const 
char *str);
 void virBufferURIEncodeString (const virBufferPtr buf, const char *str);
 
 #define virBufferAddLit(buf_, literal_string_) \
-  __virBufferAdd (buf_, "" literal_string_ "", sizeof literal_string_ - 1)
-
-#define virBufferAdd(b,s,l) __virBufferAdd((b),(s),(l))
-#define virBufferAddChar(b,c) __virBufferAddChar((b),(c))
-#define virBufferVSprintf(b,f,...) __virBufferVSprintf((b),(f), __VA_ARGS__)
-
-#define virBufferContentAndReset(b) __virBufferContentAndReset((b))
-#define virBufferError(b) __virBufferError((b))
+  virBufferAdd (buf_, "" literal_string_ "", sizeof literal_string_ - 1)
 
 #endif /* __VIR_BUFFER_H__ */
diff -r bbf3d0bc9d49 src/conf.c
--- a/src/conf.c        Tue Nov 11 17:28:27 2008 +0000
+++ b/src/conf.c        Tue Nov 11 17:28:31 2008 +0000
@@ -142,7 +142,7 @@
  * Free a value
  */
 void
-__virConfFreeValue(virConfValuePtr val)
+virConfFreeValue(virConfValuePtr val)
 {
     if (val == NULL)
         return;
@@ -156,7 +156,7 @@
 }
 
 virConfPtr
-__virConfNew(void)
+virConfNew(void)
 {
     virConfPtr ret;
 
@@ -691,7 +691,7 @@
 #define MAX_CONFIG_FILE_SIZE (1024*1024*10)
 
 /**
- * __virConfReadFile:
+ * virConfReadFile:
  * @filename: the path to the configuration file.
  *
  * Reads a configuration file.
@@ -700,7 +700,7 @@
  *         read or parse the file, use virConfFree() to free the data.
  */
 virConfPtr
-__virConfReadFile(const char *filename)
+virConfReadFile(const char *filename)
 {
     char *content;
     int len;
@@ -724,7 +724,7 @@
 }
 
 /**
- * __virConfReadMem:
+ * virConfReadMem:
  * @memory: pointer to the content of the configuration file
  * @len: length in byte
  *
@@ -735,7 +735,7 @@
  *         parse the content, use virConfFree() to free the data.
  */
 virConfPtr
-__virConfReadMem(const char *memory, int len)
+virConfReadMem(const char *memory, int len)
 {
     if ((memory == NULL) || (len < 0)) {
         virConfError(NULL, VIR_ERR_INVALID_ARG, __FUNCTION__);
@@ -748,7 +748,7 @@
 }
 
 /**
- * __virConfFree:
+ * virConfFree:
  * @conf: a configuration file handle
  *
  * Frees all data associated to the handle
@@ -756,7 +756,7 @@
  * Returns 0 in case of success, -1 in case of error.
  */
 int
-__virConfFree(virConfPtr conf)
+virConfFree(virConfPtr conf)
 {
     virConfEntryPtr tmp;
     if (conf == NULL) {
@@ -779,7 +779,7 @@
 }
 
 /**
- * __virConfGetValue:
+ * virConfGetValue:
  * @conf: a configuration file handle
  * @entry: the name of the entry
  *
@@ -789,7 +789,7 @@
  *         associated will be freed when virConfFree() is called
  */
 virConfValuePtr
-__virConfGetValue(virConfPtr conf, const char *setting)
+virConfGetValue(virConfPtr conf, const char *setting)
 {
     virConfEntryPtr cur;
 
@@ -803,7 +803,7 @@
 }
 
 /**
- * __virConfSetValue:
+ * virConfSetValue:
  * @conf: a configuration file handle
  * @entry: the name of the entry
  * @value: the new configuration value
@@ -816,9 +816,9 @@
  * Returns 0 on success, or -1 on failure.
  */
 int
-__virConfSetValue (virConfPtr conf,
-                  const char *setting,
-                  virConfValuePtr value)
+virConfSetValue (virConfPtr conf,
+                 const char *setting,
+                 virConfValuePtr value)
 {
     virConfEntryPtr cur, prev = NULL;
 
@@ -861,7 +861,7 @@
 
 
 /**
- * __virConfWriteFile:
+ * virConfWriteFile:
  * @filename: the path to the configuration file.
  * @conf: the conf
  *
@@ -870,7 +870,7 @@
  * Returns the number of bytes written or -1 in case of error.
  */
 int
-__virConfWriteFile(const char *filename, virConfPtr conf)
+virConfWriteFile(const char *filename, virConfPtr conf)
 {
     virBuffer buf = VIR_BUFFER_INITIALIZER;
     virConfEntryPtr cur;
@@ -915,7 +915,7 @@
 }
 
 /**
- * __virConfWriteMem:
+ * virConfWriteMem:
  * @memory: pointer to the memory to store the config file
  * @len: pointer to the length in bytes of the store, on output the size
  * @conf: the conf
@@ -928,7 +928,7 @@
  * Returns the number of bytes written or -1 in case of error.
  */
 int
-__virConfWriteMem(char *memory, int *len, virConfPtr conf)
+virConfWriteMem(char *memory, int *len, virConfPtr conf)
 {
     virBuffer buf = VIR_BUFFER_INITIALIZER;
     virConfEntryPtr cur;
diff -r bbf3d0bc9d49 src/conf.h
--- a/src/conf.h        Tue Nov 11 17:28:27 2008 +0000
+++ b/src/conf.h        Tue Nov 11 17:28:31 2008 +0000
@@ -61,32 +61,22 @@
 typedef struct _virConf virConf;
 typedef virConf *virConfPtr;
 
-virConfPtr      __virConfNew             (void);
-virConfPtr     __virConfReadFile       (const char *filename);
-virConfPtr     __virConfReadMem                (const char *memory,
+virConfPtr      virConfNew             (void);
+virConfPtr     virConfReadFile (const char *filename);
+virConfPtr     virConfReadMem          (const char *memory,
                                          int len);
-int            __virConfFree           (virConfPtr conf);
-void            __virConfFreeValue      (virConfValuePtr val);
+int            virConfFree             (virConfPtr conf);
+void            virConfFreeValue      (virConfValuePtr val);
 
-virConfValuePtr        __virConfGetValue       (virConfPtr conf,
+virConfValuePtr        virConfGetValue (virConfPtr conf,
                                          const char *setting);
-int             __virConfSetValue        (virConfPtr conf,
+int             virConfSetValue        (virConfPtr conf,
                                          const char *setting,
                                          virConfValuePtr value);
-int            __virConfWriteFile      (const char *filename,
+int            virConfWriteFile        (const char *filename,
                                          virConfPtr conf);
-int            __virConfWriteMem       (char *memory,
+int            virConfWriteMem (char *memory,
                                          int *len,
                                          virConfPtr conf);
 
-#define virConfNew() __virConfNew()
-#define virConfReadFile(f) __virConfReadFile((f))
-#define virConfReadMem(m,l) __virConfReadMem((m),(l))
-#define virConfFree(c) __virConfFree((c))
-#define virConfFreeValue(v) __virConfFreeValue((v))
-#define virConfGetValue(c,s) __virConfGetValue((c),(s))
-#define virConfSetValue(c,s,v) __virConfSetValue((c),(s),(v))
-#define virConfWriteFile(f,c) __virConfWriteFile((f),(c))
-#define virConfWriteMem(m,l,c) __virConfWriteMem((m),(l),(c))
-
 #endif /* __VIR_CONF_H__ */
diff -r bbf3d0bc9d49 src/console.c
--- a/src/console.c     Tue Nov 11 17:28:27 2008 +0000
+++ b/src/console.c     Tue Nov 11 17:28:31 2008 +0000
@@ -37,7 +37,7 @@
 
 #include "console.h"
 #include "internal.h"
-#include "util-lib.h"
+#include "util.h"
 
 /* ie  Ctrl-]  as per telnet */
 #define CTRL_CLOSE_BRACKET '\35'
diff -r bbf3d0bc9d49 src/datatypes.c
--- a/src/datatypes.c   Tue Nov 11 17:28:27 2008 +0000
+++ b/src/datatypes.c   Tue Nov 11 17:28:31 2008 +0000
@@ -239,7 +239,7 @@
  * Returns a pointer to the domain, or NULL in case of failure
  */
 virDomainPtr
-__virGetDomain(virConnectPtr conn, const char *name, const unsigned char 
*uuid) {
+virGetDomain(virConnectPtr conn, const char *name, const unsigned char *uuid) {
     virDomainPtr ret = NULL;
 
     if ((!VIR_IS_CONNECT(conn)) || (name == NULL) || (uuid == NULL)) {
@@ -379,7 +379,7 @@
  * Returns a pointer to the network, or NULL in case of failure
  */
 virNetworkPtr
-__virGetNetwork(virConnectPtr conn, const char *name, const unsigned char 
*uuid) {
+virGetNetwork(virConnectPtr conn, const char *name, const unsigned char *uuid) 
{
     virNetworkPtr ret = NULL;
 
     if ((!VIR_IS_CONNECT(conn)) || (name == NULL) || (uuid == NULL)) {
@@ -516,7 +516,7 @@
  * Returns a pointer to the network, or NULL in case of failure
  */
 virStoragePoolPtr
-__virGetStoragePool(virConnectPtr conn, const char *name, const unsigned char 
*uuid) {
+virGetStoragePool(virConnectPtr conn, const char *name, const unsigned char 
*uuid) {
     virStoragePoolPtr ret = NULL;
 
     if ((!VIR_IS_CONNECT(conn)) || (name == NULL) || (uuid == NULL)) {
@@ -650,7 +650,7 @@
  * Returns a pointer to the storage vol, or NULL in case of failure
  */
 virStorageVolPtr
-__virGetStorageVol(virConnectPtr conn, const char *pool, const char *name, 
const char *key) {
+virGetStorageVol(virConnectPtr conn, const char *pool, const char *name, const 
char *key) {
     virStorageVolPtr ret = NULL;
 
     if ((!VIR_IS_CONNECT(conn)) || (name == NULL) || (key == NULL)) {
diff -r bbf3d0bc9d49 src/datatypes.h
--- a/src/datatypes.h   Tue Nov 11 17:28:27 2008 +0000
+++ b/src/datatypes.h   Tue Nov 11 17:28:31 2008 +0000
@@ -184,29 +184,23 @@
 
 virConnectPtr virGetConnect(void);
 int virUnrefConnect(virConnectPtr conn);
-virDomainPtr __virGetDomain(virConnectPtr conn,
+virDomainPtr virGetDomain(virConnectPtr conn,
                             const char *name,
                             const unsigned char *uuid);
 int virUnrefDomain(virDomainPtr domain);
-virNetworkPtr __virGetNetwork(virConnectPtr conn,
+virNetworkPtr virGetNetwork(virConnectPtr conn,
                               const char *name,
                               const unsigned char *uuid);
 int virUnrefNetwork(virNetworkPtr network);
 
-virStoragePoolPtr __virGetStoragePool(virConnectPtr conn,
+virStoragePoolPtr virGetStoragePool(virConnectPtr conn,
                                       const char *name,
                                       const unsigned char *uuid);
 int virUnrefStoragePool(virStoragePoolPtr pool);
-virStorageVolPtr __virGetStorageVol(virConnectPtr conn,
+virStorageVolPtr virGetStorageVol(virConnectPtr conn,
                                      const char *pool,
                                     const char *name,
                                     const char *key);
 int virUnrefStorageVol(virStorageVolPtr vol);
 
-#define virGetDomain(c,n,u) __virGetDomain((c),(n),(u))
-#define virGetNetwork(c,n,u) __virGetNetwork((c),(n),(u))
-#define virGetStoragePool(c,n,u) __virGetStoragePool((c),(n),(u))
-#define virGetStorageVol(c,p,n,u) __virGetStorageVol((c),(p),(n),(u))
-
-
 #endif
diff -r bbf3d0bc9d49 src/driver.h
--- a/src/driver.h      Tue Nov 11 17:28:27 2008 +0000
+++ b/src/driver.h      Tue Nov 11 17:28:31 2008 +0000
@@ -73,7 +73,7 @@
 typedef int
         (*virDrvClose)                 (virConnectPtr conn);
 typedef int
-    (*virDrvSupportsFeature) (virConnectPtr conn, int feature);
+    (*virDrvDrvSupportsFeature) (virConnectPtr conn, int feature);
 typedef const char *
         (*virDrvGetType)               (virConnectPtr conn);
 typedef int
@@ -305,7 +305,7 @@
     virDrvProbe                        probe;
     virDrvOpen                 open;
     virDrvClose                        close;
-    virDrvSupportsFeature   supports_feature;
+    virDrvDrvSupportsFeature   supports_feature;
     virDrvGetType                      type;
     virDrvGetVersion           version;
     virDrvGetHostname       getHostname;
diff -r bbf3d0bc9d49 src/libvirt.c
--- a/src/libvirt.c     Tue Nov 11 17:28:27 2008 +0000
+++ b/src/libvirt.c     Tue Nov 11 17:28:31 2008 +0000
@@ -579,7 +579,7 @@
     return virStateDriverTabCount++;
 }
 
-int __virStateInitialize(void) {
+int virStateInitialize(void) {
     int i, ret = 0;
 
     if (virInitialize() < 0)
@@ -593,7 +593,7 @@
     return ret;
 }
 
-int __virStateCleanup(void) {
+int virStateCleanup(void) {
     int i, ret = 0;
 
     for (i = 0 ; i < virStateDriverTabCount ; i++) {
@@ -604,7 +604,7 @@
     return ret;
 }
 
-int __virStateReload(void) {
+int virStateReload(void) {
     int i, ret = 0;
 
     for (i = 0 ; i < virStateDriverTabCount ; i++) {
@@ -615,7 +615,7 @@
     return ret;
 }
 
-int __virStateActive(void) {
+int virStateActive(void) {
     int i, ret = 0;
 
     for (i = 0 ; i < virStateDriverTabCount ; i++) {
@@ -967,7 +967,7 @@
  * implementation of driver features in the remote case.
  */
 int
-__virDrvSupportsFeature (virConnectPtr conn, int feature)
+virDrvSupportsFeature (virConnectPtr conn, int feature)
 {
     DEBUG("conn=%p, feature=%d", conn, feature);
 
@@ -2255,7 +2255,7 @@
  * implementation of migration in the remote case.
  */
 int
-__virDomainMigratePrepare (virConnectPtr dconn,
+virDomainMigratePrepare (virConnectPtr dconn,
                            char **cookie,
                            int *cookielen,
                            const char *uri_in,
@@ -2284,7 +2284,7 @@
  * implementation of migration in the remote case.
  */
 int
-__virDomainMigratePerform (virDomainPtr domain,
+virDomainMigratePerform (virDomainPtr domain,
                            const char *cookie,
                            int cookielen,
                            const char *uri,
@@ -2314,7 +2314,7 @@
  * implementation of migration in the remote case.
  */
 virDomainPtr
-__virDomainMigrateFinish (virConnectPtr dconn,
+virDomainMigrateFinish (virConnectPtr dconn,
                           const char *dname,
                           const char *cookie,
                           int cookielen,
diff -r bbf3d0bc9d49 src/libvirt_internal.h
--- a/src/libvirt_internal.h    Tue Nov 11 17:28:27 2008 +0000
+++ b/src/libvirt_internal.h    Tue Nov 11 17:28:31 2008 +0000
@@ -26,39 +26,35 @@
 
 
 #ifdef WITH_LIBVIRTD
-int __virStateInitialize(void);
-int __virStateCleanup(void);
-int __virStateReload(void);
-int __virStateActive(void);
-#define virStateInitialize() __virStateInitialize()
-#define virStateCleanup() __virStateCleanup()
-#define virStateReload() __virStateReload()
-#define virStateActive() __virStateActive()
+int virStateInitialize(void);
+int virStateCleanup(void);
+int virStateReload(void);
+int virStateActive(void);
 #endif
 
-int __virDrvSupportsFeature (virConnectPtr conn, int feature);
+int virDrvSupportsFeature (virConnectPtr conn, int feature);
 
-int __virDomainMigratePrepare (virConnectPtr dconn,
-                               char **cookie,
-                               int *cookielen,
-                               const char *uri_in,
-                               char **uri_out,
-                               unsigned long flags,
-                               const char *dname,
-                               unsigned long bandwidth);
-int __virDomainMigratePerform (virDomainPtr domain,
-                               const char *cookie,
-                               int cookielen,
-                               const char *uri,
-                               unsigned long flags,
-                               const char *dname,
-                               unsigned long bandwidth);
-virDomainPtr __virDomainMigrateFinish (virConnectPtr dconn,
-                                       const char *dname,
-                                       const char *cookie,
-                                       int cookielen,
-                                       const char *uri,
-                                       unsigned long flags);
+int virDomainMigratePrepare (virConnectPtr dconn,
+                             char **cookie,
+                             int *cookielen,
+                             const char *uri_in,
+                             char **uri_out,
+                             unsigned long flags,
+                             const char *dname,
+                             unsigned long bandwidth);
+int virDomainMigratePerform (virDomainPtr domain,
+                             const char *cookie,
+                             int cookielen,
+                             const char *uri,
+                             unsigned long flags,
+                             const char *dname,
+                             unsigned long bandwidth);
+virDomainPtr virDomainMigrateFinish (virConnectPtr dconn,
+                                     const char *dname,
+                                     const char *cookie,
+                                     int cookielen,
+                                     const char *uri,
+                                     unsigned long flags);
 
 
 #endif
diff -r bbf3d0bc9d49 src/libvirt_sym.version
--- a/src/libvirt_sym.version   Tue Nov 11 17:28:27 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +0,0 @@
-{
-    global:
-        virInitialize;
-        virConnectOpen;
-        virConnectOpenReadOnly;
-        virConnectOpenAuth;
-        virConnectAuthPtrDefault;
-
-       virConnectClose;
-       virConnectGetType;
-       virConnectGetVersion;
-       virConnectGetHostname;
-       virConnectGetURI;
-       virDomainGetConnect;
-       virConnectListDomains;
-       virConnectNumOfDomains;
-        virDomainCreate;
-       virDomainCreateLinux;
-       virDomainCreateXML;
-        virDomainDefineXML;
-       virDomainDestroy;
-       virDomainFree;
-       virDomainGetID;
-       virDomainGetUUID;
-       virDomainGetUUIDString;
-       virDomainGetInfo;
-       virNodeGetCellsFreeMemory;
-       virDomainGetMaxMemory;
-       virDomainGetName;
-       virDomainGetOSType;
-       virDomainGetXMLDesc;
-       virDomainLookupByID;
-       virDomainLookupByName;
-       virDomainLookupByUUID;
-       virDomainLookupByUUIDString;
-       virDomainRestore;
-       virDomainResume;
-       virDomainSave;
-       virDomainCoreDump;
-        virDomainSetMemory;
-       virDomainSetMaxMemory;
-       virDomainShutdown;
-       virDomainReboot;
-       virDomainSuspend;
-       virConnectListDefinedDomains;
-       virConnectNumOfDefinedDomains;
-       virConnectGetMaxVcpus;
-       virDomainUndefine;
-       virDomainGetAutostart;
-       virDomainSetAutostart;
-       virGetVersion;
-       virCopyLastError;
-       virConnSetErrorFunc;
-       virResetLastError;
-       virErrorFunc;
-       virResetError;
-       virConnGetLastError;
-       virGetLastError;
-       virSetErrorFunc;
-       virConnCopyLastError;
-       virConnResetLastError;
-       virDefaultErrorFunc;
-       virNodeGetInfo;
-       virConnectGetCapabilities;
-       virNodeGetCellsFreeMemory;
-       virNodeGetFreeMemory;
-
-       virDomainSetVcpus;
-       virDomainPinVcpu;
-       virDomainGetVcpus;
-       virDomainGetMaxVcpus;
-       virDomainGetSchedulerType;
-       virDomainGetSchedulerParameters;
-       virDomainSetSchedulerParameters;
-       virDomainBlockStats;
-       virDomainInterfaceStats;
-       virDomainBlockPeek;
-       virDomainMemoryPeek;
-       virDomainAttachDevice;
-       virDomainDetachDevice;
-
-       virDomainMigrate;
-
-       virNetworkGetConnect;
-       virConnectNumOfNetworks;
-       virConnectListNetworks;
-       virConnectNumOfDefinedNetworks;
-       virConnectListDefinedNetworks;
-       virNetworkLookupByName;
-       virNetworkLookupByUUID;
-       virNetworkLookupByUUIDString;
-       virNetworkCreateXML;
-       virNetworkDefineXML;
-       virNetworkUndefine;
-       virNetworkCreate;
-       virNetworkDestroy;
-       virNetworkFree;
-       virNetworkGetName;
-       virNetworkGetUUID;
-       virNetworkGetUUIDString;
-       virNetworkGetXMLDesc;
-       virNetworkGetBridgeName;
-       virNetworkGetAutostart;
-       virNetworkSetAutostart;
-
-        virStoragePoolGetConnect;
-       virConnectNumOfStoragePools;
-       virConnectNumOfDefinedStoragePools;
-       virConnectListStoragePools;
-       virConnectListDefinedStoragePools;
-       virConnectFindStoragePoolSources;
-       virStoragePoolLookupByName;
-       virStoragePoolLookupByUUID;
-       virStoragePoolLookupByUUIDString;
-        virStoragePoolLookupByVolume;
-       virStoragePoolCreateXML;
-       virStoragePoolDefineXML;
-       virStoragePoolUndefine;
-       virStoragePoolCreate;
-       virStoragePoolBuild;
-       virStoragePoolDestroy;
-       virStoragePoolDelete;
-       virStoragePoolRefresh;
-       virStoragePoolFree;
-       virStoragePoolGetName;
-       virStoragePoolGetUUID;
-       virStoragePoolGetUUIDString;
-       virStoragePoolGetInfo;
-       virStoragePoolGetXMLDesc;
-       virStoragePoolSetAutostart;
-       virStoragePoolGetAutostart;
-        virStoragePoolNumOfVolumes;
-        virStoragePoolListVolumes;
-
-       virConnectNumOfStorageVolumes;
-       virConnectListStorageVolumes;
-        virStorageVolGetConnect;
-       virStorageVolLookupByName;
-       virStorageVolLookupByKey;
-       virStorageVolLookupByPath;
-       virStorageVolCreateXML;
-       virStorageVolDelete;
-       virStorageVolFree;
-       virStorageVolGetName;
-       virStorageVolGetKey;
-       virStorageVolGetInfo;
-       virStorageVolGetXMLDesc;
-       virStorageVolGetPath;
-
-        virEventRegisterImpl;
-        virConnectDomainEventRegister;
-        virConnectDomainEventDeregister;
-
-        /* Symbols with __ are private only
-           for use by the libvirtd daemon.
-           They are not part of stable ABI
-           guarentee provided for the public
-           symbols above */
-
-       __virConfNew;
-       __virConfReadFile;
-       __virConfReadMem;
-       __virConfFree;
-       __virConfGetValue;
-       __virConfSetValue;
-       __virConfWriteFile;
-       __virConfWriteMem;
-
-       __virGetDomain;
-       __virGetNetwork;
-       __virGetStoragePool;
-       __virGetStorageVol;
-
-       __virStateInitialize;
-       __virStateCleanup;
-       __virStateReload;
-       __virStateActive;
-       __virStateSigDispatcher;
-
-       __virDrvSupportsFeature;
-
-       __virDomainMigratePrepare;
-       __virDomainMigratePerform;
-       __virDomainMigrateFinish;
-
-        __virFileReadAll;
-        __virStrToLong_i;
-        __virStrToLong_ull;
-
-        __virBufferVSprintf;
-        __virBufferAdd;
-        __virBufferAddChar;
-        __virBufferContentAndReset;
-        __virBufferError;
-
-       __virMacAddrCompare;
-
-        __virAlloc;
-        __virAllocN;
-        __virReallocN;
-        __virFree;
-    local: *;
-};
diff -r bbf3d0bc9d49 src/libvirt_sym.version.in
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libvirt_sym.version.in        Tue Nov 11 17:28:31 2008 +0000
@@ -0,0 +1,318 @@
+/*
+ * 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
+ * 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;
+       virErrorFunc;
+       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;
+
+       virConnectNumOfStorageVolumes;
+       virConnectListStorageVolumes;
+       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;
+} LIBVIRT_0.4.5;
+
+/* .... 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
+ */
[EMAIL PROTECTED]@ {
+
+  global:
+
+       /* buf.h */
+       virBufferVSprintf;
+       virBufferAdd;
+       virBufferAddChar;
+       virBufferContentAndReset;
+       virBufferError;
+
+
+       /* conf.h */
+       virConfNew;
+       virConfReadFile;
+       virConfReadMem;
+       virConfFree;
+       virConfGetValue;
+       virConfSetValue;
+       virConfWriteFile;
+       virConfWriteMem;
+
+
+       /* datatypes.h */
+       virGetDomain;
+       virGetNetwork;
+       virGetStoragePool;
+       virGetStorageVol;
+
+
+       /* libvirt_internal.h */
+       virStateInitialize;
+       virStateCleanup;
+       virStateReload;
+       virStateActive;
+       virStateSigDispatcher;
+       virDrvSupportsFeature;
+       virDomainMigratePrepare;
+       virDomainMigratePerform;
+       virDomainMigrateFinish;
+
+
+       /* memory.h */
+       virAlloc;
+       virAllocN;
+       virReallocN;
+       virFree;
+
+
+       /* util.h */
+       virFileReadAll;
+       virStrToLong_i;
+       virStrToLong_ull;
+       saferead;
+       safewrite;
+       virMacAddrCompare;
+
+
+       /* Finally everything else is totally private */
+    local:
+       *;
+};
diff -r bbf3d0bc9d49 src/memory.c
--- a/src/memory.c      Tue Nov 11 17:28:27 2008 +0000
+++ b/src/memory.c      Tue Nov 11 17:28:31 2008 +0000
@@ -88,7 +88,7 @@
  *
  * Returns -1 on failure to allocate, zero on success
  */
-int __virAlloc(void *ptrptr, size_t size)
+int virAlloc(void *ptrptr, size_t size)
 {
 #if TEST_OOM
     if (virAllocTestFail()) {
@@ -116,7 +116,7 @@
  *
  * Returns -1 on failure to allocate, zero on success
  */
-int __virAllocN(void *ptrptr, size_t size, size_t count)
+int virAllocN(void *ptrptr, size_t size, size_t count)
 {
 #if TEST_OOM
     if (virAllocTestFail()) {
@@ -145,7 +145,7 @@
  *
  * Returns -1 on failure to allocate, zero on success
  */
-int __virReallocN(void *ptrptr, size_t size, size_t count)
+int virReallocN(void *ptrptr, size_t size, size_t count)
 {
     void *tmp;
 #if TEST_OOM
@@ -172,7 +172,7 @@
  * the 'ptrptr' variable. After release, 'ptrptr' will be
  * updated to point to NULL.
  */
-void __virFree(void *ptrptr)
+void virFree(void *ptrptr)
 {
     free(*(void**)ptrptr);
     *(void**)ptrptr = NULL;
diff -r bbf3d0bc9d49 src/memory.h
--- a/src/memory.h      Tue Nov 11 17:28:27 2008 +0000
+++ b/src/memory.h      Tue Nov 11 17:28:31 2008 +0000
@@ -45,10 +45,10 @@
 
 
 /* Don't call these directly - use the macros below */
-int __virAlloc(void *ptrptr, size_t size) ATTRIBUTE_RETURN_CHECK;
-int __virAllocN(void *ptrptr, size_t size, size_t count) 
ATTRIBUTE_RETURN_CHECK;
-int __virReallocN(void *ptrptr, size_t size, size_t count) 
ATTRIBUTE_RETURN_CHECK;
-void __virFree(void *ptrptr);
+int virAlloc(void *ptrptr, size_t size) ATTRIBUTE_RETURN_CHECK;
+int virAllocN(void *ptrptr, size_t size, size_t count) ATTRIBUTE_RETURN_CHECK;
+int virReallocN(void *ptrptr, size_t size, size_t count) 
ATTRIBUTE_RETURN_CHECK;
+void virFree(void *ptrptr);
 
 /**
  * VIR_ALLOC:
@@ -60,7 +60,7 @@
  *
  * Returns -1 on failure, 0 on success
  */
-#define VIR_ALLOC(ptr) __virAlloc(&(ptr), sizeof(*(ptr)))
+#define VIR_ALLOC(ptr) virAlloc(&(ptr), sizeof(*(ptr)))
 
 /**
  * VIR_ALLOC_N:
@@ -73,7 +73,7 @@
  *
  * Returns -1 on failure, 0 on success
  */
-#define VIR_ALLOC_N(ptr, count) __virAllocN(&(ptr), sizeof(*(ptr)), (count))
+#define VIR_ALLOC_N(ptr, count) virAllocN(&(ptr), sizeof(*(ptr)), (count))
 
 /**
  * VIR_REALLOC_N:
@@ -86,7 +86,7 @@
  *
  * Returns -1 on failure, 0 on success
  */
-#define VIR_REALLOC_N(ptr, count) __virReallocN(&(ptr), sizeof(*(ptr)), 
(count))
+#define VIR_REALLOC_N(ptr, count) virReallocN(&(ptr), sizeof(*(ptr)), (count))
 
 /**
  * VIR_FREE:
@@ -95,7 +95,7 @@
  * Free the memory stored in 'ptr' and update to point
  * to NULL.
  */
-#define VIR_FREE(ptr) __virFree(&(ptr))
+#define VIR_FREE(ptr) virFree(&(ptr))
 
 
 #if TEST_OOM
diff -r bbf3d0bc9d49 src/util-lib.c
--- a/src/util-lib.c    Tue Nov 11 17:28:27 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * common, generic utility functions
- *
- * Copyright (C) 2006, 2007, 2008 Red Hat, Inc.
- * See COPYING.LIB for the License of this software
- */
-
-#include <config.h>
-
-#include <unistd.h>
-#include <errno.h>
-
-#include "util-lib.h"
-
-/* Like read(), but restarts after EINTR */
-int saferead(int fd, void *buf, size_t count)
-{
-        size_t nread = 0;
-        while (count > 0) {
-                ssize_t r = read(fd, buf, count);
-                if (r < 0 && errno == EINTR)
-                        continue;
-                if (r < 0)
-                        return r;
-                if (r == 0)
-                        return nread;
-                buf = (char *)buf + r;
-                count -= r;
-                nread += r;
-        }
-        return nread;
-}
-
-/* Like write(), but restarts after EINTR */
-ssize_t safewrite(int fd, const void *buf, size_t count)
-{
-        size_t nwritten = 0;
-        while (count > 0) {
-                ssize_t r = write(fd, buf, count);
-
-                if (r < 0 && errno == EINTR)
-                        continue;
-                if (r < 0)
-                        return r;
-                if (r == 0)
-                        return nwritten;
-                buf = (const char *)buf + r;
-                count -= r;
-                nwritten += r;
-        }
-        return nwritten;
-}
diff -r bbf3d0bc9d49 src/util-lib.h
--- a/src/util-lib.h    Tue Nov 11 17:28:27 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
- * private utility functions
- *
- * Copyright (C) 2008 Red Hat, Inc.
- * See COPYING.LIB for the License of this software
- */
-
-#ifndef __UTIL_LIB_H__
-#define __UTIL_LIB_H__
-
-#include <sys/types.h>
-
-/*
- * To avoid a double definition of the function when compiling
- * programs using both util-lib and libvirt, like virsh
- */
-#ifdef IN_LIBVIRT
-#define saferead libvirt_saferead
-#define safewrite libvirt_safewrite
-#endif
-
-int saferead(int fd, void *buf, size_t count);
-ssize_t safewrite(int fd, const void *buf, size_t count);
-
-#endif
diff -r bbf3d0bc9d49 src/util.c
--- a/src/util.c        Tue Nov 11 17:28:27 2008 +0000
+++ b/src/util.c        Tue Nov 11 17:28:31 2008 +0000
@@ -54,7 +54,6 @@
 #include "buf.h"
 #include "util.h"
 #include "memory.h"
-#include "util-lib.c"
 
 #ifndef NSIG
 # define NSIG 32
@@ -66,11 +65,51 @@
 
 #define virLog(msg...) fprintf(stderr, msg)
 
-#ifndef PROXY
 
 #define ReportError(conn, code, fmt...)                                      \
         virReportErrorHelper(conn, VIR_FROM_NONE, code, __FILE__,          \
                                __FUNCTION__, __LINE__, fmt)
+
+/* Like read(), but restarts after EINTR */
+int saferead(int fd, void *buf, size_t count)
+{
+        size_t nread = 0;
+        while (count > 0) {
+                ssize_t r = read(fd, buf, count);
+                if (r < 0 && errno == EINTR)
+                        continue;
+                if (r < 0)
+                        return r;
+                if (r == 0)
+                        return nread;
+                buf = (char *)buf + r;
+                count -= r;
+                nread += r;
+        }
+        return nread;
+}
+
+/* Like write(), but restarts after EINTR */
+ssize_t safewrite(int fd, const void *buf, size_t count)
+{
+        size_t nwritten = 0;
+        while (count > 0) {
+                ssize_t r = write(fd, buf, count);
+
+                if (r < 0 && errno == EINTR)
+                        continue;
+                if (r < 0)
+                        return r;
+                if (r == 0)
+                        return nwritten;
+                buf = (const char *)buf + r;
+                count -= r;
+                nwritten += r;
+        }
+        return nwritten;
+}
+
+#ifndef PROXY
 
 int virFileStripSuffix(char *str,
                        const char *suffix)
@@ -675,7 +714,7 @@
 }
 
 /* Like virFileReadLimFP, but use a file descriptor rather than a FILE*.  */
-int __virFileReadLimFD(int fd_arg, int maxlen, char **buf)
+int virFileReadLimFD(int fd_arg, int maxlen, char **buf)
 {
     int fd = dup (fd_arg);
     if (fd >= 0) {
@@ -695,7 +734,7 @@
     return -1;
 }
 
-int __virFileReadAll(const char *path, int maxlen, char **buf)
+int virFileReadAll(const char *path, int maxlen, char **buf)
 {
     FILE *fh = fopen(path, "r");
     if (fh == NULL) {
@@ -985,7 +1024,7 @@
    validity.  This function is careful to return -1 when the string S
    represents a number that is not representable as an "int". */
 int
-__virStrToLong_i(char const *s, char **end_ptr, int base, int *result)
+virStrToLong_i(char const *s, char **end_ptr, int base, int *result)
 {
     long int val;
     char *p;
@@ -1042,7 +1081,7 @@
 
 /* Just like virStrToLong_i, above, but produce an "unsigned long long" value. 
 */
 int
-__virStrToLong_ull(char const *s, char **end_ptr, int base, unsigned long long 
*result)
+virStrToLong_ull(char const *s, char **end_ptr, int base, unsigned long long 
*result)
 {
     unsigned long long val;
     char *p;
@@ -1114,7 +1153,7 @@
  * as well as leading zeros.
  */
 int
-__virMacAddrCompare (const char *p, const char *q)
+virMacAddrCompare (const char *p, const char *q)
 {
     unsigned char c, d;
     do {
diff -r bbf3d0bc9d49 src/util.h
--- a/src/util.h        Tue Nov 11 17:28:27 2008 +0000
+++ b/src/util.h        Tue Nov 11 17:28:31 2008 +0000
@@ -25,9 +25,11 @@
 #ifndef __VIR_UTIL_H__
 #define __VIR_UTIL_H__
 
-#include "util-lib.h"
 #include "verify.h"
 #include <sys/select.h>
+
+int saferead(int fd, void *buf, size_t count);
+ssize_t safewrite(int fd, const void *buf, size_t count);
 
 enum {
     VIR_EXEC_NONE   = 0,
@@ -46,11 +48,9 @@
             int flags);
 int virRun(virConnectPtr conn, const char *const*argv, int *status);
 
-int __virFileReadLimFD(int fd, int maxlen, char **buf);
-#define virFileReadLimFD(fd,m,b) __virFileReadLimFD((fd),(m),(b))
+int virFileReadLimFD(int fd, int maxlen, char **buf);
 
-int __virFileReadAll(const char *path, int maxlen, char **buf);
-#define virFileReadAll(p,m,b) __virFileReadAll((p),(m),(b))
+int virFileReadAll(const char *path, int maxlen, char **buf);
 
 int virFileMatchesNameSuffix(const char *file,
                              const char *name,
@@ -90,11 +90,10 @@
 
 char *virArgvToString(const char *const *argv);
 
-int __virStrToLong_i(char const *s,
+int virStrToLong_i(char const *s,
                      char **end_ptr,
                      int base,
                      int *result);
-#define virStrToLong_i(s,e,b,r) __virStrToLong_i((s),(e),(b),(r))
 
 int virStrToLong_ui(char const *s,
                     char **end_ptr,
@@ -104,14 +103,12 @@
                     char **end_ptr,
                     int base,
                     long long *result);
-int __virStrToLong_ull(char const *s,
-                       char **end_ptr,
-                       int base,
-                       unsigned long long *result);
-#define virStrToLong_ull(s,e,b,r) __virStrToLong_ull((s),(e),(b),(r))
+int virStrToLong_ull(char const *s,
+                     char **end_ptr,
+                     int base,
+                     unsigned long long *result);
 
-int __virMacAddrCompare (const char *mac1, const char *mac2);
-#define virMacAddrCompare(mac1,mac2) __virMacAddrCompare((mac1),(mac2))
+int virMacAddrCompare (const char *mac1, const char *mac2);
 
 void virSkipSpaces(const char **str);
 int virParseNumber(const char **str);
diff -r bbf3d0bc9d49 src/virsh.c
--- a/src/virsh.c       Tue Nov 11 17:28:27 2008 +0000
+++ b/src/virsh.c       Tue Nov 11 17:28:31 2008 +0000
@@ -47,7 +47,6 @@
 #include "buf.h"
 #include "console.h"
 #include "util.h"
-#include "util-lib.h"
 
 static char *progname;
 


-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

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

Reply via email to