xref: /openbmc/qemu/include/qapi/forward-visitor.h (revision 1d6f147f)
1*18fa3ebcSPaolo Bonzini /*
2*18fa3ebcSPaolo Bonzini  * Forwarding visitor
3*18fa3ebcSPaolo Bonzini  *
4*18fa3ebcSPaolo Bonzini  * Copyright Red Hat, Inc. 2021
5*18fa3ebcSPaolo Bonzini  *
6*18fa3ebcSPaolo Bonzini  * Author: Paolo Bonzini <pbonzini@redhat.com>
7*18fa3ebcSPaolo Bonzini  *
8*18fa3ebcSPaolo Bonzini  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
9*18fa3ebcSPaolo Bonzini  * See the COPYING.LIB file in the top-level directory.
10*18fa3ebcSPaolo Bonzini  *
11*18fa3ebcSPaolo Bonzini  */
12*18fa3ebcSPaolo Bonzini 
13*18fa3ebcSPaolo Bonzini #ifndef FORWARD_VISITOR_H
14*18fa3ebcSPaolo Bonzini #define FORWARD_VISITOR_H
15*18fa3ebcSPaolo Bonzini 
16*18fa3ebcSPaolo Bonzini #include "qapi/visitor.h"
17*18fa3ebcSPaolo Bonzini 
18*18fa3ebcSPaolo Bonzini typedef struct ForwardFieldVisitor ForwardFieldVisitor;
19*18fa3ebcSPaolo Bonzini 
20*18fa3ebcSPaolo Bonzini /*
21*18fa3ebcSPaolo Bonzini  * The forwarding visitor only expects a single name, @from, to be passed for
22*18fa3ebcSPaolo Bonzini  * toplevel fields.  It is converted to @to and forwarded to the @target visitor.
23*18fa3ebcSPaolo Bonzini  * Calls within a struct are forwarded without changing the name.
24*18fa3ebcSPaolo Bonzini  */
25*18fa3ebcSPaolo Bonzini Visitor *visitor_forward_field(Visitor *target, const char *from, const char *to);
26*18fa3ebcSPaolo Bonzini 
27*18fa3ebcSPaolo Bonzini #endif
28