13
13
#ifndef QAPI_VISITOR_CORE_H
14
14
#define QAPI_VISITOR_CORE_H
16
#include "qapi/qmp/qobject.h"
16
17
#include "qapi/error.h"
17
18
#include <stdlib.h>
19
20
typedef struct GenericList
22
26
struct GenericList *next;
30
34
void visit_start_struct(Visitor *v, void **obj, const char *kind,
31
35
const char *name, size_t size, Error **errp);
32
36
void visit_end_struct(Visitor *v, Error **errp);
37
void visit_start_implicit_struct(Visitor *v, void **obj, size_t size,
39
void visit_end_implicit_struct(Visitor *v, Error **errp);
33
40
void visit_start_list(Visitor *v, const char *name, Error **errp);
34
41
GenericList *visit_next_list(Visitor *v, GenericList **list, Error **errp);
35
42
void visit_end_list(Visitor *v, Error **errp);
36
43
void visit_start_optional(Visitor *v, bool *present, const char *name,
38
45
void visit_end_optional(Visitor *v, Error **errp);
46
void visit_get_next_type(Visitor *v, int *obj, const int *qtypes,
47
const char *name, Error **errp);
39
48
void visit_type_enum(Visitor *v, int *obj, const char *strings[],
40
49
const char *kind, const char *name, Error **errp);
41
50
void visit_type_int(Visitor *v, int64_t *obj, const char *name, Error **errp);