X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=include%2Flibfirm%2Firio.h;h=1e38ad981f043188f340741915b596e3aab5af8b;hb=fef8dc3eff6468d7d65485af8e1ac9884c504e1a;hp=ecf232e8b4b40c4c6febe940de705d091f015630;hpb=4692a0c6cc57c15bc480fb09e85fdd48dd860d46;p=libfirm diff --git a/include/libfirm/irio.h b/include/libfirm/irio.h index ecf232e8b..1e38ad981 100644 --- a/include/libfirm/irio.h +++ b/include/libfirm/irio.h @@ -19,9 +19,8 @@ /** * @file - * @brief Import/export textual representation of firm. + * @brief Input/Output textual representation of firm. * @author Moritz Kroll - * @version $Id$ */ #ifndef FIRM_IR_IRIO_H #define FIRM_IR_IRIO_H @@ -29,33 +28,46 @@ #include #include "firm_types.h" +#include "begin.h" + +/** + * @defgroup irio Input and Output + * @note The file format is not considered stable yet. So expect + * incompatibilities between file formats of different libfirm versions. + * @{ + */ /** * Exports the whole irp to the given file in a textual form. + * Exports all types, all ir graphs, and the constant graph. * * @param filename the name of the resulting file - * - * Exports all types, all ir graphs, and the constant graph. + * @return 0 if no errors occured, other values in case of errors */ -void ir_export(const char *filename); +FIRM_API int ir_export(const char *filename); /** - * Exports the given ir graph to the given file in a textual form. - * - * @param irg the ir graph - * @param filename the name of the resulting file - * - * Exports the type graph used by the given graph and the graph itself. + * same as ir_export but writes to a FILE* + * @note As with any FILE* errors are indicated by ferror(output) */ -void ir_export_irg(ir_graph *irg, const char *filename); +FIRM_API void ir_export_file(FILE *output); /** * Imports the data stored in the given file. + * Imports any type graphs and ir graphs contained in the file. * * @param filename the name of the file - * - * Imports any type graphs and ir graphs contained in the file. + * @returns 0 if no errors occured, other values in case of errors + */ +FIRM_API int ir_import(const char *filename); + +/** + * same as ir_import but imports from a FILE* */ -void ir_import(const char *filename); +FIRM_API int ir_import_file(FILE *input, const char *inputname); + +/** @} */ + +#include "end.h" #endif