mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-09 05:01:28 +00:00
node conf: Make parsing routines consistent with other drivers
Add virNodeDeviceParseFile, and make virNodeDeviceParseNode non-static. These will be used by the test driver. Signed-off-by: Cole Robinson <crobinso@redhat.com>
This commit is contained in:
parent
2eb9301ba5
commit
7165bef132
@ -1097,8 +1097,11 @@ virNodeDeviceDefParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt, int create
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static virNodeDeviceDefPtr
|
virNodeDeviceDefPtr
|
||||||
virNodeDeviceDefParseNode(virConnectPtr conn, xmlDocPtr xml, xmlNodePtr root, int create)
|
virNodeDeviceDefParseNode(virConnectPtr conn,
|
||||||
|
xmlDocPtr xml,
|
||||||
|
xmlNodePtr root,
|
||||||
|
int create)
|
||||||
{
|
{
|
||||||
xmlXPathContextPtr ctxt = NULL;
|
xmlXPathContextPtr ctxt = NULL;
|
||||||
virNodeDeviceDefPtr def = NULL;
|
virNodeDeviceDefPtr def = NULL;
|
||||||
@ -1143,8 +1146,13 @@ catchXMLError(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
virNodeDeviceDefPtr
|
|
||||||
virNodeDeviceDefParseString(virConnectPtr conn, const char *str, int create)
|
|
||||||
|
static virNodeDeviceDefPtr
|
||||||
|
virNodeDeviceDefParse(virConnectPtr conn,
|
||||||
|
const char *str,
|
||||||
|
const char *filename,
|
||||||
|
int create)
|
||||||
{
|
{
|
||||||
xmlParserCtxtPtr pctxt;
|
xmlParserCtxtPtr pctxt;
|
||||||
xmlDocPtr xml = NULL;
|
xmlDocPtr xml = NULL;
|
||||||
@ -1159,9 +1167,17 @@ virNodeDeviceDefParseString(virConnectPtr conn, const char *str, int create)
|
|||||||
pctxt->_private = conn;
|
pctxt->_private = conn;
|
||||||
|
|
||||||
if (conn) virResetError (&conn->err);
|
if (conn) virResetError (&conn->err);
|
||||||
xml = xmlCtxtReadDoc(pctxt, BAD_CAST str, "device.xml", NULL,
|
if (filename) {
|
||||||
XML_PARSE_NOENT | XML_PARSE_NONET |
|
xml = xmlCtxtReadFile (pctxt, filename, NULL,
|
||||||
XML_PARSE_NOWARNING);
|
XML_PARSE_NOENT | XML_PARSE_NONET |
|
||||||
|
XML_PARSE_NOWARNING);
|
||||||
|
} else {
|
||||||
|
xml = xmlCtxtReadDoc (pctxt, BAD_CAST str,
|
||||||
|
"device.xml", NULL,
|
||||||
|
XML_PARSE_NOENT | XML_PARSE_NONET |
|
||||||
|
XML_PARSE_NOWARNING);
|
||||||
|
}
|
||||||
|
|
||||||
if (!xml) {
|
if (!xml) {
|
||||||
if (conn && conn->err.code == VIR_ERR_NONE)
|
if (conn && conn->err.code == VIR_ERR_NONE)
|
||||||
virNodeDeviceReportError(conn, VIR_ERR_XML_ERROR,
|
virNodeDeviceReportError(conn, VIR_ERR_XML_ERROR,
|
||||||
@ -1183,6 +1199,23 @@ cleanup:
|
|||||||
return def;
|
return def;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virNodeDeviceDefPtr
|
||||||
|
virNodeDeviceDefParseString(virConnectPtr conn,
|
||||||
|
const char *str,
|
||||||
|
int create)
|
||||||
|
{
|
||||||
|
return virNodeDeviceDefParse(conn, str, NULL, create);
|
||||||
|
}
|
||||||
|
|
||||||
|
virNodeDeviceDefPtr
|
||||||
|
virNodeDeviceDefParseFile(virConnectPtr conn,
|
||||||
|
const char *filename,
|
||||||
|
int create)
|
||||||
|
{
|
||||||
|
return virNodeDeviceDefParse(conn, NULL, filename, create);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void virNodeDevCapsDefFree(virNodeDevCapsDefPtr caps)
|
void virNodeDevCapsDefFree(virNodeDevCapsDefPtr caps)
|
||||||
{
|
{
|
||||||
union _virNodeDevCapData *data = &caps->data;
|
union _virNodeDevCapData *data = &caps->data;
|
||||||
|
@ -28,6 +28,8 @@
|
|||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "threads.h"
|
#include "threads.h"
|
||||||
|
|
||||||
|
#include <libxml/tree.h>
|
||||||
|
|
||||||
#define CREATE_DEVICE 1
|
#define CREATE_DEVICE 1
|
||||||
#define EXISTING_DEVICE 0
|
#define EXISTING_DEVICE 0
|
||||||
|
|
||||||
@ -211,6 +213,13 @@ char *virNodeDeviceDefFormat(virConnectPtr conn,
|
|||||||
virNodeDeviceDefPtr virNodeDeviceDefParseString(virConnectPtr conn,
|
virNodeDeviceDefPtr virNodeDeviceDefParseString(virConnectPtr conn,
|
||||||
const char *str,
|
const char *str,
|
||||||
int create);
|
int create);
|
||||||
|
virNodeDeviceDefPtr virNodeDeviceDefParseFile(virConnectPtr conn,
|
||||||
|
const char *filename,
|
||||||
|
int create);
|
||||||
|
virNodeDeviceDefPtr virNodeDeviceDefParseNode(virConnectPtr conn,
|
||||||
|
xmlDocPtr xml,
|
||||||
|
xmlNodePtr root,
|
||||||
|
int create);
|
||||||
|
|
||||||
void virNodeDeviceDefFree(virNodeDeviceDefPtr def);
|
void virNodeDeviceDefFree(virNodeDeviceDefPtr def);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user