1 /* output_hunk.h header file for AmigaOS hunk format */ 2 /* (c) in 2002-2015 by Frank Wille */ 3 4 /* hunk-format relocs */ 5 struct hunkreloc { 6 struct node n; 7 uint32_t hunk_id; 8 uint32_t hunk_index; 9 uint32_t hunk_offset; 10 }; 11 12 /* hunk-format external reference */ 13 struct hunkxref { 14 struct node n; 15 char *name; 16 uint32_t type; 17 uint32_t size; 18 uint32_t offset; 19 }; 20 21 /* line debug hunk */ 22 struct hunkline { 23 struct node n; 24 uint32_t line; 25 26 uint32_t offset; 27 }; 28 29 30 /* additional symbol flags */ 31 #define COMM_REFERENCED (RSRVD_O<<0) /* common symbol was referenced */ 32 33 /* additional section flags */ 34 #define SEC_DELETED (SECRSRVD<<1) /* this section can be deleted */ 35 36 37 /* Amiga DOS Hunks */ 38 #define HUNK_UNIT 999 39 #define HUNK_NAME 1000 40 #define HUNK_CODE 1001 41 #define HUNK_DATA 1002 42 #define HUNK_BSS 1003 43 #define HUNK_ABSRELOC32 1004 44 #define HUNK_RELRELOC16 1005 45 #define HUNK_RELRELOC8 1006 46 #define HUNK_EXT 1007 47 #define HUNK_SYMBOL 1008 48 #define HUNK_DEBUG 1009 49 #define HUNK_END 1010 50 #define HUNK_HEADER 1011 51 #define HUNK_DREL32 1015 52 #define HUNK_DREL16 1016 53 #define HUNK_DREL8 1017 54 #define HUNK_RELRELOC32 1021 55 #define HUNK_ABSRELOC16 1022 56 57 /* EHF extensions */ 58 #define HUNK_PPC_CODE 1257 59 #define HUNK_RELRELOC26 1260 60 61 /* memory type */ 62 #define HUNKB_CHIP 30 63 #define HUNKB_FAST 31 64 #define HUNKF_CHIP (1L<<30) 65 #define HUNKF_FAST (1L<<31) 66 #define HUNKF_MEMTYPE (HUNKF_CHIP|HUNKF_FAST) 67 68 /* AmigaOS memory flags */ 69 #define MEMF_PUBLIC (1L<<0) 70 #define MEMF_CHIP (1L<<1) 71 #define MEMF_FAST (1L<<2) 72 73 /* hunk_ext sub-types */ 74 #define EXT_SYMB 0 75 #define EXT_DEF 1 76 #define EXT_ABS 2 77 #define EXT_ABSREF32 129 78 #define EXT_ABSCOMMON 130 79 #define EXT_RELREF16 131 80 #define EXT_RELREF8 132 81 #define EXT_DEXT32 133 82 #define EXT_DEXT16 134 83 #define EXT_DEXT8 135 84 #define EXT_RELREF32 136 85 #define EXT_RELCOMMON 137 86 #define EXT_ABSREF16 138 87 #define EXT_ABSREF8 139 88 89 /* EHF extensions */ 90 #define EXT_RELREF26 229 91