decode.h File Reference


Detailed Description

Header for decoding things (numbers, dates, binary, .

..)

Definition in file decode.h.

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  date_and_time_t
 A human struct to store a date with a time. More...

Typedefs

typedef gchar *(* DecodeFunc )(guchar *)
typedef gchar *(* DecodeDateFunc )(guchar *, date_and_time_t *mydate)

Functions

gchar * decode_8bits_unsigned (guchar *data)
 general purpose of this function is to take a 1 byte data stream and convert it as if it is an 8 bits unsigned number
gchar * decode_8bits_signed (guchar *data)
 General purpose of this function is to take a 1 byte data stream and convert it as if it is an 8 bits signed number.
gchar * decode_16bits_signed (guchar *data)
 general purpose of this function is to take a 2 byte data stream and convert it as if it is a 16 bits signed number
gchar * decode_16bits_unsigned (guchar *data)
 general purpose of this function is to take a 2 byte data stream and convert it as if it is a 16 bits unsigned number
gchar * decode_32bits_signed (guchar *data)
 general purpose of this function is to take a 4 byte data stream and convert it as if it is a 32 bits signed number
gchar * decode_32bits_unsigned (guchar *data)
 general purpose of this function is to take a 4 byte data stream and convert it as if it is a 32 bits unsigned number
gchar * decode_64bits_signed (guchar *data)
 general purpose of this function is to take a 8 byte data stream and convert it as if it is a 64 bits signed number
gchar * decode_64bits_unsigned (guchar *data)
 general purpose of this function is to take a 8 byte data stream and convert it as if it is a 64 bits unsigned number
gchar * decode_to_bits (guchar *data)
 decodes the stream represented by *data (one byte) to a string containing eight 0 or 1 (Little Endian style)
gchar * decode_dos_date (guchar *data, date_and_time_t *mydate)
 general purpose of this function is to take a 4 byte data stream and convert it as if it is a dos date.
gchar * decode_filetime_date (guchar *data, date_and_time_t *mydate)
 general purpose of this function is to take a 8 byte data stream and convert it as if it is a filetime date.
gchar * decode_C_date (guchar *data, date_and_time_t *mydate)
 general purpose of this function is to take a 4 byte data stream and convert it as if it is a C date.
gchar * decode_HFS_date (guchar *data, date_and_time_t *mydate)
 general purpose of this function is to take a 4 byte data stream and convert it as if it is a HFS date.
gchar * decode_packed_BCD (guchar *data)
 Decode one byte as a Packed BCD (Binary Coded Decimal) and return a gchar* that may be freed when no longer needed.
gboolean swap_bytes (guchar *to_swap, guint first, guint last)
 Swap bytes from the buffer to_swap.
void reverse_byte_order (guchar *to_reverse)
 Reverse the byte order LSB -> MSB in MSB -> LSB 12345678 in 87654321.


Typedef Documentation

typedef gchar*(* DecodeDateFunc)(guchar *, date_and_time_t *mydate)

Definition at line 48 of file decode.h.

typedef gchar*(* DecodeFunc)(guchar *)

Definition at line 47 of file decode.h.


Function Documentation

gchar* decode_16bits_signed ( guchar *  data  ) 

general purpose of this function is to take a 2 byte data stream and convert it as if it is a 16 bits signed number

Parameters:
data : 2 guchars
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 95 of file decode.c.

Referenced by refresh_data_interpretor_window().

Here is the caller graph for this function:

gchar* decode_16bits_unsigned ( guchar *  data  ) 

general purpose of this function is to take a 2 byte data stream and convert it as if it is a 16 bits unsigned number

Parameters:
data : 2 guchars
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 118 of file decode.c.

Referenced by refresh_data_interpretor_window().

Here is the caller graph for this function:

gchar* decode_32bits_signed ( guchar *  data  ) 

general purpose of this function is to take a 4 byte data stream and convert it as if it is a 32 bits signed number

Parameters:
data : 4 guchars
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 141 of file decode.c.

Referenced by refresh_data_interpretor_window().

Here is the caller graph for this function:

gchar* decode_32bits_unsigned ( guchar *  data  ) 

general purpose of this function is to take a 4 byte data stream and convert it as if it is a 32 bits unsigned number

Parameters:
data : 4 guchars
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 164 of file decode.c.

Referenced by refresh_data_interpretor_window().

Here is the caller graph for this function:

gchar* decode_64bits_signed ( guchar *  data  ) 

general purpose of this function is to take a 8 byte data stream and convert it as if it is a 64 bits signed number

Parameters:
data : 8 guchars
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 186 of file decode.c.

Referenced by refresh_data_interpretor_window().

Here is the caller graph for this function:

gchar* decode_64bits_unsigned ( guchar *  data  ) 

general purpose of this function is to take a 8 byte data stream and convert it as if it is a 64 bits unsigned number

Parameters:
data : 8 guchars
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 209 of file decode.c.

Referenced by refresh_data_interpretor_window().

Here is the caller graph for this function:

gchar* decode_8bits_signed ( guchar *  data  ) 

General purpose of this function is to take a 1 byte data stream and convert it as if it is an 8 bits signed number.

Parameters:
data : 1 guchar
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 48 of file decode.c.

Referenced by refresh_data_interpretor_window().

Here is the caller graph for this function:

gchar* decode_8bits_unsigned ( guchar *  data  ) 

general purpose of this function is to take a 1 byte data stream and convert it as if it is an 8 bits unsigned number

Parameters:
data : 1 guchar
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 71 of file decode.c.

Referenced by refresh_data_interpretor_window().

Here is the caller graph for this function:

gchar* decode_C_date ( guchar *  data,
date_and_time_t mydate 
)

general purpose of this function is to take a 4 byte data stream and convert it as if it is a C date.

If it is not, the result may be funny ! Counting seconds from 01/01/1970

Parameters:
data : 4 guchars
[out] mydate : date_and_time_t * structure that contain the resulting date
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 561 of file decode.c.

References date_printf(), and make_date_and_time().

Referenced by refresh_data_interpretor_window().

Here is the call graph for this function:

Here is the caller graph for this function:

gchar* decode_dos_date ( guchar *  data,
date_and_time_t mydate 
)

general purpose of this function is to take a 4 byte data stream and convert it as if it is a dos date.

If it is not, the result may be funny !

Parameters:
data : 4 guchars
[out] mydate : date_and_time_t * structure that contain the resulting date
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 478 of file decode.c.

References date_printf(), date_and_time_t::day, date_and_time_t::hour, date_and_time_t::minutes, date_and_time_t::month, date_and_time_t::seconds, and date_and_time_t::year.

Referenced by refresh_data_interpretor_window().

Here is the call graph for this function:

Here is the caller graph for this function:

gchar* decode_filetime_date ( guchar *  data,
date_and_time_t mydate 
)

general purpose of this function is to take a 8 byte data stream and convert it as if it is a filetime date.

If it is not, the result may be funny ! Counting 100th of nanoseconds from 01/01/1601

Parameters:
data : 8 guchars
[out] mydate : date_and_time_t * structure that contain the resulting date
Returns:
returns a gchar * that may be freed when no longer needed

Definition at line 538 of file decode.c.

References date_printf(), and make_date_and_time().

Referenced by refresh_data_interpretor_window().

Here is the call graph for this function:

Here is the caller graph for this function:

gchar* decode_HFS_date ( guchar *  data,
date_and_time_t mydate 
)

general purpose of this function is to take a 4 byte data stream and convert it as if it is a HFS date.

If it is not, the result may be funny ! Counting seconds 01/01/1904

Parameters:
data : 4 guchars
[out] mydate : date_and_time_t * structure that contain the resulting date
Returns:
returns a gchar* that may be freed when no longer needed

Definition at line 583 of file decode.c.

References date_printf(), and make_date_and_time().

Referenced by refresh_data_interpretor_window().

Here is the call graph for this function:

Here is the caller graph for this function:

gchar* decode_packed_BCD ( guchar *  data  ) 

Decode one byte as a Packed BCD (Binary Coded Decimal) and return a gchar* that may be freed when no longer needed.

Parameters:
data : stream to decode as 1 guchar
Returns:
returns a gchar * that contain the packed BCD interpretation

Definition at line 704 of file decode.c.

References transform_bcd_to_human().

Referenced by refresh_data_interpretor_window().

Here is the call graph for this function:

Here is the caller graph for this function:

gchar* decode_to_bits ( guchar *  data  ) 

decodes the stream represented by *data (one byte) to a string containing eight 0 or 1 (Little Endian style)

Parameters:
data : 1 guchar
Returns:
8 gchars that are either "1" or "0", the string may be freed when no longer needed

Definition at line 606 of file decode.c.

Referenced by refresh_data_interpretor_window().

Here is the caller graph for this function:

void reverse_byte_order ( guchar *  to_reverse  ) 

Reverse the byte order LSB -> MSB in MSB -> LSB 12345678 in 87654321.

Parameters:
[in,out] to_reverse : one guchar to be reversed

Definition at line 758 of file decode.c.

Referenced by change_endianness().

Here is the caller graph for this function:

gboolean swap_bytes ( guchar *  to_swap,
guint  first,
guint  last 
)

Swap bytes from the buffer to_swap.

Warning:
recursive function !! Call with first = 0 and last = last byte of buffer to swap
Parameters:
[in,out] to_swap : buffer to swap
first : first byte in the buffer to swap
last : last byte in the buffer to swap
Returns:
returns TRUE when first is >= to last and this end recursivity

Definition at line 735 of file decode.c.

References swap_bytes().

Referenced by change_endianness(), and swap_bytes().

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Sat Feb 14 11:44:18 2009 for Heraia by  doxygen 1.5.6