From 43b7a222c0944f84a077f0a58d9566530630def2 Mon Sep 17 00:00:00 2001 From: midipix Date: Fri, 8 Jan 2016 16:41:14 -0500 Subject: amgc_output_unit_entities(): initial implementation. --- src/output/amgc_output_entities.c | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/output/amgc_output_entities.c (limited to 'src/output') diff --git a/src/output/amgc_output_entities.c b/src/output/amgc_output_entities.c new file mode 100644 index 0000000..9d8d017 --- /dev/null +++ b/src/output/amgc_output_entities.c @@ -0,0 +1,46 @@ +/**********************************************************/ +/* apimagic: cparser-based API normalization utility */ +/* Copyright (C) 2015--2016 Z. Gilboa */ +/* Released under GPLv2 and GPLv3; see COPYING.APIMAGIC. */ +/**********************************************************/ + +#include + +#include +#include + +#include +#include "apimagic_driver_impl.h" + +static int output_typedefs( + const struct amgc_unit_ctx * uctx, + int subset, + const struct amgc_layout * layout, + FILE * fout) +{ + struct amgc_entity * aentity; + + for (aentity=uctx->entities->typedefs; aentity->entity; aentity++) + if (aentity->reftype->kind == subset) + if (amgc_output_typedef(uctx,aentity,layout,fout) < 0) + return -1; + return 0; +} + +int amgc_output_unit_entities( + const struct amgc_unit_ctx * uctx, + int kind, + int subset, + const struct amgc_layout * layout, + FILE * fout) +{ + switch (kind) { + case ENTITY_ENUM: + return amgc_output_unit_enums(uctx,layout,fout); + + case ENTITY_TYPEDEF: + return output_typedefs(uctx,subset,layout,fout); + } + + return -1; +} -- cgit v1.2.3