1 /* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT MODIFY */
2 
3 /*
4  * schema-defined QAPI visitor functions
5  *
6  * Copyright IBM, Corp. 2011
7  *
8  * Authors:
9  *  Anthony Liguori   <aliguori@us.ibm.com>
10  *
11  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
12  * See the COPYING.LIB file in the top-level directory.
13  *
14  */
15 
16 #include "qemu-common.h"
17 #include "qapi-visit.h"
18 
visit_type_strList(Visitor * m,strList ** obj,const char * name,Error ** errp)19 void visit_type_strList(Visitor *m, strList **obj, const char *name, Error **errp)
20 {
21     Error *err = NULL;
22     GenericList *i, **prev;
23 
24     visit_start_list(m, name, &err);
25     if (err) {
26         goto out;
27     }
28 
29     for (prev = (GenericList **)obj;
30          !err && (i = visit_next_list(m, prev, &err)) != NULL;
31          prev = &i) {
32         strList *native_i = (strList *)i;
33         visit_type_str(m, &native_i->value, NULL, &err);
34     }
35 
36     error_propagate(errp, err);
37     err = NULL;
38     visit_end_list(m, &err);
39 out:
40     error_propagate(errp, err);
41 }
42 
visit_type_intList(Visitor * m,intList ** obj,const char * name,Error ** errp)43 void visit_type_intList(Visitor *m, intList **obj, const char *name, Error **errp)
44 {
45     Error *err = NULL;
46     GenericList *i, **prev;
47 
48     visit_start_list(m, name, &err);
49     if (err) {
50         goto out;
51     }
52 
53     for (prev = (GenericList **)obj;
54          !err && (i = visit_next_list(m, prev, &err)) != NULL;
55          prev = &i) {
56         intList *native_i = (intList *)i;
57         visit_type_int(m, &native_i->value, NULL, &err);
58     }
59 
60     error_propagate(errp, err);
61     err = NULL;
62     visit_end_list(m, &err);
63 out:
64     error_propagate(errp, err);
65 }
66 
visit_type_numberList(Visitor * m,numberList ** obj,const char * name,Error ** errp)67 void visit_type_numberList(Visitor *m, numberList **obj, const char *name, Error **errp)
68 {
69     Error *err = NULL;
70     GenericList *i, **prev;
71 
72     visit_start_list(m, name, &err);
73     if (err) {
74         goto out;
75     }
76 
77     for (prev = (GenericList **)obj;
78          !err && (i = visit_next_list(m, prev, &err)) != NULL;
79          prev = &i) {
80         numberList *native_i = (numberList *)i;
81         visit_type_number(m, &native_i->value, NULL, &err);
82     }
83 
84     error_propagate(errp, err);
85     err = NULL;
86     visit_end_list(m, &err);
87 out:
88     error_propagate(errp, err);
89 }
90 
visit_type_boolList(Visitor * m,boolList ** obj,const char * name,Error ** errp)91 void visit_type_boolList(Visitor *m, boolList **obj, const char *name, Error **errp)
92 {
93     Error *err = NULL;
94     GenericList *i, **prev;
95 
96     visit_start_list(m, name, &err);
97     if (err) {
98         goto out;
99     }
100 
101     for (prev = (GenericList **)obj;
102          !err && (i = visit_next_list(m, prev, &err)) != NULL;
103          prev = &i) {
104         boolList *native_i = (boolList *)i;
105         visit_type_bool(m, &native_i->value, NULL, &err);
106     }
107 
108     error_propagate(errp, err);
109     err = NULL;
110     visit_end_list(m, &err);
111 out:
112     error_propagate(errp, err);
113 }
114 
visit_type_int8List(Visitor * m,int8List ** obj,const char * name,Error ** errp)115 void visit_type_int8List(Visitor *m, int8List **obj, const char *name, Error **errp)
116 {
117     Error *err = NULL;
118     GenericList *i, **prev;
119 
120     visit_start_list(m, name, &err);
121     if (err) {
122         goto out;
123     }
124 
125     for (prev = (GenericList **)obj;
126          !err && (i = visit_next_list(m, prev, &err)) != NULL;
127          prev = &i) {
128         int8List *native_i = (int8List *)i;
129         visit_type_int8(m, &native_i->value, NULL, &err);
130     }
131 
132     error_propagate(errp, err);
133     err = NULL;
134     visit_end_list(m, &err);
135 out:
136     error_propagate(errp, err);
137 }
138 
visit_type_int16List(Visitor * m,int16List ** obj,const char * name,Error ** errp)139 void visit_type_int16List(Visitor *m, int16List **obj, const char *name, Error **errp)
140 {
141     Error *err = NULL;
142     GenericList *i, **prev;
143 
144     visit_start_list(m, name, &err);
145     if (err) {
146         goto out;
147     }
148 
149     for (prev = (GenericList **)obj;
150          !err && (i = visit_next_list(m, prev, &err)) != NULL;
151          prev = &i) {
152         int16List *native_i = (int16List *)i;
153         visit_type_int16(m, &native_i->value, NULL, &err);
154     }
155 
156     error_propagate(errp, err);
157     err = NULL;
158     visit_end_list(m, &err);
159 out:
160     error_propagate(errp, err);
161 }
162 
visit_type_int32List(Visitor * m,int32List ** obj,const char * name,Error ** errp)163 void visit_type_int32List(Visitor *m, int32List **obj, const char *name, Error **errp)
164 {
165     Error *err = NULL;
166     GenericList *i, **prev;
167 
168     visit_start_list(m, name, &err);
169     if (err) {
170         goto out;
171     }
172 
173     for (prev = (GenericList **)obj;
174          !err && (i = visit_next_list(m, prev, &err)) != NULL;
175          prev = &i) {
176         int32List *native_i = (int32List *)i;
177         visit_type_int32(m, &native_i->value, NULL, &err);
178     }
179 
180     error_propagate(errp, err);
181     err = NULL;
182     visit_end_list(m, &err);
183 out:
184     error_propagate(errp, err);
185 }
186 
visit_type_int64List(Visitor * m,int64List ** obj,const char * name,Error ** errp)187 void visit_type_int64List(Visitor *m, int64List **obj, const char *name, Error **errp)
188 {
189     Error *err = NULL;
190     GenericList *i, **prev;
191 
192     visit_start_list(m, name, &err);
193     if (err) {
194         goto out;
195     }
196 
197     for (prev = (GenericList **)obj;
198          !err && (i = visit_next_list(m, prev, &err)) != NULL;
199          prev = &i) {
200         int64List *native_i = (int64List *)i;
201         visit_type_int64(m, &native_i->value, NULL, &err);
202     }
203 
204     error_propagate(errp, err);
205     err = NULL;
206     visit_end_list(m, &err);
207 out:
208     error_propagate(errp, err);
209 }
210 
visit_type_uint8List(Visitor * m,uint8List ** obj,const char * name,Error ** errp)211 void visit_type_uint8List(Visitor *m, uint8List **obj, const char *name, Error **errp)
212 {
213     Error *err = NULL;
214     GenericList *i, **prev;
215 
216     visit_start_list(m, name, &err);
217     if (err) {
218         goto out;
219     }
220 
221     for (prev = (GenericList **)obj;
222          !err && (i = visit_next_list(m, prev, &err)) != NULL;
223          prev = &i) {
224         uint8List *native_i = (uint8List *)i;
225         visit_type_uint8(m, &native_i->value, NULL, &err);
226     }
227 
228     error_propagate(errp, err);
229     err = NULL;
230     visit_end_list(m, &err);
231 out:
232     error_propagate(errp, err);
233 }
234 
visit_type_uint16List(Visitor * m,uint16List ** obj,const char * name,Error ** errp)235 void visit_type_uint16List(Visitor *m, uint16List **obj, const char *name, Error **errp)
236 {
237     Error *err = NULL;
238     GenericList *i, **prev;
239 
240     visit_start_list(m, name, &err);
241     if (err) {
242         goto out;
243     }
244 
245     for (prev = (GenericList **)obj;
246          !err && (i = visit_next_list(m, prev, &err)) != NULL;
247          prev = &i) {
248         uint16List *native_i = (uint16List *)i;
249         visit_type_uint16(m, &native_i->value, NULL, &err);
250     }
251 
252     error_propagate(errp, err);
253     err = NULL;
254     visit_end_list(m, &err);
255 out:
256     error_propagate(errp, err);
257 }
258 
visit_type_uint32List(Visitor * m,uint32List ** obj,const char * name,Error ** errp)259 void visit_type_uint32List(Visitor *m, uint32List **obj, const char *name, Error **errp)
260 {
261     Error *err = NULL;
262     GenericList *i, **prev;
263 
264     visit_start_list(m, name, &err);
265     if (err) {
266         goto out;
267     }
268 
269     for (prev = (GenericList **)obj;
270          !err && (i = visit_next_list(m, prev, &err)) != NULL;
271          prev = &i) {
272         uint32List *native_i = (uint32List *)i;
273         visit_type_uint32(m, &native_i->value, NULL, &err);
274     }
275 
276     error_propagate(errp, err);
277     err = NULL;
278     visit_end_list(m, &err);
279 out:
280     error_propagate(errp, err);
281 }
282 
visit_type_uint64List(Visitor * m,uint64List ** obj,const char * name,Error ** errp)283 void visit_type_uint64List(Visitor *m, uint64List **obj, const char *name, Error **errp)
284 {
285     Error *err = NULL;
286     GenericList *i, **prev;
287 
288     visit_start_list(m, name, &err);
289     if (err) {
290         goto out;
291     }
292 
293     for (prev = (GenericList **)obj;
294          !err && (i = visit_next_list(m, prev, &err)) != NULL;
295          prev = &i) {
296         uint64List *native_i = (uint64List *)i;
297         visit_type_uint64(m, &native_i->value, NULL, &err);
298     }
299 
300     error_propagate(errp, err);
301     err = NULL;
302     visit_end_list(m, &err);
303 out:
304     error_propagate(errp, err);
305 }
306 
visit_type_ErrorClassList(Visitor * m,ErrorClassList ** obj,const char * name,Error ** errp)307 void visit_type_ErrorClassList(Visitor *m, ErrorClassList **obj, const char *name, Error **errp)
308 {
309     Error *err = NULL;
310     GenericList *i, **prev;
311 
312     visit_start_list(m, name, &err);
313     if (err) {
314         goto out;
315     }
316 
317     for (prev = (GenericList **)obj;
318          !err && (i = visit_next_list(m, prev, &err)) != NULL;
319          prev = &i) {
320         ErrorClassList *native_i = (ErrorClassList *)i;
321         visit_type_ErrorClass(m, &native_i->value, NULL, &err);
322     }
323 
324     error_propagate(errp, err);
325     err = NULL;
326     visit_end_list(m, &err);
327 out:
328     error_propagate(errp, err);
329 }
330 
visit_type_ErrorClass(Visitor * m,ErrorClass * obj,const char * name,Error ** errp)331 void visit_type_ErrorClass(Visitor *m, ErrorClass *obj, const char *name, Error **errp)
332 {
333     visit_type_enum(m, (int *)obj, ErrorClass_lookup, "ErrorClass", name, errp);
334 }
335 
visit_type_X86CPURegister32List(Visitor * m,X86CPURegister32List ** obj,const char * name,Error ** errp)336 void visit_type_X86CPURegister32List(Visitor *m, X86CPURegister32List **obj, const char *name, Error **errp)
337 {
338     Error *err = NULL;
339     GenericList *i, **prev;
340 
341     visit_start_list(m, name, &err);
342     if (err) {
343         goto out;
344     }
345 
346     for (prev = (GenericList **)obj;
347          !err && (i = visit_next_list(m, prev, &err)) != NULL;
348          prev = &i) {
349         X86CPURegister32List *native_i = (X86CPURegister32List *)i;
350         visit_type_X86CPURegister32(m, &native_i->value, NULL, &err);
351     }
352 
353     error_propagate(errp, err);
354     err = NULL;
355     visit_end_list(m, &err);
356 out:
357     error_propagate(errp, err);
358 }
359 
visit_type_X86CPURegister32(Visitor * m,X86CPURegister32 * obj,const char * name,Error ** errp)360 void visit_type_X86CPURegister32(Visitor *m, X86CPURegister32 *obj, const char *name, Error **errp)
361 {
362     visit_type_enum(m, (int *)obj, X86CPURegister32_lookup, "X86CPURegister32", name, errp);
363 }
364 
visit_type_X86CPUFeatureWordInfo_fields(Visitor * m,X86CPUFeatureWordInfo ** obj,Error ** errp)365 static void visit_type_X86CPUFeatureWordInfo_fields(Visitor *m, X86CPUFeatureWordInfo **obj, Error **errp)
366 {
367     Error *err = NULL;
368     visit_type_int(m, &(*obj)->cpuid_input_eax, "cpuid-input-eax", &err);
369     if (err) {
370         goto out;
371     }
372     visit_optional(m, &(*obj)->has_cpuid_input_ecx, "cpuid-input-ecx", &err);
373     if (!err && (*obj)->has_cpuid_input_ecx) {
374         visit_type_int(m, &(*obj)->cpuid_input_ecx, "cpuid-input-ecx", &err);
375     }
376     if (err) {
377         goto out;
378     }
379     visit_type_X86CPURegister32(m, &(*obj)->cpuid_register, "cpuid-register", &err);
380     if (err) {
381         goto out;
382     }
383     visit_type_int(m, &(*obj)->features, "features", &err);
384     if (err) {
385         goto out;
386     }
387 
388 out:
389     error_propagate(errp, err);
390 }
391 
visit_type_X86CPUFeatureWordInfo(Visitor * m,X86CPUFeatureWordInfo ** obj,const char * name,Error ** errp)392 void visit_type_X86CPUFeatureWordInfo(Visitor *m, X86CPUFeatureWordInfo **obj, const char *name, Error **errp)
393 {
394     Error *err = NULL;
395 
396     visit_start_struct(m, (void **)obj, "X86CPUFeatureWordInfo", name, sizeof(X86CPUFeatureWordInfo), &err);
397     if (!err) {
398         if (*obj) {
399             visit_type_X86CPUFeatureWordInfo_fields(m, obj, errp);
400         }
401         visit_end_struct(m, &err);
402     }
403     error_propagate(errp, err);
404 }
405 
visit_type_X86CPUFeatureWordInfoList(Visitor * m,X86CPUFeatureWordInfoList ** obj,const char * name,Error ** errp)406 void visit_type_X86CPUFeatureWordInfoList(Visitor *m, X86CPUFeatureWordInfoList **obj, const char *name, Error **errp)
407 {
408     Error *err = NULL;
409     GenericList *i, **prev;
410 
411     visit_start_list(m, name, &err);
412     if (err) {
413         goto out;
414     }
415 
416     for (prev = (GenericList **)obj;
417          !err && (i = visit_next_list(m, prev, &err)) != NULL;
418          prev = &i) {
419         X86CPUFeatureWordInfoList *native_i = (X86CPUFeatureWordInfoList *)i;
420         visit_type_X86CPUFeatureWordInfo(m, &native_i->value, NULL, &err);
421     }
422 
423     error_propagate(errp, err);
424     err = NULL;
425     visit_end_list(m, &err);
426 out:
427     error_propagate(errp, err);
428 }
429