/*
* xend_internal.c: access to Xen though the Xen Daemon interface
*
- * Copyright (C) 2010-2012 Red Hat, Inc.
+ * Copyright (C) 2010-2013 Red Hat, Inc.
* Copyright (C) 2005 Anthony Liguori <aliguori@us.ibm.com>
*
* This file is subject to the terms and conditions of the GNU Lesser General
#define XEND_RCV_BUF_MAX_LEN (256 * 1024)
static int
-virDomainXMLDevID(virDomainPtr domain,
- virDomainDeviceDefPtr dev,
- char *class,
- char *ref,
- int ref_len);
+virDomainXMLDevID(virDomainPtr domain, virDomainDeviceDefPtr dev, char *class,
+ char *ref, int ref_len);
/**
* do_connect:
{
int s;
int no_slow_start = 1;
- xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) xend->privateData;
+ xenUnifiedPrivatePtr priv = xend->privateData;
s = socket(priv->addrfamily, SOCK_STREAM, priv->addrprotocol);
if (s == -1) {
* Returns the HTTP return code or -1 in case or error.
*/
static int ATTRIBUTE_NONNULL(3)
-xend_get(virConnectPtr xend, const char *path,
- char **content)
+xend_get(virConnectPtr xend, const char *path, char **content)
{
int ret;
int s = do_connect(xend);
xenDaemonOpen_unix(virConnectPtr conn, const char *path)
{
struct sockaddr_un *addr;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = conn->privateData;
- if ((conn == NULL) || (path == NULL))
- return -1;
-
- priv = (xenUnifiedPrivatePtr) conn->privateData;
memset(&priv->addr, 0, sizeof(priv->addr));
priv->addrfamily = AF_UNIX;
/*
static int
xenDaemonOpen_tcp(virConnectPtr conn, const char *host, const char *port)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = conn->privateData;
struct addrinfo *res, *r;
struct addrinfo hints;
int saved_errno = EINVAL;
int ret;
- if ((conn == NULL) || (host == NULL) || (port == NULL))
- return -1;
-
- priv = (xenUnifiedPrivatePtr) conn->privateData;
-
priv->addrlen = 0;
memset(&priv->addr, 0, sizeof(priv->addr));
* Returns the id on success; -1 (with errno) on error
*/
int
-xenDaemonDomainLookupByName_ids(virConnectPtr xend, const char *domname,
+xenDaemonDomainLookupByName_ids(virConnectPtr xend,
+ const char *domname,
unsigned char *uuid)
{
struct sexpr *root;
static int
-xend_detect_config_version(virConnectPtr conn) {
+xend_detect_config_version(virConnectPtr conn)
+{
struct sexpr *root;
const char *value;
- xenUnifiedPrivatePtr priv;
-
- if (!VIR_IS_CONNECT(conn)) {
- virReportError(VIR_ERR_INVALID_CONN, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) conn->privateData;
+ xenUnifiedPrivatePtr priv = conn->privateData;
root = sexpr_get(conn, "/xend/node/");
if (root == NULL)
* Returns 0 in case of success, -1 in case of error
*/
static int
-sexpr_to_xend_domain_info(virDomainPtr domain, const struct sexpr *root,
+sexpr_to_xend_domain_info(virDomainPtr domain,
+ const struct sexpr *root,
virDomainInfoPtr info)
{
int vcpus;
- if ((root == NULL) || (info == NULL))
- return -1;
-
info->state = sexpr_to_xend_domain_state(domain, root);
info->memory = sexpr_u64(root, "domain/memory") << 10;
info->maxMem = sexpr_u64(root, "domain/maxmem") << 10;
{
const char *machine;
-
- if ((root == NULL) || (info == NULL))
- return -1;
-
machine = sexpr_node(root, "node/machine");
if (machine == NULL) {
info->model[0] = 0;
* Returns 0 in case of success, -1 in case of error
*/
static int
-sexpr_to_xend_topology(const struct sexpr *root,
- virCapsPtr caps)
+sexpr_to_xend_topology(const struct sexpr *root, virCapsPtr caps)
{
const char *nodeToCpu;
const char *cur;
unsigned char uuid[VIR_UUID_BUFLEN];
const char *name;
const char *tmp;
- xenUnifiedPrivatePtr priv;
-
- if ((conn == NULL) || (root == NULL))
- return NULL;
-
- priv = (xenUnifiedPrivatePtr) conn->privateData;
+ xenUnifiedPrivatePtr priv = conn->privateData;
if (sexpr_uuid(uuid, root, "domain/uuid") < 0)
goto error;
int
xenDaemonDomainSuspend(virDomainPtr domain)
{
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
if (domain->id < 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
_("Domain %s isn't running."), domain->name);
int
xenDaemonDomainResume(virDomainPtr domain)
{
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
if (domain->id < 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
_("Domain %s isn't running."), domain->name);
int
xenDaemonDomainShutdown(virDomainPtr domain)
{
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
if (domain->id < 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
_("Domain %s isn't running."), domain->name);
{
virCheckFlags(0, -1);
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
if (domain->id < 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
_("Domain %s isn't running."), domain->name);
* Returns 0 in case of success, -1 (with errno) in case of error.
*/
int
-xenDaemonDomainDestroyFlags(virDomainPtr domain,
- unsigned int flags)
+xenDaemonDomainDestroyFlags(virDomainPtr domain, unsigned int flags)
{
virCheckFlags(0, -1);
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
if (domain->id < 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
_("Domain %s isn't running."), domain->name);
{
char *type;
struct sexpr *root;
- xenUnifiedPrivatePtr priv;
-
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return NULL;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
if (domain->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return NULL;
int
xenDaemonDomainSave(virDomainPtr domain, const char *filename)
{
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL) ||
- (filename == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
if (domain->id < 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
_("Domain %s isn't running."), domain->name);
* Returns 0 in case of success, -1 in case of error.
*/
int
-xenDaemonDomainCoreDump(virDomainPtr domain, const char *filename,
+xenDaemonDomainCoreDump(virDomainPtr domain,
+ const char *filename,
unsigned int flags)
{
virCheckFlags(VIR_DUMP_LIVE | VIR_DUMP_CRASH, -1);
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL) ||
- (filename == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
if (domain->id < 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
_("Domain %s isn't running."), domain->name);
int
xenDaemonDomainRestore(virConnectPtr conn, const char *filename)
{
- if ((conn == NULL) || (filename == NULL)) {
- /* this should be caught at the interface but ... */
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
return xend_op(conn, "", "op", "restore", "file", filename, NULL);
}
{
unsigned long long ret = 0;
struct sexpr *root;
- xenUnifiedPrivatePtr priv;
-
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return 0;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
if (domain->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return 0;
xenDaemonDomainSetMaxMemory(virDomainPtr domain, unsigned long memory)
{
char buf[1024];
- xenUnifiedPrivatePtr priv;
-
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
if (domain->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return -1;
xenDaemonDomainSetMemory(virDomainPtr domain, unsigned long memory)
{
char buf[1024];
- xenUnifiedPrivatePtr priv;
-
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
if (domain->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return -1;
virDomainDefPtr
-xenDaemonDomainFetch(virConnectPtr conn,
- int domid,
- const char *name,
+xenDaemonDomainFetch(virConnectPtr conn, int domid, const char *name,
const char *cpus)
{
struct sexpr *root;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = conn->privateData;
virDomainDefPtr def;
int id;
char * tty;
if (root == NULL)
return NULL;
- priv = (xenUnifiedPrivatePtr) conn->privateData;
-
id = xenGetDomIdFromSxpr(root, priv->xendConfigVersion);
xenUnifiedLock(priv);
if (sexpr_lookup(root, "domain/image/hvm"))
* the caller must free() the returned value.
*/
char *
-xenDaemonDomainGetXMLDesc(virDomainPtr domain, unsigned int flags,
+xenDaemonDomainGetXMLDesc(virDomainPtr domain,
+ unsigned int flags,
const char *cpus)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
virDomainDefPtr def;
char *xml;
/* Flags checked by virDomainDefFormat */
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return NULL;
- }
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
-
if (domain->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) {
/* fall-through to the next driver to handle */
return NULL;
{
struct sexpr *root;
int ret;
- xenUnifiedPrivatePtr priv;
-
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL) ||
- (info == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
if (domain->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return -1;
struct sexpr *root;
virDomainPtr ret = NULL;
- if ((conn == NULL) || (domname == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return NULL;
- }
-
root = sexpr_get(conn, "/xend/domain/%s?detail=1", domname);
if (root == NULL)
goto error;
* Returns 0 in case of success and -1 in case of failure.
*/
int
-xenDaemonNodeGetInfo(virConnectPtr conn, virNodeInfoPtr info) {
+xenDaemonNodeGetInfo(virConnectPtr conn, virNodeInfoPtr info)
+{
int ret = -1;
struct sexpr *root;
- if (!VIR_IS_CONNECT(conn)) {
- virReportError(VIR_ERR_INVALID_CONN, __FUNCTION__);
- return -1;
- }
- if (info == NULL) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
root = sexpr_get(conn, "/xend/node/");
if (root == NULL)
return -1;
* Returns -1 in case of error, 0 otherwise.
*/
int
-xenDaemonNodeGetTopology(virConnectPtr conn,
- virCapsPtr caps) {
+xenDaemonNodeGetTopology(virConnectPtr conn, virCapsPtr caps)
+{
int ret = -1;
struct sexpr *root;
- if (!VIR_IS_CONNECT(conn)) {
- virReportError(VIR_ERR_INVALID_CONN, __FUNCTION__);
- return -1;
- }
-
- if (caps == NULL) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
root = sexpr_get(conn, "/xend/node/");
if (root == NULL) {
return -1;
int major, minor;
unsigned long version;
- if (!VIR_IS_CONNECT(conn)) {
- virReportError(VIR_ERR_INVALID_CONN, __FUNCTION__);
- return -1;
- }
- if (hvVer == NULL) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
root = sexpr_get(conn, "/xend/node/");
if (root == NULL)
return -1;
if (maxids == 0)
return 0;
- if ((ids == NULL) || (maxids < 0))
- goto error;
root = sexpr_get(conn, "/xend/domain");
if (root == NULL)
goto error;
* Returns a new domain object or NULL in case of failure
*/
virDomainPtr
-xenDaemonLookupByID(virConnectPtr conn, int id) {
+xenDaemonLookupByID(virConnectPtr conn, int id)
+{
char *name = NULL;
unsigned char uuid[VIR_UUID_BUFLEN];
virDomainPtr ret;
* the unified driver should keep trying.
*/
int
-xenDaemonDomainSetVcpusFlags(virDomainPtr domain, unsigned int vcpus,
+xenDaemonDomainSetVcpusFlags(virDomainPtr domain,
+ unsigned int vcpus,
unsigned int flags)
{
char buf[VIR_UUID_BUFLEN];
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
int max;
virCheckFlags(VIR_DOMAIN_VCPU_LIVE |
VIR_DOMAIN_VCPU_CONFIG |
VIR_DOMAIN_VCPU_MAXIMUM, -1);
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)
- || (vcpus < 1)) {
+ if (vcpus < 1) {
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
return -1;
}
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
-
if ((domain->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) ||
(flags & VIR_DOMAIN_VCPU_MAXIMUM))
return -2;
* Returns 0 for success; -1 (with errno) on error
*/
int
-xenDaemonDomainPinVcpu(virDomainPtr domain, unsigned int vcpu,
- unsigned char *cpumap, int maplen)
+xenDaemonDomainPinVcpu(virDomainPtr domain,
+ unsigned int vcpu,
+ unsigned char *cpumap,
+ int maplen)
{
char buf[VIR_UUID_BUFLEN], mapstr[sizeof(cpumap_t) * 64];
int i, j, ret;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
virDomainDefPtr def = NULL;
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)
- || (cpumap == NULL) || (maplen < 1) || (maplen > (int)sizeof(cpumap_t))) {
+ if (maplen > (int)sizeof(cpumap_t)) {
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
return -1;
}
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) {
mapstr[0] = '[';
mapstr[1] = 0;
{
struct sexpr *root;
int ret;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
virCheckFlags(VIR_DOMAIN_VCPU_LIVE |
VIR_DOMAIN_VCPU_CONFIG |
VIR_DOMAIN_VCPU_MAXIMUM, -1);
- if (domain == NULL || domain->conn == NULL || domain->name == NULL) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
-
/* If xendConfigVersion is 2, then we can only report _LIVE (and
* xm_internal reports _CONFIG). If it is 3, then _LIVE and
* _CONFIG are always in sync for a running system. */
* Returns the number of info filled in case of success, -1 in case of failure.
*/
int
-xenDaemonDomainGetVcpus(virDomainPtr domain, virVcpuInfoPtr info, int maxinfo,
- unsigned char *cpumaps, int maplen)
+xenDaemonDomainGetVcpus(virDomainPtr domain,
+ virVcpuInfoPtr info,
+ int maxinfo,
+ unsigned char *cpumaps,
+ int maplen)
{
struct sexpr *root, *s, *t;
virVcpuInfoPtr ipt = info;
unsigned char *cpumap;
int vcpu, cpu;
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)
- || (info == NULL) || (maxinfo < 1)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
- if (cpumaps != NULL && maplen < 1) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
root = sexpr_get(domain->conn, "/xend/domain/%s?op=vcpuinfo", domain->name);
if (root == NULL)
return -1;
virDomainPtr ret;
char *name = NULL;
int id = -1;
- xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
+ xenUnifiedPrivatePtr priv = conn->privateData;
/* Old approach for xen <= 3.0.3 */
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) {
* Returns a new domain object or NULL in case of failure
*/
virDomainPtr
-xenDaemonCreateXML(virConnectPtr conn, const char *xmlDesc,
- unsigned int flags)
+xenDaemonCreateXML(virConnectPtr conn, const char *xmlDesc, unsigned int flags)
{
int ret;
char *sexpr;
virDomainPtr dom = NULL;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = conn->privateData;
virDomainDefPtr def;
virCheckFlags(0, NULL);
- priv = (xenUnifiedPrivatePtr) conn->privateData;
-
if (!(def = virDomainDefParseString(priv->caps, xmlDesc,
1 << VIR_DOMAIN_VIRT_XEN,
VIR_DOMAIN_XML_INACTIVE)))
* Returns 0 in case of success, -1 in case of failure.
*/
static int
-xenDaemonAttachDeviceFlags(virDomainPtr domain, const char *xml,
+xenDaemonAttachDeviceFlags(virDomainPtr domain,
+ const char *xml,
unsigned int flags)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
char *sexpr = NULL;
int ret = -1;
virDomainDeviceDefPtr dev = NULL;
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1);
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
-
if (domain->id < 0) {
/* Cannot modify live config if domain is inactive */
if (flags & VIR_DOMAIN_DEVICE_MODIFY_LIVE) {
* Returns 0 in case of success, -1 in case of failure.
*/
int
-xenDaemonUpdateDeviceFlags(virDomainPtr domain, const char *xml,
+xenDaemonUpdateDeviceFlags(virDomainPtr domain,
+ const char *xml,
unsigned int flags)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
char *sexpr = NULL;
int ret = -1;
virDomainDeviceDefPtr dev = NULL;
virCheckFlags(VIR_DOMAIN_DEVICE_MODIFY_LIVE |
VIR_DOMAIN_DEVICE_MODIFY_CONFIG, -1);
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
-
if (domain->id < 0) {
/* Cannot modify live config if domain is inactive */
if (flags & VIR_DOMAIN_DEVICE_MODIFY_LIVE) {
* Returns 0 in case of success, -1 in case of failure.
*/
static int
-xenDaemonDetachDeviceFlags(virDomainPtr domain, const char *xml,
+xenDaemonDetachDeviceFlags(virDomainPtr domain,
+ const char *xml,
unsigned int flags)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
char class[8], ref[80];
virDomainDeviceDefPtr dev = NULL;
virDomainDefPtr def = NULL;
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1);
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
-
if (domain->id < 0) {
/* Cannot modify live config if domain is inactive */
if (flags & VIR_DOMAIN_DEVICE_MODIFY_LIVE) {
}
int
-xenDaemonDomainGetAutostart(virDomainPtr domain,
- int *autostart)
+xenDaemonDomainGetAutostart(virDomainPtr domain, int *autostart)
{
struct sexpr *root;
const char *tmp;
- xenUnifiedPrivatePtr priv;
-
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
/* xm_internal.c (the support for defined domains from /etc/xen
* config files used by old Xen) will handle this.
*/
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return -1;
}
int
-xenDaemonDomainSetAutostart(virDomainPtr domain,
- int autostart)
+xenDaemonDomainSetAutostart(virDomainPtr domain, int autostart)
{
struct sexpr *root, *autonode;
virBuffer buffer = VIR_BUFFER_INITIALIZER;
char *content = NULL;
int ret = -1;
- xenUnifiedPrivatePtr priv;
-
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INTERNAL_ERROR, __FUNCTION__);
- return -1;
- }
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
/* xm_internal.c (the support for defined domains from /etc/xen
* config files used by old Xen) will handle this.
*/
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return -1;
return ret;
}
-virDomainPtr xenDaemonDomainDefineXML(virConnectPtr conn, const char *xmlDesc) {
+virDomainPtr
+xenDaemonDomainDefineXML(virConnectPtr conn, const char *xmlDesc)
+{
int ret;
char *sexpr;
virDomainPtr dom;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = conn->privateData;
virDomainDefPtr def;
- priv = (xenUnifiedPrivatePtr) conn->privateData;
-
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return NULL;
virDomainDefFree(def);
return NULL;
}
-int xenDaemonDomainCreate(virDomainPtr domain)
+int
+xenDaemonDomainCreate(virDomainPtr domain)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
int ret;
virDomainPtr tmp;
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
-
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return -1;
return ret;
}
-int xenDaemonDomainUndefine(virDomainPtr domain)
+int
+xenDaemonDomainUndefine(virDomainPtr domain)
{
- xenUnifiedPrivatePtr priv;
-
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return -1;
struct sexpr *root = NULL;
int ret = -1;
struct sexpr *_for_i, *node;
- xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
+ xenUnifiedPrivatePtr priv = conn->privateData;
/* xm_internal.c (the support for defined domains from /etc/xen
* config files used by old Xen) will handle this.
}
static int
-xenDaemonListDefinedDomains(virConnectPtr conn, char **const names, int maxnames) {
+xenDaemonListDefinedDomains(virConnectPtr conn,
+ char **const names,
+ int maxnames)
+{
struct sexpr *root = NULL;
int i, ret = -1;
struct sexpr *_for_i, *node;
- xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
+ xenUnifiedPrivatePtr priv = conn->privateData;
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return -1;
- if ((names == NULL) || (maxnames < 0))
- goto error;
if (maxnames == 0)
return 0;
static char *
xenDaemonGetSchedulerType(virDomainPtr domain, int *nparams)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
struct sexpr *root;
const char *ret = NULL;
char *schedulertype = NULL;
- if (domain->conn == NULL || domain->name == NULL) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return NULL;
- }
-
/* Support only xendConfigVersion >=4 */
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_1_0) {
virReportError(VIR_ERR_OPERATION_INVALID,
"%s", _("unsupported in xendConfigVersion < 4"));
*/
static int
xenDaemonGetSchedulerParameters(virDomainPtr domain,
- virTypedParameterPtr params, int *nparams)
+ virTypedParameterPtr params,
+ int *nparams)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
struct sexpr *root;
char *sched_type = NULL;
int sched_nparam = 0;
int ret = -1;
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
/* Support only xendConfigVersion >=4 */
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_1_0) {
virReportError(VIR_ERR_OPERATION_INVALID,
"%s", _("unsupported in xendConfigVersion < 4"));
*/
static int
xenDaemonSetSchedulerParameters(virDomainPtr domain,
- virTypedParameterPtr params, int nparams)
+ virTypedParameterPtr params,
+ int nparams)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
struct sexpr *root;
char *sched_type = NULL;
int i;
int sched_nparam = 0;
int ret = -1;
- if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
/* Support only xendConfigVersion >=4 and active domains */
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_1_0) {
virReportError(VIR_ERR_OPERATION_INVALID,
"%s", _("unsupported in xendConfigVersion < 4"));
* Returns 0 if successful, -1 if error, -2 if declined.
*/
int
-xenDaemonDomainBlockPeek(virDomainPtr domain, const char *path,
- unsigned long long offset, size_t size,
+xenDaemonDomainBlockPeek(virDomainPtr domain,
+ const char *path,
+ unsigned long long offset,
+ size_t size,
void *buffer)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = domain->conn->privateData;
struct sexpr *root = NULL;
int fd = -1, ret = -1;
virDomainDefPtr def;
int vncport;
const char *actual;
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
-
if (domain->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
return -2; /* Decline, allow XM to handle it. */