diff --git a/ChangeLog b/ChangeLog index df4a201a0f63a0df78862ae25a7d216d0463e109..f2dceca7cb0e205039d011a62e30400fa2b6fabd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu May 3 15:03:00 BST 2007 Richard Jones + + * src/virterror.c, include/libvirt/virterror.h: Added + VIR_FROM_REMOTE, VIR_ERR_RPC, VIR_ERR_GNUTLS_ERROR + for remote errors. + Wed May 2 18:42:00 BST 2007 Richard Jones * src/libvirt.c, src/qemu_internal.c: Allow network diff --git a/include/libvirt/virterror.h b/include/libvirt/virterror.h index 68591d6de7f93c5606b60e777d32f2c4c1f7efc4..79c6e2940663c33283750e7f2881b19f9d96844e 100644 --- a/include/libvirt/virterror.h +++ b/include/libvirt/virterror.h @@ -50,6 +50,7 @@ typedef enum { VIR_FROM_QEMU, /* Error at the QEMU daemon */ VIR_FROM_NET, /* Error when operating on a network */ VIR_FROM_TEST, /* Error from test driver */ + VIR_FROM_REMOTE, /* Error from remote driver */ } virErrorDomain; @@ -121,6 +122,8 @@ typedef enum { VIR_ERR_INVALID_NETWORK, /* invalid network object */ VIR_ERR_NETWORK_EXIST, /* the network already exist */ VIR_ERR_SYSTEM_ERROR, /* general system call failure */ + VIR_ERR_RPC, /* some sort of RPC error */ + VIR_ERR_GNUTLS_ERROR, /* error from a GNUTLS call */ } virErrorNumber; /** diff --git a/src/virterror.c b/src/virterror.c index d5aab17176fe6033a56fea2eb00fa679b728b51c..5fce348f2269b0184d52fa2a91c806ca2df309f5 100644 --- a/src/virterror.c +++ b/src/virterror.c @@ -277,6 +277,9 @@ virDefaultErrorFunc(virErrorPtr err) case VIR_FROM_TEST: dom = "Test "; break; + case VIR_FROM_REMOTE: + dom = "Remote "; + break; } if ((err->dom != NULL) && (err->code != VIR_ERR_INVALID_DOMAIN)) { domain = err->dom->name; @@ -613,6 +616,18 @@ __virErrorMsg(virErrorNumber error, const char *info) else errmsg = "%s"; break; + case VIR_ERR_RPC: + if (info == NULL) + errmsg = _("RPC error"); + else + errmsg = "%s"; + break; + case VIR_ERR_GNUTLS_ERROR: + if (info == NULL) + errmsg = _("GNUTLS call error"); + else + errmsg = "%s"; + break; } return (errmsg); }