Reviewed-by: Anthony Liguori <aligu...@us.ibm.com> Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> --- qapi/Makefile.objs | 1 + qapi/misc-qapi-visit.c | 37 +++++++++++++++++++++++++++++++++++++ qapi/misc-qapi-visit.h | 16 ++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 qapi/misc-qapi-visit.c create mode 100644 qapi/misc-qapi-visit.h
diff --git a/qapi/Makefile.objs b/qapi/Makefile.objs index 5f5846e..7604b52 100644 --- a/qapi/Makefile.objs +++ b/qapi/Makefile.objs @@ -1,3 +1,4 @@ qapi-obj-y = qapi-visit-core.o qapi-dealloc-visitor.o qmp-input-visitor.o qapi-obj-y += qmp-output-visitor.o qmp-registry.o qmp-dispatch.o qapi-obj-y += string-input-visitor.o string-output-visitor.o opts-visitor.o +qapi-obj-y += misc-qapi-visit.o diff --git a/qapi/misc-qapi-visit.c b/qapi/misc-qapi-visit.c new file mode 100644 index 0000000..c3e41e3 --- /dev/null +++ b/qapi/misc-qapi-visit.c @@ -0,0 +1,37 @@ +/* + * Useful visitor type implementations for QAPI users + * that we don't have any other logical place to stick + * + * Copyright IBM, Corp. 2012 + * + * Authors: + * Michael Roth <mdr...@us.ibm.com> + * + * This work is licensed under the terms of the GNU GPLv2 or later. + * See the COPYING file in the top-level directory. + * + */ +#include <time.h> +#include "qapi/qapi-visit-core.h" +#include "qapi/misc-qapi-visit.h" +#include "int128.h" + +void visit_type_tm(Visitor *v, struct tm *obj, const char *name, Error **errp) +{ + visit_start_struct(v, NULL, "struct tm", name, 0, errp); + visit_type_int32(v, &obj->tm_year, "tm_year", errp); + visit_type_int32(v, &obj->tm_mon, "tm_mon", errp); + visit_type_int32(v, &obj->tm_mday, "tm_mday", errp); + visit_type_int32(v, &obj->tm_hour, "tm_hour", errp); + visit_type_int32(v, &obj->tm_min, "tm_min", errp); + visit_type_int32(v, &obj->tm_sec, "tm_sec", errp); + visit_end_struct(v, errp); +} + +void visit_type_Int128(Visitor *v, Int128 **obj, const char *name, Error **errp) +{ + visit_start_struct(v, NULL, "Int128", name, sizeof(Int128), errp); + visit_type_uint64(v, &(*obj)->lo, "lo", errp); + visit_type_int64(v, &(*obj)->hi, "hi", errp); + visit_end_struct(v, errp); +} diff --git a/qapi/misc-qapi-visit.h b/qapi/misc-qapi-visit.h new file mode 100644 index 0000000..fa4ff9e --- /dev/null +++ b/qapi/misc-qapi-visit.h @@ -0,0 +1,16 @@ +/* + * Useful visitor type declarations for QAPI users + * + * Copyright IBM, Corp. 2012 + * + * Authors: + * Michael Roth <mdr...@us.ibm.com> + * + * This work is licensed under the terms of the GNU GPLv2 or later. + * See the COPYING file in the top-level directory. + * + */ +#include "int128.h" + +void visit_type_tm(Visitor *m, struct tm *obj, const char *name, Error **errp); +void visit_type_Int128(Visitor *v, Int128 **obj, const char *name, Error **errp); -- 1.7.9.5