An interface to the ghex library -> this adds an abstract layer. More...
#include <libheraia.h>
Go to the source code of this file.
Functions | |
doc_t * | heraia_hex_document_new (heraia_struct_t *main_struct, char *filename) |
Removes the old document if it exists and adds a new one from the filename 'filename'. | |
gchar * | heraia_hex_document_get_filename (Heraia_Document *hex_doc) |
Retrieves the filename of a document which ever it is ! | |
gchar * | doc_t_document_get_filename (doc_t *doc) |
Retrieves from a doc_t * document it's filename, which ever it is. | |
HERAIA_ERROR | heraia_hex_document_save (doc_t *current_doc) |
HERAIA_ERROR | heraia_hex_document_save_as (doc_t *current_doc, gchar *filename) |
Saves an opened and edited document to a new file. | |
static void | change_endianness (guint len, guint endianness, guchar *result) |
Deals with the endianness of 'len' bytes located in 'result' for BIG_ENDIAN we only swap bytes if we have two or more of them if we have only one byte, we reverse its order if endianness is MIDDLE_ENDIAN we swap only four or more bytes Here we might have funny things with len corresponding to 24 or 56 bits for example. | |
gboolean | ghex_memcpy (Heraia_Hex *gh, guint pos, guint len, guint endianness, guchar *result) |
Returns 'len' number of bytes located at 'pos' in the Heraia_Hex document and puts it in the result variable. | |
gboolean | ghex_get_data (GtkWidget *hex_widget, guint length, guint endianness, guchar *c) |
Gets the data from the hexwidget, a wrapper to the ghex_memcpy function. | |
guint64 | ghex_file_size (Heraia_Hex *gh) |
Returns the file size of an opened Heraia_Hex document. | |
guint64 | ghex_get_cursor_position (GtkWidget *hex_widget) |
Retrieves the cursor's position from the current hexwidget. | |
selection_t * | ghex_get_selection (GtkWidget *hex_widget) |
Retrieves the selection made (if any) in the hex widget. | |
doc_t * | new_doc_t (Heraia_Document *hex_doc, GtkWidget *hex_widget) |
Inits a doc_t structure. |
An interface to the ghex library -> this adds an abstract layer.
Definition in file ghex_heraia_interface.c.
static void change_endianness | ( | guint | len, | |
guint | endianness, | |||
guchar * | result | |||
) | [static] |
Deals with the endianness of 'len' bytes located in 'result' for BIG_ENDIAN we only swap bytes if we have two or more of them if we have only one byte, we reverse its order if endianness is MIDDLE_ENDIAN we swap only four or more bytes Here we might have funny things with len corresponding to 24 or 56 bits for example.
len | : len bytes to change endianness | |
endianness | : H_DI_BIG_ENDIAN or H_DI_MIDDLE_ENDIAN we consider that there is nothing to do with H_DI_LITTLE_ENDIAN | |
[in,out] | result | : contains the bytes to be swaped and at the end, contains the result. |
Definition at line 202 of file ghex_heraia_interface.c.
References H_DI_BIG_ENDIAN, H_DI_MIDDLE_ENDIAN, reverse_byte_order(), and swap_bytes().
Referenced by ghex_memcpy().
gchar* doc_t_document_get_filename | ( | doc_t * | doc | ) |
Retrieves from a doc_t * document it's filename, which ever it is.
doc | : an existing doc_t |
Definition at line 94 of file ghex_heraia_interface.c.
References heraia_hex_document_get_filename(), and doc_t::hex_doc.
Referenced by on_save_activate(), on_save_as_activate(), realize_some_numerical_stat(), select_a_file_to_save(), select_file_to_load(), set_notebook_tab_name(), and update_main_struct_name().
guint64 ghex_file_size | ( | Heraia_Hex * | gh | ) |
Returns the file size of an opened Heraia_Hex document.
gh | : the widget of a an opened Heraia_Hex document |
Definition at line 302 of file ghex_heraia_interface.c.
Referenced by ghex_memcpy(), populate_stats_histos(), and refresh_file_labels().
guint64 ghex_get_cursor_position | ( | GtkWidget * | hex_widget | ) |
Retrieves the cursor's position from the current hexwidget.
hex_widget | : the widget that displays the hex document |
Definition at line 320 of file ghex_heraia_interface.c.
Referenced by refresh_file_labels().
gboolean ghex_get_data | ( | GtkWidget * | hex_widget, | |
guint | length, | |||
guint | endianness, | |||
guchar * | c | |||
) |
Gets the data from the hexwidget, a wrapper to the ghex_memcpy function.
data_window | : data interpretor window structure | |
length | : can be anything but MUST be strictly less than the size allocated to *c | |
endianness | : H_DI_BIG_ENDIAN, H_DI_MIDDLE_ENDIAN or H_DI_LITTLE_ENDIAN | |
c | : a previously g_malloc'ed gchar * string that will contain copied bytes. |
Definition at line 279 of file ghex_heraia_interface.c.
References ghex_memcpy().
Referenced by interpret().
selection_t* ghex_get_selection | ( | GtkWidget * | hex_widget | ) |
Retrieves the selection made (if any) in the hex widget.
hex_widget | : the widget that displays the hex document |
Definition at line 340 of file ghex_heraia_interface.c.
References selection_t::end, and selection_t::start.
Referenced by refresh_file_labels().
gboolean ghex_memcpy | ( | Heraia_Hex * | gh, | |
guint | pos, | |||
guint | len, | |||
guint | endianness, | |||
guchar * | result | |||
) |
Returns 'len' number of bytes located at 'pos' in the Heraia_Hex document and puts it in the result variable.
gh | : A Heraia_Hex document. | |
pos | : position where we want to begin to copy bytes | |
len | : number of bytes we want to copy | |
endianness | : endianness we want to apply to the bytes we want to copy | |
[out] | result | : a previously g_malloc'ed gchar * string that will contain copied bytes. |
Definition at line 239 of file ghex_heraia_interface.c.
References change_endianness(), and ghex_file_size().
Referenced by ghex_get_data().
gchar* heraia_hex_document_get_filename | ( | Heraia_Document * | hex_doc | ) |
Retrieves the filename of a document which ever it is !
doc | : an Heraia_Document |
Definition at line 76 of file ghex_heraia_interface.c.
Referenced by doc_t_document_get_filename().
HERAIA_ERROR heraia_hex_document_new | ( | heraia_struct_t * | main_struct, | |
char * | filename | |||
) |
Removes the old document if it exists and adds a new one from the filename 'filename'.
main_struct | : main structure | |
filename | : a char * representing an existing file named "filename" |
Definition at line 39 of file ghex_heraia_interface.c.
References connect_cursor_moved_signal(), heraia_struct_t::documents, and new_doc_t().
Referenced by load_file_to_analyse().
HERAIA_ERROR heraia_hex_document_save | ( | doc_t * | current_doc | ) |
Definition at line 113 of file ghex_heraia_interface.c.
References HERAIA_FILE_ERROR, HERAIA_NOERR, and doc_t::hex_doc.
Referenced by on_save_activate().
HERAIA_ERROR heraia_hex_document_save_as | ( | doc_t * | current_doc, | |
gchar * | filename | |||
) |
Saves an opened and edited document to a new file.
current_doc | : current edited document (doc_t * structure) | |
filename | : the new filename where to save the file |
< to make libghex happy !
Definition at line 142 of file ghex_heraia_interface.c.
References HERAIA_FILE_ERROR, HERAIA_NOERR, and doc_t::hex_doc.
Referenced by on_save_as_activate().
doc_t* new_doc_t | ( | Heraia_Document * | hex_doc, | |
GtkWidget * | hex_widget | |||
) |
Inits a doc_t structure.
doc | : hex_document but encapsulated in Heraia_Document structure | |
hexwidget | : Widget to display an hexadecimal view of the file |
Definition at line 376 of file ghex_heraia_interface.c.
References doc_t::hex_doc, doc_t::hex_widget, and doc_t::modified.
Referenced by heraia_hex_document_new().