summaryrefslogtreecommitdiff
path: root/src/analysis/prototype.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2009-06-01 11:37:31 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2009-06-01 11:37:31 (GMT)
commit1b8152d6f95b03f81aa6a4043c23a45a9f74c418 (patch)
treea7b625acaee0b9584f3b2b6aa49bd507b652bd5c /src/analysis/prototype.h
parent8724afdc73e0ddad86f46de1a3fbe0254575a76e (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.h37
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 *);