Version bump for last commit; now at v2.0.23.
[rmac] / object.h
1 //
2 // RMAC - Reboot's Macro Assembler for all Atari computers
3 // OBJECT.H - Writing Object Files
4 // Copyright (C) 199x Landon Dyer, 2011-2020 Reboot and Friends
5 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
6 // Source utilised with the kind permission of Landon Dyer
7 //
8
9 #ifndef __OBJECT_H__
10 #define __OBJECT_H__
11
12 #include "rmac.h"
13
14 #define BSDHDRSIZE  0x20        // Size of BSD header
15 #define HDRSIZE     0x1C        // Size of Alcyon header
16
17 //
18 // Alcyon symbol flags
19 //
20 #define AL_DEFINED      0x8000
21 #define AL_EQUATED      0x4000
22 #define AL_GLOBAL       0x2000
23 #define AL_EQUREG       0x1000
24 #define AL_EXTERN       0x0800
25 #define AL_DATA         0x0400
26 #define AL_TEXT         0x0200
27 #define AL_BSS          0x0100
28 #define AL_FILE         0x0080
29
30 enum ELFSectionNames
31 {
32         ES_NULL, ES_TEXT, ES_DATA, ES_BSS, ES_RELATEXT, ES_RELADATA, ES_SHSTRTAB,
33         ES_SYMTAB, ES_STRTAB
34 };
35
36 // Exported variables.
37 extern uint8_t * objImage;
38 extern int elfHdrNum[];
39 extern uint32_t extraSyms;
40
41 // Exported functions
42 int WriteObject(int);
43
44 #endif // __OBJECT_H__
45