/**********************************************************/ /* 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_driver_ctx * dctx, const struct amgc_unit_ctx * uctx, int subset, const struct amgc_layout * layout) { struct amgc_entity * aentity; for (aentity=uctx->entities->typedefs; aentity->entity; aentity++) if (aentity->reftype->kind == subset) if (amgc_output_typedef(dctx,uctx,aentity,layout) < 0) return -1; return 0; } int amgc_output_unit_entities( const struct amgc_driver_ctx * dctx, const struct amgc_unit_ctx * uctx, int kind, int subset, const struct amgc_layout * layout) { switch (kind) { case ENTITY_ENUM: return amgc_output_unit_enums(dctx,uctx,layout); case ENTITY_TYPEDEF: return output_typedefs(dctx,uctx,subset,layout); case ENTITY_STRUCT: return amgc_output_unit_structs(dctx,uctx,layout); case ENTITY_UNION: return amgc_output_unit_unions(dctx,uctx,layout); } return -1; }