decode.h

Go to the documentation of this file.
00001 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
00002 /*
00003   decode.h
00004   Heraia's library decode.c
00005 
00006   (C) Copyright 2008 Sébastien Tricaud        e-mail : toady@gscore.org
00007   (C) Copyright 2008 - 2010 Olivier Delhomme  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 decode.h
00025  * Header for decoding things (numbers, dates, binary, ...)
00026  */
00027 #ifndef _LIBHERAIA_DECODE_H_
00028 #define _LIBHERAIA_DECODE_H_
00029 
00030 /*-- Decoding function --*/
00031 /* Numbers */
00032 extern gchar *decode_8bits_unsigned(guchar *data, gpointer data_struct);
00033 extern gchar *decode_8bits_signed(guchar *data, gpointer data_struct);
00034 extern gchar *decode_16bits_signed(guchar *data, gpointer data_struct);
00035 extern gchar *decode_16bits_unsigned(guchar *data, gpointer data_struct);
00036 extern gchar *decode_32bits_signed(guchar *data, gpointer data_struct);
00037 extern gchar *decode_32bits_unsigned(guchar *data, gpointer data_struct);
00038 extern gchar *decode_64bits_signed(guchar *data, gpointer data_struct);
00039 extern gchar *decode_64bits_unsigned(guchar *data, gpointer data_struct);
00040 
00041 /* Floats */
00042 extern gchar *decode_float_normal(guchar *data, gpointer data_struct);
00043 extern gchar *decode_float_scientific(guchar *data, gpointer data_struct);
00044 extern gchar *decode_double_normal(guchar *data, gpointer data_struct);
00045 extern gchar *decode_double_scientific(guchar *data, gpointer data_struct);
00046 
00047 /* bits */
00048 extern gchar *decode_to_bits(guchar *data, gpointer data_struct);
00049 
00050 /* dates */
00051 extern gchar *decode_dos_date(guchar *data, gpointer data_struct);
00052 extern gchar *decode_filetime_date(guchar *data, gpointer data_struct);
00053 extern gchar *decode_C_date(guchar *data, gpointer data_struct);
00054 extern gchar *decode_HFS_date(guchar *data, gpointer data_struct);
00055 
00056 /* bcd */
00057 extern gchar *decode_packed_BCD(guchar *data, gpointer data_struct);
00058 
00059 /*-- Non decoding functions --*/
00060 /* Utils */
00061 extern gboolean swap_bytes(guchar *to_swap, guint first, guint last);
00062 extern void reverse_byte_order(guchar *to_reverse);
00063 extern decode_parameters_t *new_decode_parameters_t(guint endianness, guint stream_size);
00064 extern decode_t * new_decode_t(DecodeFunc decode_func, GtkWidget *entry, const gchar *err_msg);
00065 extern decode_generic_t *new_decode_generic_t(const gchar *label, guint data_size, gboolean fixed_size, const gchar *err_msg, guint nb_cols, ...);
00066 
00067 #endif /* _LIBHERAIA_DECODE_H_ */
00068 
Generated on Tue Aug 10 18:29:02 2010 for Heraia by  doxygen 1.6.3