00001 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ 00002 /* 00003 data_interpretor.h 00004 heraia - an hexadecimal file editor and analyser based on ghex 00005 00006 (C) Copyright 2005 - 2007 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 * @file data_interpretor.h 00025 * Header file for the data interpretor 00026 */ 00027 00028 #ifndef _DATA_INTERPRETOR_H_ 00029 #define _DATA_INTERPRETOR_H_ 00030 00031 /** 00032 * @note 00033 * Naming : 00034 * H stands for Heraia 00035 * DI stands for Data_Interpretor 00036 * 00037 * @def H_DI_DISPLAYED 00038 * Says whether data_interpretor is displayed or not 00039 * @todo verify if this is still used somewhere ! 00040 * 00041 * @def H_DI_BIG_ENDIAN 00042 * Stands for big endian representation 00043 * 00044 * @def H_DI_MIDDLE_ENDIAN 00045 * Stands for middle endian representation (http://en.wikipedia.org/wiki/Endianness#Middle-endian) 00046 * 00047 * @def H_DI_LITTLE_ENDIAN 00048 * Stands for little endian representation (this is the default) 00049 */ 00050 #define H_DI_DISPLAYED FALSE /* By default the Data Interpretor Window is not displayed */ 00051 00052 /* Little Endian, Middle Endian and Big Endian in a reverse order ;) */ 00053 #define H_DI_BIG_ENDIAN 2 00054 #define H_DI_MIDDLE_ENDIAN 4 00055 #define H_DI_LITTLE_ENDIAN 8 00056 00057 extern void data_interpretor_init_interface(heraia_window_t *main_window); 00058 extern void refresh_data_interpretor_window(GtkWidget *hexwidget, gpointer data); 00059 00060 /** 00061 * Testing things 00062 */ 00063 extern void add_tab_in_data_interpretor(GtkNotebook *notebook, tab_t *tab); 00064 extern tab_t *add_new_tab_in_data_interpretor(GtkNotebook *notebook, guint index, gchar *label, guint num_cols, ...); 00065 extern void add_new_row_to_tab(tab_t *tab, decode_generic_t *row); 00066 00067 #endif /* _DATA_INTERPRETOR_H_ */