00001 #ifndef __STRUCT_UNION_H__ 00002 #define __STRUCT_UNION_H__ 00003 00004 /* 00005 Copyright (c) 2006-2010 Trevor Williams 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by the Free Software 00009 Foundation; either version 2 of the License, or (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 00012 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00013 See the GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License along with this program; 00016 if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00017 */ 00018 00026 #include "defines.h" 00027 00028 00030 su_member* struct_union_add_member_void( struct_union* su ); 00031 00033 su_member* struct_union_add_member_sig( struct_union* su, vsignal* sig ); 00034 00036 su_member* struct_union_add_member_typedef( struct_union* su, typedef_item* tdi ); 00037 00039 su_member* struct_union_add_member_enum( struct_union* su, enum_item* ei ); 00040 00042 su_member* struct_union_add_member_struct_union( struct_union* su, struct_union* sui ); 00043 00045 struct_union* struct_union_create( const char* name, /*@unused@*/ sig_range* range, int type, bool packed, bool is_signed, func_unit* funit ); 00046 00048 void struct_union_dealloc( struct_union* su ); 00049 00051 void struct_union_dealloc_list( func_unit* funit ); 00052 00053 #endif 00054