diff options
Diffstat (limited to 'src/analysis/prototype.h')
-rw-r--r-- | src/analysis/prototype.h | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/src/analysis/prototype.h b/src/analysis/prototype.h index 891f294..3fd822e 100644 --- a/src/analysis/prototype.h +++ b/src/analysis/prototype.h @@ -25,10 +25,12 @@ #define _ANALYSIS_PROTOTYPE_H +#include <glib-object.h> #include <stdint.h> #include "variable.h" +#include "../arch/archbase.h" @@ -42,36 +44,45 @@ typedef enum _RoutineType } RoutineType; -/* Variable représentant un prototype de routine */ -typedef struct _bin_routine bin_routine; +#define G_TYPE_BIN_ROUTINE g_bin_routine_get_type() +#define G_BIN_ROUTINE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), g_bin_routine_get_type(), GBinRoutine)) +#define G_IS_BIN_ROUTINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), g_bin_routine_get_type())) +#define G_BIN_ROUTINE_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE((inst), g_bin_routine_get_type(), GBinRoutineIface)) -/* Crée une représentation de routine. */ -bin_routine *create_binary_routine(void); +/* Représentation générique de routine (instance) */ +typedef struct _GBinRoutine GBinRoutine; + +/* Représentation générique de routine (classe) */ +typedef struct _GBinRoutineClass GBinRoutineClass; + -/* Supprime une représentation de routine de la mémoire. */ -void delete_binary_routine(bin_routine *); +/* Indique le type définit pour une représentation de routine. */ +GType g_bin_routine_get_type(void); + +/* Crée une représentation de routine. */ +GBinRoutine *g_binary_routine_new(void); /* Définit la position physique / en mémoire d'une routine. */ -void set_binary_routine_offset(bin_routine *, uint64_t); +void g_binary_routine_set_address(GBinRoutine *, vmpa_t); /* Fournit la position physique / en mémoire d'une routine. */ -uint64_t get_binary_routine_offset(const bin_routine *); +vmpa_t g_binary_routine_get_address(const GBinRoutine *); /* Définit le type d'une routine. */ -void set_binary_routine_type(bin_routine *, RoutineType); +void g_binary_routine_set_type(GBinRoutine *, RoutineType); /* Définit le nom humain d'une routine. */ -void set_binary_routine_name(bin_routine *, char *); +void g_binary_routine_set_name(GBinRoutine *, char *); /* Définit le type de retour d'une routine. */ -void set_binary_routine_return_type(bin_routine *, variable *); +void g_binary_routine_set_return_type(GBinRoutine *, variable *); /* Ajoute un argument à une routine. */ -void add_arg_to_binary_routine(bin_routine *, variable *); +void g_binary_routine_add_arg(GBinRoutine *, variable *); /* Décrit le prototype de la routine sous forme de caractères. */ -char *routine_to_string(const bin_routine *); +char *g_binary_routine_to_string(const GBinRoutine *); |