summaryrefslogtreecommitdiff
path: root/plugins/fmtp/def.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/fmtp/def.h')
-rw-r--r--plugins/fmtp/def.h18
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 */