X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Firio.h;h=0fe4ee5864d7fbafc413e399952aec315ad15176;hb=29fff22a0aac95ec7acfe76c862b93839acf9a0a;hp=ecf232e8b4b40c4c6febe940de705d091f015630;hpb=4692a0c6cc57c15bc480fb09e85fdd48dd860d46;p=libfirm diff --git a/include/libfirm/irio.h b/include/libfirm/irio.h index ecf232e8b..0fe4ee586 100644 --- a/include/libfirm/irio.h +++ b/include/libfirm/irio.h @@ -22,6 +22,9 @@ * @brief Import/export textual representation of firm. * @author Moritz Kroll * @version $Id$ + * + * Note: The file format is not considered stable yet. So expect + * incompatibilities between file formats of different libfirm versions. */ #ifndef FIRM_IR_IRIO_H #define FIRM_IR_IRIO_H @@ -29,6 +32,7 @@ #include #include "firm_types.h" +#include "begin.h" /** * Exports the whole irp to the given file in a textual form. @@ -37,17 +41,24 @@ * * Exports all types, all ir graphs, and the constant graph. */ -void ir_export(const char *filename); +FIRM_API void ir_export(const char *filename); /** - * Exports the given ir graph to the given file in a textual form. + * same as ir_export but writes to a FILE* + */ +FIRM_API void ir_export_file(FILE *output, const char *outputname); + +/** + * Write the given ir graph to a stream in a textual format * - * @param irg the ir graph - * @param filename the name of the resulting file + * @param irg the ir graph + * @param output output stream the irg is written to + * @param outputname a name for the output stream (used for error messages) * * Exports the type graph used by the given graph and the graph itself. */ -void ir_export_irg(ir_graph *irg, const char *filename); +FIRM_API void ir_export_irg(ir_graph *irg, FILE *output, + const char *outputname); /** * Imports the data stored in the given file. @@ -56,6 +67,13 @@ void ir_export_irg(ir_graph *irg, const char *filename); * * Imports any type graphs and ir graphs contained in the file. */ -void ir_import(const char *filename); +FIRM_API void ir_import(const char *filename); + +/** + * same as ir_import but imports from a FILE* + */ +FIRM_API void ir_import_file(FILE *input, const char *inputname); + +#include "end.h" #endif