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 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