}
+/**
+ * qemuMonitorAddDeviceArgs:
+ * @mon: monitor object
+ * @args: arguments for device add, consumed on success or failure
+ *
+ * Adds a device described by @args. Requires JSON monitor.
+ * Returns 0 on success -1 on error.
+ */
+int
+qemuMonitorAddDeviceArgs(qemuMonitorPtr mon,
+ virJSONValuePtr args)
+{
+ QEMU_CHECK_MONITOR_JSON(mon);
+
+ return qemuMonitorJSONAddDeviceArgs(mon, args);
+}
+
+
/**
* qemuMonitorAddObject:
* @mon: Pointer to monitor object
const char *bus,
virPCIDeviceAddress *guestAddr);
+int qemuMonitorAddDeviceArgs(qemuMonitorPtr mon,
+ virJSONValuePtr args);
int qemuMonitorAddDevice(qemuMonitorPtr mon,
const char *devicestr);
}
-int qemuMonitorJSONAddDevice(qemuMonitorPtr mon,
- const char *devicestr)
+int
+qemuMonitorJSONAddDeviceArgs(qemuMonitorPtr mon,
+ virJSONValuePtr args)
{
int ret = -1;
- virJSONValuePtr cmd;
+ virJSONValuePtr cmd = NULL;
virJSONValuePtr reply = NULL;
- virJSONValuePtr args;
- cmd = qemuMonitorJSONMakeCommand("device_add", NULL);
- if (!cmd)
- return -1;
-
- args = qemuMonitorJSONKeywordStringToJSON(devicestr, "driver");
- if (!args)
+ if (!(cmd = qemuMonitorJSONMakeCommand("device_add", NULL)))
goto cleanup;
if (virJSONValueObjectAppend(cmd, "arguments", args) < 0)
}
+int
+qemuMonitorJSONAddDevice(qemuMonitorPtr mon,
+ const char *devicestr)
+{
+ virJSONValuePtr args;
+
+ if (!(args = qemuMonitorJSONKeywordStringToJSON(devicestr, "driver")))
+ return -1;
+
+ return qemuMonitorJSONAddDeviceArgs(mon, args);
+}
+
+
int qemuMonitorJSONAddObject(qemuMonitorPtr mon,
const char *type,
const char *objalias,
const char *bus,
virPCIDeviceAddress *guestAddr);
+int qemuMonitorJSONAddDeviceArgs(qemuMonitorPtr mon,
+ virJSONValuePtr args);
int qemuMonitorJSONAddDevice(qemuMonitorPtr mon,
const char *devicestr);