diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2009-06-01 11:37:31 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2009-06-01 11:37:31 (GMT) |
commit | 1b8152d6f95b03f81aa6a4043c23a45a9f74c418 (patch) | |
tree | a7b625acaee0b9584f3b2b6aa49bd507b652bd5c /src/analysis/prototype.h | |
parent | 8724afdc73e0ddad86f46de1a3fbe0254575a76e (diff) |
Changed the old bin_routine structure to a GBinRoutine GObject.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@68 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
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 *); |