diff --git a/daemon/libvirtd-config.c b/daemon/libvirtd-config.c index c31ef1641e..929dd1a222 100644 --- a/daemon/libvirtd-config.c +++ b/daemon/libvirtd-config.c @@ -123,8 +123,8 @@ checkType(virConfValuePtr p, const char *filename, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("remoteReadConfigFile: %s: %s: invalid type:" " got %s; expected %s"), filename, key, - virConfTypeName(p->type), - virConfTypeName(required_type)); + virConfTypeToString(p->type), + virConfTypeToString(required_type)); return -1; } return 0; diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 6df27848ed..57cf4d356e 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1211,6 +1211,8 @@ virConfNew; virConfReadFile; virConfReadMem; virConfSetValue; +virConfTypeFromString; +virConfTypeToString; virConfWalk; virConfWriteFile; virConfWriteMem; diff --git a/src/locking/lock_daemon_config.c b/src/locking/lock_daemon_config.c index 62b8b025e5..abe6abae94 100644 --- a/src/locking/lock_daemon_config.c +++ b/src/locking/lock_daemon_config.c @@ -47,8 +47,8 @@ checkType(virConfValuePtr p, const char *filename, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("remoteReadConfigFile: %s: %s: invalid type:" " got %s; expected %s"), filename, key, - virConfTypeName(p->type), - virConfTypeName(required_type)); + virConfTypeToString(p->type), + virConfTypeToString(required_type)); return -1; } return 0; diff --git a/src/util/virconf.c b/src/util/virconf.c index 74e695a894..5b4b4c3cbf 100644 --- a/src/util/virconf.c +++ b/src/util/virconf.c @@ -80,6 +80,12 @@ struct _virConfParserCtxt { * * ************************************************************************/ +VIR_ENUM_IMPL(virConf, VIR_CONF_LAST, + "*unexpected*", + "long", + "string", + "list"); + typedef struct _virConfEntry virConfEntry; typedef virConfEntry *virConfEntryPtr; diff --git a/src/util/virconf.h b/src/util/virconf.h index 2a6b050d98..6176d43163 100644 --- a/src/util/virconf.h +++ b/src/util/virconf.h @@ -23,6 +23,8 @@ #ifndef __VIR_CONF_H__ # define __VIR_CONF_H__ +# include "virutil.h" + /** * virConfType: * one of the possible type for a value from the configuration file @@ -30,12 +32,15 @@ * TODO: we probably need a float too. */ typedef enum { - VIR_CONF_NONE = 0, /* undefined */ - VIR_CONF_LONG = 1, /* a long int */ - VIR_CONF_STRING = 2, /* a string */ - VIR_CONF_LIST = 3 /* a list */ + VIR_CONF_NONE = 0, /* undefined */ + VIR_CONF_LONG, /* a long int */ + VIR_CONF_STRING, /* a string */ + VIR_CONF_LIST, /* a list */ + VIR_CONF_LAST, /* sentinel */ } virConfType; +VIR_ENUM_DECL(virConf) + typedef enum { VIR_CONF_FLAG_VMX_FORMAT = 1, /* allow ':', '.' and '-' in names for compatibility with VMware VMX configuration file, but restrict @@ -45,21 +50,6 @@ typedef enum { to string only and don't expect quotes for values */ } virConfFlags; -static inline const char * -virConfTypeName (virConfType t) -{ - switch (t) { - case VIR_CONF_LONG: - return "long"; - case VIR_CONF_STRING: - return "string"; - case VIR_CONF_LIST: - return "list"; - default: - return "*unexpected*"; - } -} - /** * virConfValue: * a value from the configuration file