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-machine-target.h" |
17 | |
18 | void visit_type_CpuModelInfo_members(Visitor *v, CpuModelInfo *obj, Error **errp) |
19 | { |
20 | Error *err = NULL; |
21 | |
22 | visit_type_str(v, "name" , &obj->name, &err); |
23 | if (err) { |
24 | goto out; |
25 | } |
26 | if (visit_optional(v, "props" , &obj->has_props)) { |
27 | visit_type_any(v, "props" , &obj->props, &err); |
28 | if (err) { |
29 | goto out; |
30 | } |
31 | } |
32 | |
33 | out: |
34 | error_propagate(errp, err); |
35 | } |
36 | |
37 | void visit_type_CpuModelInfo(Visitor *v, const char *name, CpuModelInfo **obj, Error **errp) |
38 | { |
39 | Error *err = NULL; |
40 | |
41 | visit_start_struct(v, name, (void **)obj, sizeof(CpuModelInfo), &err); |
42 | if (err) { |
43 | goto out; |
44 | } |
45 | if (!*obj) { |
46 | goto out_obj; |
47 | } |
48 | visit_type_CpuModelInfo_members(v, *obj, &err); |
49 | if (err) { |
50 | goto out_obj; |
51 | } |
52 | visit_check_struct(v, &err); |
53 | out_obj: |
54 | visit_end_struct(v, (void **)obj); |
55 | if (err && visit_is_input(v)) { |
56 | qapi_free_CpuModelInfo(*obj); |
57 | *obj = NULL; |
58 | } |
59 | out: |
60 | error_propagate(errp, err); |
61 | } |
62 | |
63 | void visit_type_CpuModelExpansionType(Visitor *v, const char *name, CpuModelExpansionType *obj, Error **errp) |
64 | { |
65 | int value = *obj; |
66 | visit_type_enum(v, name, &value, &CpuModelExpansionType_lookup, errp); |
67 | *obj = value; |
68 | } |
69 | |
70 | void visit_type_CpuModelCompareResult(Visitor *v, const char *name, CpuModelCompareResult *obj, Error **errp) |
71 | { |
72 | int value = *obj; |
73 | visit_type_enum(v, name, &value, &CpuModelCompareResult_lookup, errp); |
74 | *obj = value; |
75 | } |
76 | |
77 | #if defined(TARGET_S390X) |
78 | void visit_type_CpuModelBaselineInfo_members(Visitor *v, CpuModelBaselineInfo *obj, Error **errp) |
79 | { |
80 | Error *err = NULL; |
81 | |
82 | visit_type_CpuModelInfo(v, "model" , &obj->model, &err); |
83 | if (err) { |
84 | goto out; |
85 | } |
86 | |
87 | out: |
88 | error_propagate(errp, err); |
89 | } |
90 | |
91 | void visit_type_CpuModelBaselineInfo(Visitor *v, const char *name, CpuModelBaselineInfo **obj, Error **errp) |
92 | { |
93 | Error *err = NULL; |
94 | |
95 | visit_start_struct(v, name, (void **)obj, sizeof(CpuModelBaselineInfo), &err); |
96 | if (err) { |
97 | goto out; |
98 | } |
99 | if (!*obj) { |
100 | goto out_obj; |
101 | } |
102 | visit_type_CpuModelBaselineInfo_members(v, *obj, &err); |
103 | if (err) { |
104 | goto out_obj; |
105 | } |
106 | visit_check_struct(v, &err); |
107 | out_obj: |
108 | visit_end_struct(v, (void **)obj); |
109 | if (err && visit_is_input(v)) { |
110 | qapi_free_CpuModelBaselineInfo(*obj); |
111 | *obj = NULL; |
112 | } |
113 | out: |
114 | error_propagate(errp, err); |
115 | } |
116 | #endif /* defined(TARGET_S390X) */ |
117 | |
118 | #if defined(TARGET_S390X) |
119 | void visit_type_CpuModelCompareInfo_members(Visitor *v, CpuModelCompareInfo *obj, Error **errp) |
120 | { |
121 | Error *err = NULL; |
122 | |
123 | visit_type_CpuModelCompareResult(v, "result" , &obj->result, &err); |
124 | if (err) { |
125 | goto out; |
126 | } |
127 | visit_type_strList(v, "responsible-properties" , &obj->responsible_properties, &err); |
128 | if (err) { |
129 | goto out; |
130 | } |
131 | |
132 | out: |
133 | error_propagate(errp, err); |
134 | } |
135 | |
136 | void visit_type_CpuModelCompareInfo(Visitor *v, const char *name, CpuModelCompareInfo **obj, Error **errp) |
137 | { |
138 | Error *err = NULL; |
139 | |
140 | visit_start_struct(v, name, (void **)obj, sizeof(CpuModelCompareInfo), &err); |
141 | if (err) { |
142 | goto out; |
143 | } |
144 | if (!*obj) { |
145 | goto out_obj; |
146 | } |
147 | visit_type_CpuModelCompareInfo_members(v, *obj, &err); |
148 | if (err) { |
149 | goto out_obj; |
150 | } |
151 | visit_check_struct(v, &err); |
152 | out_obj: |
153 | visit_end_struct(v, (void **)obj); |
154 | if (err && visit_is_input(v)) { |
155 | qapi_free_CpuModelCompareInfo(*obj); |
156 | *obj = NULL; |
157 | } |
158 | out: |
159 | error_propagate(errp, err); |
160 | } |
161 | #endif /* defined(TARGET_S390X) */ |
162 | |
163 | #if defined(TARGET_S390X) |
164 | void visit_type_q_obj_query_cpu_model_comparison_arg_members(Visitor *v, q_obj_query_cpu_model_comparison_arg *obj, Error **errp) |
165 | { |
166 | Error *err = NULL; |
167 | |
168 | visit_type_CpuModelInfo(v, "modela" , &obj->modela, &err); |
169 | if (err) { |
170 | goto out; |
171 | } |
172 | visit_type_CpuModelInfo(v, "modelb" , &obj->modelb, &err); |
173 | if (err) { |
174 | goto out; |
175 | } |
176 | |
177 | out: |
178 | error_propagate(errp, err); |
179 | } |
180 | #endif /* defined(TARGET_S390X) */ |
181 | |
182 | #if defined(TARGET_S390X) |
183 | void visit_type_q_obj_query_cpu_model_baseline_arg_members(Visitor *v, q_obj_query_cpu_model_baseline_arg *obj, Error **errp) |
184 | { |
185 | Error *err = NULL; |
186 | |
187 | visit_type_CpuModelInfo(v, "modela" , &obj->modela, &err); |
188 | if (err) { |
189 | goto out; |
190 | } |
191 | visit_type_CpuModelInfo(v, "modelb" , &obj->modelb, &err); |
192 | if (err) { |
193 | goto out; |
194 | } |
195 | |
196 | out: |
197 | error_propagate(errp, err); |
198 | } |
199 | #endif /* defined(TARGET_S390X) */ |
200 | |
201 | #if defined(TARGET_S390X) || defined(TARGET_I386) |
202 | void visit_type_CpuModelExpansionInfo_members(Visitor *v, CpuModelExpansionInfo *obj, Error **errp) |
203 | { |
204 | Error *err = NULL; |
205 | |
206 | visit_type_CpuModelInfo(v, "model" , &obj->model, &err); |
207 | if (err) { |
208 | goto out; |
209 | } |
210 | |
211 | out: |
212 | error_propagate(errp, err); |
213 | } |
214 | |
215 | void visit_type_CpuModelExpansionInfo(Visitor *v, const char *name, CpuModelExpansionInfo **obj, Error **errp) |
216 | { |
217 | Error *err = NULL; |
218 | |
219 | visit_start_struct(v, name, (void **)obj, sizeof(CpuModelExpansionInfo), &err); |
220 | if (err) { |
221 | goto out; |
222 | } |
223 | if (!*obj) { |
224 | goto out_obj; |
225 | } |
226 | visit_type_CpuModelExpansionInfo_members(v, *obj, &err); |
227 | if (err) { |
228 | goto out_obj; |
229 | } |
230 | visit_check_struct(v, &err); |
231 | out_obj: |
232 | visit_end_struct(v, (void **)obj); |
233 | if (err && visit_is_input(v)) { |
234 | qapi_free_CpuModelExpansionInfo(*obj); |
235 | *obj = NULL; |
236 | } |
237 | out: |
238 | error_propagate(errp, err); |
239 | } |
240 | #endif /* defined(TARGET_S390X) || defined(TARGET_I386) */ |
241 | |
242 | #if defined(TARGET_S390X) || defined(TARGET_I386) |
243 | void visit_type_q_obj_query_cpu_model_expansion_arg_members(Visitor *v, q_obj_query_cpu_model_expansion_arg *obj, Error **errp) |
244 | { |
245 | Error *err = NULL; |
246 | |
247 | visit_type_CpuModelExpansionType(v, "type" , &obj->type, &err); |
248 | if (err) { |
249 | goto out; |
250 | } |
251 | visit_type_CpuModelInfo(v, "model" , &obj->model, &err); |
252 | if (err) { |
253 | goto out; |
254 | } |
255 | |
256 | out: |
257 | error_propagate(errp, err); |
258 | } |
259 | #endif /* defined(TARGET_S390X) || defined(TARGET_I386) */ |
260 | |
261 | #if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) |
262 | void visit_type_CpuDefinitionInfo_members(Visitor *v, CpuDefinitionInfo *obj, Error **errp) |
263 | { |
264 | Error *err = NULL; |
265 | |
266 | visit_type_str(v, "name" , &obj->name, &err); |
267 | if (err) { |
268 | goto out; |
269 | } |
270 | if (visit_optional(v, "migration-safe" , &obj->has_migration_safe)) { |
271 | visit_type_bool(v, "migration-safe" , &obj->migration_safe, &err); |
272 | if (err) { |
273 | goto out; |
274 | } |
275 | } |
276 | visit_type_bool(v, "static" , &obj->q_static, &err); |
277 | if (err) { |
278 | goto out; |
279 | } |
280 | if (visit_optional(v, "unavailable-features" , &obj->has_unavailable_features)) { |
281 | visit_type_strList(v, "unavailable-features" , &obj->unavailable_features, &err); |
282 | if (err) { |
283 | goto out; |
284 | } |
285 | } |
286 | visit_type_str(v, "typename" , &obj->q_typename, &err); |
287 | if (err) { |
288 | goto out; |
289 | } |
290 | if (visit_optional(v, "alias-of" , &obj->has_alias_of)) { |
291 | visit_type_str(v, "alias-of" , &obj->alias_of, &err); |
292 | if (err) { |
293 | goto out; |
294 | } |
295 | } |
296 | |
297 | out: |
298 | error_propagate(errp, err); |
299 | } |
300 | |
301 | void visit_type_CpuDefinitionInfo(Visitor *v, const char *name, CpuDefinitionInfo **obj, Error **errp) |
302 | { |
303 | Error *err = NULL; |
304 | |
305 | visit_start_struct(v, name, (void **)obj, sizeof(CpuDefinitionInfo), &err); |
306 | if (err) { |
307 | goto out; |
308 | } |
309 | if (!*obj) { |
310 | goto out_obj; |
311 | } |
312 | visit_type_CpuDefinitionInfo_members(v, *obj, &err); |
313 | if (err) { |
314 | goto out_obj; |
315 | } |
316 | visit_check_struct(v, &err); |
317 | out_obj: |
318 | visit_end_struct(v, (void **)obj); |
319 | if (err && visit_is_input(v)) { |
320 | qapi_free_CpuDefinitionInfo(*obj); |
321 | *obj = NULL; |
322 | } |
323 | out: |
324 | error_propagate(errp, err); |
325 | } |
326 | #endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) */ |
327 | |
328 | #if defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) |
329 | void visit_type_CpuDefinitionInfoList(Visitor *v, const char *name, CpuDefinitionInfoList **obj, Error **errp) |
330 | { |
331 | Error *err = NULL; |
332 | CpuDefinitionInfoList *tail; |
333 | size_t size = sizeof(**obj); |
334 | |
335 | visit_start_list(v, name, (GenericList **)obj, size, &err); |
336 | if (err) { |
337 | goto out; |
338 | } |
339 | |
340 | for (tail = *obj; tail; |
341 | tail = (CpuDefinitionInfoList *)visit_next_list(v, (GenericList *)tail, size)) { |
342 | visit_type_CpuDefinitionInfo(v, NULL, &tail->value, &err); |
343 | if (err) { |
344 | break; |
345 | } |
346 | } |
347 | |
348 | if (!err) { |
349 | visit_check_list(v, &err); |
350 | } |
351 | visit_end_list(v, (void **)obj); |
352 | if (err && visit_is_input(v)) { |
353 | qapi_free_CpuDefinitionInfoList(*obj); |
354 | *obj = NULL; |
355 | } |
356 | out: |
357 | error_propagate(errp, err); |
358 | } |
359 | #endif /* defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_I386) || defined(TARGET_S390X) || defined(TARGET_MIPS) */ |
360 | |
361 | /* Dummy declaration to prevent empty .o file */ |
362 | char qapi_dummy_qapi_visit_machine_target_c; |
363 | |