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-rocker.h"
17
18void visit_type_RockerSwitch_members(Visitor *v, RockerSwitch *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 visit_type_uint64(v, "id", &obj->id, &err);
27 if (err) {
28 goto out;
29 }
30 visit_type_uint32(v, "ports", &obj->ports, &err);
31 if (err) {
32 goto out;
33 }
34
35out:
36 error_propagate(errp, err);
37}
38
39void visit_type_RockerSwitch(Visitor *v, const char *name, RockerSwitch **obj, Error **errp)
40{
41 Error *err = NULL;
42
43 visit_start_struct(v, name, (void **)obj, sizeof(RockerSwitch), &err);
44 if (err) {
45 goto out;
46 }
47 if (!*obj) {
48 goto out_obj;
49 }
50 visit_type_RockerSwitch_members(v, *obj, &err);
51 if (err) {
52 goto out_obj;
53 }
54 visit_check_struct(v, &err);
55out_obj:
56 visit_end_struct(v, (void **)obj);
57 if (err && visit_is_input(v)) {
58 qapi_free_RockerSwitch(*obj);
59 *obj = NULL;
60 }
61out:
62 error_propagate(errp, err);
63}
64
65void visit_type_q_obj_query_rocker_arg_members(Visitor *v, q_obj_query_rocker_arg *obj, Error **errp)
66{
67 Error *err = NULL;
68
69 visit_type_str(v, "name", &obj->name, &err);
70 if (err) {
71 goto out;
72 }
73
74out:
75 error_propagate(errp, err);
76}
77
78void visit_type_RockerPortDuplex(Visitor *v, const char *name, RockerPortDuplex *obj, Error **errp)
79{
80 int value = *obj;
81 visit_type_enum(v, name, &value, &RockerPortDuplex_lookup, errp);
82 *obj = value;
83}
84
85void visit_type_RockerPortAutoneg(Visitor *v, const char *name, RockerPortAutoneg *obj, Error **errp)
86{
87 int value = *obj;
88 visit_type_enum(v, name, &value, &RockerPortAutoneg_lookup, errp);
89 *obj = value;
90}
91
92void visit_type_RockerPort_members(Visitor *v, RockerPort *obj, Error **errp)
93{
94 Error *err = NULL;
95
96 visit_type_str(v, "name", &obj->name, &err);
97 if (err) {
98 goto out;
99 }
100 visit_type_bool(v, "enabled", &obj->enabled, &err);
101 if (err) {
102 goto out;
103 }
104 visit_type_bool(v, "link-up", &obj->link_up, &err);
105 if (err) {
106 goto out;
107 }
108 visit_type_uint32(v, "speed", &obj->speed, &err);
109 if (err) {
110 goto out;
111 }
112 visit_type_RockerPortDuplex(v, "duplex", &obj->duplex, &err);
113 if (err) {
114 goto out;
115 }
116 visit_type_RockerPortAutoneg(v, "autoneg", &obj->autoneg, &err);
117 if (err) {
118 goto out;
119 }
120
121out:
122 error_propagate(errp, err);
123}
124
125void visit_type_RockerPort(Visitor *v, const char *name, RockerPort **obj, Error **errp)
126{
127 Error *err = NULL;
128
129 visit_start_struct(v, name, (void **)obj, sizeof(RockerPort), &err);
130 if (err) {
131 goto out;
132 }
133 if (!*obj) {
134 goto out_obj;
135 }
136 visit_type_RockerPort_members(v, *obj, &err);
137 if (err) {
138 goto out_obj;
139 }
140 visit_check_struct(v, &err);
141out_obj:
142 visit_end_struct(v, (void **)obj);
143 if (err && visit_is_input(v)) {
144 qapi_free_RockerPort(*obj);
145 *obj = NULL;
146 }
147out:
148 error_propagate(errp, err);
149}
150
151void visit_type_q_obj_query_rocker_ports_arg_members(Visitor *v, q_obj_query_rocker_ports_arg *obj, Error **errp)
152{
153 Error *err = NULL;
154
155 visit_type_str(v, "name", &obj->name, &err);
156 if (err) {
157 goto out;
158 }
159
160out:
161 error_propagate(errp, err);
162}
163
164void visit_type_RockerPortList(Visitor *v, const char *name, RockerPortList **obj, Error **errp)
165{
166 Error *err = NULL;
167 RockerPortList *tail;
168 size_t size = sizeof(**obj);
169
170 visit_start_list(v, name, (GenericList **)obj, size, &err);
171 if (err) {
172 goto out;
173 }
174
175 for (tail = *obj; tail;
176 tail = (RockerPortList *)visit_next_list(v, (GenericList *)tail, size)) {
177 visit_type_RockerPort(v, NULL, &tail->value, &err);
178 if (err) {
179 break;
180 }
181 }
182
183 if (!err) {
184 visit_check_list(v, &err);
185 }
186 visit_end_list(v, (void **)obj);
187 if (err && visit_is_input(v)) {
188 qapi_free_RockerPortList(*obj);
189 *obj = NULL;
190 }
191out:
192 error_propagate(errp, err);
193}
194
195void visit_type_RockerOfDpaFlowKey_members(Visitor *v, RockerOfDpaFlowKey *obj, Error **errp)
196{
197 Error *err = NULL;
198
199 visit_type_uint32(v, "priority", &obj->priority, &err);
200 if (err) {
201 goto out;
202 }
203 visit_type_uint32(v, "tbl-id", &obj->tbl_id, &err);
204 if (err) {
205 goto out;
206 }
207 if (visit_optional(v, "in-pport", &obj->has_in_pport)) {
208 visit_type_uint32(v, "in-pport", &obj->in_pport, &err);
209 if (err) {
210 goto out;
211 }
212 }
213 if (visit_optional(v, "tunnel-id", &obj->has_tunnel_id)) {
214 visit_type_uint32(v, "tunnel-id", &obj->tunnel_id, &err);
215 if (err) {
216 goto out;
217 }
218 }
219 if (visit_optional(v, "vlan-id", &obj->has_vlan_id)) {
220 visit_type_uint16(v, "vlan-id", &obj->vlan_id, &err);
221 if (err) {
222 goto out;
223 }
224 }
225 if (visit_optional(v, "eth-type", &obj->has_eth_type)) {
226 visit_type_uint16(v, "eth-type", &obj->eth_type, &err);
227 if (err) {
228 goto out;
229 }
230 }
231 if (visit_optional(v, "eth-src", &obj->has_eth_src)) {
232 visit_type_str(v, "eth-src", &obj->eth_src, &err);
233 if (err) {
234 goto out;
235 }
236 }
237 if (visit_optional(v, "eth-dst", &obj->has_eth_dst)) {
238 visit_type_str(v, "eth-dst", &obj->eth_dst, &err);
239 if (err) {
240 goto out;
241 }
242 }
243 if (visit_optional(v, "ip-proto", &obj->has_ip_proto)) {
244 visit_type_uint8(v, "ip-proto", &obj->ip_proto, &err);
245 if (err) {
246 goto out;
247 }
248 }
249 if (visit_optional(v, "ip-tos", &obj->has_ip_tos)) {
250 visit_type_uint8(v, "ip-tos", &obj->ip_tos, &err);
251 if (err) {
252 goto out;
253 }
254 }
255 if (visit_optional(v, "ip-dst", &obj->has_ip_dst)) {
256 visit_type_str(v, "ip-dst", &obj->ip_dst, &err);
257 if (err) {
258 goto out;
259 }
260 }
261
262out:
263 error_propagate(errp, err);
264}
265
266void visit_type_RockerOfDpaFlowKey(Visitor *v, const char *name, RockerOfDpaFlowKey **obj, Error **errp)
267{
268 Error *err = NULL;
269
270 visit_start_struct(v, name, (void **)obj, sizeof(RockerOfDpaFlowKey), &err);
271 if (err) {
272 goto out;
273 }
274 if (!*obj) {
275 goto out_obj;
276 }
277 visit_type_RockerOfDpaFlowKey_members(v, *obj, &err);
278 if (err) {
279 goto out_obj;
280 }
281 visit_check_struct(v, &err);
282out_obj:
283 visit_end_struct(v, (void **)obj);
284 if (err && visit_is_input(v)) {
285 qapi_free_RockerOfDpaFlowKey(*obj);
286 *obj = NULL;
287 }
288out:
289 error_propagate(errp, err);
290}
291
292void visit_type_RockerOfDpaFlowMask_members(Visitor *v, RockerOfDpaFlowMask *obj, Error **errp)
293{
294 Error *err = NULL;
295
296 if (visit_optional(v, "in-pport", &obj->has_in_pport)) {
297 visit_type_uint32(v, "in-pport", &obj->in_pport, &err);
298 if (err) {
299 goto out;
300 }
301 }
302 if (visit_optional(v, "tunnel-id", &obj->has_tunnel_id)) {
303 visit_type_uint32(v, "tunnel-id", &obj->tunnel_id, &err);
304 if (err) {
305 goto out;
306 }
307 }
308 if (visit_optional(v, "vlan-id", &obj->has_vlan_id)) {
309 visit_type_uint16(v, "vlan-id", &obj->vlan_id, &err);
310 if (err) {
311 goto out;
312 }
313 }
314 if (visit_optional(v, "eth-src", &obj->has_eth_src)) {
315 visit_type_str(v, "eth-src", &obj->eth_src, &err);
316 if (err) {
317 goto out;
318 }
319 }
320 if (visit_optional(v, "eth-dst", &obj->has_eth_dst)) {
321 visit_type_str(v, "eth-dst", &obj->eth_dst, &err);
322 if (err) {
323 goto out;
324 }
325 }
326 if (visit_optional(v, "ip-proto", &obj->has_ip_proto)) {
327 visit_type_uint8(v, "ip-proto", &obj->ip_proto, &err);
328 if (err) {
329 goto out;
330 }
331 }
332 if (visit_optional(v, "ip-tos", &obj->has_ip_tos)) {
333 visit_type_uint8(v, "ip-tos", &obj->ip_tos, &err);
334 if (err) {
335 goto out;
336 }
337 }
338
339out:
340 error_propagate(errp, err);
341}
342
343void visit_type_RockerOfDpaFlowMask(Visitor *v, const char *name, RockerOfDpaFlowMask **obj, Error **errp)
344{
345 Error *err = NULL;
346
347 visit_start_struct(v, name, (void **)obj, sizeof(RockerOfDpaFlowMask), &err);
348 if (err) {
349 goto out;
350 }
351 if (!*obj) {
352 goto out_obj;
353 }
354 visit_type_RockerOfDpaFlowMask_members(v, *obj, &err);
355 if (err) {
356 goto out_obj;
357 }
358 visit_check_struct(v, &err);
359out_obj:
360 visit_end_struct(v, (void **)obj);
361 if (err && visit_is_input(v)) {
362 qapi_free_RockerOfDpaFlowMask(*obj);
363 *obj = NULL;
364 }
365out:
366 error_propagate(errp, err);
367}
368
369void visit_type_RockerOfDpaFlowAction_members(Visitor *v, RockerOfDpaFlowAction *obj, Error **errp)
370{
371 Error *err = NULL;
372
373 if (visit_optional(v, "goto-tbl", &obj->has_goto_tbl)) {
374 visit_type_uint32(v, "goto-tbl", &obj->goto_tbl, &err);
375 if (err) {
376 goto out;
377 }
378 }
379 if (visit_optional(v, "group-id", &obj->has_group_id)) {
380 visit_type_uint32(v, "group-id", &obj->group_id, &err);
381 if (err) {
382 goto out;
383 }
384 }
385 if (visit_optional(v, "tunnel-lport", &obj->has_tunnel_lport)) {
386 visit_type_uint32(v, "tunnel-lport", &obj->tunnel_lport, &err);
387 if (err) {
388 goto out;
389 }
390 }
391 if (visit_optional(v, "vlan-id", &obj->has_vlan_id)) {
392 visit_type_uint16(v, "vlan-id", &obj->vlan_id, &err);
393 if (err) {
394 goto out;
395 }
396 }
397 if (visit_optional(v, "new-vlan-id", &obj->has_new_vlan_id)) {
398 visit_type_uint16(v, "new-vlan-id", &obj->new_vlan_id, &err);
399 if (err) {
400 goto out;
401 }
402 }
403 if (visit_optional(v, "out-pport", &obj->has_out_pport)) {
404 visit_type_uint32(v, "out-pport", &obj->out_pport, &err);
405 if (err) {
406 goto out;
407 }
408 }
409
410out:
411 error_propagate(errp, err);
412}
413
414void visit_type_RockerOfDpaFlowAction(Visitor *v, const char *name, RockerOfDpaFlowAction **obj, Error **errp)
415{
416 Error *err = NULL;
417
418 visit_start_struct(v, name, (void **)obj, sizeof(RockerOfDpaFlowAction), &err);
419 if (err) {
420 goto out;
421 }
422 if (!*obj) {
423 goto out_obj;
424 }
425 visit_type_RockerOfDpaFlowAction_members(v, *obj, &err);
426 if (err) {
427 goto out_obj;
428 }
429 visit_check_struct(v, &err);
430out_obj:
431 visit_end_struct(v, (void **)obj);
432 if (err && visit_is_input(v)) {
433 qapi_free_RockerOfDpaFlowAction(*obj);
434 *obj = NULL;
435 }
436out:
437 error_propagate(errp, err);
438}
439
440void visit_type_RockerOfDpaFlow_members(Visitor *v, RockerOfDpaFlow *obj, Error **errp)
441{
442 Error *err = NULL;
443
444 visit_type_uint64(v, "cookie", &obj->cookie, &err);
445 if (err) {
446 goto out;
447 }
448 visit_type_uint64(v, "hits", &obj->hits, &err);
449 if (err) {
450 goto out;
451 }
452 visit_type_RockerOfDpaFlowKey(v, "key", &obj->key, &err);
453 if (err) {
454 goto out;
455 }
456 visit_type_RockerOfDpaFlowMask(v, "mask", &obj->mask, &err);
457 if (err) {
458 goto out;
459 }
460 visit_type_RockerOfDpaFlowAction(v, "action", &obj->action, &err);
461 if (err) {
462 goto out;
463 }
464
465out:
466 error_propagate(errp, err);
467}
468
469void visit_type_RockerOfDpaFlow(Visitor *v, const char *name, RockerOfDpaFlow **obj, Error **errp)
470{
471 Error *err = NULL;
472
473 visit_start_struct(v, name, (void **)obj, sizeof(RockerOfDpaFlow), &err);
474 if (err) {
475 goto out;
476 }
477 if (!*obj) {
478 goto out_obj;
479 }
480 visit_type_RockerOfDpaFlow_members(v, *obj, &err);
481 if (err) {
482 goto out_obj;
483 }
484 visit_check_struct(v, &err);
485out_obj:
486 visit_end_struct(v, (void **)obj);
487 if (err && visit_is_input(v)) {
488 qapi_free_RockerOfDpaFlow(*obj);
489 *obj = NULL;
490 }
491out:
492 error_propagate(errp, err);
493}
494
495void visit_type_q_obj_query_rocker_of_dpa_flows_arg_members(Visitor *v, q_obj_query_rocker_of_dpa_flows_arg *obj, Error **errp)
496{
497 Error *err = NULL;
498
499 visit_type_str(v, "name", &obj->name, &err);
500 if (err) {
501 goto out;
502 }
503 if (visit_optional(v, "tbl-id", &obj->has_tbl_id)) {
504 visit_type_uint32(v, "tbl-id", &obj->tbl_id, &err);
505 if (err) {
506 goto out;
507 }
508 }
509
510out:
511 error_propagate(errp, err);
512}
513
514void visit_type_RockerOfDpaFlowList(Visitor *v, const char *name, RockerOfDpaFlowList **obj, Error **errp)
515{
516 Error *err = NULL;
517 RockerOfDpaFlowList *tail;
518 size_t size = sizeof(**obj);
519
520 visit_start_list(v, name, (GenericList **)obj, size, &err);
521 if (err) {
522 goto out;
523 }
524
525 for (tail = *obj; tail;
526 tail = (RockerOfDpaFlowList *)visit_next_list(v, (GenericList *)tail, size)) {
527 visit_type_RockerOfDpaFlow(v, NULL, &tail->value, &err);
528 if (err) {
529 break;
530 }
531 }
532
533 if (!err) {
534 visit_check_list(v, &err);
535 }
536 visit_end_list(v, (void **)obj);
537 if (err && visit_is_input(v)) {
538 qapi_free_RockerOfDpaFlowList(*obj);
539 *obj = NULL;
540 }
541out:
542 error_propagate(errp, err);
543}
544
545void visit_type_RockerOfDpaGroup_members(Visitor *v, RockerOfDpaGroup *obj, Error **errp)
546{
547 Error *err = NULL;
548
549 visit_type_uint32(v, "id", &obj->id, &err);
550 if (err) {
551 goto out;
552 }
553 visit_type_uint8(v, "type", &obj->type, &err);
554 if (err) {
555 goto out;
556 }
557 if (visit_optional(v, "vlan-id", &obj->has_vlan_id)) {
558 visit_type_uint16(v, "vlan-id", &obj->vlan_id, &err);
559 if (err) {
560 goto out;
561 }
562 }
563 if (visit_optional(v, "pport", &obj->has_pport)) {
564 visit_type_uint32(v, "pport", &obj->pport, &err);
565 if (err) {
566 goto out;
567 }
568 }
569 if (visit_optional(v, "index", &obj->has_index)) {
570 visit_type_uint32(v, "index", &obj->index, &err);
571 if (err) {
572 goto out;
573 }
574 }
575 if (visit_optional(v, "out-pport", &obj->has_out_pport)) {
576 visit_type_uint32(v, "out-pport", &obj->out_pport, &err);
577 if (err) {
578 goto out;
579 }
580 }
581 if (visit_optional(v, "group-id", &obj->has_group_id)) {
582 visit_type_uint32(v, "group-id", &obj->group_id, &err);
583 if (err) {
584 goto out;
585 }
586 }
587 if (visit_optional(v, "set-vlan-id", &obj->has_set_vlan_id)) {
588 visit_type_uint16(v, "set-vlan-id", &obj->set_vlan_id, &err);
589 if (err) {
590 goto out;
591 }
592 }
593 if (visit_optional(v, "pop-vlan", &obj->has_pop_vlan)) {
594 visit_type_uint8(v, "pop-vlan", &obj->pop_vlan, &err);
595 if (err) {
596 goto out;
597 }
598 }
599 if (visit_optional(v, "group-ids", &obj->has_group_ids)) {
600 visit_type_uint32List(v, "group-ids", &obj->group_ids, &err);
601 if (err) {
602 goto out;
603 }
604 }
605 if (visit_optional(v, "set-eth-src", &obj->has_set_eth_src)) {
606 visit_type_str(v, "set-eth-src", &obj->set_eth_src, &err);
607 if (err) {
608 goto out;
609 }
610 }
611 if (visit_optional(v, "set-eth-dst", &obj->has_set_eth_dst)) {
612 visit_type_str(v, "set-eth-dst", &obj->set_eth_dst, &err);
613 if (err) {
614 goto out;
615 }
616 }
617 if (visit_optional(v, "ttl-check", &obj->has_ttl_check)) {
618 visit_type_uint8(v, "ttl-check", &obj->ttl_check, &err);
619 if (err) {
620 goto out;
621 }
622 }
623
624out:
625 error_propagate(errp, err);
626}
627
628void visit_type_RockerOfDpaGroup(Visitor *v, const char *name, RockerOfDpaGroup **obj, Error **errp)
629{
630 Error *err = NULL;
631
632 visit_start_struct(v, name, (void **)obj, sizeof(RockerOfDpaGroup), &err);
633 if (err) {
634 goto out;
635 }
636 if (!*obj) {
637 goto out_obj;
638 }
639 visit_type_RockerOfDpaGroup_members(v, *obj, &err);
640 if (err) {
641 goto out_obj;
642 }
643 visit_check_struct(v, &err);
644out_obj:
645 visit_end_struct(v, (void **)obj);
646 if (err && visit_is_input(v)) {
647 qapi_free_RockerOfDpaGroup(*obj);
648 *obj = NULL;
649 }
650out:
651 error_propagate(errp, err);
652}
653
654void visit_type_q_obj_query_rocker_of_dpa_groups_arg_members(Visitor *v, q_obj_query_rocker_of_dpa_groups_arg *obj, Error **errp)
655{
656 Error *err = NULL;
657
658 visit_type_str(v, "name", &obj->name, &err);
659 if (err) {
660 goto out;
661 }
662 if (visit_optional(v, "type", &obj->has_type)) {
663 visit_type_uint8(v, "type", &obj->type, &err);
664 if (err) {
665 goto out;
666 }
667 }
668
669out:
670 error_propagate(errp, err);
671}
672
673void visit_type_RockerOfDpaGroupList(Visitor *v, const char *name, RockerOfDpaGroupList **obj, Error **errp)
674{
675 Error *err = NULL;
676 RockerOfDpaGroupList *tail;
677 size_t size = sizeof(**obj);
678
679 visit_start_list(v, name, (GenericList **)obj, size, &err);
680 if (err) {
681 goto out;
682 }
683
684 for (tail = *obj; tail;
685 tail = (RockerOfDpaGroupList *)visit_next_list(v, (GenericList *)tail, size)) {
686 visit_type_RockerOfDpaGroup(v, NULL, &tail->value, &err);
687 if (err) {
688 break;
689 }
690 }
691
692 if (!err) {
693 visit_check_list(v, &err);
694 }
695 visit_end_list(v, (void **)obj);
696 if (err && visit_is_input(v)) {
697 qapi_free_RockerOfDpaGroupList(*obj);
698 *obj = NULL;
699 }
700out:
701 error_propagate(errp, err);
702}
703
704/* Dummy declaration to prevent empty .o file */
705char qapi_dummy_qapi_visit_rocker_c;
706