提交 aa990efe 编写于 作者: J Julio Faracco 提交者: Eric Blake

qemu: enum cleanups in "src/qemu/*"

As we are doing with the enum structures, a cleanup in "src/qemu/"
directory was done now. All the enums that were defined in the
header files were converted to typedefs in this directory. This
patch includes all the adjustments to remove conflicts when you do
this kind of change. "Enum-to-typedef"'s conversions were made in
"src/qemu/qemu_{capabilities, domain, migration, hotplug}.h".
Signed-off-by: NJulio Faracco <jcfaracco@gmail.com>
上级 887e648a
......@@ -1913,7 +1913,7 @@ void virQEMUCapsDispose(void *obj)
void
virQEMUCapsSet(virQEMUCapsPtr qemuCaps,
enum virQEMUCapsFlags flag)
virQEMUCapsFlags flag)
{
ignore_value(virBitmapSetBit(qemuCaps->flags, flag));
}
......@@ -1934,7 +1934,7 @@ virQEMUCapsSetList(virQEMUCapsPtr qemuCaps, ...)
void
virQEMUCapsClear(virQEMUCapsPtr qemuCaps,
enum virQEMUCapsFlags flag)
virQEMUCapsFlags flag)
{
ignore_value(virBitmapClearBit(qemuCaps->flags, flag));
}
......@@ -1948,7 +1948,7 @@ char *virQEMUCapsFlagsString(virQEMUCapsPtr qemuCaps)
bool
virQEMUCapsGet(virQEMUCapsPtr qemuCaps,
enum virQEMUCapsFlags flag)
virQEMUCapsFlags flag)
{
bool b;
......@@ -2306,7 +2306,7 @@ virQEMUCapsProbeQMPCPUDefinitions(virQEMUCapsPtr qemuCaps,
struct tpmTypeToCaps {
int type;
enum virQEMUCapsFlags caps;
virQEMUCapsFlags caps;
};
static const struct tpmTypeToCaps virQEMUCapsTPMTypesToCaps[] = {
......
......@@ -30,7 +30,7 @@
# include "qemu_monitor.h"
/* Internal flags to keep track of qemu command line capabilities */
enum virQEMUCapsFlags {
typedef enum {
QEMU_CAPS_KQEMU = 0, /* Whether KQEMU is compiled in */
QEMU_CAPS_VNC_COLON = 1, /* VNC takes or address + display */
QEMU_CAPS_NO_REBOOT = 2, /* Is the -no-reboot flag available */
......@@ -208,7 +208,7 @@ enum virQEMUCapsFlags {
QEMU_CAPS_MSG_TIMESTAMP = 167, /* -msg timestamp */
QEMU_CAPS_LAST, /* this must always be the last item */
};
} virQEMUCapsFlags;
typedef struct _virQEMUCaps virQEMUCaps;
typedef virQEMUCaps *virQEMUCapsPtr;
......@@ -231,15 +231,15 @@ int virQEMUCapsProbeQMP(virQEMUCapsPtr qemuCaps,
qemuMonitorPtr mon);
void virQEMUCapsSet(virQEMUCapsPtr qemuCaps,
enum virQEMUCapsFlags flag) ATTRIBUTE_NONNULL(1);
virQEMUCapsFlags flag) ATTRIBUTE_NONNULL(1);
void virQEMUCapsSetList(virQEMUCapsPtr qemuCaps, ...) ATTRIBUTE_NONNULL(1);
void virQEMUCapsClear(virQEMUCapsPtr qemuCaps,
enum virQEMUCapsFlags flag) ATTRIBUTE_NONNULL(1);
virQEMUCapsFlags flag) ATTRIBUTE_NONNULL(1);
bool virQEMUCapsGet(virQEMUCapsPtr qemuCaps,
enum virQEMUCapsFlags flag);
virQEMUCapsFlags flag);
bool virQEMUCapsHasPCIMultiBus(virQEMUCapsPtr qemuCaps,
virDomainDefPtr def);
......
......@@ -76,7 +76,7 @@ VIR_ENUM_IMPL(qemuDomainAsyncJob, QEMU_ASYNC_JOB_LAST,
const char *
qemuDomainAsyncJobPhaseToString(enum qemuDomainAsyncJob job,
qemuDomainAsyncJobPhaseToString(qemuDomainAsyncJob job,
int phase ATTRIBUTE_UNUSED)
{
switch (job) {
......@@ -96,7 +96,7 @@ qemuDomainAsyncJobPhaseToString(enum qemuDomainAsyncJob job,
}
int
qemuDomainAsyncJobPhaseFromString(enum qemuDomainAsyncJob job,
qemuDomainAsyncJobPhaseFromString(qemuDomainAsyncJob job,
const char *phase)
{
if (!phase)
......@@ -205,7 +205,7 @@ qemuDomainObjFreeJob(qemuDomainObjPrivatePtr priv)
}
static bool
qemuDomainTrackJob(enum qemuDomainJob job)
qemuDomainTrackJob(qemuDomainJob job)
{
return (QEMU_DOMAIN_TRACK_JOBS & JOB_MASK(job)) != 0;
}
......@@ -278,7 +278,7 @@ qemuDomainObjPrivateXMLFormat(virBufferPtr buf, void *data)
{
qemuDomainObjPrivatePtr priv = data;
const char *monitorpath;
enum qemuDomainJob job;
qemuDomainJob job;
/* priv->monitor_chr is set only for qemu */
if (priv->monConfig) {
......@@ -1033,13 +1033,13 @@ qemuDomainObjReleaseAsyncJob(virDomainObjPtr obj)
}
static bool
qemuDomainNestedJobAllowed(qemuDomainObjPrivatePtr priv, enum qemuDomainJob job)
qemuDomainNestedJobAllowed(qemuDomainObjPrivatePtr priv, qemuDomainJob job)
{
return !priv->job.asyncJob || (priv->job.mask & JOB_MASK(job)) != 0;
}
bool
qemuDomainJobAllowed(qemuDomainObjPrivatePtr priv, enum qemuDomainJob job)
qemuDomainJobAllowed(qemuDomainObjPrivatePtr priv, qemuDomainJob job)
{
return !priv->job.active && qemuDomainNestedJobAllowed(priv, job);
}
......@@ -1053,8 +1053,8 @@ qemuDomainJobAllowed(qemuDomainObjPrivatePtr priv, enum qemuDomainJob job)
static int ATTRIBUTE_NONNULL(1)
qemuDomainObjBeginJobInternal(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum qemuDomainJob job,
enum qemuDomainAsyncJob asyncJob)
qemuDomainJob job,
qemuDomainAsyncJob asyncJob)
{
qemuDomainObjPrivatePtr priv = obj->privateData;
unsigned long long now;
......@@ -1170,7 +1170,7 @@ qemuDomainObjBeginJobInternal(virQEMUDriverPtr driver,
*/
int qemuDomainObjBeginJob(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum qemuDomainJob job)
qemuDomainJob job)
{
if (qemuDomainObjBeginJobInternal(driver, obj, job,
QEMU_ASYNC_JOB_NONE) < 0)
......@@ -1181,7 +1181,7 @@ int qemuDomainObjBeginJob(virQEMUDriverPtr driver,
int qemuDomainObjBeginAsyncJob(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
if (qemuDomainObjBeginJobInternal(driver, obj, QEMU_JOB_ASYNC,
asyncJob) < 0)
......@@ -1193,7 +1193,7 @@ int qemuDomainObjBeginAsyncJob(virQEMUDriverPtr driver,
static int ATTRIBUTE_RETURN_CHECK
qemuDomainObjBeginNestedJob(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
qemuDomainObjPrivatePtr priv = obj->privateData;
......@@ -1226,7 +1226,7 @@ qemuDomainObjBeginNestedJob(virQEMUDriverPtr driver,
bool qemuDomainObjEndJob(virQEMUDriverPtr driver, virDomainObjPtr obj)
{
qemuDomainObjPrivatePtr priv = obj->privateData;
enum qemuDomainJob job = priv->job.active;
qemuDomainJob job = priv->job.active;
priv->jobs_queued--;
......@@ -1285,7 +1285,7 @@ qemuDomainObjAbortAsyncJob(virDomainObjPtr obj)
static int
qemuDomainObjEnterMonitorInternal(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
qemuDomainObjPrivatePtr priv = obj->privateData;
......@@ -1378,7 +1378,7 @@ void qemuDomainObjExitMonitor(virQEMUDriverPtr driver,
int
qemuDomainObjEnterMonitorAsync(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
return qemuDomainObjEnterMonitorInternal(driver, obj, asyncJob);
}
......
......@@ -67,7 +67,7 @@
/* Only 1 job is allowed at any time
* A job includes *all* monitor commands, even those just querying
* information, not merely actions */
enum qemuDomainJob {
typedef enum {
QEMU_JOB_NONE = 0, /* Always set to 0 for easy if (jobActive) conditions */
QEMU_JOB_QUERY, /* Doesn't change any state */
QEMU_JOB_DESTROY, /* Destroys the domain (cannot be masked out) */
......@@ -81,14 +81,14 @@ enum qemuDomainJob {
QEMU_JOB_ASYNC_NESTED, /* Normal job within an async job */
QEMU_JOB_LAST
};
} qemuDomainJob;
VIR_ENUM_DECL(qemuDomainJob)
/* Async job consists of a series of jobs that may change state. Independent
* jobs that do not change state (and possibly others if explicitly allowed by
* current async job) are allowed to be run even if async job is active.
*/
enum qemuDomainAsyncJob {
typedef enum {
QEMU_ASYNC_JOB_NONE = 0,
QEMU_ASYNC_JOB_MIGRATION_OUT,
QEMU_ASYNC_JOB_MIGRATION_IN,
......@@ -97,16 +97,16 @@ enum qemuDomainAsyncJob {
QEMU_ASYNC_JOB_SNAPSHOT,
QEMU_ASYNC_JOB_LAST
};
} qemuDomainAsyncJob;
VIR_ENUM_DECL(qemuDomainAsyncJob)
struct qemuDomainJobObj {
virCond cond; /* Use to coordinate jobs */
enum qemuDomainJob active; /* Currently running job */
qemuDomainJob active; /* Currently running job */
unsigned long long owner; /* Thread id which set current job */
virCond asyncCond; /* Use to coordinate with async jobs */
enum qemuDomainAsyncJob asyncJob; /* Currently active async job */
qemuDomainAsyncJob asyncJob; /* Currently active async job */
unsigned long long asyncOwner; /* Thread which set current async job */
int phase; /* Job phase (mainly for migrations) */
unsigned long long mask; /* Jobs allowed during async job */
......@@ -191,9 +191,9 @@ struct qemuProcessEvent {
void *data;
};
const char *qemuDomainAsyncJobPhaseToString(enum qemuDomainAsyncJob job,
const char *qemuDomainAsyncJobPhaseToString(qemuDomainAsyncJob job,
int phase);
int qemuDomainAsyncJobPhaseFromString(enum qemuDomainAsyncJob job,
int qemuDomainAsyncJobPhaseFromString(qemuDomainAsyncJob job,
const char *phase);
void qemuDomainEventFlush(int timer, void *opaque);
......@@ -203,11 +203,11 @@ void qemuDomainEventQueue(virQEMUDriverPtr driver,
int qemuDomainObjBeginJob(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum qemuDomainJob job)
qemuDomainJob job)
ATTRIBUTE_RETURN_CHECK;
int qemuDomainObjBeginAsyncJob(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
ATTRIBUTE_RETURN_CHECK;
bool qemuDomainObjEndJob(virQEMUDriverPtr driver,
......@@ -237,7 +237,7 @@ void qemuDomainObjExitMonitor(virQEMUDriverPtr driver,
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
int qemuDomainObjEnterMonitorAsync(virQEMUDriverPtr driver,
virDomainObjPtr obj,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK;
......@@ -342,7 +342,7 @@ void qemuDomainSetFakeReboot(virQEMUDriverPtr driver,
bool value);
bool qemuDomainJobAllowed(qemuDomainObjPrivatePtr priv,
enum qemuDomainJob job);
qemuDomainJob job);
int qemuDomainCheckDiskPresence(virQEMUDriverPtr driver,
virDomainObjPtr vm,
......
......@@ -2908,7 +2908,7 @@ qemuDomainSaveMemory(virQEMUDriverPtr driver,
int compressed,
bool was_running,
unsigned int flags,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
virQEMUSaveHeader header;
bool bypassSecurityDriver = false;
......@@ -3387,7 +3387,7 @@ qemuDomainManagedSaveRemove(virDomainPtr dom, unsigned int flags)
}
static int qemuDumpToFd(virQEMUDriverPtr driver, virDomainObjPtr vm,
int fd, enum qemuDomainAsyncJob asyncJob,
int fd, qemuDomainAsyncJob asyncJob,
const char *dumpformat)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
......@@ -12839,7 +12839,7 @@ qemuDomainSnapshotCreateSingleDiskActive(virQEMUDriverPtr driver,
virDomainDiskDefPtr persistDisk,
virJSONValuePtr actions,
bool reuse,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
char *device = NULL;
......@@ -13074,7 +13074,7 @@ qemuDomainSnapshotCreateDiskActive(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virDomainSnapshotObjPtr snap,
unsigned int flags,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
virJSONValuePtr actions = NULL;
......
......@@ -195,7 +195,7 @@ int qemuDomainChangeEjectableMedia(virQEMUDriverPtr driver,
int
qemuDomainCheckEjectableMedia(virQEMUDriverPtr driver,
virDomainObjPtr vm,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
virHashTablePtr table = NULL;
......
......@@ -35,7 +35,7 @@ int qemuDomainChangeEjectableMedia(virQEMUDriverPtr driver,
bool force);
int qemuDomainCheckEjectableMedia(virQEMUDriverPtr driver,
virDomainObjPtr vm,
enum qemuDomainAsyncJob asyncJob);
qemuDomainAsyncJob asyncJob);
int qemuDomainAttachControllerDevice(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virDomainControllerDefPtr controller);
......
......@@ -1585,7 +1585,7 @@ qemuMigrationSetOffline(virQEMUDriverPtr driver,
static int
qemuMigrationSetCompression(virQEMUDriverPtr driver,
virDomainObjPtr vm,
enum qemuDomainAsyncJob job)
qemuDomainAsyncJob job)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
int ret;
......@@ -1625,7 +1625,7 @@ qemuMigrationSetCompression(virQEMUDriverPtr driver,
static int
qemuMigrationSetAutoConverge(virQEMUDriverPtr driver,
virDomainObjPtr vm,
enum qemuDomainAsyncJob job)
qemuDomainAsyncJob job)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
int ret;
......@@ -1704,7 +1704,7 @@ static int
qemuMigrationUpdateJobStatus(virQEMUDriverPtr driver,
virDomainObjPtr vm,
const char *job,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
int ret;
......@@ -1788,7 +1788,7 @@ qemuMigrationUpdateJobStatus(virQEMUDriverPtr driver,
*/
static int
qemuMigrationWaitForCompletion(virQEMUDriverPtr driver, virDomainObjPtr vm,
enum qemuDomainAsyncJob asyncJob,
qemuDomainAsyncJob asyncJob,
virConnectPtr dconn, bool abort_on_error)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
......@@ -2006,7 +2006,7 @@ qemuMigrationCleanup(virDomainObjPtr vm,
" was closed; canceling the migration",
vm->def->name);
switch ((enum qemuMigrationJobPhase) priv->job.phase) {
switch ((qemuMigrationJobPhase) priv->job.phase) {
case QEMU_MIGRATION_PHASE_BEGIN3:
/* just forget we were about to migrate */
qemuDomainObjDiscardAsyncJob(driver, vm);
......@@ -2154,7 +2154,7 @@ qemuMigrationBegin(virConnectPtr conn,
{
virQEMUDriverPtr driver = conn->privateData;
char *xml = NULL;
enum qemuDomainAsyncJob asyncJob;
qemuDomainAsyncJob asyncJob;
if ((flags & VIR_MIGRATE_CHANGE_PROTECTION)) {
if (qemuMigrationJobStart(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT) < 0)
......@@ -2892,7 +2892,7 @@ qemuMigrationConfirm(virConnectPtr conn,
int cancelled)
{
virQEMUDriverPtr driver = conn->privateData;
enum qemuMigrationJobPhase phase;
qemuMigrationJobPhase phase;
virQEMUDriverConfigPtr cfg = NULL;
int ret = -1;
......@@ -4694,7 +4694,7 @@ qemuMigrationToFile(virQEMUDriverPtr driver, virDomainObjPtr vm,
int fd, off_t offset, const char *path,
const char *compressor,
bool bypassSecurityDriver,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
int rc;
......@@ -4865,7 +4865,7 @@ qemuMigrationToFile(virQEMUDriverPtr driver, virDomainObjPtr vm,
int
qemuMigrationJobStart(virQEMUDriverPtr driver,
virDomainObjPtr vm,
enum qemuDomainAsyncJob job)
qemuDomainAsyncJob job)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
......@@ -4888,7 +4888,7 @@ qemuMigrationJobStart(virQEMUDriverPtr driver,
void
qemuMigrationJobSetPhase(virQEMUDriverPtr driver,
virDomainObjPtr vm,
enum qemuMigrationJobPhase phase)
qemuMigrationJobPhase phase)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
......@@ -4905,7 +4905,7 @@ qemuMigrationJobSetPhase(virQEMUDriverPtr driver,
void
qemuMigrationJobStartPhase(virQEMUDriverPtr driver,
virDomainObjPtr vm,
enum qemuMigrationJobPhase phase)
qemuMigrationJobPhase phase)
{
virObjectRef(vm);
qemuMigrationJobSetPhase(driver, vm, phase);
......@@ -4920,7 +4920,7 @@ qemuMigrationJobContinue(virDomainObjPtr vm)
bool
qemuMigrationJobIsActive(virDomainObjPtr vm,
enum qemuDomainAsyncJob job)
qemuDomainAsyncJob job)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
......
......@@ -53,7 +53,7 @@
NULL
enum qemuMigrationJobPhase {
typedef enum {
QEMU_MIGRATION_PHASE_NONE = 0,
QEMU_MIGRATION_PHASE_PERFORM2,
QEMU_MIGRATION_PHASE_BEGIN3,
......@@ -66,25 +66,25 @@ enum qemuMigrationJobPhase {
QEMU_MIGRATION_PHASE_FINISH3,
QEMU_MIGRATION_PHASE_LAST
};
} qemuMigrationJobPhase;
VIR_ENUM_DECL(qemuMigrationJobPhase)
int qemuMigrationJobStart(virQEMUDriverPtr driver,
virDomainObjPtr vm,
enum qemuDomainAsyncJob job)
qemuDomainAsyncJob job)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK;
void qemuMigrationJobSetPhase(virQEMUDriverPtr driver,
virDomainObjPtr vm,
enum qemuMigrationJobPhase phase)
qemuMigrationJobPhase phase)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
void qemuMigrationJobStartPhase(virQEMUDriverPtr driver,
virDomainObjPtr vm,
enum qemuMigrationJobPhase phase)
qemuMigrationJobPhase phase)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
bool qemuMigrationJobContinue(virDomainObjPtr obj)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
bool qemuMigrationJobIsActive(virDomainObjPtr vm,
enum qemuDomainAsyncJob job)
qemuDomainAsyncJob job)
ATTRIBUTE_NONNULL(1);
bool qemuMigrationJobFinish(virQEMUDriverPtr driver, virDomainObjPtr obj)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK;
......@@ -172,7 +172,7 @@ int qemuMigrationToFile(virQEMUDriverPtr driver, virDomainObjPtr vm,
int fd, off_t offset, const char *path,
const char *compressor,
bool bypassSecurityDriver,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(5)
ATTRIBUTE_RETURN_CHECK;
......
......@@ -2769,7 +2769,7 @@ qemuProcessPrepareMonitorChr(virQEMUDriverConfigPtr cfg,
int
qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm,
virConnectPtr conn, virDomainRunningReason reason,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
int ret = -1;
qemuDomainObjPrivatePtr priv = vm->privateData;
......@@ -2811,7 +2811,7 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm,
int qemuProcessStopCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm,
virDomainPausedReason reason,
enum qemuDomainAsyncJob asyncJob)
qemuDomainAsyncJob asyncJob)
{
int ret = -1;
qemuDomainObjPrivatePtr priv = vm->privateData;
......@@ -2935,8 +2935,8 @@ static int
qemuProcessRecoverMigration(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virConnectPtr conn,
enum qemuDomainAsyncJob job,
enum qemuMigrationJobPhase phase,
qemuDomainAsyncJob job,
qemuMigrationJobPhase phase,
virDomainState state,
int reason)
{
......
......@@ -33,11 +33,11 @@ int qemuProcessStartCPUs(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virConnectPtr conn,
virDomainRunningReason reason,
enum qemuDomainAsyncJob asyncJob);
qemuDomainAsyncJob asyncJob);
int qemuProcessStopCPUs(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virDomainPausedReason reason,
enum qemuDomainAsyncJob asyncJob);
qemuDomainAsyncJob asyncJob);
void qemuProcessAutostartAll(virQEMUDriverPtr driver);
void qemuProcessReconnectAll(virConnectPtr conn, virQEMUDriverPtr driver);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册