summaryrefslogtreecommitdiff
path: root/src/format/symbol.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2020-04-09 22:23:49 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2020-04-09 22:23:49 (GMT)
commit5de93a90f20b9ce35d4799d521029f2fde5c6441 (patch)
treebf6cfdafe6d6cef07b561821b5b35d69bff3c60e /src/format/symbol.h
parentee138199fe0d7bcc114cfb7001e968c4738a8ce5 (diff)
Created extra flags for binary symbols.
Diffstat (limited to 'src/format/symbol.h')
-rw-r--r--src/format/symbol.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/format/symbol.h b/src/format/symbol.h
index 48f740e..e304d69 100644
--- a/src/format/symbol.h
+++ b/src/format/symbol.h
@@ -50,7 +50,6 @@ typedef enum _SymbolType
} SymbolType;
-
/* Visibilité du symbole */
typedef enum _SymbolStatus
{
@@ -63,6 +62,16 @@ typedef enum _SymbolStatus
} SymbolStatus;
+/* Indications supplémentaires liées aux symboles */
+typedef enum _SymbolFlag
+{
+ SFL_NONE = (0 << 0), /* Aucune propriété */
+ SFL_PREFIXED_NAME = (1 << 0), /* Indication en amont du nom */
+
+ SFL_COUNT
+
+} SymbolFlag;
+
#define G_TYPE_BIN_SYMBOL g_binary_symbol_get_type()
#define G_BIN_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), G_TYPE_BIN_SYMBOL, GBinSymbol))
@@ -109,6 +118,18 @@ void g_binary_symbol_set_status(GBinSymbol *, SymbolStatus);
/* Fournit la visibilité du symbole. */
SymbolStatus g_binary_symbol_get_status(const GBinSymbol *);
+/* Ajoute une information complémentaire à un symbole. */
+bool g_binary_symbol_set_flag(GBinSymbol *, SymbolFlag);
+
+/* Retire une information complémentaire à un symbole. */
+bool g_binary_symbol_unset_flag(GBinSymbol *, SymbolFlag);
+
+/* Détermine si un symbole possède un fanion particulier. */
+bool g_binary_symbol_has_flag(const GBinSymbol *, SymbolFlag);
+
+/* Fournit les particularités du symbole. */
+SymbolFlag g_binary_symbol_get_flags(const GBinSymbol *);
+
/* Fournit une étiquette pour viser un symbole. */
char *g_binary_symbol_get_label(const GBinSymbol *);