/**
* QEMU_CHECK_MONITOR_FULL:
* @mon: monitor pointer variable to check, evaluated multiple times, no parentheses
- * @force_json: force JSON monitor, true or false
* @exit: statement that is used to exit the function
*
* This macro checks that the monitor is valid for given operation and exits
* the function if not. The macro also adds a debug statement regarding the
* monitor.
*/
-#define QEMU_CHECK_MONITOR_FULL(mon, force_json, exit) \
+#define QEMU_CHECK_MONITOR_FULL(mon, exit) \
do { \
if (!mon) { \
virReportError(VIR_ERR_INVALID_ARG, "%s", \
} \
VIR_DEBUG("mon:%p vm:%p json:%d fd:%d", \
mon, mon->vm, mon->json, mon->fd); \
- if (force_json && !mon->json) { \
+ if (!mon->json) { \
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", \
_("JSON monitor is required")); \
exit; \
/* Check monitor and return NULL on error */
#define QEMU_CHECK_MONITOR_NULL(mon) \
- QEMU_CHECK_MONITOR_FULL(mon, false, return NULL)
-#define QEMU_CHECK_MONITOR_JSON_NULL(mon) \
- QEMU_CHECK_MONITOR_FULL(mon, true, return NULL)
+ QEMU_CHECK_MONITOR_FULL(mon, return NULL)
/* Check monitor and return -1 on error */
#define QEMU_CHECK_MONITOR(mon) \
- QEMU_CHECK_MONITOR_FULL(mon, false, return -1)
-#define QEMU_CHECK_MONITOR_JSON(mon) \
- QEMU_CHECK_MONITOR_FULL(mon, true, return -1)
+ QEMU_CHECK_MONITOR_FULL(mon, return -1)
/* Check monitor and jump to the provided label */
#define QEMU_CHECK_MONITOR_GOTO(mon, label) \
- QEMU_CHECK_MONITOR_FULL(mon, false, goto label)
-#define QEMU_CHECK_MONITOR_JSON_GOTO(mon, label) \
- QEMU_CHECK_MONITOR_FULL(mon, true, goto label)
+ QEMU_CHECK_MONITOR_FULL(mon, goto label)
static virClassPtr qemuMonitorClass;
static void qemuMonitorDispose(void *obj);
virJSONValuePtr
qemuMonitorQueryBlockstats(qemuMonitorPtr mon)
{
- QEMU_CHECK_MONITOR_JSON_NULL(mon);
+ QEMU_CHECK_MONITOR_NULL(mon);
return qemuMonitorJSONQueryBlockstats(mon);
}
{
VIR_DEBUG("stats=%p, backing=%d", stats, backingChain);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONBlockStatsUpdateCapacity(mon, stats, backingChain);
}
{
VIR_DEBUG("cacheSize=%p", cacheSize);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetMigrationCacheSize(mon, cacheSize);
}
{
VIR_DEBUG("cacheSize=%llu", cacheSize);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONSetMigrationCacheSize(mon, cacheSize);
}
qemuMonitorGetMigrationParams(qemuMonitorPtr mon,
virJSONValuePtr *params)
{
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetMigrationParams(mon, params);
}
qemuMonitorSetMigrationParams(qemuMonitorPtr mon,
virJSONValuePtr params)
{
- QEMU_CHECK_MONITOR_JSON_GOTO(mon, error);
+ QEMU_CHECK_MONITOR_GOTO(mon, error);
return qemuMonitorJSONSetMigrationParams(mon, params);
qemuMonitorQueryDump(qemuMonitorPtr mon,
qemuMonitorDumpStatsPtr stats)
{
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONQueryDump(mon, stats);
}
int ret;
VIR_DEBUG("fd=%d dumpformat=%s", fd, dumpformat);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
if (qemuMonitorSendFileHandle(mon, "dump", fd) < 0)
return -1;
{
VIR_DEBUG("fdset=%d, fd=%d, name=%s", fdset, fd, NULLSTR(name));
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
if (fd < 0 || fdset < 0) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
error = virSaveLastError();
- QEMU_CHECK_MONITOR_JSON_GOTO(mon, cleanup);
+ QEMU_CHECK_MONITOR_GOTO(mon, cleanup);
ret = qemuMonitorJSONRemoveFd(mon, fdset, fd);
{
VIR_DEBUG("alias=%s filter=%p", alias, filter);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONQueryRxFilter(mon, alias, filter);
}
qemuMonitorAddDeviceArgs(qemuMonitorPtr mon,
virJSONValuePtr args)
{
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONAddDeviceArgs(mon, args);
}
{
VIR_DEBUG("type=%s objalias=%s props=%p", type, objalias, props);
- QEMU_CHECK_MONITOR_JSON_GOTO(mon, error);
+ QEMU_CHECK_MONITOR_GOTO(mon, error);
return qemuMonitorJSONAddObject(mon, type, objalias, props);
{
VIR_DEBUG("objalias=%s", objalias);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONDelObject(mon, objalias);
}
VIR_DEBUG("actions=%p, device=%s, file=%s, format=%s, reuse=%d",
actions, device, file, format, reuse);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONDiskSnapshot(mon, actions, device, file, format, reuse);
}
device, file, NULLSTR(format), bandwidth, granularity,
buf_size, flags);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONDriveMirror(mon, device, file, format, bandwidth,
granularity, buf_size, flags);
NULLSTR(jobname), device, target, bandwidth, granularity,
buf_size, flags);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONBlockdevMirror(mon, jobname, device, target, bandwidth,
granularity, buf_size, flags);
{
VIR_DEBUG("actions=%p", *actions);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONTransaction(mon, actions);
}
VIR_DEBUG("device=%s, top=%s, base=%s, backingName=%s, bandwidth=%llu",
device, top, base, NULLSTR(backingName), bandwidth);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONBlockCommit(mon, device, top, base,
backingName, bandwidth);
virStorageSourcePtr top,
virStorageSourcePtr target)
{
- QEMU_CHECK_MONITOR_JSON_NULL(mon);
+ QEMU_CHECK_MONITOR_NULL(mon);
return qemuMonitorJSONDiskNameLookup(mon, device, top, target);
}
{
VIR_DEBUG("device=%s", device);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONDrivePivot(mon, device);
}
VIR_DEBUG("device=%s, base=%s, backingName=%s, bandwidth=%lluB",
device, NULLSTR(base), NULLSTR(backingName), bandwidth);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONBlockStream(mon, device, base, backingName, bandwidth);
}
{
VIR_DEBUG("device=%s", device);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONBlockJobCancel(mon, device);
}
{
VIR_DEBUG("device=%s, bandwidth=%lluB", device, bandwidth);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONBlockJobSetSpeed(mon, device, bandwidth);
}
virHashTablePtr
qemuMonitorGetAllBlockJobInfo(qemuMonitorPtr mon)
{
- QEMU_CHECK_MONITOR_JSON_NULL(mon);
+ QEMU_CHECK_MONITOR_NULL(mon);
return qemuMonitorJSONGetAllBlockJobInfo(mon);
}
int
qemuMonitorSystemWakeup(qemuMonitorPtr mon)
{
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONSystemWakeup(mon);
}
VIR_DEBUG("major=%p minor=%p micro=%p package=%p",
major, minor, micro, package);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetVersion(mon, major, minor, micro, package);
}
{
VIR_DEBUG("machines=%p", machines);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetMachines(mon, machines);
}
{
VIR_DEBUG("cpus=%p", cpus);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetCPUDefinitions(mon, cpus);
}
VIR_DEBUG("type=%d model_name=%s migratable=%d",
type, model_name, migratable);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetCPUModelExpansion(mon, type, model_name,
migratable, model_info);
{
VIR_DEBUG("commands=%p", commands);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetCommands(mon, commands);
}
{
VIR_DEBUG("events=%p", events);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetEvents(mon, events);
}
{
VIR_DEBUG("option=%s params=%p", option, params);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetCommandLineOptionParameters(mon, option,
params, found);
{
VIR_DEBUG("enabled=%p present=%p", enabled, present);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetKVMState(mon, enabled, present);
}
{
VIR_DEBUG("types=%p", types);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetObjectTypes(mon, types);
}
{
VIR_DEBUG("device=%s props=%p", device, props);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetDeviceProps(mon, device, props);
}
{
VIR_DEBUG("object=%s props=%p", object, props);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetObjectProps(mon, object, props);
}
char *
qemuMonitorGetTargetArch(qemuMonitorPtr mon)
{
- QEMU_CHECK_MONITOR_JSON_NULL(mon);
+ QEMU_CHECK_MONITOR_NULL(mon);
return qemuMonitorJSONGetTargetArch(mon);
}
qemuMonitorSetMigrationCapabilities(qemuMonitorPtr mon,
virJSONValuePtr caps)
{
- QEMU_CHECK_MONITOR_JSON_GOTO(mon, error);
+ QEMU_CHECK_MONITOR_GOTO(mon, error);
return qemuMonitorJSONSetMigrationCapabilities(mon, caps);
qemuMonitorGetGICCapabilities(qemuMonitorPtr mon,
virGICCapability **capabilities)
{
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetGICCapabilities(mon, capabilities);
}
{
VIR_DEBUG("host=%s port=%u tls_alias=%s", host, port, NULLSTR(tls_alias));
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONNBDServerStart(mon, host, port, tls_alias);
}
{
VIR_DEBUG("deviceID=%s", deviceID);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONNBDServerAdd(mon, deviceID, writable);
}
int
qemuMonitorNBDServerStop(qemuMonitorPtr mon)
{
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONNBDServerStop(mon);
}
{
VIR_DEBUG("tpmmodels=%p", tpmmodels);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetTPMModels(mon, tpmmodels);
}
{
VIR_DEBUG("tpmtypes=%p", tpmtypes);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetTPMTypes(mon, tpmtypes);
}
{
VIR_DEBUG("chrID=%s chr=%p", chrID, chr);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONAttachCharDev(mon, chrID, chr);
}
{
VIR_DEBUG("chrID=%s", chrID);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONDetachCharDev(mon, chrID);
}
{
VIR_DEBUG("aliases=%p", aliases);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetDeviceAliases(mon, aliases);
}
VIR_DEBUG("arch=%s data=%p disabled=%p",
virArchToString(arch), data, disabled);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
*data = NULL;
if (disabled)
int
qemuMonitorRTCResetReinjection(qemuMonitorPtr mon)
{
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONRTCResetReinjection(mon);
}
{
VIR_DEBUG("uri=%s", uri);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONMigrateIncoming(mon, uri);
}
int
qemuMonitorMigrateStartPostCopy(qemuMonitorPtr mon)
{
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONMigrateStartPostCopy(mon);
}
{
VIR_DEBUG("status=%s", qemuMonitorMigrationStatusTypeToString(status));
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONMigrateContinue(mon, status);
}
qemuMonitorGetRTCTime(qemuMonitorPtr mon,
struct tm *tm)
{
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONGetRTCTime(mon, tm);
}
virJSONValuePtr
qemuMonitorQueryQMPSchema(qemuMonitorPtr mon)
{
- QEMU_CHECK_MONITOR_JSON_NULL(mon);
+ QEMU_CHECK_MONITOR_NULL(mon);
return qemuMonitorJSONQueryQMPSchema(mon);
}
{
VIR_DEBUG("node='%s', threshold=%llu", nodename, threshold);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONSetBlockThreshold(mon, nodename, threshold);
}
virJSONValuePtr
qemuMonitorQueryNamedBlockNodes(qemuMonitorPtr mon)
{
- QEMU_CHECK_MONITOR_JSON_NULL(mon);
+ QEMU_CHECK_MONITOR_NULL(mon);
return qemuMonitorJSONQueryNamedBlockNodes(mon);
}
{
VIR_DEBUG("watchdogAction=%s", action);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONSetWatchdogAction(mon, action);
}
VIR_DEBUG("props=%p (node-name=%s)", props,
NULLSTR(virJSONValueObjectGetString(props, "node-name")));
- QEMU_CHECK_MONITOR_JSON_GOTO(mon, error);
+ QEMU_CHECK_MONITOR_GOTO(mon, error);
return qemuMonitorJSONBlockdevAdd(mon, props);
{
VIR_DEBUG("nodename=%s", nodename);
- QEMU_CHECK_MONITOR_JSON(mon);
+ QEMU_CHECK_MONITOR(mon);
return qemuMonitorJSONBlockdevDel(mon, nodename);
}