blob: 2b3e8b54ccc885f023f7177e764579f417bcb8d1 [file] [log] [blame]
/* AUTOMATICALLY GENERATED, 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_TRANSACTION_H
#define QAPI_TYPES_TRANSACTION_H
#include "qapi/qapi-builtin-types.h"
#include "qapi-types-block.h"
typedef struct Abort Abort;
typedef enum ActionCompletionMode {
ACTION_COMPLETION_MODE_INDIVIDUAL = 0,
ACTION_COMPLETION_MODE_GROUPED = 1,
ACTION_COMPLETION_MODE__MAX = 2,
} ActionCompletionMode;
#define ActionCompletionMode_str(val) \
qapi_enum_lookup(&ActionCompletionMode_lookup, (val))
extern const QEnumLookup ActionCompletionMode_lookup;
typedef struct q_obj_Abort_wrapper q_obj_Abort_wrapper;
typedef struct q_obj_BlockDirtyBitmapAdd_wrapper q_obj_BlockDirtyBitmapAdd_wrapper;
typedef struct q_obj_BlockDirtyBitmap_wrapper q_obj_BlockDirtyBitmap_wrapper;
typedef struct q_obj_BlockdevBackup_wrapper q_obj_BlockdevBackup_wrapper;
typedef struct q_obj_BlockdevSnapshot_wrapper q_obj_BlockdevSnapshot_wrapper;
typedef struct q_obj_BlockdevSnapshotInternal_wrapper q_obj_BlockdevSnapshotInternal_wrapper;
typedef struct q_obj_BlockdevSnapshotSync_wrapper q_obj_BlockdevSnapshotSync_wrapper;
typedef struct q_obj_DriveBackup_wrapper q_obj_DriveBackup_wrapper;
typedef enum TransactionActionKind {
TRANSACTION_ACTION_KIND_ABORT = 0,
TRANSACTION_ACTION_KIND_BLOCK_DIRTY_BITMAP_ADD = 1,
TRANSACTION_ACTION_KIND_BLOCK_DIRTY_BITMAP_CLEAR = 2,
TRANSACTION_ACTION_KIND_BLOCKDEV_BACKUP = 3,
TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT = 4,
TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT_INTERNAL_SYNC = 5,
TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT_SYNC = 6,
TRANSACTION_ACTION_KIND_DRIVE_BACKUP = 7,
TRANSACTION_ACTION_KIND__MAX = 8,
} TransactionActionKind;
#define TransactionActionKind_str(val) \
qapi_enum_lookup(&TransactionActionKind_lookup, (val))
extern const QEnumLookup TransactionActionKind_lookup;
typedef struct TransactionAction TransactionAction;
typedef struct TransactionProperties TransactionProperties;
typedef struct TransactionActionList TransactionActionList;
typedef struct q_obj_transaction_arg q_obj_transaction_arg;
struct Abort {
char qapi_dummy_for_empty_struct;
};
void qapi_free_Abort(Abort *obj);
struct q_obj_Abort_wrapper {
Abort *data;
};
struct q_obj_BlockDirtyBitmapAdd_wrapper {
BlockDirtyBitmapAdd *data;
};
struct q_obj_BlockDirtyBitmap_wrapper {
BlockDirtyBitmap *data;
};
struct q_obj_BlockdevBackup_wrapper {
BlockdevBackup *data;
};
struct q_obj_BlockdevSnapshot_wrapper {
BlockdevSnapshot *data;
};
struct q_obj_BlockdevSnapshotInternal_wrapper {
BlockdevSnapshotInternal *data;
};
struct q_obj_BlockdevSnapshotSync_wrapper {
BlockdevSnapshotSync *data;
};
struct q_obj_DriveBackup_wrapper {
DriveBackup *data;
};
struct TransactionAction {
TransactionActionKind type;
union { /* union tag is @type */
q_obj_Abort_wrapper abort;
q_obj_BlockDirtyBitmapAdd_wrapper block_dirty_bitmap_add;
q_obj_BlockDirtyBitmap_wrapper block_dirty_bitmap_clear;
q_obj_BlockdevBackup_wrapper blockdev_backup;
q_obj_BlockdevSnapshot_wrapper blockdev_snapshot;
q_obj_BlockdevSnapshotInternal_wrapper blockdev_snapshot_internal_sync;
q_obj_BlockdevSnapshotSync_wrapper blockdev_snapshot_sync;
q_obj_DriveBackup_wrapper drive_backup;
} u;
};
void qapi_free_TransactionAction(TransactionAction *obj);
struct TransactionProperties {
bool has_completion_mode;
ActionCompletionMode completion_mode;
};
void qapi_free_TransactionProperties(TransactionProperties *obj);
struct TransactionActionList {
TransactionActionList *next;
TransactionAction *value;
};
void qapi_free_TransactionActionList(TransactionActionList *obj);
struct q_obj_transaction_arg {
TransactionActionList *actions;
bool has_properties;
TransactionProperties *properties;
};
#endif /* QAPI_TYPES_TRANSACTION_H */