1/* AUTOMATICALLY GENERATED, DO NOT MODIFY */
2
3/*
4 * Schema-defined QAPI visitors
5 *
6 * Copyright IBM, Corp. 2011
7 * Copyright (C) 2014-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#include "qemu/osdep.h"
14#include "qapi/error.h"
15#include "qapi/qmp/qerror.h"
16#include "qapi-visit-block.h"
17
18void visit_type_BiosAtaTranslation(Visitor *v, const char *name, BiosAtaTranslation *obj, Error **errp)
19{
20 int value = *obj;
21 visit_type_enum(v, name, &value, &BiosAtaTranslation_lookup, errp);
22 *obj = value;
23}
24
25void visit_type_FloppyDriveType(Visitor *v, const char *name, FloppyDriveType *obj, Error **errp)
26{
27 int value = *obj;
28 visit_type_enum(v, name, &value, &FloppyDriveType_lookup, errp);
29 *obj = value;
30}
31
32void visit_type_BlockdevSnapshotInternal_members(Visitor *v, BlockdevSnapshotInternal *obj, Error **errp)
33{
34 Error *err = NULL;
35
36 visit_type_str(v, "device", &obj->device, &err);
37 if (err) {
38 goto out;
39 }
40 visit_type_str(v, "name", &obj->name, &err);
41 if (err) {
42 goto out;
43 }
44
45out:
46 error_propagate(errp, err);
47}
48
49void visit_type_BlockdevSnapshotInternal(Visitor *v, const char *name, BlockdevSnapshotInternal **obj, Error **errp)
50{
51 Error *err = NULL;
52
53 visit_start_struct(v, name, (void **)obj, sizeof(BlockdevSnapshotInternal), &err);
54 if (err) {
55 goto out;
56 }
57 if (!*obj) {
58 goto out_obj;
59 }
60 visit_type_BlockdevSnapshotInternal_members(v, *obj, &err);
61 if (err) {
62 goto out_obj;
63 }
64 visit_check_struct(v, &err);
65out_obj:
66 visit_end_struct(v, (void **)obj);
67 if (err && visit_is_input(v)) {
68 qapi_free_BlockdevSnapshotInternal(*obj);
69 *obj = NULL;
70 }
71out:
72 error_propagate(errp, err);
73}
74
75void visit_type_PRManagerInfo_members(Visitor *v, PRManagerInfo *obj, Error **errp)
76{
77 Error *err = NULL;
78
79 visit_type_str(v, "id", &obj->id, &err);
80 if (err) {
81 goto out;
82 }
83 visit_type_bool(v, "connected", &obj->connected, &err);
84 if (err) {
85 goto out;
86 }
87
88out:
89 error_propagate(errp, err);
90}
91
92void visit_type_PRManagerInfo(Visitor *v, const char *name, PRManagerInfo **obj, Error **errp)
93{
94 Error *err = NULL;
95
96 visit_start_struct(v, name, (void **)obj, sizeof(PRManagerInfo), &err);
97 if (err) {
98 goto out;
99 }
100 if (!*obj) {
101 goto out_obj;
102 }
103 visit_type_PRManagerInfo_members(v, *obj, &err);
104 if (err) {
105 goto out_obj;
106 }
107 visit_check_struct(v, &err);
108out_obj:
109 visit_end_struct(v, (void **)obj);
110 if (err && visit_is_input(v)) {
111 qapi_free_PRManagerInfo(*obj);
112 *obj = NULL;
113 }
114out:
115 error_propagate(errp, err);
116}
117
118void visit_type_PRManagerInfoList(Visitor *v, const char *name, PRManagerInfoList **obj, Error **errp)
119{
120 Error *err = NULL;
121 PRManagerInfoList *tail;
122 size_t size = sizeof(**obj);
123
124 visit_start_list(v, name, (GenericList **)obj, size, &err);
125 if (err) {
126 goto out;
127 }
128
129 for (tail = *obj; tail;
130 tail = (PRManagerInfoList *)visit_next_list(v, (GenericList *)tail, size)) {
131 visit_type_PRManagerInfo(v, NULL, &tail->value, &err);
132 if (err) {
133 break;
134 }
135 }
136
137 if (!err) {
138 visit_check_list(v, &err);
139 }
140 visit_end_list(v, (void **)obj);
141 if (err && visit_is_input(v)) {
142 qapi_free_PRManagerInfoList(*obj);
143 *obj = NULL;
144 }
145out:
146 error_propagate(errp, err);
147}
148
149void visit_type_q_obj_blockdev_snapshot_delete_internal_sync_arg_members(Visitor *v, q_obj_blockdev_snapshot_delete_internal_sync_arg *obj, Error **errp)
150{
151 Error *err = NULL;
152
153 visit_type_str(v, "device", &obj->device, &err);
154 if (err) {
155 goto out;
156 }
157 if (visit_optional(v, "id", &obj->has_id)) {
158 visit_type_str(v, "id", &obj->id, &err);
159 if (err) {
160 goto out;
161 }
162 }
163 if (visit_optional(v, "name", &obj->has_name)) {
164 visit_type_str(v, "name", &obj->name, &err);
165 if (err) {
166 goto out;
167 }
168 }
169
170out:
171 error_propagate(errp, err);
172}
173
174void visit_type_q_obj_eject_arg_members(Visitor *v, q_obj_eject_arg *obj, Error **errp)
175{
176 Error *err = NULL;
177
178 if (visit_optional(v, "device", &obj->has_device)) {
179 visit_type_str(v, "device", &obj->device, &err);
180 if (err) {
181 goto out;
182 }
183 }
184 if (visit_optional(v, "id", &obj->has_id)) {
185 visit_type_str(v, "id", &obj->id, &err);
186 if (err) {
187 goto out;
188 }
189 }
190 if (visit_optional(v, "force", &obj->has_force)) {
191 visit_type_bool(v, "force", &obj->force, &err);
192 if (err) {
193 goto out;
194 }
195 }
196
197out:
198 error_propagate(errp, err);
199}
200
201void visit_type_q_obj_nbd_server_start_arg_members(Visitor *v, q_obj_nbd_server_start_arg *obj, Error **errp)
202{
203 Error *err = NULL;
204
205 visit_type_SocketAddressLegacy(v, "addr", &obj->addr, &err);
206 if (err) {
207 goto out;
208 }
209 if (visit_optional(v, "tls-creds", &obj->has_tls_creds)) {
210 visit_type_str(v, "tls-creds", &obj->tls_creds, &err);
211 if (err) {
212 goto out;
213 }
214 }
215 if (visit_optional(v, "tls-authz", &obj->has_tls_authz)) {
216 visit_type_str(v, "tls-authz", &obj->tls_authz, &err);
217 if (err) {
218 goto out;
219 }
220 }
221
222out:
223 error_propagate(errp, err);
224}
225
226void visit_type_q_obj_nbd_server_add_arg_members(Visitor *v, q_obj_nbd_server_add_arg *obj, Error **errp)
227{
228 Error *err = NULL;
229
230 visit_type_str(v, "device", &obj->device, &err);
231 if (err) {
232 goto out;
233 }
234 if (visit_optional(v, "name", &obj->has_name)) {
235 visit_type_str(v, "name", &obj->name, &err);
236 if (err) {
237 goto out;
238 }
239 }
240 if (visit_optional(v, "writable", &obj->has_writable)) {
241 visit_type_bool(v, "writable", &obj->writable, &err);
242 if (err) {
243 goto out;
244 }
245 }
246 if (visit_optional(v, "bitmap", &obj->has_bitmap)) {
247 visit_type_str(v, "bitmap", &obj->bitmap, &err);
248 if (err) {
249 goto out;
250 }
251 }
252
253out:
254 error_propagate(errp, err);
255}
256
257void visit_type_NbdServerRemoveMode(Visitor *v, const char *name, NbdServerRemoveMode *obj, Error **errp)
258{
259 int value = *obj;
260 visit_type_enum(v, name, &value, &NbdServerRemoveMode_lookup, errp);
261 *obj = value;
262}
263
264void visit_type_q_obj_nbd_server_remove_arg_members(Visitor *v, q_obj_nbd_server_remove_arg *obj, Error **errp)
265{
266 Error *err = NULL;
267
268 visit_type_str(v, "name", &obj->name, &err);
269 if (err) {
270 goto out;
271 }
272 if (visit_optional(v, "mode", &obj->has_mode)) {
273 visit_type_NbdServerRemoveMode(v, "mode", &obj->mode, &err);
274 if (err) {
275 goto out;
276 }
277 }
278
279out:
280 error_propagate(errp, err);
281}
282
283void visit_type_q_obj_DEVICE_TRAY_MOVED_arg_members(Visitor *v, q_obj_DEVICE_TRAY_MOVED_arg *obj, Error **errp)
284{
285 Error *err = NULL;
286
287 visit_type_str(v, "device", &obj->device, &err);
288 if (err) {
289 goto out;
290 }
291 visit_type_str(v, "id", &obj->id, &err);
292 if (err) {
293 goto out;
294 }
295 visit_type_bool(v, "tray-open", &obj->tray_open, &err);
296 if (err) {
297 goto out;
298 }
299
300out:
301 error_propagate(errp, err);
302}
303
304void visit_type_q_obj_PR_MANAGER_STATUS_CHANGED_arg_members(Visitor *v, q_obj_PR_MANAGER_STATUS_CHANGED_arg *obj, Error **errp)
305{
306 Error *err = NULL;
307
308 visit_type_str(v, "id", &obj->id, &err);
309 if (err) {
310 goto out;
311 }
312 visit_type_bool(v, "connected", &obj->connected, &err);
313 if (err) {
314 goto out;
315 }
316
317out:
318 error_propagate(errp, err);
319}
320
321void visit_type_QuorumOpType(Visitor *v, const char *name, QuorumOpType *obj, Error **errp)
322{
323 int value = *obj;
324 visit_type_enum(v, name, &value, &QuorumOpType_lookup, errp);
325 *obj = value;
326}
327
328void visit_type_q_obj_QUORUM_FAILURE_arg_members(Visitor *v, q_obj_QUORUM_FAILURE_arg *obj, Error **errp)
329{
330 Error *err = NULL;
331
332 visit_type_str(v, "reference", &obj->reference, &err);
333 if (err) {
334 goto out;
335 }
336 visit_type_int(v, "sector-num", &obj->sector_num, &err);
337 if (err) {
338 goto out;
339 }
340 visit_type_int(v, "sectors-count", &obj->sectors_count, &err);
341 if (err) {
342 goto out;
343 }
344
345out:
346 error_propagate(errp, err);
347}
348
349void visit_type_q_obj_QUORUM_REPORT_BAD_arg_members(Visitor *v, q_obj_QUORUM_REPORT_BAD_arg *obj, Error **errp)
350{
351 Error *err = NULL;
352
353 visit_type_QuorumOpType(v, "type", &obj->type, &err);
354 if (err) {
355 goto out;
356 }
357 if (visit_optional(v, "error", &obj->has_error)) {
358 visit_type_str(v, "error", &obj->error, &err);
359 if (err) {
360 goto out;
361 }
362 }
363 visit_type_str(v, "node-name", &obj->node_name, &err);
364 if (err) {
365 goto out;
366 }
367 visit_type_int(v, "sector-num", &obj->sector_num, &err);
368 if (err) {
369 goto out;
370 }
371 visit_type_int(v, "sectors-count", &obj->sectors_count, &err);
372 if (err) {
373 goto out;
374 }
375
376out:
377 error_propagate(errp, err);
378}
379
380/* Dummy declaration to prevent empty .o file */
381char qapi_dummy_qapi_visit_block_c;
382