libFirm 1.20
libfirm/ident.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 
00026 #ifndef FIRM_IDENT_H
00027 #define FIRM_IDENT_H
00028 
00029 #include <stddef.h>
00030 #include "firm_types.h"
00031 #include "begin.h"
00032 
00048 FIRM_API ident *new_id_from_str(const char *str);
00049 
00059 FIRM_API ident *new_id_from_chars(const char *str, size_t len);
00060 
00070 FIRM_API const char *get_id_str(ident *id);
00071 
00078 FIRM_API size_t get_id_strlen(ident *id);
00079 
00087 FIRM_API int id_is_prefix(ident *prefix, ident *id);
00088 
00096 FIRM_API int id_is_suffix(ident *suffix, ident *id);
00097 
00105 FIRM_API int id_contains_char(ident *id, char c);
00106 
00111 FIRM_API ident *id_unique(const char *tag);
00112 
00116 FIRM_API ident *id_mangle_entity(const ir_entity *ent);
00117 
00119 FIRM_API ident *id_mangle_u(ident *first, ident* scnd);
00120 
00122 FIRM_API ident *id_mangle_dot(ident *first, ident* scnd);
00123 
00125 FIRM_API ident *id_mangle(ident *first, ident* scnd);
00126 
00128 FIRM_API ident *id_mangle3(const char *prefix, ident *middle,
00129                            const char *suffix);
00130 
00132 FIRM_API ident *id_decorate_win32_c_fkt(const ir_entity *ent, ident *id);
00133 
00136 #include "end.h"
00137 
00138 #endif