]> Shamusworld >> Repos - rmac/blobdiff - symbol.h
(c) message in header files and doc mini adjustments.
[rmac] / symbol.h
index 485ed8864bc9f7e97b7079f5e99c643b1552a0c6..b7350e0adf6373702b59a1511070fb67b8764d58 100644 (file)
--- a/symbol.h
+++ b/symbol.h
@@ -1,7 +1,7 @@
 //
-// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System
+// RMAC - Reboot's Macro Assembler for all Atari computers
 // SYMBOL.H - Symbol Handling
-// Copyright (C) 199x Landon Dyer, 2011 Reboot and Friends
+// Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends
 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
 // Source utilised with the kind permission of Landon Dyer
 //
@@ -15,7 +15,7 @@
 struct LineList
 {
        struct LineList * next;
-       char * line;
+       uint8_t * line;
 };
 
 // Symbols
@@ -25,30 +25,31 @@ SYM
        SYM * snext;                                    // * -> Next symbol on hash-chain
        SYM * sorder;                                   // * -> Next sym in order of reference
        SYM * sdecl;                                    // * -> Next sym in order of declaration
-       uint8_t stype;                                  // Symbol type 
+       uint8_t stype;                                  // Symbol type
        uint16_t sattr;                                 // Attribute bits
        uint32_t sattre;                                // Extended attribute bits
        uint16_t senv;                                  // Enviroment number
        uint32_t svalue;                                // Symbol value
-       char * sname;                                   // * -> Symbol's print-name
+       uint8_t * sname;                                // * -> Symbol's print-name
        struct LineList * lineList;             // * -> Macro's linked list of lines
        struct LineList * last;                 // * -> end of macro linked list
        uint32_t uid;                                   // Symbol's unique ID
 };
 
-// Globals, externals, etc.
+// Exported variables
 extern int curenv;
-extern char subttl[];
+extern uint32_t firstglobal;// Index of the fist global symbol in an ELF object.
 
 // Exported functions
-SYM * lookup(char *, int, int);
+SYM * lookup(uint8_t *, int, int);
 void InitSymbolTable(void);
-SYM * NewSymbol(char *, int, int);
+SYM * NewSymbol(uint8_t *, int, int);
 void AddToSymbolDeclarationList(SYM *);
 void ForceUndefinedSymbolsGlobal(void);
 int symtable(void);
-int sy_assign(char *, char *(*)());
-char * GetSymbolNameByUID(uint32_t);
+uint32_t sy_assign(uint8_t *, uint8_t *(*)());
+uint32_t sy_assign_ELF(uint8_t *, uint8_t *(*)());
+uint8_t * GetSymbolNameByUID(uint32_t);
 
 #endif // __SYMBOL_H__