virObjectUnlock(mon);
VIR_DEBUG("Triggering EOF callback mon=%p vm=%p name=%s",
mon, mon->vm, mon->domainName);
- (eofNotify)(mon, vm, mon->callbackOpaque);
+ (eofNotify)(mon, vm);
virObjectUnref(mon);
} else if (error) {
qemuMonitorErrorNotifyCallback errorNotify = mon->cb->errorNotify;
virObjectUnlock(mon);
VIR_DEBUG("Triggering error callback mon=%p vm=%p name=%s",
mon, mon->vm, mon->domainName);
- (errorNotify)(mon, vm, mon->callbackOpaque);
+ (errorNotify)(mon, vm);
virObjectUnref(mon);
} else {
virObjectUnlock(mon);
qemuMonitorOpenInternal(virDomainObj *vm,
int fd,
GMainContext *context,
- qemuMonitorCallbacks *cb,
- void *opaque)
+ qemuMonitorCallbacks *cb)
{
qemuDomainObjPrivate *priv = vm->privateData;
qemuMonitor *mon;
mon->domainName = g_strdup(NULLSTR(vm->def->name));
mon->waitGreeting = true;
mon->cb = cb;
- mon->callbackOpaque = opaque;
if (priv)
mon->objectAddNoWrap = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_OBJECT_JSON);
* @config: monitor configuration
* @timeout: number of seconds to add to default timeout
* @cb: monitor event handles
- * @opaque: opaque data for @cb
*
* Opens the monitor for running qemu. It may happen that it
* takes some time for qemu to create the monitor socket (e.g.
bool retry,
unsigned long long timeout,
GMainContext *context,
- qemuMonitorCallbacks *cb,
- void *opaque)
+ qemuMonitorCallbacks *cb)
{
VIR_AUTOCLOSE fd = -1;
qemuMonitor *ret = NULL;
return NULL;
}
- ret = qemuMonitorOpenInternal(vm, fd, context, cb, opaque);
+ ret = qemuMonitorOpenInternal(vm, fd, context, cb);
fd = -1;
return ret;
}
virObjectRef(mon); \
virObjectUnlock(mon); \
if ((mon)->cb && (mon)->cb->callback) \
- (mon)->cb->callback(mon, __VA_ARGS__, (mon)->callbackOpaque); \
+ (mon)->cb->callback(mon, __VA_ARGS__); \
virObjectLock(mon); \
virObjectUnref(mon); \
} while (0)
void qemuMonitorMemoryDeviceSizeChangeFree(qemuMonitorMemoryDeviceSizeChange *info);
typedef void (*qemuMonitorDestroyCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef void (*qemuMonitorEofNotifyCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef void (*qemuMonitorErrorNotifyCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef void (*qemuMonitorDomainEventCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *event,
long long seconds,
unsigned int micros,
- const char *details,
- void *opaque);
+ const char *details);
typedef void (*qemuMonitorDomainShutdownCallback)(qemuMonitor *mon,
virDomainObj *vm,
- virTristateBool guest,
- void *opaque);
+ virTristateBool guest);
typedef void (*qemuMonitorDomainResetCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef void (*qemuMonitorDomainStopCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef void (*qemuMonitorDomainResumeCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef void (*qemuMonitorDomainRTCChangeCallback)(qemuMonitor *mon,
virDomainObj *vm,
- long long offset,
- void *opaque);
+ long long offset);
typedef void (*qemuMonitorDomainWatchdogCallback)(qemuMonitor *mon,
virDomainObj *vm,
- int action,
- void *opaque);
+ int action);
typedef void (*qemuMonitorDomainIOErrorCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *diskAlias,
const char *nodename,
int action,
- const char *reason,
- void *opaque);
+ const char *reason);
typedef void (*qemuMonitorDomainGraphicsCallback)(qemuMonitor *mon,
virDomainObj *vm,
int phase,
const char *remoteService,
const char *authScheme,
const char *x509dname,
- const char *saslUsername,
- void *opaque);
+ const char *saslUsername);
typedef void (*qemuMonitorDomainBlockJobCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *diskAlias,
int type,
int status,
- const char *error,
- void *opaque);
+ const char *error);
typedef void (*qemuMonitorDomainJobStatusChangeCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *jobname,
- int status,
- void *opaque);
+ int status);
typedef void (*qemuMonitorDomainTrayChangeCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *devAlias,
const char *devid,
- int reason,
- void *opaque);
+ int reason);
typedef void (*qemuMonitorDomainPMWakeupCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef void (*qemuMonitorDomainPMSuspendCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef void (*qemuMonitorDomainBalloonChangeCallback)(qemuMonitor *mon,
virDomainObj *vm,
- unsigned long long actual,
- void *opaque);
+ unsigned long long actual);
typedef void (*qemuMonitorDomainPMSuspendDiskCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef void (*qemuMonitorDomainGuestPanicCallback)(qemuMonitor *mon,
virDomainObj *vm,
- qemuMonitorEventPanicInfo *info,
- void *opaque);
+ qemuMonitorEventPanicInfo *info);
typedef void (*qemuMonitorDomainDeviceDeletedCallback)(qemuMonitor *mon,
virDomainObj *vm,
- const char *devAlias,
- void *opaque);
+ const char *devAlias);
typedef void (*qemuMonitorDomainDeviceUnplugErrCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *devPath,
- const char *devAlias,
- void *opaque);
+ const char *devAlias);
typedef void (*qemuMonitorDomainNicRxFilterChangedCallback)(qemuMonitor *mon,
virDomainObj *vm,
- const char *devAlias,
- void *opaque);
+ const char *devAlias);
typedef void (*qemuMonitorDomainSerialChangeCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *devAlias,
- bool connected,
- void *opaque);
+ bool connected);
typedef void (*qemuMonitorDomainSpiceMigratedCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef void (*qemuMonitorDomainMigrationStatusCallback)(qemuMonitor *mon,
virDomainObj *vm,
- int status,
- void *opaque);
+ int status);
typedef void (*qemuMonitorDomainMigrationPassCallback)(qemuMonitor *mon,
virDomainObj *vm,
- int pass,
- void *opaque);
+ int pass);
typedef void (*qemuMonitorDomainAcpiOstInfoCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *slotType,
const char *slot,
unsigned int source,
- unsigned int status,
- void *opaque);
+ unsigned int status);
typedef void (*qemuMonitorDomainBlockThresholdCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *nodename,
unsigned long long threshold,
- unsigned long long excess,
- void *opaque);
+ unsigned long long excess);
typedef enum {
virDomainObj *vm,
int status,
qemuMonitorDumpStats *stats,
- const char *error,
- void *opaque);
+ const char *error);
typedef void (*qemuMonitorDomainPRManagerStatusChangedCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *prManager,
- bool connected,
- void *opaque);
+ bool connected);
typedef void (*qemuMonitorDomainRdmaGidStatusChangedCallback)(qemuMonitor *mon,
virDomainObj *vm,
const char *netdev,
bool gid_status,
unsigned long long subnet_prefix,
- unsigned long long interface_id,
- void *opaque);
+ unsigned long long interface_id);
typedef void (*qemuMonitorDomainGuestCrashloadedCallback)(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque);
+ virDomainObj *vm);
typedef enum {
QEMU_MONITOR_MEMORY_FAILURE_RECIPIENT_HYPERVISOR,
typedef void (*qemuMonitorDomainMemoryFailureCallback)(qemuMonitor *mon,
virDomainObj *vm,
- qemuMonitorEventMemoryFailure *mfp,
- void *opaque);
+ qemuMonitorEventMemoryFailure *mfp);
typedef void (*qemuMonitorDomainMemoryDeviceSizeChange)(qemuMonitor *mon,
virDomainObj *vm,
const char *alias,
- unsigned long long size,
- void *opaque);
+ unsigned long long size);
typedef struct _qemuMonitorCallbacks qemuMonitorCallbacks;
struct _qemuMonitorCallbacks {
bool retry,
unsigned long long timeout,
GMainContext *context,
- qemuMonitorCallbacks *cb,
- void *opaque)
+ qemuMonitorCallbacks *cb)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(5);
void qemuMonitorWatchDispose(void);
char *domainName;
qemuMonitorCallbacks *cb;
- void *callbackOpaque;
/* If there's a command being processed this will be
* non-NULL */
*/
static void
qemuProcessHandleMonitorEOF(qemuMonitor *mon,
- virDomainObj *vm,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm)
{
qemuDomainObjPrivate *priv;
*/
static void
qemuProcessHandleMonitorError(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm)
{
qemuDomainObjPrivate *priv;
virObjectEvent *event = NULL;
static void
qemuProcessHandleReset(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
const char *eventName,
long long seconds,
unsigned int micros,
- const char *details,
- void *opaque G_GNUC_UNUSED)
+ const char *details)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
static void
qemuProcessHandleShutdown(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
- virTristateBool guest_initiated,
- void *opaque G_GNUC_UNUSED)
+ virTristateBool guest_initiated)
{
virQEMUDriver *driver;
qemuDomainObjPrivate *priv;
static void
qemuProcessHandleStop(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
static void
qemuProcessHandleResume(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
static void
qemuProcessHandleRTCChange(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
- long long offset,
- void *opaque G_GNUC_UNUSED)
+ long long offset)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
static void
qemuProcessHandleWatchdog(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
- int action,
- void *opaque G_GNUC_UNUSED)
+ int action)
{
virQEMUDriver *driver;
virObjectEvent *watchdogEvent = NULL;
const char *diskAlias,
const char *nodename,
int action,
- const char *reason,
- void *opaque G_GNUC_UNUSED)
+ const char *reason)
{
virQEMUDriver *driver;
virObjectEvent *ioErrorEvent = NULL;
const char *diskAlias,
int type,
int status,
- const char *error,
- void *opaque G_GNUC_UNUSED)
+ const char *error)
{
qemuDomainObjPrivate *priv;
virDomainDiskDef *disk;
qemuProcessHandleJobStatusChange(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
const char *jobname,
- int status,
- void *opaque G_GNUC_UNUSED)
+ int status)
{
qemuDomainObjPrivate *priv;
qemuBlockJobData *job = NULL;
const char *remoteService,
const char *authScheme,
const char *x509dname,
- const char *saslUsername,
- void *opaque G_GNUC_UNUSED)
+ const char *saslUsername)
{
virQEMUDriver *driver;
virObjectEvent *event;
virDomainObj *vm,
const char *devAlias,
const char *devid,
- int reason,
- void *opaque G_GNUC_UNUSED)
+ int reason)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
static void
qemuProcessHandlePMWakeup(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
static void
qemuProcessHandlePMSuspend(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
static void
qemuProcessHandleBalloonChange(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
- unsigned long long actual,
- void *opaque G_GNUC_UNUSED)
+ unsigned long long actual)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
static void
qemuProcessHandlePMSuspendDisk(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
static void
qemuProcessHandleGuestPanic(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
- qemuMonitorEventPanicInfo *info,
- void *opaque G_GNUC_UNUSED)
+ qemuMonitorEventPanicInfo *info)
{
virObjectLock(vm);
void
qemuProcessHandleDeviceDeleted(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
- const char *devAlias,
- void *opaque G_GNUC_UNUSED)
+ const char *devAlias)
{
virObjectLock(vm);
qemuProcessHandleDeviceUnplugErr(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
const char *devPath,
- const char *devAlias,
- void *opaque G_GNUC_UNUSED)
+ const char *devAlias)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
const char *slotType,
const char *slot,
unsigned int source,
- unsigned int status,
- void *opaque G_GNUC_UNUSED)
+ unsigned int status)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
virDomainObj *vm,
const char *nodename,
unsigned long long threshold,
- unsigned long long excess,
- void *opaque G_GNUC_UNUSED)
+ unsigned long long excess)
{
qemuDomainObjPrivate *priv;
virQEMUDriver *driver;
static void
qemuProcessHandleNicRxFilterChanged(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
- const char *devAlias,
- void *opaque G_GNUC_UNUSED)
+ const char *devAlias)
{
virObjectLock(vm);
qemuProcessHandleSerialChanged(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
const char *devAlias,
- bool connected,
- void *opaque G_GNUC_UNUSED)
+ bool connected)
{
virObjectLock(vm);
static void
qemuProcessHandleSpiceMigrated(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm)
{
qemuDomainObjPrivate *priv;
qemuDomainJobPrivate *jobPriv;
static void
qemuProcessHandleMigrationStatus(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
- int status,
- void *opaque G_GNUC_UNUSED)
+ int status)
{
qemuDomainObjPrivate *priv;
qemuDomainJobDataPrivate *privJob = NULL;
static void
qemuProcessHandleMigrationPass(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
- int pass,
- void *opaque G_GNUC_UNUSED)
+ int pass)
{
qemuDomainObjPrivate *priv;
virDomainObj *vm,
int status,
qemuMonitorDumpStats *stats,
- const char *error,
- void *opaque G_GNUC_UNUSED)
+ const char *error)
{
qemuDomainObjPrivate *priv;
qemuDomainJobPrivate *jobPriv;
qemuProcessHandlePRManagerStatusChanged(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
const char *prManager,
- bool connected,
- void *opaque G_GNUC_UNUSED)
+ bool connected)
{
qemuDomainObjPrivate *priv;
const char *managedAlias = qemuDomainGetManagedPRAlias();
const char *netdev,
bool gid_status,
unsigned long long subnet_prefix,
- unsigned long long interface_id,
- void *opaque G_GNUC_UNUSED)
+ unsigned long long interface_id)
{
qemuMonitorRdmaGidStatus *info = NULL;
static void
qemuProcessHandleGuestCrashloaded(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm)
{
virObjectLock(vm);
static void
qemuProcessHandleMemoryFailure(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
- qemuMonitorEventMemoryFailure *mfp,
- void *opaque G_GNUC_UNUSED)
+ qemuMonitorEventMemoryFailure *mfp)
{
virQEMUDriver *driver;
virObjectEvent *event = NULL;
qemuProcessHandleMemoryDeviceSizeChange(qemuMonitor *mon G_GNUC_UNUSED,
virDomainObj *vm,
const char *devAlias,
- unsigned long long size,
- void *opaque G_GNUC_UNUSED)
+ unsigned long long size)
{
qemuMonitorMemoryDeviceSizeChange *info = NULL;
retry,
timeout,
virEventThreadGetContext(priv->eventThread),
- &monitorCallbacks,
- driver);
+ &monitorCallbacks);
if (mon && logCtxt) {
g_object_ref(logCtxt);
static void virQEMUCapsMonitorNotify(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm G_GNUC_UNUSED,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm G_GNUC_UNUSED)
{
}
if (!(proc->mon = qemuMonitorOpen(proc->vm, &monConfig, true, 0,
virEventThreadGetContext(proc->eventThread),
- &callbacks, NULL)))
+ &callbacks)))
return -1;
virObjectLock(proc->mon);
void qemuProcessHandleDeviceDeleted(qemuMonitor *mon,
virDomainObj *vm,
- const char *devAlias,
- void *opaque);
+ const char *devAlias);
int qemuProcessQMPInitMonitor(qemuMonitor *mon);
/* Now is the best time to feed the spoofed monitor with predefined
* replies. */
- if (!(test_mon = qemuMonitorTestNew(driver.xmlopt, vm, &driver,
- NULL, NULL)))
+ if (!(test_mon = qemuMonitorTestNew(driver.xmlopt, vm, NULL, NULL)))
goto cleanup;
tmp = test->mon;
static void
qemuMonitorTestEOFNotify(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm G_GNUC_UNUSED,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm G_GNUC_UNUSED)
{
}
static void
qemuMonitorTestErrorNotify(qemuMonitor *mon G_GNUC_UNUSED,
- virDomainObj *vm G_GNUC_UNUSED,
- void *opaque G_GNUC_UNUSED)
+ virDomainObj *vm G_GNUC_UNUSED)
{
}
qemuMonitorTest *
qemuMonitorTestNew(virDomainXMLOption *xmlopt,
virDomainObj *vm,
- virQEMUDriver *driver,
const char *greeting,
GHashTable *schema)
{
true,
0,
virEventThreadGetContext(test->eventThread),
- &qemuMonitorTestCallbacks,
- driver)))
+ &qemuMonitorTestCallbacks)))
goto error;
virObjectLock(test->mon);
return NULL;
} else {
/* Create new mocked monitor with our greeting */
- if (!(test = qemuMonitorTestNew(xmlopt, NULL, NULL,
+ if (!(test = qemuMonitorTestNew(xmlopt, NULL,
singleReply, NULL)))
return NULL;
}
if (virTestLoadFile(fileName, &jsonstr) < 0)
return NULL;
- if (!(ret = qemuMonitorTestNew(driver->xmlopt, vm, driver, NULL,
- qmpschema)))
+ if (!(ret = qemuMonitorTestNew(driver->xmlopt, vm, NULL, qmpschema)))
return NULL;
if (qemuMonitorTestProcessFileEntries(jsonstr, fileName, &items, &nitems) < 0)
const char *response);
#define qemuMonitorTestNewSimple(xmlopt) \
- qemuMonitorTestNew(xmlopt, NULL, NULL, NULL, NULL)
+ qemuMonitorTestNew(xmlopt, NULL, NULL, NULL)
#define qemuMonitorTestNewSchema(xmlopt, schema) \
- qemuMonitorTestNew(xmlopt, NULL, NULL, NULL, schema)
+ qemuMonitorTestNew(xmlopt, NULL, NULL, schema)
qemuMonitorTest *
qemuMonitorTestNew(virDomainXMLOption *xmlopt,
virDomainObj *vm,
- virQEMUDriver *driver,
const char *greeting,
GHashTable *schema);