00001 /* -*- Mode: objc; c-basic-offset: 2; tab-width: 2 indent-tabs-mode: nil -*- */ 00002 /* vim: set filetype=objc ts=2 sw=2 expandtab: */ 00003 00004 /* 00005 * Copyright (C) 2007 Neil Dantam 00006 * 2007 Jeff Seibert 00007 * 00008 * This program is free software: you can redistribute it and/or modify it 00009 * under the terms of the GNU General Public License, verson 3 ONLY, as 00010 * published by the Free Software Foundation. 00011 * 00012 * This program is distributed in the hope that it will be useful, but WITHOUT 00013 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00014 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 00015 * more details. 00016 * 00017 * You should have received a copy of the GNU General Public License along with 00018 * this program. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00021 00029 #ifndef _MANGLE_H_ 00030 #define _MANGLE_H_ 00031 00035 char *mangle_instance_struct( char *classname); 00036 00041 char *mangle_instance_typedef( char *classname); 00042 00043 00044 00049 char *mangle_class_typedef( char *classname); 00054 char *mangle_class_struct( char *classname); 00055 00063 char *mangle_msg_function( char* classname, char *msg, int arg_cnt ); 00064 00071 char *mangle_msg_field( char *msg, int arg_cnt ); 00072 00073 00078 char *mangle_type_get_func( char* classname ); 00079 00084 char *mangle_class_init_function( char* classname ); 00085 00086 #endif