libFirm 1.20
libfirm/firm_common.h
Go to the documentation of this file.
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