diff options
Diffstat (limited to 'plugins/fmtp/def.h')
-rw-r--r-- | plugins/fmtp/def.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/plugins/fmtp/def.h b/plugins/fmtp/def.h index d69d20a..f1ec7c7 100644 --- a/plugins/fmtp/def.h +++ b/plugins/fmtp/def.h @@ -34,16 +34,24 @@ /** - * Assurément utile pour les déclarations... + * Assurément utile pour les déclarations ou les appels... */ #define __(s) s +#define PARSING_DEFS(a) a, ARRAY_SIZE(a) + /** * Méthodes de définitions des déclarations. */ +/* Définition générale */ +typedef struct _fmt_field_def fmt_field_def; + +/* Eventuel appel préalable */ +typedef bool (* get_fdef_value_cb) (const fmt_field_def *, GBinContent *, vmpa2t *, SourceEndian, void *); + /* Possibilités pour un champ à commenter */ typedef struct _field_desc_switch { @@ -89,10 +97,14 @@ typedef enum _FieldCommentType } FieldCommentType; /* Définition générale */ -typedef struct _fmt_field_def +struct _fmt_field_def { const char *name; /* Nom du champ */ + get_fdef_value_cb get_value; /* Obtention de la valeur */ + + bool is_uleb128; /* Element de type uleb128 */ + bool is_leb128; /* Element de type sleb128 */ MemoryDataSize size; /* Taille d'un élément */ size_t repeat; /* Quantité d'éléments présents*/ @@ -122,7 +134,7 @@ typedef struct _fmt_field_def } comment; -} fmt_field_def; +}; /* Règles d'affichage */ |