1/* AUTOMATICALLY GENERATED, DO NOT MODIFY */
2
3/*
4 * Schema-defined QAPI types
5 *
6 * Copyright IBM, Corp. 2011
7 * Copyright (c) 2013-2018 Red Hat Inc.
8 *
9 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
10 * See the COPYING.LIB file in the top-level directory.
11 */
12
13#ifndef QAPI_TYPES_BLOCK_H
14#define QAPI_TYPES_BLOCK_H
15
16#include "qapi/qapi-builtin-types.h"
17#include "qapi-types-block-core.h"
18
19typedef enum BiosAtaTranslation {
20 BIOS_ATA_TRANSLATION_AUTO,
21 BIOS_ATA_TRANSLATION_NONE,
22 BIOS_ATA_TRANSLATION_LBA,
23 BIOS_ATA_TRANSLATION_LARGE,
24 BIOS_ATA_TRANSLATION_RECHS,
25 BIOS_ATA_TRANSLATION__MAX,
26} BiosAtaTranslation;
27
28#define BiosAtaTranslation_str(val) \
29 qapi_enum_lookup(&BiosAtaTranslation_lookup, (val))
30
31extern const QEnumLookup BiosAtaTranslation_lookup;
32
33typedef enum FloppyDriveType {
34 FLOPPY_DRIVE_TYPE_144,
35 FLOPPY_DRIVE_TYPE_288,
36 FLOPPY_DRIVE_TYPE_120,
37 FLOPPY_DRIVE_TYPE_NONE,
38 FLOPPY_DRIVE_TYPE_AUTO,
39 FLOPPY_DRIVE_TYPE__MAX,
40} FloppyDriveType;
41
42#define FloppyDriveType_str(val) \
43 qapi_enum_lookup(&FloppyDriveType_lookup, (val))
44
45extern const QEnumLookup FloppyDriveType_lookup;
46
47typedef struct BlockdevSnapshotInternal BlockdevSnapshotInternal;
48
49typedef struct PRManagerInfo PRManagerInfo;
50
51typedef struct PRManagerInfoList PRManagerInfoList;
52
53typedef struct q_obj_blockdev_snapshot_delete_internal_sync_arg q_obj_blockdev_snapshot_delete_internal_sync_arg;
54
55typedef struct q_obj_eject_arg q_obj_eject_arg;
56
57typedef struct q_obj_nbd_server_start_arg q_obj_nbd_server_start_arg;
58
59typedef struct q_obj_nbd_server_add_arg q_obj_nbd_server_add_arg;
60
61typedef enum NbdServerRemoveMode {
62 NBD_SERVER_REMOVE_MODE_SAFE,
63 NBD_SERVER_REMOVE_MODE_HARD,
64 NBD_SERVER_REMOVE_MODE__MAX,
65} NbdServerRemoveMode;
66
67#define NbdServerRemoveMode_str(val) \
68 qapi_enum_lookup(&NbdServerRemoveMode_lookup, (val))
69
70extern const QEnumLookup NbdServerRemoveMode_lookup;
71
72typedef struct q_obj_nbd_server_remove_arg q_obj_nbd_server_remove_arg;
73
74typedef struct q_obj_DEVICE_TRAY_MOVED_arg q_obj_DEVICE_TRAY_MOVED_arg;
75
76typedef struct q_obj_PR_MANAGER_STATUS_CHANGED_arg q_obj_PR_MANAGER_STATUS_CHANGED_arg;
77
78typedef enum QuorumOpType {
79 QUORUM_OP_TYPE_READ,
80 QUORUM_OP_TYPE_WRITE,
81 QUORUM_OP_TYPE_FLUSH,
82 QUORUM_OP_TYPE__MAX,
83} QuorumOpType;
84
85#define QuorumOpType_str(val) \
86 qapi_enum_lookup(&QuorumOpType_lookup, (val))
87
88extern const QEnumLookup QuorumOpType_lookup;
89
90typedef struct q_obj_QUORUM_FAILURE_arg q_obj_QUORUM_FAILURE_arg;
91
92typedef struct q_obj_QUORUM_REPORT_BAD_arg q_obj_QUORUM_REPORT_BAD_arg;
93
94struct BlockdevSnapshotInternal {
95 char *device;
96 char *name;
97};
98
99void qapi_free_BlockdevSnapshotInternal(BlockdevSnapshotInternal *obj);
100
101struct PRManagerInfo {
102 char *id;
103 bool connected;
104};
105
106void qapi_free_PRManagerInfo(PRManagerInfo *obj);
107
108struct PRManagerInfoList {
109 PRManagerInfoList *next;
110 PRManagerInfo *value;
111};
112
113void qapi_free_PRManagerInfoList(PRManagerInfoList *obj);
114
115struct q_obj_blockdev_snapshot_delete_internal_sync_arg {
116 char *device;
117 bool has_id;
118 char *id;
119 bool has_name;
120 char *name;
121};
122
123struct q_obj_eject_arg {
124 bool has_device;
125 char *device;
126 bool has_id;
127 char *id;
128 bool has_force;
129 bool force;
130};
131
132struct q_obj_nbd_server_start_arg {
133 SocketAddressLegacy *addr;
134 bool has_tls_creds;
135 char *tls_creds;
136 bool has_tls_authz;
137 char *tls_authz;
138};
139
140struct q_obj_nbd_server_add_arg {
141 char *device;
142 bool has_name;
143 char *name;
144 bool has_writable;
145 bool writable;
146 bool has_bitmap;
147 char *bitmap;
148};
149
150struct q_obj_nbd_server_remove_arg {
151 char *name;
152 bool has_mode;
153 NbdServerRemoveMode mode;
154};
155
156struct q_obj_DEVICE_TRAY_MOVED_arg {
157 char *device;
158 char *id;
159 bool tray_open;
160};
161
162struct q_obj_PR_MANAGER_STATUS_CHANGED_arg {
163 char *id;
164 bool connected;
165};
166
167struct q_obj_QUORUM_FAILURE_arg {
168 char *reference;
169 int64_t sector_num;
170 int64_t sectors_count;
171};
172
173struct q_obj_QUORUM_REPORT_BAD_arg {
174 QuorumOpType type;
175 bool has_error;
176 char *error;
177 char *node_name;
178 int64_t sector_num;
179 int64_t sectors_count;
180};
181
182#endif /* QAPI_TYPES_BLOCK_H */
183