home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / jËzyki_programowania / ace_basic / ace / include / dos / doshunks.h < prev    next >
C/C++ Source or Header  |  1977-12-31  |  3KB  |  99 lines

  1. #ifndef DOS_DOSHUNKS_H
  2. #define DOS_DOSHUNKS_H 1
  3. /*
  4. ** doshunks.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/02/95
  11. **
  12. **
  13. */
  14.  
  15.  
  16. /* hunk types */
  17. #define HUNK_UNIT   999
  18. #define HUNK_NAME   1000
  19. #define HUNK_CODE   1001
  20. #define HUNK_DATA   1002
  21. #define HUNK_BSS    1003
  22. #define HUNK_RELOC32    1004
  23. #define HUNK_ABSRELOC32 HUNK_RELOC32
  24. #define HUNK_RELOC16    1005
  25. #define HUNK_RELRELOC16 HUNK_RELOC16
  26. #define HUNK_RELOC8 1006
  27. #define HUNK_RELRELOC8  HUNK_RELOC8
  28. #define HUNK_EXT    1007
  29. #define HUNK_SYMBOL 1008
  30. #define HUNK_DEBUG  1009
  31. #define HUNK_END    1010
  32. #define HUNK_HEADER 1011
  33.  
  34. #define HUNK_OVERLAY    1013
  35. #define HUNK_BREAK  1014
  36.  
  37. #define HUNK_DREL32 1015
  38. #define HUNK_DREL16 1016
  39. #define HUNK_DREL8  1017
  40.  
  41. #define HUNK_LIB    1018
  42. #define HUNK_INDEX  1019
  43.  
  44. /*
  45.  * Note: V37 LoadSeg uses 1015 (HUNK_DREL32) by mistake.  This will continue
  46.  * to be supported in future versions,  since HUNK_DREL32 is illegal in load files
  47.  * anyways.  Future versions will support both 1015 and 1020,  though anything
  48.  * that should be usable under V37 should use 1015.
  49.  */
  50. #define HUNK_RELOC32SHORT 1020
  51.  
  52. /* see ext_xxx below.  New for V39 (note that LoadSeg only handles RELRELOC32).*/
  53. #define HUNK_RELRELOC32 1021
  54. #define HUNK_ABSRELOC16 1022
  55.  
  56. /*
  57.  * Any hunks that have the HUNKB_ADVISORY bit set will be ignored if they
  58.  * aren't understood.  When ignored,  they're treated like HUNK_DEBUG hunks.
  59.  * NOTE: this handling of HUNKB_ADVISORY started as of V39 dos.library!  If
  60.  * lading such executables is attempted under <V39 dos,  it will fail with a
  61.  * bad hunk type.
  62.  */
  63. #define HUNKB_ADVISORY  29
  64. #define HUNKB_CHIP  30
  65. #define HUNKB_FAST  31
  66. #define HUNKF_ADVISORY  (536870912&)
  67. #define HUNKF_CHIP  (1073741824&)
  68. #define HUNKF_FAST  (2147483648&)
  69.  
  70.  
  71. /* hunk_ext sub-types */
  72. #define EXT_SYMB    0   /* symbol table */
  73. #define EXT_DEF     1   /* relocatable definition */
  74. #define EXT_ABS     2   /* Absolute definition */
  75. #define EXT_RES     3   /* no longer supported */
  76. #define EXT_REF32   129 /* 32 bit absolute reference to symbol */
  77. #define EXT_ABSREF32    EXT_REF32
  78. #define EXT_COMMON  130 /* 32 bit absolute reference to COMMON block */
  79. #define EXT_ABSCOMMON   EXT_COMMON
  80. #define EXT_REF16   131 /* 16 bit PC-relative reference to symbol */
  81. #define EXT_RELREF16    EXT_REF16
  82. #define EXT_REF8    132 /*  8 bit PC-relative reference to symbol */
  83. #define EXT_RELREF8 EXT_REF8
  84. #define EXT_DEXT32  133 /* 32 bit data relative reference */
  85. #define EXT_DEXT16  134 /* 16 bit data relative reference */
  86. #define EXT_DEXT8   135 /*  8 bit data relative reference */
  87.  
  88. /* These are to support some of the '020 and up modes that are rarely used */
  89. #define EXT_RELREF32    136 /* 32 bit PC-relative reference to symbol */
  90. #define EXT_RELCOMMON   137 /* 32 bit PC-relative reference to COMMON block */
  91.  
  92. /* for completeness... All 68&H0's support this */
  93. #define EXT_ABSREF16    138 /* 16 bit absolute reference to symbol */
  94.  
  95. /* this only exists on '020's and above,  in the (d8, An, Xn) address mode */
  96. #define EXT_ABSREF8 139 /* 8 bit absolute reference to symbol */
  97.  
  98. #endif  /* DOS_DOSHUNKS_H */
  99.