/*
* remote.c: handlers for RPC method calls
*
- * Copyright (C) 2007-2011 Red Hat, Inc.
+ * Copyright (C) 2007-2012 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
cleanup:
if (rv < 0)
virNetMessageSaveError(rerr);
+ virTypedParameterArrayClear(params, nparams);
+ VIR_FREE(params);
if (dom)
virDomainFree(dom);
- VIR_FREE(params);
return rv;
}
* Description: Provides the interfaces of the libvirt library to handle
* virtualized domains
*
- * Copy: Copyright (C) 2005-2006, 2010-2011 Red Hat, Inc.
+ * Copy: Copyright (C) 2005-2006, 2010-2012 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
*/
#define VIR_DOMAIN_SCHEDULER_SHARES "shares"
-/**
- * VIR_DOMAIN_BANDWIDTH_IN_AVERAGE:
- *
- * Macro represents the inbound average of NIC bandwidth.
- */
-#define VIR_DOMAIN_BANDWIDTH_IN_AVERAGE "inbound.average"
-
-/**
- * VIR_DOMAIN_BANDWIDTH_IN_PEAK:
- *
- * Macro represents the inbound peak of NIC bandwidth.
- */
-#define VIR_DOMAIN_BANDWIDTH_IN_PEAK "inbound.peak"
-
-/**
- * VIR_DOMAIN_BANDWIDTH_IN_BURST:
- *
- * Macro represents the inbound burst of NIC bandwidth.
- */
-#define VIR_DOMAIN_BANDWIDTH_IN_BURST "inbound.burst"
-
-/**
- * VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE:
- *
- * Macro represents the outbound average of NIC bandwidth.
- */
-#define VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE "outbound.average"
-
-/**
- * VIR_DOMAIN_BANDWIDTH_OUT_PEAK:
- *
- * Macro represents the outbound peak of NIC bandwidth.
- */
-#define VIR_DOMAIN_BANDWIDTH_OUT_PEAK "outbound.peak"
-
-/**
- * VIR_DOMAIN_BANDWIDTH_OUT_BURST:
- *
- * Macro represents the outbound burst of NIC bandwidth.
- */
-#define VIR_DOMAIN_BANDWIDTH_OUT_BURST "outbound.burst"
-
/*
* Fetch scheduler parameters, caller allocates 'params' field of size 'nparams'
*/
const char *path,
virDomainInterfaceStatsPtr stats,
size_t size);
+
+/* Management of interface parameters */
+
+/**
+ * VIR_DOMAIN_BANDWIDTH_IN_AVERAGE:
+ *
+ * Macro represents the inbound average of NIC bandwidth, as a uint.
+ */
+#define VIR_DOMAIN_BANDWIDTH_IN_AVERAGE "inbound.average"
+
+/**
+ * VIR_DOMAIN_BANDWIDTH_IN_PEAK:
+ *
+ * Macro represents the inbound peak of NIC bandwidth, as a uint.
+ */
+#define VIR_DOMAIN_BANDWIDTH_IN_PEAK "inbound.peak"
+
+/**
+ * VIR_DOMAIN_BANDWIDTH_IN_BURST:
+ *
+ * Macro represents the inbound burst of NIC bandwidth, as a uint.
+ */
+#define VIR_DOMAIN_BANDWIDTH_IN_BURST "inbound.burst"
+
+/**
+ * VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE:
+ *
+ * Macro represents the outbound average of NIC bandwidth, as a uint.
+ */
+#define VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE "outbound.average"
+
+/**
+ * VIR_DOMAIN_BANDWIDTH_OUT_PEAK:
+ *
+ * Macro represents the outbound peak of NIC bandwidth, as a uint.
+ */
+#define VIR_DOMAIN_BANDWIDTH_OUT_PEAK "outbound.peak"
+
+/**
+ * VIR_DOMAIN_BANDWIDTH_OUT_BURST:
+ *
+ * Macro represents the outbound burst of NIC bandwidth, as a uint.
+ */
+#define VIR_DOMAIN_BANDWIDTH_OUT_BURST "outbound.burst"
+
int virDomainSetInterfaceParameters (virDomainPtr dom,
const char *device,
virTypedParameterPtr params,
const char *device,
virTypedParameterPtr params,
int *nparams, unsigned int flags);
-int virDomainMemoryStats (virDomainPtr dom,
- virDomainMemoryStatPtr stats,
- unsigned int nr_stats,
- unsigned int flags);
+
+/* Management of domain block devices */
+
int virDomainBlockPeek (virDomainPtr dom,
const char *disk,
unsigned long long offset,
virDomainBlockInfoPtr info,
unsigned int flags);
+/* Management of domain memory */
+
+int virDomainMemoryStats (virDomainPtr dom,
+ virDomainMemoryStatPtr stats,
+ unsigned int nr_stats,
+ unsigned int flags);
+
/* Memory peeking flags. */
+
typedef enum {
VIR_MEMORY_VIRTUAL = 1, /* addresses are virtual addresses */
VIR_MEMORY_PHYSICAL = 2, /* addresses are physical addresses */
* libvirt.c: Main interfaces for the libvirt library to handle virtualization
* domains from a process running in domain 0
*
- * Copyright (C) 2005-2006, 2008-2011 Red Hat, Inc.
+ * Copyright (C) 2005-2006, 2008-2012 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
* less than the number of parameters supported)
* @flags: bitwise-OR of virDomainModificationImpact
*
- * Currently this function sets bandwidth parameters of interface.
+ * Change a subset or all parameters of interface; currently this
+ * includes bandwidth parameters. The value of @flags should be
+ * either VIR_DOMAIN_AFFECT_CURRENT, or a bitwise-or of values from
+ * VIR_DOMAIN_AFFECT_LIVE and VIR_DOMAIN_AFFECT_CURRENT, although
+ * hypervisors vary in which flags are supported.
+ *
* This function may require privileged access to the hypervisor.
*
* Returns -1 in case of error, 0 in case of success.
if (conn->driver->domainSetInterfaceParameters) {
int ret;
- ret = conn->driver->domainSetInterfaceParameters(domain, device, params, nparams, flags);
+ ret = conn->driver->domainSetInterfaceParameters(domain, device,
+ params, nparams,
+ flags);
if (ret < 0)
goto error;
return ret;
* @device: the interface name or mac address
* @params: pointer to interface parameter objects
* (return value, allocated by the caller)
- * @nparams: pointer to number of interface parameter
- * @flags: one of virDomainModificationImpact
+ * @nparams: pointer to number of interface parameter; input and output
+ * @flags: bitwise-OR of virDomainModificationImpact and virTypedParameterFlags
*
* Get all interface parameters. On input, @nparams gives the size of
* the @params array; on output, @nparams gives how many slots were
if (conn->driver->domainGetInterfaceParameters) {
int ret;
- ret = conn->driver->domainGetInterfaceParameters (domain, device, params, nparams, flags);
+ ret = conn->driver->domainGetInterfaceParameters(domain, device,
+ params, nparams,
+ flags);
if (ret < 0)
goto error;
return ret;
virDomainControllerDefFree;
virDomainControllerInsert;
virDomainControllerInsertPreAlloced;
-virDomainControllerModelUSBTypeFromString;
-virDomainControllerModelUSBTypeToString;
virDomainControllerModelSCSITypeFromString;
virDomainControllerModelSCSITypeToString;
+virDomainControllerModelUSBTypeFromString;
+virDomainControllerModelUSBTypeToString;
virDomainControllerTypeToString;
virDomainCpuSetFormat;
virDomainCpuSetParse;
virDomainDiskSnapshotTypeToString;
virDomainDiskTypeFromString;
virDomainDiskTypeToString;
-virDomainNetFind;
virDomainFSDefFree;
virDomainFSTypeFromString;
virDomainFSTypeToString;
virDomainMemballoonModelTypeFromString;
virDomainMemballoonModelTypeToString;
virDomainNetDefFree;
+virDomainNetFind;
virDomainNetGetActualBandwidth;
virDomainNetGetActualBridgeName;
virDomainNetGetActualDirectDev;
virDomainNetGetActualDirectMode;
-virDomainNetGetActualType;
virDomainNetGetActualDirectVirtPortProfile;
+virDomainNetGetActualType;
virDomainNetIndexByMac;
virDomainNetInsert;
virDomainNetRemoveByMac;
virDomainVideoDefaultType;
virDomainVideoTypeFromString;
virDomainVideoTypeToString;
+virDomainVirtTypeToString;
virDomainVirtioEventIdxTypeFromString;
virDomainVirtioEventIdxTypeToString;
-virDomainVirtTypeToString;
virDomainWatchdogActionTypeFromString;
virDomainWatchdogActionTypeToString;
virDomainWatchdogModelTypeFromString;
LIBVIRT_0.9.9 {
global:
- virDomainGetNumaParameters;
- virDomainSetNumaParameters;
virDomainGetInterfaceParameters;
+ virDomainGetNumaParameters;
virDomainSetInterfaceParameters;
+ virDomainSetNumaParameters;
} LIBVIRT_0.9.8;
# .... define new API here using predicted next version number ....
/*
* qemu_driver.c: core driver methods for managing qemu guests
*
- * Copyright (C) 2006-2011 Red Hat, Inc.
+ * Copyright (C) 2006-2012 Red Hat, Inc.
* Copyright (C) 2006 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_IN_AVERAGE)) {
if (param->type != VIR_TYPED_PARAM_UINT) {
qemuReportError(VIR_ERR_INVALID_ARG, "%s",
- _("invalid type for bandwidth average tunable, expected a 'unsigned int'"));
+ _("invalid type for bandwidth average tunable, "
+ "expected an 'unsigned int'"));
goto cleanup;
}
} else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_IN_PEAK)) {
if (param->type != VIR_TYPED_PARAM_UINT) {
qemuReportError(VIR_ERR_INVALID_ARG, "%s",
- _("invalid type for bandwidth peak tunable, expected a 'unsigned int'"));
+ _("invalid type for bandwidth peak tunable, "
+ "expected an 'unsigned int'"));
goto cleanup;
}
} else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_IN_BURST)) {
if (param->type != VIR_TYPED_PARAM_UINT) {
qemuReportError(VIR_ERR_INVALID_ARG, "%s",
- _("invalid type for bandwidth burst tunable, expected a 'unsigned int'"));
+ _("invalid type for bandwidth burst tunable, "
+ "expected an 'unsigned int'"));
goto cleanup;
}
} else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE)) {
if (param->type != VIR_TYPED_PARAM_UINT) {
qemuReportError(VIR_ERR_INVALID_ARG, "%s",
- _("invalid type for bandwidth average tunable, expected a 'unsigned int'"));
+ _("invalid type for bandwidth average tunable, "
+ "expected an 'unsigned int'"));
goto cleanup;
}
} else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_OUT_PEAK)) {
if (param->type != VIR_TYPED_PARAM_UINT) {
qemuReportError(VIR_ERR_INVALID_ARG, "%s",
- _("invalid type for bandwidth peak tunable, expected a 'unsigned int'"));
+ _("invalid type for bandwidth peak tunable, "
+ "expected an 'unsigned int'"));
goto cleanup;
}
} else if (STREQ(param->field, VIR_DOMAIN_BANDWIDTH_OUT_BURST)) {
if (param->type != VIR_TYPED_PARAM_UINT) {
qemuReportError(VIR_ERR_INVALID_ARG, "%s",
- _("invalid type for bandwidth burst tunable, expected a 'unsigned int'"));
+ _("invalid type for bandwidth burst tunable, "
+ "expected an 'unsigned int'"));
goto cleanup;
}
}
}
- /* average is mandatory, peak and burst is optional. So if no
+ /* average is mandatory, peak and burst are optional. So if no
* average is given, we free inbound/outbound here which causes
- * inbound/outbound won't be set. */
+ * inbound/outbound to not be set. */
if (!bandwidth->in->average) {
VIR_FREE(bandwidth->in);
bandwidth->in = NULL;