/* AUTOMATICALLY GENERATED by qapi-gen.py DO NOT MODIFY */

/*
 * Schema-defined QAPI types
 *
 * Copyright IBM, Corp. 2011
 * Copyright (c) 2013-2018 Red Hat Inc.
 *
 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
 * See the COPYING.LIB file in the top-level directory.
 */

#ifndef QAPI_TYPES_VFIO_H
#define QAPI_TYPES_VFIO_H

#include "qapi/qapi-builtin-types.h"

typedef enum QapiVfioMigrationState {
    QAPI_VFIO_MIGRATION_STATE_STOP,
    QAPI_VFIO_MIGRATION_STATE_RUNNING,
    QAPI_VFIO_MIGRATION_STATE_STOP_COPY,
    QAPI_VFIO_MIGRATION_STATE_RESUMING,
    QAPI_VFIO_MIGRATION_STATE_RUNNING_P2P,
    QAPI_VFIO_MIGRATION_STATE_PRE_COPY,
    QAPI_VFIO_MIGRATION_STATE_PRE_COPY_P2P,
    QAPI_VFIO_MIGRATION_STATE_PRE_COPY_P2P_PREPARE,
    QAPI_VFIO_MIGRATION_STATE__MAX,
} QapiVfioMigrationState;

#define QapiVfioMigrationState_str(val) \
    qapi_enum_lookup(&QapiVfioMigrationState_lookup, (val))

extern const QEnumLookup QapiVfioMigrationState_lookup;

typedef struct q_obj_VFIO_MIGRATION_arg q_obj_VFIO_MIGRATION_arg;

struct q_obj_VFIO_MIGRATION_arg {
    char *device_id;
    char *qom_path;
    QapiVfioMigrationState device_state;
};

#endif /* QAPI_TYPES_VFIO_H */
