summaryrefslogtreecommitdiff
path: root/src/format/symbol.h
diff options
context:
space:
mode:
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 *);