From aab97051192156fcb6e4bad483137cbde36de515 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Wed, 21 Sep 2016 23:35:27 +0200 Subject: Added weak symbols in the Python bindings in case of standalone usage. --- ChangeLog | 12 ++++ plugins/pychrysa/Makefile.am | 3 +- plugins/pychrysa/weak.c | 129 +++++++++++++++++++++++++++++++++++++++++++ plugins/pychrysa/weak.h | 50 +++++++++++++++++ src/gtkext/gtkstatusstack.c | 1 - 5 files changed, 193 insertions(+), 2 deletions(-) create mode 100644 plugins/pychrysa/weak.c create mode 100644 plugins/pychrysa/weak.h diff --git a/ChangeLog b/ChangeLog index 5750fb2..92a077a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 16-09-21 Cyrille Bagard + * plugins/pychrysa/Makefile.am: + Add the 'weak.[ch]' files to pychrysalide_la_SOURCES. + + * plugins/pychrysa/weak.c: + * plugins/pychrysa/weak.h: + New entries: add weak symbols in the Python bindings in case of standalone usage. + + * src/gtkext/gtkstatusstack.c: + Typo. + +16-09-21 Cyrille Bagard + * configure.ac: Remove the Makefile from the 'plugins/python/welcome' directory. diff --git a/plugins/pychrysa/Makefile.am b/plugins/pychrysa/Makefile.am index 9616542..7ab98fa 100644 --- a/plugins/pychrysa/Makefile.am +++ b/plugins/pychrysa/Makefile.am @@ -5,7 +5,8 @@ pychrysalide_la_SOURCES = \ helpers.h helpers.c \ plugin.h plugin.c \ pychrysa.h pychrysa.c \ - quirks.h quirks.c + quirks.h quirks.c \ + weak.h weak.c pychrysalide_la_LIBADD = \ analysis/libpychrysaanalysis.la \ diff --git a/plugins/pychrysa/weak.c b/plugins/pychrysa/weak.c new file mode 100644 index 0000000..d396fb3 --- /dev/null +++ b/plugins/pychrysa/weak.c @@ -0,0 +1,129 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * weak.c - définition de symboles qui n'ont pas leur place dans la version autonome + * + * Copyright (C) 2016 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * OpenIDA is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * OpenIDA is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +#include "weak.h" + + + +/****************************************************************************** +* * +* Paramètres : stack = barre de statut à actualiser. * +* msg = nouveau message de statut à copier. * +* max = taille de la plage à parcourir. * +* * +* Description : Démarre le suivi d'une nouvelle activité. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +activity_id_t gtk_status_stack_add_activity(GtkStatusStack *stack, const char *msg, unsigned long max) +{ + return ~0lu; + +} + + +/****************************************************************************** +* * +* Paramètres : stack = barre de statut à actualiser. * +* id = identifiant de l'activité à cibler. * +* extra = nouvelle échéance supplémentaire des traitements. * +* * +* Description : Etend la portée des travaux d'une nouvelle activité. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void gtk_status_stack_extend_activity(GtkStatusStack *stack, activity_id_t id, unsigned long extra) +{ + ; + +} + + +/****************************************************************************** +* * +* Paramètres : stack = barre de statut à actualiser. * +* id = identifiant de l'activité à cibler. * +* msg = nouveau message de statut à copier. * +* * +* Description : Actualise les informations concernant une activité. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void gtk_status_stack_update_activity(GtkStatusStack *stack, activity_id_t id, const char *msg) +{ + ; + +} + + +/****************************************************************************** +* * +* Paramètres : stack = barre de statut à actualiser. * +* id = identifiant de l'activité à cibler. * +* inc = nouvelle valeur pour une progression donnée. * +* * +* Description : Actualise la progression d'une activité. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void gtk_status_stack_update_activity_value(GtkStatusStack *stack, activity_id_t id, unsigned long inc) +{ + ; + +} + + +/****************************************************************************** +* * +* Paramètres : stack = barre de statut à actualiser. * +* * +* Description : Met fin au suivi d'une activité donnée. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void gtk_status_stack_remove_activity(GtkStatusStack *stack, activity_id_t id) +{ + ; + +} diff --git a/plugins/pychrysa/weak.h b/plugins/pychrysa/weak.h new file mode 100644 index 0000000..8e771ce --- /dev/null +++ b/plugins/pychrysa/weak.h @@ -0,0 +1,50 @@ + +/* Chrysalide - Outil d'analyse de fichiers binaires + * weak.h - prototypes pour la définition de symboles qui n'ont pas leur place dans la version autonome + * + * Copyright (C) 2016 Cyrille Bagard + * + * This file is part of Chrysalide. + * + * OpenIDA is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * OpenIDA is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +#ifndef _PLUGINS_PYCHRYSA_WEAK_H +#define _PLUGINS_PYCHRYSA_WEAK_H + + +#include + + + +/* Démarre le suivi d'une nouvelle activité. */ +activity_id_t gtk_status_stack_add_activity(GtkStatusStack *, const char *, unsigned long) __attribute__((weak)); + +/* Etend la portée des travaux d'une nouvelle activité. */ +void gtk_status_stack_extend_activity(GtkStatusStack *, activity_id_t, unsigned long) __attribute__((weak)); + +/* Actualise les informations concernant une activité. */ +void gtk_status_stack_update_activity(GtkStatusStack *, activity_id_t, const char *) __attribute__((weak)); + +/* Actualise la progression d'une activité. */ +void gtk_status_stack_update_activity_value(GtkStatusStack *, activity_id_t, unsigned long) __attribute__((weak)); + +/* Met fin au suivi d'une activité donnée. */ +void gtk_status_stack_remove_activity(GtkStatusStack *, activity_id_t) __attribute__((weak)); + + + +#endif /* _PLUGINS_PYCHRYSA_WEAK_H */ diff --git a/src/gtkext/gtkstatusstack.c b/src/gtkext/gtkstatusstack.c index e072d53..5a0d5c5 100644 --- a/src/gtkext/gtkstatusstack.c +++ b/src/gtkext/gtkstatusstack.c @@ -881,7 +881,6 @@ activity_id_t gtk_status_stack_add_activity(GtkStatusStack *stack, const char *m } - /****************************************************************************** * * * Paramètres : stack = barre de statut à actualiser. * -- cgit v0.11.2-87-g4458