libFirm 1.20
|
00001 /* 00002 * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. 00003 * 00004 * This file is part of libFirm. 00005 * 00006 * This file may be distributed and/or modified under the terms of the 00007 * GNU General Public License version 2 as published by the Free Software 00008 * Foundation and appearing in the file LICENSE.GPL included in the 00009 * packaging of this file. 00010 * 00011 * Licensees holding valid libFirm Professional Edition licenses may use 00012 * this file in accordance with the libFirm Commercial License. 00013 * Agreement provided with the Software. 00014 * 00015 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00016 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00017 * PURPOSE. 00018 */ 00019 00025 #ifndef FIRM_COMMON_FIRM_COMMON_H 00026 #define FIRM_COMMON_FIRM_COMMON_H 00027 00028 #include "firm_types.h" 00029 #include "begin.h" 00030 00034 FIRM_API void ir_init(void); 00035 00039 FIRM_API void ir_finish(void); 00040 00042 FIRM_API unsigned ir_get_version_major(void); 00044 FIRM_API unsigned ir_get_version_minor(void); 00046 FIRM_API const char *ir_get_version_revision(void); 00048 FIRM_API const char *ir_get_version_build(void); 00049 00057 typedef enum { 00058 k_BAD = 0, 00059 k_entity, 00060 k_type, 00061 k_ir_graph, 00062 k_ir_node, 00063 k_ir_mode, 00064 k_ir_op, 00065 k_tarval, 00066 k_ir_loop, 00067 k_ir_compound_graph_path, 00068 k_ir_extblk, 00069 k_ir_prog, 00070 k_ir_graph_pass, 00071 k_ir_prog_pass, 00072 k_ir_graph_pass_mgr, 00073 k_ir_prog_pass_mgr, 00074 k_ir_max 00075 } firm_kind; 00076 00082 FIRM_API firm_kind get_kind(const void *firm_thing); 00083 00084 #include "end.h" 00085 00086 #endif