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 | #include "qemu/osdep.h" |
14 | #include "qapi/dealloc-visitor.h" |
15 | #include "qapi-types-block-core.h" |
16 | #include "qapi-visit-block-core.h" |
17 | |
18 | void qapi_free_SnapshotInfo(SnapshotInfo *obj) |
19 | { |
20 | Visitor *v; |
21 | |
22 | if (!obj) { |
23 | return; |
24 | } |
25 | |
26 | v = qapi_dealloc_visitor_new(); |
27 | visit_type_SnapshotInfo(v, NULL, &obj, NULL); |
28 | visit_free(v); |
29 | } |
30 | |
31 | void qapi_free_ImageInfoSpecificQCow2EncryptionBase(ImageInfoSpecificQCow2EncryptionBase *obj) |
32 | { |
33 | Visitor *v; |
34 | |
35 | if (!obj) { |
36 | return; |
37 | } |
38 | |
39 | v = qapi_dealloc_visitor_new(); |
40 | visit_type_ImageInfoSpecificQCow2EncryptionBase(v, NULL, &obj, NULL); |
41 | visit_free(v); |
42 | } |
43 | |
44 | void qapi_free_ImageInfoSpecificQCow2Encryption(ImageInfoSpecificQCow2Encryption *obj) |
45 | { |
46 | Visitor *v; |
47 | |
48 | if (!obj) { |
49 | return; |
50 | } |
51 | |
52 | v = qapi_dealloc_visitor_new(); |
53 | visit_type_ImageInfoSpecificQCow2Encryption(v, NULL, &obj, NULL); |
54 | visit_free(v); |
55 | } |
56 | |
57 | void qapi_free_Qcow2BitmapInfoList(Qcow2BitmapInfoList *obj) |
58 | { |
59 | Visitor *v; |
60 | |
61 | if (!obj) { |
62 | return; |
63 | } |
64 | |
65 | v = qapi_dealloc_visitor_new(); |
66 | visit_type_Qcow2BitmapInfoList(v, NULL, &obj, NULL); |
67 | visit_free(v); |
68 | } |
69 | |
70 | void qapi_free_ImageInfoSpecificQCow2(ImageInfoSpecificQCow2 *obj) |
71 | { |
72 | Visitor *v; |
73 | |
74 | if (!obj) { |
75 | return; |
76 | } |
77 | |
78 | v = qapi_dealloc_visitor_new(); |
79 | visit_type_ImageInfoSpecificQCow2(v, NULL, &obj, NULL); |
80 | visit_free(v); |
81 | } |
82 | |
83 | void qapi_free_ImageInfoList(ImageInfoList *obj) |
84 | { |
85 | Visitor *v; |
86 | |
87 | if (!obj) { |
88 | return; |
89 | } |
90 | |
91 | v = qapi_dealloc_visitor_new(); |
92 | visit_type_ImageInfoList(v, NULL, &obj, NULL); |
93 | visit_free(v); |
94 | } |
95 | |
96 | void qapi_free_ImageInfoSpecificVmdk(ImageInfoSpecificVmdk *obj) |
97 | { |
98 | Visitor *v; |
99 | |
100 | if (!obj) { |
101 | return; |
102 | } |
103 | |
104 | v = qapi_dealloc_visitor_new(); |
105 | visit_type_ImageInfoSpecificVmdk(v, NULL, &obj, NULL); |
106 | visit_free(v); |
107 | } |
108 | |
109 | const QEnumLookup ImageInfoSpecificKind_lookup = { |
110 | .array = (const char *const[]) { |
111 | [IMAGE_INFO_SPECIFIC_KIND_QCOW2] = "qcow2" , |
112 | [IMAGE_INFO_SPECIFIC_KIND_VMDK] = "vmdk" , |
113 | [IMAGE_INFO_SPECIFIC_KIND_LUKS] = "luks" , |
114 | }, |
115 | .size = IMAGE_INFO_SPECIFIC_KIND__MAX |
116 | }; |
117 | |
118 | void qapi_free_ImageInfoSpecific(ImageInfoSpecific *obj) |
119 | { |
120 | Visitor *v; |
121 | |
122 | if (!obj) { |
123 | return; |
124 | } |
125 | |
126 | v = qapi_dealloc_visitor_new(); |
127 | visit_type_ImageInfoSpecific(v, NULL, &obj, NULL); |
128 | visit_free(v); |
129 | } |
130 | |
131 | void qapi_free_SnapshotInfoList(SnapshotInfoList *obj) |
132 | { |
133 | Visitor *v; |
134 | |
135 | if (!obj) { |
136 | return; |
137 | } |
138 | |
139 | v = qapi_dealloc_visitor_new(); |
140 | visit_type_SnapshotInfoList(v, NULL, &obj, NULL); |
141 | visit_free(v); |
142 | } |
143 | |
144 | void qapi_free_ImageInfo(ImageInfo *obj) |
145 | { |
146 | Visitor *v; |
147 | |
148 | if (!obj) { |
149 | return; |
150 | } |
151 | |
152 | v = qapi_dealloc_visitor_new(); |
153 | visit_type_ImageInfo(v, NULL, &obj, NULL); |
154 | visit_free(v); |
155 | } |
156 | |
157 | void qapi_free_ImageCheck(ImageCheck *obj) |
158 | { |
159 | Visitor *v; |
160 | |
161 | if (!obj) { |
162 | return; |
163 | } |
164 | |
165 | v = qapi_dealloc_visitor_new(); |
166 | visit_type_ImageCheck(v, NULL, &obj, NULL); |
167 | visit_free(v); |
168 | } |
169 | |
170 | void qapi_free_MapEntry(MapEntry *obj) |
171 | { |
172 | Visitor *v; |
173 | |
174 | if (!obj) { |
175 | return; |
176 | } |
177 | |
178 | v = qapi_dealloc_visitor_new(); |
179 | visit_type_MapEntry(v, NULL, &obj, NULL); |
180 | visit_free(v); |
181 | } |
182 | |
183 | void qapi_free_BlockdevCacheInfo(BlockdevCacheInfo *obj) |
184 | { |
185 | Visitor *v; |
186 | |
187 | if (!obj) { |
188 | return; |
189 | } |
190 | |
191 | v = qapi_dealloc_visitor_new(); |
192 | visit_type_BlockdevCacheInfo(v, NULL, &obj, NULL); |
193 | visit_free(v); |
194 | } |
195 | |
196 | void qapi_free_BlockDirtyInfoList(BlockDirtyInfoList *obj) |
197 | { |
198 | Visitor *v; |
199 | |
200 | if (!obj) { |
201 | return; |
202 | } |
203 | |
204 | v = qapi_dealloc_visitor_new(); |
205 | visit_type_BlockDirtyInfoList(v, NULL, &obj, NULL); |
206 | visit_free(v); |
207 | } |
208 | |
209 | void qapi_free_BlockDeviceInfo(BlockDeviceInfo *obj) |
210 | { |
211 | Visitor *v; |
212 | |
213 | if (!obj) { |
214 | return; |
215 | } |
216 | |
217 | v = qapi_dealloc_visitor_new(); |
218 | visit_type_BlockDeviceInfo(v, NULL, &obj, NULL); |
219 | visit_free(v); |
220 | } |
221 | |
222 | const QEnumLookup BlockDeviceIoStatus_lookup = { |
223 | .array = (const char *const[]) { |
224 | [BLOCK_DEVICE_IO_STATUS_OK] = "ok" , |
225 | [BLOCK_DEVICE_IO_STATUS_FAILED] = "failed" , |
226 | [BLOCK_DEVICE_IO_STATUS_NOSPACE] = "nospace" , |
227 | }, |
228 | .size = BLOCK_DEVICE_IO_STATUS__MAX |
229 | }; |
230 | |
231 | void qapi_free_BlockDeviceMapEntry(BlockDeviceMapEntry *obj) |
232 | { |
233 | Visitor *v; |
234 | |
235 | if (!obj) { |
236 | return; |
237 | } |
238 | |
239 | v = qapi_dealloc_visitor_new(); |
240 | visit_type_BlockDeviceMapEntry(v, NULL, &obj, NULL); |
241 | visit_free(v); |
242 | } |
243 | |
244 | const QEnumLookup DirtyBitmapStatus_lookup = { |
245 | .array = (const char *const[]) { |
246 | [DIRTY_BITMAP_STATUS_ACTIVE] = "active" , |
247 | [DIRTY_BITMAP_STATUS_DISABLED] = "disabled" , |
248 | [DIRTY_BITMAP_STATUS_FROZEN] = "frozen" , |
249 | [DIRTY_BITMAP_STATUS_LOCKED] = "locked" , |
250 | [DIRTY_BITMAP_STATUS_INCONSISTENT] = "inconsistent" , |
251 | }, |
252 | .size = DIRTY_BITMAP_STATUS__MAX |
253 | }; |
254 | |
255 | void qapi_free_BlockDirtyInfo(BlockDirtyInfo *obj) |
256 | { |
257 | Visitor *v; |
258 | |
259 | if (!obj) { |
260 | return; |
261 | } |
262 | |
263 | v = qapi_dealloc_visitor_new(); |
264 | visit_type_BlockDirtyInfo(v, NULL, &obj, NULL); |
265 | visit_free(v); |
266 | } |
267 | |
268 | const QEnumLookup Qcow2BitmapInfoFlags_lookup = { |
269 | .array = (const char *const[]) { |
270 | [QCOW2_BITMAP_INFO_FLAGS_IN_USE] = "in-use" , |
271 | [QCOW2_BITMAP_INFO_FLAGS_AUTO] = "auto" , |
272 | }, |
273 | .size = QCOW2_BITMAP_INFO_FLAGS__MAX |
274 | }; |
275 | |
276 | void qapi_free_Qcow2BitmapInfoFlagsList(Qcow2BitmapInfoFlagsList *obj) |
277 | { |
278 | Visitor *v; |
279 | |
280 | if (!obj) { |
281 | return; |
282 | } |
283 | |
284 | v = qapi_dealloc_visitor_new(); |
285 | visit_type_Qcow2BitmapInfoFlagsList(v, NULL, &obj, NULL); |
286 | visit_free(v); |
287 | } |
288 | |
289 | void qapi_free_Qcow2BitmapInfo(Qcow2BitmapInfo *obj) |
290 | { |
291 | Visitor *v; |
292 | |
293 | if (!obj) { |
294 | return; |
295 | } |
296 | |
297 | v = qapi_dealloc_visitor_new(); |
298 | visit_type_Qcow2BitmapInfo(v, NULL, &obj, NULL); |
299 | visit_free(v); |
300 | } |
301 | |
302 | void qapi_free_BlockLatencyHistogramInfo(BlockLatencyHistogramInfo *obj) |
303 | { |
304 | Visitor *v; |
305 | |
306 | if (!obj) { |
307 | return; |
308 | } |
309 | |
310 | v = qapi_dealloc_visitor_new(); |
311 | visit_type_BlockLatencyHistogramInfo(v, NULL, &obj, NULL); |
312 | visit_free(v); |
313 | } |
314 | |
315 | void qapi_free_BlockInfo(BlockInfo *obj) |
316 | { |
317 | Visitor *v; |
318 | |
319 | if (!obj) { |
320 | return; |
321 | } |
322 | |
323 | v = qapi_dealloc_visitor_new(); |
324 | visit_type_BlockInfo(v, NULL, &obj, NULL); |
325 | visit_free(v); |
326 | } |
327 | |
328 | void qapi_free_BlockMeasureInfo(BlockMeasureInfo *obj) |
329 | { |
330 | Visitor *v; |
331 | |
332 | if (!obj) { |
333 | return; |
334 | } |
335 | |
336 | v = qapi_dealloc_visitor_new(); |
337 | visit_type_BlockMeasureInfo(v, NULL, &obj, NULL); |
338 | visit_free(v); |
339 | } |
340 | |
341 | void qapi_free_BlockInfoList(BlockInfoList *obj) |
342 | { |
343 | Visitor *v; |
344 | |
345 | if (!obj) { |
346 | return; |
347 | } |
348 | |
349 | v = qapi_dealloc_visitor_new(); |
350 | visit_type_BlockInfoList(v, NULL, &obj, NULL); |
351 | visit_free(v); |
352 | } |
353 | |
354 | void qapi_free_BlockDeviceTimedStats(BlockDeviceTimedStats *obj) |
355 | { |
356 | Visitor *v; |
357 | |
358 | if (!obj) { |
359 | return; |
360 | } |
361 | |
362 | v = qapi_dealloc_visitor_new(); |
363 | visit_type_BlockDeviceTimedStats(v, NULL, &obj, NULL); |
364 | visit_free(v); |
365 | } |
366 | |
367 | void qapi_free_BlockDeviceTimedStatsList(BlockDeviceTimedStatsList *obj) |
368 | { |
369 | Visitor *v; |
370 | |
371 | if (!obj) { |
372 | return; |
373 | } |
374 | |
375 | v = qapi_dealloc_visitor_new(); |
376 | visit_type_BlockDeviceTimedStatsList(v, NULL, &obj, NULL); |
377 | visit_free(v); |
378 | } |
379 | |
380 | void qapi_free_BlockDeviceStats(BlockDeviceStats *obj) |
381 | { |
382 | Visitor *v; |
383 | |
384 | if (!obj) { |
385 | return; |
386 | } |
387 | |
388 | v = qapi_dealloc_visitor_new(); |
389 | visit_type_BlockDeviceStats(v, NULL, &obj, NULL); |
390 | visit_free(v); |
391 | } |
392 | |
393 | void qapi_free_BlockStats(BlockStats *obj) |
394 | { |
395 | Visitor *v; |
396 | |
397 | if (!obj) { |
398 | return; |
399 | } |
400 | |
401 | v = qapi_dealloc_visitor_new(); |
402 | visit_type_BlockStats(v, NULL, &obj, NULL); |
403 | visit_free(v); |
404 | } |
405 | |
406 | void qapi_free_BlockStatsList(BlockStatsList *obj) |
407 | { |
408 | Visitor *v; |
409 | |
410 | if (!obj) { |
411 | return; |
412 | } |
413 | |
414 | v = qapi_dealloc_visitor_new(); |
415 | visit_type_BlockStatsList(v, NULL, &obj, NULL); |
416 | visit_free(v); |
417 | } |
418 | |
419 | const QEnumLookup BlockdevOnError_lookup = { |
420 | .array = (const char *const[]) { |
421 | [BLOCKDEV_ON_ERROR_REPORT] = "report" , |
422 | [BLOCKDEV_ON_ERROR_IGNORE] = "ignore" , |
423 | [BLOCKDEV_ON_ERROR_ENOSPC] = "enospc" , |
424 | [BLOCKDEV_ON_ERROR_STOP] = "stop" , |
425 | [BLOCKDEV_ON_ERROR_AUTO] = "auto" , |
426 | }, |
427 | .size = BLOCKDEV_ON_ERROR__MAX |
428 | }; |
429 | |
430 | const QEnumLookup MirrorSyncMode_lookup = { |
431 | .array = (const char *const[]) { |
432 | [MIRROR_SYNC_MODE_TOP] = "top" , |
433 | [MIRROR_SYNC_MODE_FULL] = "full" , |
434 | [MIRROR_SYNC_MODE_NONE] = "none" , |
435 | [MIRROR_SYNC_MODE_INCREMENTAL] = "incremental" , |
436 | [MIRROR_SYNC_MODE_BITMAP] = "bitmap" , |
437 | }, |
438 | .size = MIRROR_SYNC_MODE__MAX |
439 | }; |
440 | |
441 | const QEnumLookup BitmapSyncMode_lookup = { |
442 | .array = (const char *const[]) { |
443 | [BITMAP_SYNC_MODE_ON_SUCCESS] = "on-success" , |
444 | [BITMAP_SYNC_MODE_NEVER] = "never" , |
445 | [BITMAP_SYNC_MODE_ALWAYS] = "always" , |
446 | }, |
447 | .size = BITMAP_SYNC_MODE__MAX |
448 | }; |
449 | |
450 | const QEnumLookup MirrorCopyMode_lookup = { |
451 | .array = (const char *const[]) { |
452 | [MIRROR_COPY_MODE_BACKGROUND] = "background" , |
453 | [MIRROR_COPY_MODE_WRITE_BLOCKING] = "write-blocking" , |
454 | }, |
455 | .size = MIRROR_COPY_MODE__MAX |
456 | }; |
457 | |
458 | void qapi_free_BlockJobInfo(BlockJobInfo *obj) |
459 | { |
460 | Visitor *v; |
461 | |
462 | if (!obj) { |
463 | return; |
464 | } |
465 | |
466 | v = qapi_dealloc_visitor_new(); |
467 | visit_type_BlockJobInfo(v, NULL, &obj, NULL); |
468 | visit_free(v); |
469 | } |
470 | |
471 | void qapi_free_BlockJobInfoList(BlockJobInfoList *obj) |
472 | { |
473 | Visitor *v; |
474 | |
475 | if (!obj) { |
476 | return; |
477 | } |
478 | |
479 | v = qapi_dealloc_visitor_new(); |
480 | visit_type_BlockJobInfoList(v, NULL, &obj, NULL); |
481 | visit_free(v); |
482 | } |
483 | |
484 | const QEnumLookup NewImageMode_lookup = { |
485 | .array = (const char *const[]) { |
486 | [NEW_IMAGE_MODE_EXISTING] = "existing" , |
487 | [NEW_IMAGE_MODE_ABSOLUTE_PATHS] = "absolute-paths" , |
488 | }, |
489 | .size = NEW_IMAGE_MODE__MAX |
490 | }; |
491 | |
492 | void qapi_free_BlockdevSnapshotSync(BlockdevSnapshotSync *obj) |
493 | { |
494 | Visitor *v; |
495 | |
496 | if (!obj) { |
497 | return; |
498 | } |
499 | |
500 | v = qapi_dealloc_visitor_new(); |
501 | visit_type_BlockdevSnapshotSync(v, NULL, &obj, NULL); |
502 | visit_free(v); |
503 | } |
504 | |
505 | void qapi_free_BlockdevSnapshot(BlockdevSnapshot *obj) |
506 | { |
507 | Visitor *v; |
508 | |
509 | if (!obj) { |
510 | return; |
511 | } |
512 | |
513 | v = qapi_dealloc_visitor_new(); |
514 | visit_type_BlockdevSnapshot(v, NULL, &obj, NULL); |
515 | visit_free(v); |
516 | } |
517 | |
518 | void qapi_free_BackupCommon(BackupCommon *obj) |
519 | { |
520 | Visitor *v; |
521 | |
522 | if (!obj) { |
523 | return; |
524 | } |
525 | |
526 | v = qapi_dealloc_visitor_new(); |
527 | visit_type_BackupCommon(v, NULL, &obj, NULL); |
528 | visit_free(v); |
529 | } |
530 | |
531 | void qapi_free_DriveBackup(DriveBackup *obj) |
532 | { |
533 | Visitor *v; |
534 | |
535 | if (!obj) { |
536 | return; |
537 | } |
538 | |
539 | v = qapi_dealloc_visitor_new(); |
540 | visit_type_DriveBackup(v, NULL, &obj, NULL); |
541 | visit_free(v); |
542 | } |
543 | |
544 | void qapi_free_BlockdevBackup(BlockdevBackup *obj) |
545 | { |
546 | Visitor *v; |
547 | |
548 | if (!obj) { |
549 | return; |
550 | } |
551 | |
552 | v = qapi_dealloc_visitor_new(); |
553 | visit_type_BlockdevBackup(v, NULL, &obj, NULL); |
554 | visit_free(v); |
555 | } |
556 | |
557 | void qapi_free_BlockDeviceInfoList(BlockDeviceInfoList *obj) |
558 | { |
559 | Visitor *v; |
560 | |
561 | if (!obj) { |
562 | return; |
563 | } |
564 | |
565 | v = qapi_dealloc_visitor_new(); |
566 | visit_type_BlockDeviceInfoList(v, NULL, &obj, NULL); |
567 | visit_free(v); |
568 | } |
569 | |
570 | const QEnumLookup XDbgBlockGraphNodeType_lookup = { |
571 | .array = (const char *const[]) { |
572 | [X_DBG_BLOCK_GRAPH_NODE_TYPE_BLOCK_BACKEND] = "block-backend" , |
573 | [X_DBG_BLOCK_GRAPH_NODE_TYPE_BLOCK_JOB] = "block-job" , |
574 | [X_DBG_BLOCK_GRAPH_NODE_TYPE_BLOCK_DRIVER] = "block-driver" , |
575 | }, |
576 | .size = X_DBG_BLOCK_GRAPH_NODE_TYPE__MAX |
577 | }; |
578 | |
579 | void qapi_free_XDbgBlockGraphNode(XDbgBlockGraphNode *obj) |
580 | { |
581 | Visitor *v; |
582 | |
583 | if (!obj) { |
584 | return; |
585 | } |
586 | |
587 | v = qapi_dealloc_visitor_new(); |
588 | visit_type_XDbgBlockGraphNode(v, NULL, &obj, NULL); |
589 | visit_free(v); |
590 | } |
591 | |
592 | const QEnumLookup BlockPermission_lookup = { |
593 | .array = (const char *const[]) { |
594 | [BLOCK_PERMISSION_CONSISTENT_READ] = "consistent-read" , |
595 | [BLOCK_PERMISSION_WRITE] = "write" , |
596 | [BLOCK_PERMISSION_WRITE_UNCHANGED] = "write-unchanged" , |
597 | [BLOCK_PERMISSION_RESIZE] = "resize" , |
598 | [BLOCK_PERMISSION_GRAPH_MOD] = "graph-mod" , |
599 | }, |
600 | .size = BLOCK_PERMISSION__MAX |
601 | }; |
602 | |
603 | void qapi_free_BlockPermissionList(BlockPermissionList *obj) |
604 | { |
605 | Visitor *v; |
606 | |
607 | if (!obj) { |
608 | return; |
609 | } |
610 | |
611 | v = qapi_dealloc_visitor_new(); |
612 | visit_type_BlockPermissionList(v, NULL, &obj, NULL); |
613 | visit_free(v); |
614 | } |
615 | |
616 | void qapi_free_XDbgBlockGraphEdge(XDbgBlockGraphEdge *obj) |
617 | { |
618 | Visitor *v; |
619 | |
620 | if (!obj) { |
621 | return; |
622 | } |
623 | |
624 | v = qapi_dealloc_visitor_new(); |
625 | visit_type_XDbgBlockGraphEdge(v, NULL, &obj, NULL); |
626 | visit_free(v); |
627 | } |
628 | |
629 | void qapi_free_XDbgBlockGraphNodeList(XDbgBlockGraphNodeList *obj) |
630 | { |
631 | Visitor *v; |
632 | |
633 | if (!obj) { |
634 | return; |
635 | } |
636 | |
637 | v = qapi_dealloc_visitor_new(); |
638 | visit_type_XDbgBlockGraphNodeList(v, NULL, &obj, NULL); |
639 | visit_free(v); |
640 | } |
641 | |
642 | void qapi_free_XDbgBlockGraphEdgeList(XDbgBlockGraphEdgeList *obj) |
643 | { |
644 | Visitor *v; |
645 | |
646 | if (!obj) { |
647 | return; |
648 | } |
649 | |
650 | v = qapi_dealloc_visitor_new(); |
651 | visit_type_XDbgBlockGraphEdgeList(v, NULL, &obj, NULL); |
652 | visit_free(v); |
653 | } |
654 | |
655 | void qapi_free_XDbgBlockGraph(XDbgBlockGraph *obj) |
656 | { |
657 | Visitor *v; |
658 | |
659 | if (!obj) { |
660 | return; |
661 | } |
662 | |
663 | v = qapi_dealloc_visitor_new(); |
664 | visit_type_XDbgBlockGraph(v, NULL, &obj, NULL); |
665 | visit_free(v); |
666 | } |
667 | |
668 | void qapi_free_DriveMirror(DriveMirror *obj) |
669 | { |
670 | Visitor *v; |
671 | |
672 | if (!obj) { |
673 | return; |
674 | } |
675 | |
676 | v = qapi_dealloc_visitor_new(); |
677 | visit_type_DriveMirror(v, NULL, &obj, NULL); |
678 | visit_free(v); |
679 | } |
680 | |
681 | void qapi_free_BlockDirtyBitmap(BlockDirtyBitmap *obj) |
682 | { |
683 | Visitor *v; |
684 | |
685 | if (!obj) { |
686 | return; |
687 | } |
688 | |
689 | v = qapi_dealloc_visitor_new(); |
690 | visit_type_BlockDirtyBitmap(v, NULL, &obj, NULL); |
691 | visit_free(v); |
692 | } |
693 | |
694 | void qapi_free_BlockDirtyBitmapAdd(BlockDirtyBitmapAdd *obj) |
695 | { |
696 | Visitor *v; |
697 | |
698 | if (!obj) { |
699 | return; |
700 | } |
701 | |
702 | v = qapi_dealloc_visitor_new(); |
703 | visit_type_BlockDirtyBitmapAdd(v, NULL, &obj, NULL); |
704 | visit_free(v); |
705 | } |
706 | |
707 | void qapi_free_BlockDirtyBitmapMergeSource(BlockDirtyBitmapMergeSource *obj) |
708 | { |
709 | Visitor *v; |
710 | |
711 | if (!obj) { |
712 | return; |
713 | } |
714 | |
715 | v = qapi_dealloc_visitor_new(); |
716 | visit_type_BlockDirtyBitmapMergeSource(v, NULL, &obj, NULL); |
717 | visit_free(v); |
718 | } |
719 | |
720 | void qapi_free_BlockDirtyBitmapMergeSourceList(BlockDirtyBitmapMergeSourceList *obj) |
721 | { |
722 | Visitor *v; |
723 | |
724 | if (!obj) { |
725 | return; |
726 | } |
727 | |
728 | v = qapi_dealloc_visitor_new(); |
729 | visit_type_BlockDirtyBitmapMergeSourceList(v, NULL, &obj, NULL); |
730 | visit_free(v); |
731 | } |
732 | |
733 | void qapi_free_BlockDirtyBitmapMerge(BlockDirtyBitmapMerge *obj) |
734 | { |
735 | Visitor *v; |
736 | |
737 | if (!obj) { |
738 | return; |
739 | } |
740 | |
741 | v = qapi_dealloc_visitor_new(); |
742 | visit_type_BlockDirtyBitmapMerge(v, NULL, &obj, NULL); |
743 | visit_free(v); |
744 | } |
745 | |
746 | void qapi_free_BlockDirtyBitmapSha256(BlockDirtyBitmapSha256 *obj) |
747 | { |
748 | Visitor *v; |
749 | |
750 | if (!obj) { |
751 | return; |
752 | } |
753 | |
754 | v = qapi_dealloc_visitor_new(); |
755 | visit_type_BlockDirtyBitmapSha256(v, NULL, &obj, NULL); |
756 | visit_free(v); |
757 | } |
758 | |
759 | void qapi_free_BlockIOThrottle(BlockIOThrottle *obj) |
760 | { |
761 | Visitor *v; |
762 | |
763 | if (!obj) { |
764 | return; |
765 | } |
766 | |
767 | v = qapi_dealloc_visitor_new(); |
768 | visit_type_BlockIOThrottle(v, NULL, &obj, NULL); |
769 | visit_free(v); |
770 | } |
771 | |
772 | void qapi_free_ThrottleLimits(ThrottleLimits *obj) |
773 | { |
774 | Visitor *v; |
775 | |
776 | if (!obj) { |
777 | return; |
778 | } |
779 | |
780 | v = qapi_dealloc_visitor_new(); |
781 | visit_type_ThrottleLimits(v, NULL, &obj, NULL); |
782 | visit_free(v); |
783 | } |
784 | |
785 | const QEnumLookup BlockdevDiscardOptions_lookup = { |
786 | .array = (const char *const[]) { |
787 | [BLOCKDEV_DISCARD_OPTIONS_IGNORE] = "ignore" , |
788 | [BLOCKDEV_DISCARD_OPTIONS_UNMAP] = "unmap" , |
789 | }, |
790 | .size = BLOCKDEV_DISCARD_OPTIONS__MAX |
791 | }; |
792 | |
793 | const QEnumLookup BlockdevDetectZeroesOptions_lookup = { |
794 | .array = (const char *const[]) { |
795 | [BLOCKDEV_DETECT_ZEROES_OPTIONS_OFF] = "off" , |
796 | [BLOCKDEV_DETECT_ZEROES_OPTIONS_ON] = "on" , |
797 | [BLOCKDEV_DETECT_ZEROES_OPTIONS_UNMAP] = "unmap" , |
798 | }, |
799 | .size = BLOCKDEV_DETECT_ZEROES_OPTIONS__MAX |
800 | }; |
801 | |
802 | const QEnumLookup BlockdevAioOptions_lookup = { |
803 | .array = (const char *const[]) { |
804 | [BLOCKDEV_AIO_OPTIONS_THREADS] = "threads" , |
805 | [BLOCKDEV_AIO_OPTIONS_NATIVE] = "native" , |
806 | }, |
807 | .size = BLOCKDEV_AIO_OPTIONS__MAX |
808 | }; |
809 | |
810 | void qapi_free_BlockdevCacheOptions(BlockdevCacheOptions *obj) |
811 | { |
812 | Visitor *v; |
813 | |
814 | if (!obj) { |
815 | return; |
816 | } |
817 | |
818 | v = qapi_dealloc_visitor_new(); |
819 | visit_type_BlockdevCacheOptions(v, NULL, &obj, NULL); |
820 | visit_free(v); |
821 | } |
822 | |
823 | const QEnumLookup BlockdevDriver_lookup = { |
824 | .array = (const char *const[]) { |
825 | [BLOCKDEV_DRIVER_BLKDEBUG] = "blkdebug" , |
826 | [BLOCKDEV_DRIVER_BLKLOGWRITES] = "blklogwrites" , |
827 | [BLOCKDEV_DRIVER_BLKVERIFY] = "blkverify" , |
828 | [BLOCKDEV_DRIVER_BOCHS] = "bochs" , |
829 | [BLOCKDEV_DRIVER_CLOOP] = "cloop" , |
830 | [BLOCKDEV_DRIVER_COPY_ON_READ] = "copy-on-read" , |
831 | [BLOCKDEV_DRIVER_DMG] = "dmg" , |
832 | [BLOCKDEV_DRIVER_FILE] = "file" , |
833 | [BLOCKDEV_DRIVER_FTP] = "ftp" , |
834 | [BLOCKDEV_DRIVER_FTPS] = "ftps" , |
835 | [BLOCKDEV_DRIVER_GLUSTER] = "gluster" , |
836 | [BLOCKDEV_DRIVER_HOST_CDROM] = "host_cdrom" , |
837 | [BLOCKDEV_DRIVER_HOST_DEVICE] = "host_device" , |
838 | [BLOCKDEV_DRIVER_HTTP] = "http" , |
839 | [BLOCKDEV_DRIVER_HTTPS] = "https" , |
840 | [BLOCKDEV_DRIVER_ISCSI] = "iscsi" , |
841 | [BLOCKDEV_DRIVER_LUKS] = "luks" , |
842 | [BLOCKDEV_DRIVER_NBD] = "nbd" , |
843 | [BLOCKDEV_DRIVER_NFS] = "nfs" , |
844 | [BLOCKDEV_DRIVER_NULL_AIO] = "null-aio" , |
845 | [BLOCKDEV_DRIVER_NULL_CO] = "null-co" , |
846 | [BLOCKDEV_DRIVER_NVME] = "nvme" , |
847 | [BLOCKDEV_DRIVER_PARALLELS] = "parallels" , |
848 | [BLOCKDEV_DRIVER_QCOW] = "qcow" , |
849 | [BLOCKDEV_DRIVER_QCOW2] = "qcow2" , |
850 | [BLOCKDEV_DRIVER_QED] = "qed" , |
851 | [BLOCKDEV_DRIVER_QUORUM] = "quorum" , |
852 | [BLOCKDEV_DRIVER_RAW] = "raw" , |
853 | [BLOCKDEV_DRIVER_RBD] = "rbd" , |
854 | #if defined(CONFIG_REPLICATION) |
855 | [BLOCKDEV_DRIVER_REPLICATION] = "replication" , |
856 | #endif /* defined(CONFIG_REPLICATION) */ |
857 | [BLOCKDEV_DRIVER_SHEEPDOG] = "sheepdog" , |
858 | [BLOCKDEV_DRIVER_SSH] = "ssh" , |
859 | [BLOCKDEV_DRIVER_THROTTLE] = "throttle" , |
860 | [BLOCKDEV_DRIVER_VDI] = "vdi" , |
861 | [BLOCKDEV_DRIVER_VHDX] = "vhdx" , |
862 | [BLOCKDEV_DRIVER_VMDK] = "vmdk" , |
863 | [BLOCKDEV_DRIVER_VPC] = "vpc" , |
864 | [BLOCKDEV_DRIVER_VVFAT] = "vvfat" , |
865 | [BLOCKDEV_DRIVER_VXHS] = "vxhs" , |
866 | }, |
867 | .size = BLOCKDEV_DRIVER__MAX |
868 | }; |
869 | |
870 | void qapi_free_BlockdevOptionsFile(BlockdevOptionsFile *obj) |
871 | { |
872 | Visitor *v; |
873 | |
874 | if (!obj) { |
875 | return; |
876 | } |
877 | |
878 | v = qapi_dealloc_visitor_new(); |
879 | visit_type_BlockdevOptionsFile(v, NULL, &obj, NULL); |
880 | visit_free(v); |
881 | } |
882 | |
883 | void qapi_free_BlockdevOptionsNull(BlockdevOptionsNull *obj) |
884 | { |
885 | Visitor *v; |
886 | |
887 | if (!obj) { |
888 | return; |
889 | } |
890 | |
891 | v = qapi_dealloc_visitor_new(); |
892 | visit_type_BlockdevOptionsNull(v, NULL, &obj, NULL); |
893 | visit_free(v); |
894 | } |
895 | |
896 | void qapi_free_BlockdevOptionsNVMe(BlockdevOptionsNVMe *obj) |
897 | { |
898 | Visitor *v; |
899 | |
900 | if (!obj) { |
901 | return; |
902 | } |
903 | |
904 | v = qapi_dealloc_visitor_new(); |
905 | visit_type_BlockdevOptionsNVMe(v, NULL, &obj, NULL); |
906 | visit_free(v); |
907 | } |
908 | |
909 | void qapi_free_BlockdevOptionsVVFAT(BlockdevOptionsVVFAT *obj) |
910 | { |
911 | Visitor *v; |
912 | |
913 | if (!obj) { |
914 | return; |
915 | } |
916 | |
917 | v = qapi_dealloc_visitor_new(); |
918 | visit_type_BlockdevOptionsVVFAT(v, NULL, &obj, NULL); |
919 | visit_free(v); |
920 | } |
921 | |
922 | void qapi_free_BlockdevOptionsGenericFormat(BlockdevOptionsGenericFormat *obj) |
923 | { |
924 | Visitor *v; |
925 | |
926 | if (!obj) { |
927 | return; |
928 | } |
929 | |
930 | v = qapi_dealloc_visitor_new(); |
931 | visit_type_BlockdevOptionsGenericFormat(v, NULL, &obj, NULL); |
932 | visit_free(v); |
933 | } |
934 | |
935 | void qapi_free_BlockdevOptionsLUKS(BlockdevOptionsLUKS *obj) |
936 | { |
937 | Visitor *v; |
938 | |
939 | if (!obj) { |
940 | return; |
941 | } |
942 | |
943 | v = qapi_dealloc_visitor_new(); |
944 | visit_type_BlockdevOptionsLUKS(v, NULL, &obj, NULL); |
945 | visit_free(v); |
946 | } |
947 | |
948 | void qapi_free_BlockdevOptionsGenericCOWFormat(BlockdevOptionsGenericCOWFormat *obj) |
949 | { |
950 | Visitor *v; |
951 | |
952 | if (!obj) { |
953 | return; |
954 | } |
955 | |
956 | v = qapi_dealloc_visitor_new(); |
957 | visit_type_BlockdevOptionsGenericCOWFormat(v, NULL, &obj, NULL); |
958 | visit_free(v); |
959 | } |
960 | |
961 | const QEnumLookup Qcow2OverlapCheckMode_lookup = { |
962 | .array = (const char *const[]) { |
963 | [QCOW2_OVERLAP_CHECK_MODE_NONE] = "none" , |
964 | [QCOW2_OVERLAP_CHECK_MODE_CONSTANT] = "constant" , |
965 | [QCOW2_OVERLAP_CHECK_MODE_CACHED] = "cached" , |
966 | [QCOW2_OVERLAP_CHECK_MODE_ALL] = "all" , |
967 | }, |
968 | .size = QCOW2_OVERLAP_CHECK_MODE__MAX |
969 | }; |
970 | |
971 | void qapi_free_Qcow2OverlapCheckFlags(Qcow2OverlapCheckFlags *obj) |
972 | { |
973 | Visitor *v; |
974 | |
975 | if (!obj) { |
976 | return; |
977 | } |
978 | |
979 | v = qapi_dealloc_visitor_new(); |
980 | visit_type_Qcow2OverlapCheckFlags(v, NULL, &obj, NULL); |
981 | visit_free(v); |
982 | } |
983 | |
984 | void qapi_free_Qcow2OverlapChecks(Qcow2OverlapChecks *obj) |
985 | { |
986 | Visitor *v; |
987 | |
988 | if (!obj) { |
989 | return; |
990 | } |
991 | |
992 | v = qapi_dealloc_visitor_new(); |
993 | visit_type_Qcow2OverlapChecks(v, NULL, &obj, NULL); |
994 | visit_free(v); |
995 | } |
996 | |
997 | const QEnumLookup BlockdevQcowEncryptionFormat_lookup = { |
998 | .array = (const char *const[]) { |
999 | [BLOCKDEV_QCOW_ENCRYPTION_FORMAT_AES] = "aes" , |
1000 | }, |
1001 | .size = BLOCKDEV_QCOW_ENCRYPTION_FORMAT__MAX |
1002 | }; |
1003 | |
1004 | void qapi_free_BlockdevQcowEncryption(BlockdevQcowEncryption *obj) |
1005 | { |
1006 | Visitor *v; |
1007 | |
1008 | if (!obj) { |
1009 | return; |
1010 | } |
1011 | |
1012 | v = qapi_dealloc_visitor_new(); |
1013 | visit_type_BlockdevQcowEncryption(v, NULL, &obj, NULL); |
1014 | visit_free(v); |
1015 | } |
1016 | |
1017 | void qapi_free_BlockdevOptionsQcow(BlockdevOptionsQcow *obj) |
1018 | { |
1019 | Visitor *v; |
1020 | |
1021 | if (!obj) { |
1022 | return; |
1023 | } |
1024 | |
1025 | v = qapi_dealloc_visitor_new(); |
1026 | visit_type_BlockdevOptionsQcow(v, NULL, &obj, NULL); |
1027 | visit_free(v); |
1028 | } |
1029 | |
1030 | const QEnumLookup BlockdevQcow2EncryptionFormat_lookup = { |
1031 | .array = (const char *const[]) { |
1032 | [BLOCKDEV_QCOW2_ENCRYPTION_FORMAT_AES] = "aes" , |
1033 | [BLOCKDEV_QCOW2_ENCRYPTION_FORMAT_LUKS] = "luks" , |
1034 | }, |
1035 | .size = BLOCKDEV_QCOW2_ENCRYPTION_FORMAT__MAX |
1036 | }; |
1037 | |
1038 | void qapi_free_BlockdevQcow2Encryption(BlockdevQcow2Encryption *obj) |
1039 | { |
1040 | Visitor *v; |
1041 | |
1042 | if (!obj) { |
1043 | return; |
1044 | } |
1045 | |
1046 | v = qapi_dealloc_visitor_new(); |
1047 | visit_type_BlockdevQcow2Encryption(v, NULL, &obj, NULL); |
1048 | visit_free(v); |
1049 | } |
1050 | |
1051 | void qapi_free_BlockdevOptionsQcow2(BlockdevOptionsQcow2 *obj) |
1052 | { |
1053 | Visitor *v; |
1054 | |
1055 | if (!obj) { |
1056 | return; |
1057 | } |
1058 | |
1059 | v = qapi_dealloc_visitor_new(); |
1060 | visit_type_BlockdevOptionsQcow2(v, NULL, &obj, NULL); |
1061 | visit_free(v); |
1062 | } |
1063 | |
1064 | const QEnumLookup SshHostKeyCheckMode_lookup = { |
1065 | .array = (const char *const[]) { |
1066 | [SSH_HOST_KEY_CHECK_MODE_NONE] = "none" , |
1067 | [SSH_HOST_KEY_CHECK_MODE_HASH] = "hash" , |
1068 | [SSH_HOST_KEY_CHECK_MODE_KNOWN_HOSTS] = "known_hosts" , |
1069 | }, |
1070 | .size = SSH_HOST_KEY_CHECK_MODE__MAX |
1071 | }; |
1072 | |
1073 | const QEnumLookup SshHostKeyCheckHashType_lookup = { |
1074 | .array = (const char *const[]) { |
1075 | [SSH_HOST_KEY_CHECK_HASH_TYPE_MD5] = "md5" , |
1076 | [SSH_HOST_KEY_CHECK_HASH_TYPE_SHA1] = "sha1" , |
1077 | }, |
1078 | .size = SSH_HOST_KEY_CHECK_HASH_TYPE__MAX |
1079 | }; |
1080 | |
1081 | void qapi_free_SshHostKeyHash(SshHostKeyHash *obj) |
1082 | { |
1083 | Visitor *v; |
1084 | |
1085 | if (!obj) { |
1086 | return; |
1087 | } |
1088 | |
1089 | v = qapi_dealloc_visitor_new(); |
1090 | visit_type_SshHostKeyHash(v, NULL, &obj, NULL); |
1091 | visit_free(v); |
1092 | } |
1093 | |
1094 | void qapi_free_SshHostKeyCheck(SshHostKeyCheck *obj) |
1095 | { |
1096 | Visitor *v; |
1097 | |
1098 | if (!obj) { |
1099 | return; |
1100 | } |
1101 | |
1102 | v = qapi_dealloc_visitor_new(); |
1103 | visit_type_SshHostKeyCheck(v, NULL, &obj, NULL); |
1104 | visit_free(v); |
1105 | } |
1106 | |
1107 | void qapi_free_BlockdevOptionsSsh(BlockdevOptionsSsh *obj) |
1108 | { |
1109 | Visitor *v; |
1110 | |
1111 | if (!obj) { |
1112 | return; |
1113 | } |
1114 | |
1115 | v = qapi_dealloc_visitor_new(); |
1116 | visit_type_BlockdevOptionsSsh(v, NULL, &obj, NULL); |
1117 | visit_free(v); |
1118 | } |
1119 | |
1120 | const QEnumLookup BlkdebugEvent_lookup = { |
1121 | .array = (const char *const[]) { |
1122 | [BLKDBG_L1_UPDATE] = "l1_update" , |
1123 | [BLKDBG_L1_GROW_ALLOC_TABLE] = "l1_grow_alloc_table" , |
1124 | [BLKDBG_L1_GROW_WRITE_TABLE] = "l1_grow_write_table" , |
1125 | [BLKDBG_L1_GROW_ACTIVATE_TABLE] = "l1_grow_activate_table" , |
1126 | [BLKDBG_L2_LOAD] = "l2_load" , |
1127 | [BLKDBG_L2_UPDATE] = "l2_update" , |
1128 | [BLKDBG_L2_UPDATE_COMPRESSED] = "l2_update_compressed" , |
1129 | [BLKDBG_L2_ALLOC_COW_READ] = "l2_alloc_cow_read" , |
1130 | [BLKDBG_L2_ALLOC_WRITE] = "l2_alloc_write" , |
1131 | [BLKDBG_READ_AIO] = "read_aio" , |
1132 | [BLKDBG_READ_BACKING_AIO] = "read_backing_aio" , |
1133 | [BLKDBG_READ_COMPRESSED] = "read_compressed" , |
1134 | [BLKDBG_WRITE_AIO] = "write_aio" , |
1135 | [BLKDBG_WRITE_COMPRESSED] = "write_compressed" , |
1136 | [BLKDBG_VMSTATE_LOAD] = "vmstate_load" , |
1137 | [BLKDBG_VMSTATE_SAVE] = "vmstate_save" , |
1138 | [BLKDBG_COW_READ] = "cow_read" , |
1139 | [BLKDBG_COW_WRITE] = "cow_write" , |
1140 | [BLKDBG_REFTABLE_LOAD] = "reftable_load" , |
1141 | [BLKDBG_REFTABLE_GROW] = "reftable_grow" , |
1142 | [BLKDBG_REFTABLE_UPDATE] = "reftable_update" , |
1143 | [BLKDBG_REFBLOCK_LOAD] = "refblock_load" , |
1144 | [BLKDBG_REFBLOCK_UPDATE] = "refblock_update" , |
1145 | [BLKDBG_REFBLOCK_UPDATE_PART] = "refblock_update_part" , |
1146 | [BLKDBG_REFBLOCK_ALLOC] = "refblock_alloc" , |
1147 | [BLKDBG_REFBLOCK_ALLOC_HOOKUP] = "refblock_alloc_hookup" , |
1148 | [BLKDBG_REFBLOCK_ALLOC_WRITE] = "refblock_alloc_write" , |
1149 | [BLKDBG_REFBLOCK_ALLOC_WRITE_BLOCKS] = "refblock_alloc_write_blocks" , |
1150 | [BLKDBG_REFBLOCK_ALLOC_WRITE_TABLE] = "refblock_alloc_write_table" , |
1151 | [BLKDBG_REFBLOCK_ALLOC_SWITCH_TABLE] = "refblock_alloc_switch_table" , |
1152 | [BLKDBG_CLUSTER_ALLOC] = "cluster_alloc" , |
1153 | [BLKDBG_CLUSTER_ALLOC_BYTES] = "cluster_alloc_bytes" , |
1154 | [BLKDBG_CLUSTER_FREE] = "cluster_free" , |
1155 | [BLKDBG_FLUSH_TO_OS] = "flush_to_os" , |
1156 | [BLKDBG_FLUSH_TO_DISK] = "flush_to_disk" , |
1157 | [BLKDBG_PWRITEV_RMW_HEAD] = "pwritev_rmw_head" , |
1158 | [BLKDBG_PWRITEV_RMW_AFTER_HEAD] = "pwritev_rmw_after_head" , |
1159 | [BLKDBG_PWRITEV_RMW_TAIL] = "pwritev_rmw_tail" , |
1160 | [BLKDBG_PWRITEV_RMW_AFTER_TAIL] = "pwritev_rmw_after_tail" , |
1161 | [BLKDBG_PWRITEV] = "pwritev" , |
1162 | [BLKDBG_PWRITEV_ZERO] = "pwritev_zero" , |
1163 | [BLKDBG_PWRITEV_DONE] = "pwritev_done" , |
1164 | [BLKDBG_EMPTY_IMAGE_PREPARE] = "empty_image_prepare" , |
1165 | [BLKDBG_L1_SHRINK_WRITE_TABLE] = "l1_shrink_write_table" , |
1166 | [BLKDBG_L1_SHRINK_FREE_L2_CLUSTERS] = "l1_shrink_free_l2_clusters" , |
1167 | [BLKDBG_COR_WRITE] = "cor_write" , |
1168 | [BLKDBG_CLUSTER_ALLOC_SPACE] = "cluster_alloc_space" , |
1169 | [BLKDBG_NONE] = "none" , |
1170 | }, |
1171 | .size = BLKDBG__MAX |
1172 | }; |
1173 | |
1174 | const QEnumLookup BlkdebugIOType_lookup = { |
1175 | .array = (const char *const[]) { |
1176 | [BLKDEBUG_IO_TYPE_READ] = "read" , |
1177 | [BLKDEBUG_IO_TYPE_WRITE] = "write" , |
1178 | [BLKDEBUG_IO_TYPE_WRITE_ZEROES] = "write-zeroes" , |
1179 | [BLKDEBUG_IO_TYPE_DISCARD] = "discard" , |
1180 | [BLKDEBUG_IO_TYPE_FLUSH] = "flush" , |
1181 | [BLKDEBUG_IO_TYPE_BLOCK_STATUS] = "block-status" , |
1182 | }, |
1183 | .size = BLKDEBUG_IO_TYPE__MAX |
1184 | }; |
1185 | |
1186 | void qapi_free_BlkdebugInjectErrorOptions(BlkdebugInjectErrorOptions *obj) |
1187 | { |
1188 | Visitor *v; |
1189 | |
1190 | if (!obj) { |
1191 | return; |
1192 | } |
1193 | |
1194 | v = qapi_dealloc_visitor_new(); |
1195 | visit_type_BlkdebugInjectErrorOptions(v, NULL, &obj, NULL); |
1196 | visit_free(v); |
1197 | } |
1198 | |
1199 | void qapi_free_BlkdebugSetStateOptions(BlkdebugSetStateOptions *obj) |
1200 | { |
1201 | Visitor *v; |
1202 | |
1203 | if (!obj) { |
1204 | return; |
1205 | } |
1206 | |
1207 | v = qapi_dealloc_visitor_new(); |
1208 | visit_type_BlkdebugSetStateOptions(v, NULL, &obj, NULL); |
1209 | visit_free(v); |
1210 | } |
1211 | |
1212 | void qapi_free_BlkdebugInjectErrorOptionsList(BlkdebugInjectErrorOptionsList *obj) |
1213 | { |
1214 | Visitor *v; |
1215 | |
1216 | if (!obj) { |
1217 | return; |
1218 | } |
1219 | |
1220 | v = qapi_dealloc_visitor_new(); |
1221 | visit_type_BlkdebugInjectErrorOptionsList(v, NULL, &obj, NULL); |
1222 | visit_free(v); |
1223 | } |
1224 | |
1225 | void qapi_free_BlkdebugSetStateOptionsList(BlkdebugSetStateOptionsList *obj) |
1226 | { |
1227 | Visitor *v; |
1228 | |
1229 | if (!obj) { |
1230 | return; |
1231 | } |
1232 | |
1233 | v = qapi_dealloc_visitor_new(); |
1234 | visit_type_BlkdebugSetStateOptionsList(v, NULL, &obj, NULL); |
1235 | visit_free(v); |
1236 | } |
1237 | |
1238 | void qapi_free_BlockdevOptionsBlkdebug(BlockdevOptionsBlkdebug *obj) |
1239 | { |
1240 | Visitor *v; |
1241 | |
1242 | if (!obj) { |
1243 | return; |
1244 | } |
1245 | |
1246 | v = qapi_dealloc_visitor_new(); |
1247 | visit_type_BlockdevOptionsBlkdebug(v, NULL, &obj, NULL); |
1248 | visit_free(v); |
1249 | } |
1250 | |
1251 | void qapi_free_BlockdevOptionsBlklogwrites(BlockdevOptionsBlklogwrites *obj) |
1252 | { |
1253 | Visitor *v; |
1254 | |
1255 | if (!obj) { |
1256 | return; |
1257 | } |
1258 | |
1259 | v = qapi_dealloc_visitor_new(); |
1260 | visit_type_BlockdevOptionsBlklogwrites(v, NULL, &obj, NULL); |
1261 | visit_free(v); |
1262 | } |
1263 | |
1264 | void qapi_free_BlockdevOptionsBlkverify(BlockdevOptionsBlkverify *obj) |
1265 | { |
1266 | Visitor *v; |
1267 | |
1268 | if (!obj) { |
1269 | return; |
1270 | } |
1271 | |
1272 | v = qapi_dealloc_visitor_new(); |
1273 | visit_type_BlockdevOptionsBlkverify(v, NULL, &obj, NULL); |
1274 | visit_free(v); |
1275 | } |
1276 | |
1277 | const QEnumLookup QuorumReadPattern_lookup = { |
1278 | .array = (const char *const[]) { |
1279 | [QUORUM_READ_PATTERN_QUORUM] = "quorum" , |
1280 | [QUORUM_READ_PATTERN_FIFO] = "fifo" , |
1281 | }, |
1282 | .size = QUORUM_READ_PATTERN__MAX |
1283 | }; |
1284 | |
1285 | void qapi_free_BlockdevRefList(BlockdevRefList *obj) |
1286 | { |
1287 | Visitor *v; |
1288 | |
1289 | if (!obj) { |
1290 | return; |
1291 | } |
1292 | |
1293 | v = qapi_dealloc_visitor_new(); |
1294 | visit_type_BlockdevRefList(v, NULL, &obj, NULL); |
1295 | visit_free(v); |
1296 | } |
1297 | |
1298 | void qapi_free_BlockdevOptionsQuorum(BlockdevOptionsQuorum *obj) |
1299 | { |
1300 | Visitor *v; |
1301 | |
1302 | if (!obj) { |
1303 | return; |
1304 | } |
1305 | |
1306 | v = qapi_dealloc_visitor_new(); |
1307 | visit_type_BlockdevOptionsQuorum(v, NULL, &obj, NULL); |
1308 | visit_free(v); |
1309 | } |
1310 | |
1311 | void qapi_free_BlockdevOptionsGluster(BlockdevOptionsGluster *obj) |
1312 | { |
1313 | Visitor *v; |
1314 | |
1315 | if (!obj) { |
1316 | return; |
1317 | } |
1318 | |
1319 | v = qapi_dealloc_visitor_new(); |
1320 | visit_type_BlockdevOptionsGluster(v, NULL, &obj, NULL); |
1321 | visit_free(v); |
1322 | } |
1323 | |
1324 | const QEnumLookup IscsiTransport_lookup = { |
1325 | .array = (const char *const[]) { |
1326 | [ISCSI_TRANSPORT_TCP] = "tcp" , |
1327 | [ISCSI_TRANSPORT_ISER] = "iser" , |
1328 | }, |
1329 | .size = ISCSI_TRANSPORT__MAX |
1330 | }; |
1331 | |
1332 | const QEnumLookup = { |
1333 | .array = (const char *const[]) { |
1334 | [QAPI_ISCSI_HEADER_DIGEST_CRC32C] = "crc32c" , |
1335 | [QAPI_ISCSI_HEADER_DIGEST_NONE] = "none" , |
1336 | [QAPI_ISCSI_HEADER_DIGEST_CRC32C_NONE] = "crc32c-none" , |
1337 | [QAPI_ISCSI_HEADER_DIGEST_NONE_CRC32C] = "none-crc32c" , |
1338 | }, |
1339 | .size = QAPI_ISCSI_HEADER_DIGEST__MAX |
1340 | }; |
1341 | |
1342 | void qapi_free_BlockdevOptionsIscsi(BlockdevOptionsIscsi *obj) |
1343 | { |
1344 | Visitor *v; |
1345 | |
1346 | if (!obj) { |
1347 | return; |
1348 | } |
1349 | |
1350 | v = qapi_dealloc_visitor_new(); |
1351 | visit_type_BlockdevOptionsIscsi(v, NULL, &obj, NULL); |
1352 | visit_free(v); |
1353 | } |
1354 | |
1355 | const QEnumLookup RbdAuthMode_lookup = { |
1356 | .array = (const char *const[]) { |
1357 | [RBD_AUTH_MODE_CEPHX] = "cephx" , |
1358 | [RBD_AUTH_MODE_NONE] = "none" , |
1359 | }, |
1360 | .size = RBD_AUTH_MODE__MAX |
1361 | }; |
1362 | |
1363 | void qapi_free_RbdAuthModeList(RbdAuthModeList *obj) |
1364 | { |
1365 | Visitor *v; |
1366 | |
1367 | if (!obj) { |
1368 | return; |
1369 | } |
1370 | |
1371 | v = qapi_dealloc_visitor_new(); |
1372 | visit_type_RbdAuthModeList(v, NULL, &obj, NULL); |
1373 | visit_free(v); |
1374 | } |
1375 | |
1376 | void qapi_free_BlockdevOptionsRbd(BlockdevOptionsRbd *obj) |
1377 | { |
1378 | Visitor *v; |
1379 | |
1380 | if (!obj) { |
1381 | return; |
1382 | } |
1383 | |
1384 | v = qapi_dealloc_visitor_new(); |
1385 | visit_type_BlockdevOptionsRbd(v, NULL, &obj, NULL); |
1386 | visit_free(v); |
1387 | } |
1388 | |
1389 | void qapi_free_BlockdevOptionsSheepdog(BlockdevOptionsSheepdog *obj) |
1390 | { |
1391 | Visitor *v; |
1392 | |
1393 | if (!obj) { |
1394 | return; |
1395 | } |
1396 | |
1397 | v = qapi_dealloc_visitor_new(); |
1398 | visit_type_BlockdevOptionsSheepdog(v, NULL, &obj, NULL); |
1399 | visit_free(v); |
1400 | } |
1401 | |
1402 | #if defined(CONFIG_REPLICATION) |
1403 | const QEnumLookup ReplicationMode_lookup = { |
1404 | .array = (const char *const[]) { |
1405 | [REPLICATION_MODE_PRIMARY] = "primary" , |
1406 | [REPLICATION_MODE_SECONDARY] = "secondary" , |
1407 | }, |
1408 | .size = REPLICATION_MODE__MAX |
1409 | }; |
1410 | #endif /* defined(CONFIG_REPLICATION) */ |
1411 | |
1412 | #if defined(CONFIG_REPLICATION) |
1413 | void qapi_free_BlockdevOptionsReplication(BlockdevOptionsReplication *obj) |
1414 | { |
1415 | Visitor *v; |
1416 | |
1417 | if (!obj) { |
1418 | return; |
1419 | } |
1420 | |
1421 | v = qapi_dealloc_visitor_new(); |
1422 | visit_type_BlockdevOptionsReplication(v, NULL, &obj, NULL); |
1423 | visit_free(v); |
1424 | } |
1425 | #endif /* defined(CONFIG_REPLICATION) */ |
1426 | |
1427 | const QEnumLookup NFSTransport_lookup = { |
1428 | .array = (const char *const[]) { |
1429 | [NFS_TRANSPORT_INET] = "inet" , |
1430 | }, |
1431 | .size = NFS_TRANSPORT__MAX |
1432 | }; |
1433 | |
1434 | void qapi_free_NFSServer(NFSServer *obj) |
1435 | { |
1436 | Visitor *v; |
1437 | |
1438 | if (!obj) { |
1439 | return; |
1440 | } |
1441 | |
1442 | v = qapi_dealloc_visitor_new(); |
1443 | visit_type_NFSServer(v, NULL, &obj, NULL); |
1444 | visit_free(v); |
1445 | } |
1446 | |
1447 | void qapi_free_BlockdevOptionsNfs(BlockdevOptionsNfs *obj) |
1448 | { |
1449 | Visitor *v; |
1450 | |
1451 | if (!obj) { |
1452 | return; |
1453 | } |
1454 | |
1455 | v = qapi_dealloc_visitor_new(); |
1456 | visit_type_BlockdevOptionsNfs(v, NULL, &obj, NULL); |
1457 | visit_free(v); |
1458 | } |
1459 | |
1460 | void qapi_free_BlockdevOptionsCurlBase(BlockdevOptionsCurlBase *obj) |
1461 | { |
1462 | Visitor *v; |
1463 | |
1464 | if (!obj) { |
1465 | return; |
1466 | } |
1467 | |
1468 | v = qapi_dealloc_visitor_new(); |
1469 | visit_type_BlockdevOptionsCurlBase(v, NULL, &obj, NULL); |
1470 | visit_free(v); |
1471 | } |
1472 | |
1473 | void qapi_free_BlockdevOptionsCurlHttp(BlockdevOptionsCurlHttp *obj) |
1474 | { |
1475 | Visitor *v; |
1476 | |
1477 | if (!obj) { |
1478 | return; |
1479 | } |
1480 | |
1481 | v = qapi_dealloc_visitor_new(); |
1482 | visit_type_BlockdevOptionsCurlHttp(v, NULL, &obj, NULL); |
1483 | visit_free(v); |
1484 | } |
1485 | |
1486 | void qapi_free_BlockdevOptionsCurlHttps(BlockdevOptionsCurlHttps *obj) |
1487 | { |
1488 | Visitor *v; |
1489 | |
1490 | if (!obj) { |
1491 | return; |
1492 | } |
1493 | |
1494 | v = qapi_dealloc_visitor_new(); |
1495 | visit_type_BlockdevOptionsCurlHttps(v, NULL, &obj, NULL); |
1496 | visit_free(v); |
1497 | } |
1498 | |
1499 | void qapi_free_BlockdevOptionsCurlFtp(BlockdevOptionsCurlFtp *obj) |
1500 | { |
1501 | Visitor *v; |
1502 | |
1503 | if (!obj) { |
1504 | return; |
1505 | } |
1506 | |
1507 | v = qapi_dealloc_visitor_new(); |
1508 | visit_type_BlockdevOptionsCurlFtp(v, NULL, &obj, NULL); |
1509 | visit_free(v); |
1510 | } |
1511 | |
1512 | void qapi_free_BlockdevOptionsCurlFtps(BlockdevOptionsCurlFtps *obj) |
1513 | { |
1514 | Visitor *v; |
1515 | |
1516 | if (!obj) { |
1517 | return; |
1518 | } |
1519 | |
1520 | v = qapi_dealloc_visitor_new(); |
1521 | visit_type_BlockdevOptionsCurlFtps(v, NULL, &obj, NULL); |
1522 | visit_free(v); |
1523 | } |
1524 | |
1525 | void qapi_free_BlockdevOptionsNbd(BlockdevOptionsNbd *obj) |
1526 | { |
1527 | Visitor *v; |
1528 | |
1529 | if (!obj) { |
1530 | return; |
1531 | } |
1532 | |
1533 | v = qapi_dealloc_visitor_new(); |
1534 | visit_type_BlockdevOptionsNbd(v, NULL, &obj, NULL); |
1535 | visit_free(v); |
1536 | } |
1537 | |
1538 | void qapi_free_BlockdevOptionsRaw(BlockdevOptionsRaw *obj) |
1539 | { |
1540 | Visitor *v; |
1541 | |
1542 | if (!obj) { |
1543 | return; |
1544 | } |
1545 | |
1546 | v = qapi_dealloc_visitor_new(); |
1547 | visit_type_BlockdevOptionsRaw(v, NULL, &obj, NULL); |
1548 | visit_free(v); |
1549 | } |
1550 | |
1551 | void qapi_free_BlockdevOptionsVxHS(BlockdevOptionsVxHS *obj) |
1552 | { |
1553 | Visitor *v; |
1554 | |
1555 | if (!obj) { |
1556 | return; |
1557 | } |
1558 | |
1559 | v = qapi_dealloc_visitor_new(); |
1560 | visit_type_BlockdevOptionsVxHS(v, NULL, &obj, NULL); |
1561 | visit_free(v); |
1562 | } |
1563 | |
1564 | void qapi_free_BlockdevOptionsThrottle(BlockdevOptionsThrottle *obj) |
1565 | { |
1566 | Visitor *v; |
1567 | |
1568 | if (!obj) { |
1569 | return; |
1570 | } |
1571 | |
1572 | v = qapi_dealloc_visitor_new(); |
1573 | visit_type_BlockdevOptionsThrottle(v, NULL, &obj, NULL); |
1574 | visit_free(v); |
1575 | } |
1576 | |
1577 | void qapi_free_BlockdevOptions(BlockdevOptions *obj) |
1578 | { |
1579 | Visitor *v; |
1580 | |
1581 | if (!obj) { |
1582 | return; |
1583 | } |
1584 | |
1585 | v = qapi_dealloc_visitor_new(); |
1586 | visit_type_BlockdevOptions(v, NULL, &obj, NULL); |
1587 | visit_free(v); |
1588 | } |
1589 | |
1590 | void qapi_free_BlockdevRef(BlockdevRef *obj) |
1591 | { |
1592 | Visitor *v; |
1593 | |
1594 | if (!obj) { |
1595 | return; |
1596 | } |
1597 | |
1598 | v = qapi_dealloc_visitor_new(); |
1599 | visit_type_BlockdevRef(v, NULL, &obj, NULL); |
1600 | visit_free(v); |
1601 | } |
1602 | |
1603 | void qapi_free_BlockdevRefOrNull(BlockdevRefOrNull *obj) |
1604 | { |
1605 | Visitor *v; |
1606 | |
1607 | if (!obj) { |
1608 | return; |
1609 | } |
1610 | |
1611 | v = qapi_dealloc_visitor_new(); |
1612 | visit_type_BlockdevRefOrNull(v, NULL, &obj, NULL); |
1613 | visit_free(v); |
1614 | } |
1615 | |
1616 | void qapi_free_BlockdevCreateOptionsFile(BlockdevCreateOptionsFile *obj) |
1617 | { |
1618 | Visitor *v; |
1619 | |
1620 | if (!obj) { |
1621 | return; |
1622 | } |
1623 | |
1624 | v = qapi_dealloc_visitor_new(); |
1625 | visit_type_BlockdevCreateOptionsFile(v, NULL, &obj, NULL); |
1626 | visit_free(v); |
1627 | } |
1628 | |
1629 | void qapi_free_BlockdevCreateOptionsGluster(BlockdevCreateOptionsGluster *obj) |
1630 | { |
1631 | Visitor *v; |
1632 | |
1633 | if (!obj) { |
1634 | return; |
1635 | } |
1636 | |
1637 | v = qapi_dealloc_visitor_new(); |
1638 | visit_type_BlockdevCreateOptionsGluster(v, NULL, &obj, NULL); |
1639 | visit_free(v); |
1640 | } |
1641 | |
1642 | void qapi_free_BlockdevCreateOptionsLUKS(BlockdevCreateOptionsLUKS *obj) |
1643 | { |
1644 | Visitor *v; |
1645 | |
1646 | if (!obj) { |
1647 | return; |
1648 | } |
1649 | |
1650 | v = qapi_dealloc_visitor_new(); |
1651 | visit_type_BlockdevCreateOptionsLUKS(v, NULL, &obj, NULL); |
1652 | visit_free(v); |
1653 | } |
1654 | |
1655 | void qapi_free_BlockdevCreateOptionsNfs(BlockdevCreateOptionsNfs *obj) |
1656 | { |
1657 | Visitor *v; |
1658 | |
1659 | if (!obj) { |
1660 | return; |
1661 | } |
1662 | |
1663 | v = qapi_dealloc_visitor_new(); |
1664 | visit_type_BlockdevCreateOptionsNfs(v, NULL, &obj, NULL); |
1665 | visit_free(v); |
1666 | } |
1667 | |
1668 | void qapi_free_BlockdevCreateOptionsParallels(BlockdevCreateOptionsParallels *obj) |
1669 | { |
1670 | Visitor *v; |
1671 | |
1672 | if (!obj) { |
1673 | return; |
1674 | } |
1675 | |
1676 | v = qapi_dealloc_visitor_new(); |
1677 | visit_type_BlockdevCreateOptionsParallels(v, NULL, &obj, NULL); |
1678 | visit_free(v); |
1679 | } |
1680 | |
1681 | void qapi_free_BlockdevCreateOptionsQcow(BlockdevCreateOptionsQcow *obj) |
1682 | { |
1683 | Visitor *v; |
1684 | |
1685 | if (!obj) { |
1686 | return; |
1687 | } |
1688 | |
1689 | v = qapi_dealloc_visitor_new(); |
1690 | visit_type_BlockdevCreateOptionsQcow(v, NULL, &obj, NULL); |
1691 | visit_free(v); |
1692 | } |
1693 | |
1694 | const QEnumLookup BlockdevQcow2Version_lookup = { |
1695 | .array = (const char *const[]) { |
1696 | [BLOCKDEV_QCOW2_VERSION_V2] = "v2" , |
1697 | [BLOCKDEV_QCOW2_VERSION_V3] = "v3" , |
1698 | }, |
1699 | .size = BLOCKDEV_QCOW2_VERSION__MAX |
1700 | }; |
1701 | |
1702 | void qapi_free_BlockdevCreateOptionsQcow2(BlockdevCreateOptionsQcow2 *obj) |
1703 | { |
1704 | Visitor *v; |
1705 | |
1706 | if (!obj) { |
1707 | return; |
1708 | } |
1709 | |
1710 | v = qapi_dealloc_visitor_new(); |
1711 | visit_type_BlockdevCreateOptionsQcow2(v, NULL, &obj, NULL); |
1712 | visit_free(v); |
1713 | } |
1714 | |
1715 | void qapi_free_BlockdevCreateOptionsQed(BlockdevCreateOptionsQed *obj) |
1716 | { |
1717 | Visitor *v; |
1718 | |
1719 | if (!obj) { |
1720 | return; |
1721 | } |
1722 | |
1723 | v = qapi_dealloc_visitor_new(); |
1724 | visit_type_BlockdevCreateOptionsQed(v, NULL, &obj, NULL); |
1725 | visit_free(v); |
1726 | } |
1727 | |
1728 | void qapi_free_BlockdevCreateOptionsRbd(BlockdevCreateOptionsRbd *obj) |
1729 | { |
1730 | Visitor *v; |
1731 | |
1732 | if (!obj) { |
1733 | return; |
1734 | } |
1735 | |
1736 | v = qapi_dealloc_visitor_new(); |
1737 | visit_type_BlockdevCreateOptionsRbd(v, NULL, &obj, NULL); |
1738 | visit_free(v); |
1739 | } |
1740 | |
1741 | const QEnumLookup BlockdevVmdkSubformat_lookup = { |
1742 | .array = (const char *const[]) { |
1743 | [BLOCKDEV_VMDK_SUBFORMAT_MONOLITHICSPARSE] = "monolithicSparse" , |
1744 | [BLOCKDEV_VMDK_SUBFORMAT_MONOLITHICFLAT] = "monolithicFlat" , |
1745 | [BLOCKDEV_VMDK_SUBFORMAT_TWOGBMAXEXTENTSPARSE] = "twoGbMaxExtentSparse" , |
1746 | [BLOCKDEV_VMDK_SUBFORMAT_TWOGBMAXEXTENTFLAT] = "twoGbMaxExtentFlat" , |
1747 | [BLOCKDEV_VMDK_SUBFORMAT_STREAMOPTIMIZED] = "streamOptimized" , |
1748 | }, |
1749 | .size = BLOCKDEV_VMDK_SUBFORMAT__MAX |
1750 | }; |
1751 | |
1752 | const QEnumLookup BlockdevVmdkAdapterType_lookup = { |
1753 | .array = (const char *const[]) { |
1754 | [BLOCKDEV_VMDK_ADAPTER_TYPE_IDE] = "ide" , |
1755 | [BLOCKDEV_VMDK_ADAPTER_TYPE_BUSLOGIC] = "buslogic" , |
1756 | [BLOCKDEV_VMDK_ADAPTER_TYPE_LSILOGIC] = "lsilogic" , |
1757 | [BLOCKDEV_VMDK_ADAPTER_TYPE_LEGACYESX] = "legacyESX" , |
1758 | }, |
1759 | .size = BLOCKDEV_VMDK_ADAPTER_TYPE__MAX |
1760 | }; |
1761 | |
1762 | void qapi_free_BlockdevCreateOptionsVmdk(BlockdevCreateOptionsVmdk *obj) |
1763 | { |
1764 | Visitor *v; |
1765 | |
1766 | if (!obj) { |
1767 | return; |
1768 | } |
1769 | |
1770 | v = qapi_dealloc_visitor_new(); |
1771 | visit_type_BlockdevCreateOptionsVmdk(v, NULL, &obj, NULL); |
1772 | visit_free(v); |
1773 | } |
1774 | |
1775 | const QEnumLookup SheepdogRedundancyType_lookup = { |
1776 | .array = (const char *const[]) { |
1777 | [SHEEPDOG_REDUNDANCY_TYPE_FULL] = "full" , |
1778 | [SHEEPDOG_REDUNDANCY_TYPE_ERASURE_CODED] = "erasure-coded" , |
1779 | }, |
1780 | .size = SHEEPDOG_REDUNDANCY_TYPE__MAX |
1781 | }; |
1782 | |
1783 | void qapi_free_SheepdogRedundancyFull(SheepdogRedundancyFull *obj) |
1784 | { |
1785 | Visitor *v; |
1786 | |
1787 | if (!obj) { |
1788 | return; |
1789 | } |
1790 | |
1791 | v = qapi_dealloc_visitor_new(); |
1792 | visit_type_SheepdogRedundancyFull(v, NULL, &obj, NULL); |
1793 | visit_free(v); |
1794 | } |
1795 | |
1796 | void qapi_free_SheepdogRedundancyErasureCoded(SheepdogRedundancyErasureCoded *obj) |
1797 | { |
1798 | Visitor *v; |
1799 | |
1800 | if (!obj) { |
1801 | return; |
1802 | } |
1803 | |
1804 | v = qapi_dealloc_visitor_new(); |
1805 | visit_type_SheepdogRedundancyErasureCoded(v, NULL, &obj, NULL); |
1806 | visit_free(v); |
1807 | } |
1808 | |
1809 | void qapi_free_SheepdogRedundancy(SheepdogRedundancy *obj) |
1810 | { |
1811 | Visitor *v; |
1812 | |
1813 | if (!obj) { |
1814 | return; |
1815 | } |
1816 | |
1817 | v = qapi_dealloc_visitor_new(); |
1818 | visit_type_SheepdogRedundancy(v, NULL, &obj, NULL); |
1819 | visit_free(v); |
1820 | } |
1821 | |
1822 | void qapi_free_BlockdevCreateOptionsSheepdog(BlockdevCreateOptionsSheepdog *obj) |
1823 | { |
1824 | Visitor *v; |
1825 | |
1826 | if (!obj) { |
1827 | return; |
1828 | } |
1829 | |
1830 | v = qapi_dealloc_visitor_new(); |
1831 | visit_type_BlockdevCreateOptionsSheepdog(v, NULL, &obj, NULL); |
1832 | visit_free(v); |
1833 | } |
1834 | |
1835 | void qapi_free_BlockdevCreateOptionsSsh(BlockdevCreateOptionsSsh *obj) |
1836 | { |
1837 | Visitor *v; |
1838 | |
1839 | if (!obj) { |
1840 | return; |
1841 | } |
1842 | |
1843 | v = qapi_dealloc_visitor_new(); |
1844 | visit_type_BlockdevCreateOptionsSsh(v, NULL, &obj, NULL); |
1845 | visit_free(v); |
1846 | } |
1847 | |
1848 | void qapi_free_BlockdevCreateOptionsVdi(BlockdevCreateOptionsVdi *obj) |
1849 | { |
1850 | Visitor *v; |
1851 | |
1852 | if (!obj) { |
1853 | return; |
1854 | } |
1855 | |
1856 | v = qapi_dealloc_visitor_new(); |
1857 | visit_type_BlockdevCreateOptionsVdi(v, NULL, &obj, NULL); |
1858 | visit_free(v); |
1859 | } |
1860 | |
1861 | const QEnumLookup BlockdevVhdxSubformat_lookup = { |
1862 | .array = (const char *const[]) { |
1863 | [BLOCKDEV_VHDX_SUBFORMAT_DYNAMIC] = "dynamic" , |
1864 | [BLOCKDEV_VHDX_SUBFORMAT_FIXED] = "fixed" , |
1865 | }, |
1866 | .size = BLOCKDEV_VHDX_SUBFORMAT__MAX |
1867 | }; |
1868 | |
1869 | void qapi_free_BlockdevCreateOptionsVhdx(BlockdevCreateOptionsVhdx *obj) |
1870 | { |
1871 | Visitor *v; |
1872 | |
1873 | if (!obj) { |
1874 | return; |
1875 | } |
1876 | |
1877 | v = qapi_dealloc_visitor_new(); |
1878 | visit_type_BlockdevCreateOptionsVhdx(v, NULL, &obj, NULL); |
1879 | visit_free(v); |
1880 | } |
1881 | |
1882 | const QEnumLookup BlockdevVpcSubformat_lookup = { |
1883 | .array = (const char *const[]) { |
1884 | [BLOCKDEV_VPC_SUBFORMAT_DYNAMIC] = "dynamic" , |
1885 | [BLOCKDEV_VPC_SUBFORMAT_FIXED] = "fixed" , |
1886 | }, |
1887 | .size = BLOCKDEV_VPC_SUBFORMAT__MAX |
1888 | }; |
1889 | |
1890 | void qapi_free_BlockdevCreateOptionsVpc(BlockdevCreateOptionsVpc *obj) |
1891 | { |
1892 | Visitor *v; |
1893 | |
1894 | if (!obj) { |
1895 | return; |
1896 | } |
1897 | |
1898 | v = qapi_dealloc_visitor_new(); |
1899 | visit_type_BlockdevCreateOptionsVpc(v, NULL, &obj, NULL); |
1900 | visit_free(v); |
1901 | } |
1902 | |
1903 | void qapi_free_BlockdevCreateOptions(BlockdevCreateOptions *obj) |
1904 | { |
1905 | Visitor *v; |
1906 | |
1907 | if (!obj) { |
1908 | return; |
1909 | } |
1910 | |
1911 | v = qapi_dealloc_visitor_new(); |
1912 | visit_type_BlockdevCreateOptions(v, NULL, &obj, NULL); |
1913 | visit_free(v); |
1914 | } |
1915 | |
1916 | const QEnumLookup BlockdevChangeReadOnlyMode_lookup = { |
1917 | .array = (const char *const[]) { |
1918 | [BLOCKDEV_CHANGE_READ_ONLY_MODE_RETAIN] = "retain" , |
1919 | [BLOCKDEV_CHANGE_READ_ONLY_MODE_READ_ONLY] = "read-only" , |
1920 | [BLOCKDEV_CHANGE_READ_ONLY_MODE_READ_WRITE] = "read-write" , |
1921 | }, |
1922 | .size = BLOCKDEV_CHANGE_READ_ONLY_MODE__MAX |
1923 | }; |
1924 | |
1925 | const QEnumLookup BlockErrorAction_lookup = { |
1926 | .array = (const char *const[]) { |
1927 | [BLOCK_ERROR_ACTION_IGNORE] = "ignore" , |
1928 | [BLOCK_ERROR_ACTION_REPORT] = "report" , |
1929 | [BLOCK_ERROR_ACTION_STOP] = "stop" , |
1930 | }, |
1931 | .size = BLOCK_ERROR_ACTION__MAX |
1932 | }; |
1933 | |
1934 | const QEnumLookup PreallocMode_lookup = { |
1935 | .array = (const char *const[]) { |
1936 | [PREALLOC_MODE_OFF] = "off" , |
1937 | [PREALLOC_MODE_METADATA] = "metadata" , |
1938 | [PREALLOC_MODE_FALLOC] = "falloc" , |
1939 | [PREALLOC_MODE_FULL] = "full" , |
1940 | }, |
1941 | .size = PREALLOC_MODE__MAX |
1942 | }; |
1943 | |
1944 | /* Dummy declaration to prevent empty .o file */ |
1945 | char qapi_dummy_qapi_types_block_core_c; |
1946 | |