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-misc-target.h"
17
18#if defined(TARGET_ALPHA) || defined(TARGET_ARM) || defined(TARGET_HPPA) || defined(TARGET_I386) || defined(TARGET_MIPS) || defined(TARGET_MIPS64) || defined(TARGET_MOXIE) || defined(TARGET_PPC) || defined(TARGET_PPC64) || defined(TARGET_S390X) || defined(TARGET_SH4) || defined(TARGET_SPARC)
19void visit_type_q_obj_RTC_CHANGE_arg_members(Visitor *v, q_obj_RTC_CHANGE_arg *obj, Error **errp)
20{
21 Error *err = NULL;
22
23 visit_type_int(v, "offset", &obj->offset, &err);
24 if (err) {
25 goto out;
26 }
27
28out:
29 error_propagate(errp, err);
30}
31#endif /* defined(TARGET_ALPHA) || defined(TARGET_ARM) || defined(TARGET_HPPA) || defined(TARGET_I386) || defined(TARGET_MIPS) || defined(TARGET_MIPS64) || defined(TARGET_MOXIE) || defined(TARGET_PPC) || defined(TARGET_PPC64) || defined(TARGET_S390X) || defined(TARGET_SH4) || defined(TARGET_SPARC) */
32
33#if defined(TARGET_I386)
34void visit_type_SevState(Visitor *v, const char *name, SevState *obj, Error **errp)
35{
36 int value = *obj;
37 visit_type_enum(v, name, &value, &SevState_lookup, errp);
38 *obj = value;
39}
40#endif /* defined(TARGET_I386) */
41
42#if defined(TARGET_I386)
43void visit_type_SevInfo_members(Visitor *v, SevInfo *obj, Error **errp)
44{
45 Error *err = NULL;
46
47 visit_type_bool(v, "enabled", &obj->enabled, &err);
48 if (err) {
49 goto out;
50 }
51 visit_type_uint8(v, "api-major", &obj->api_major, &err);
52 if (err) {
53 goto out;
54 }
55 visit_type_uint8(v, "api-minor", &obj->api_minor, &err);
56 if (err) {
57 goto out;
58 }
59 visit_type_uint8(v, "build-id", &obj->build_id, &err);
60 if (err) {
61 goto out;
62 }
63 visit_type_uint32(v, "policy", &obj->policy, &err);
64 if (err) {
65 goto out;
66 }
67 visit_type_SevState(v, "state", &obj->state, &err);
68 if (err) {
69 goto out;
70 }
71 visit_type_uint32(v, "handle", &obj->handle, &err);
72 if (err) {
73 goto out;
74 }
75
76out:
77 error_propagate(errp, err);
78}
79
80void visit_type_SevInfo(Visitor *v, const char *name, SevInfo **obj, Error **errp)
81{
82 Error *err = NULL;
83
84 visit_start_struct(v, name, (void **)obj, sizeof(SevInfo), &err);
85 if (err) {
86 goto out;
87 }
88 if (!*obj) {
89 goto out_obj;
90 }
91 visit_type_SevInfo_members(v, *obj, &err);
92 if (err) {
93 goto out_obj;
94 }
95 visit_check_struct(v, &err);
96out_obj:
97 visit_end_struct(v, (void **)obj);
98 if (err && visit_is_input(v)) {
99 qapi_free_SevInfo(*obj);
100 *obj = NULL;
101 }
102out:
103 error_propagate(errp, err);
104}
105#endif /* defined(TARGET_I386) */
106
107#if defined(TARGET_I386)
108void visit_type_SevLaunchMeasureInfo_members(Visitor *v, SevLaunchMeasureInfo *obj, Error **errp)
109{
110 Error *err = NULL;
111
112 visit_type_str(v, "data", &obj->data, &err);
113 if (err) {
114 goto out;
115 }
116
117out:
118 error_propagate(errp, err);
119}
120
121void visit_type_SevLaunchMeasureInfo(Visitor *v, const char *name, SevLaunchMeasureInfo **obj, Error **errp)
122{
123 Error *err = NULL;
124
125 visit_start_struct(v, name, (void **)obj, sizeof(SevLaunchMeasureInfo), &err);
126 if (err) {
127 goto out;
128 }
129 if (!*obj) {
130 goto out_obj;
131 }
132 visit_type_SevLaunchMeasureInfo_members(v, *obj, &err);
133 if (err) {
134 goto out_obj;
135 }
136 visit_check_struct(v, &err);
137out_obj:
138 visit_end_struct(v, (void **)obj);
139 if (err && visit_is_input(v)) {
140 qapi_free_SevLaunchMeasureInfo(*obj);
141 *obj = NULL;
142 }
143out:
144 error_propagate(errp, err);
145}
146#endif /* defined(TARGET_I386) */
147
148#if defined(TARGET_I386)
149void visit_type_SevCapability_members(Visitor *v, SevCapability *obj, Error **errp)
150{
151 Error *err = NULL;
152
153 visit_type_str(v, "pdh", &obj->pdh, &err);
154 if (err) {
155 goto out;
156 }
157 visit_type_str(v, "cert-chain", &obj->cert_chain, &err);
158 if (err) {
159 goto out;
160 }
161 visit_type_int(v, "cbitpos", &obj->cbitpos, &err);
162 if (err) {
163 goto out;
164 }
165 visit_type_int(v, "reduced-phys-bits", &obj->reduced_phys_bits, &err);
166 if (err) {
167 goto out;
168 }
169
170out:
171 error_propagate(errp, err);
172}
173
174void visit_type_SevCapability(Visitor *v, const char *name, SevCapability **obj, Error **errp)
175{
176 Error *err = NULL;
177
178 visit_start_struct(v, name, (void **)obj, sizeof(SevCapability), &err);
179 if (err) {
180 goto out;
181 }
182 if (!*obj) {
183 goto out_obj;
184 }
185 visit_type_SevCapability_members(v, *obj, &err);
186 if (err) {
187 goto out_obj;
188 }
189 visit_check_struct(v, &err);
190out_obj:
191 visit_end_struct(v, (void **)obj);
192 if (err && visit_is_input(v)) {
193 qapi_free_SevCapability(*obj);
194 *obj = NULL;
195 }
196out:
197 error_propagate(errp, err);
198}
199#endif /* defined(TARGET_I386) */
200
201#if defined(TARGET_S390X)
202void visit_type_q_obj_dump_skeys_arg_members(Visitor *v, q_obj_dump_skeys_arg *obj, Error **errp)
203{
204 Error *err = NULL;
205
206 visit_type_str(v, "filename", &obj->filename, &err);
207 if (err) {
208 goto out;
209 }
210
211out:
212 error_propagate(errp, err);
213}
214#endif /* defined(TARGET_S390X) */
215
216#if defined(TARGET_ARM)
217void visit_type_GICCapability_members(Visitor *v, GICCapability *obj, Error **errp)
218{
219 Error *err = NULL;
220
221 visit_type_int(v, "version", &obj->version, &err);
222 if (err) {
223 goto out;
224 }
225 visit_type_bool(v, "emulated", &obj->emulated, &err);
226 if (err) {
227 goto out;
228 }
229 visit_type_bool(v, "kernel", &obj->kernel, &err);
230 if (err) {
231 goto out;
232 }
233
234out:
235 error_propagate(errp, err);
236}
237
238void visit_type_GICCapability(Visitor *v, const char *name, GICCapability **obj, Error **errp)
239{
240 Error *err = NULL;
241
242 visit_start_struct(v, name, (void **)obj, sizeof(GICCapability), &err);
243 if (err) {
244 goto out;
245 }
246 if (!*obj) {
247 goto out_obj;
248 }
249 visit_type_GICCapability_members(v, *obj, &err);
250 if (err) {
251 goto out_obj;
252 }
253 visit_check_struct(v, &err);
254out_obj:
255 visit_end_struct(v, (void **)obj);
256 if (err && visit_is_input(v)) {
257 qapi_free_GICCapability(*obj);
258 *obj = NULL;
259 }
260out:
261 error_propagate(errp, err);
262}
263#endif /* defined(TARGET_ARM) */
264
265#if defined(TARGET_ARM)
266void visit_type_GICCapabilityList(Visitor *v, const char *name, GICCapabilityList **obj, Error **errp)
267{
268 Error *err = NULL;
269 GICCapabilityList *tail;
270 size_t size = sizeof(**obj);
271
272 visit_start_list(v, name, (GenericList **)obj, size, &err);
273 if (err) {
274 goto out;
275 }
276
277 for (tail = *obj; tail;
278 tail = (GICCapabilityList *)visit_next_list(v, (GenericList *)tail, size)) {
279 visit_type_GICCapability(v, NULL, &tail->value, &err);
280 if (err) {
281 break;
282 }
283 }
284
285 if (!err) {
286 visit_check_list(v, &err);
287 }
288 visit_end_list(v, (void **)obj);
289 if (err && visit_is_input(v)) {
290 qapi_free_GICCapabilityList(*obj);
291 *obj = NULL;
292 }
293out:
294 error_propagate(errp, err);
295}
296#endif /* defined(TARGET_ARM) */
297
298/* Dummy declaration to prevent empty .o file */
299char qapi_dummy_qapi_visit_misc_target_c;
300