00001 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ 00002 /* 00003 data_type.h 00004 Window allowing the user to create or edit a new data type 00005 00006 (C) Copyright 2005 - 2008 Olivier Delhomme 00007 e-mail : heraia@delhomme.org 00008 URL : http://heraia.tuxfamily.org 00009 00010 This program is free software; you can redistribute it and/or modify 00011 it under the terms of the GNU General Public License as published by 00012 the Free Software Foundation; either version 2, or (at your option) 00013 any later version. 00014 00015 This program is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 GNU General Public License for more details. 00019 00020 You should have received a copy of the GNU General Public License 00021 along with this program; if not, write to the Free Software 00022 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00023 */ 00024 00025 #ifndef _DATA_TYPE_H_ 00026 #define _DATA_TYPE_H_ 00027 00032 #define DT_SPIN_MIN 1 00033 #define DT_SPIN_MAX 16 00034 #define DT_BOX_SPACING 4 00035 #define DT_BOX_PADDING 0 00036 00037 /*** Functions ***/ 00038 extern void refresh_hex_datas_entry(heraia_window_t *main_window); 00039 00040 extern void clear_data_type_widgets(heraia_window_t *main_window); 00041 extern void fill_data_type_widgets(heraia_window_t *main_window, data_type_t *a_data_type); 00042 00043 extern GList *is_data_type_name_already_used(GList *data_type_list, gchar *name); 00044 00045 /* Structure operations */ 00046 extern data_type_t *new_data_type(gchar *name, guint size); 00047 extern void free_data_type(data_type_t *a_data_type); 00048 extern data_type_t *copy_data_type_struct(heraia_window_t *main_window, data_type_t *a_data_type); 00049 00050 /* interface initialization and construction */ 00051 extern void data_type_init_interface(heraia_window_t *main_window); 00052 extern void show_data_type_window(heraia_window_t *main_window, data_type_t *a_data_type); 00053 extern void create_ud_data_interpretor_widgets(heraia_window_t *main_window, data_type_t *a_data_type); 00054 extern void refresh_all_ud_data_interpretor(heraia_window_t *main_window, guint endianness); 00055 00056 #endif /* _DATA_TYPE_H_ */