home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / powerd / modules.lha / modules / dos / doshunks.m < prev    next >
Encoding:
Text File  |  1999-09-23  |  2.8 KB  |  83 lines

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