home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BC_DICE2.DMS / in.adf / INCLUDE / devices / trackdisk.h < prev   
Encoding:
C/C++ Source or Header  |  1995-01-10  |  3.2 KB  |  188 lines

  1. #ifndef DEVICES_TRACKDISK_H
  2. #define DEVICES_TRACKDISK_H
  3.  
  4. /*
  5. **
  6. ** $Filename: devices/trackdisk.h $
  7. ** $Release: 2.04 Includes, V37.4 $
  8. ** $Revision: 33.13 $
  9. ** $Date: 90/11/28 $
  10. **
  11. ** trackdisk device structure and value definitions
  12. **
  13. ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  14. ** All Rights Reserved
  15. **
  16. */
  17.  
  18. #ifndef EXEC_IO_H
  19. #include "exec/io.h"
  20. #endif
  21.  
  22. #ifndef EXEC_DEVICES_H
  23. #include "exec/devices.h"
  24. #endif
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34. #define NUMSECS 11
  35. #define NUMUNITS 4
  36.  
  37.  
  38.  
  39.  
  40. #define TD_SECTOR 512
  41. #define TD_SECSHIFT 9 
  42.  
  43.  
  44.  
  45.  
  46.  
  47. #define TD_NAME "trackdisk.device"
  48.  
  49. #define TDF_EXTCOM (1<<15) 
  50.  
  51.  
  52. #define TD_MOTOR (CMD_NONSTD+0) 
  53. #define TD_SEEK (CMD_NONSTD+1) 
  54. #define TD_FORMAT (CMD_NONSTD+2) 
  55. #define TD_REMOVE (CMD_NONSTD+3) 
  56. #define TD_CHANGENUM (CMD_NONSTD+4) 
  57. #define TD_CHANGESTATE (CMD_NONSTD+5) 
  58. #define TD_PROTSTATUS (CMD_NONSTD+6) 
  59. #define TD_RAWREAD (CMD_NONSTD+7) 
  60. #define TD_RAWWRITE (CMD_NONSTD+8) 
  61. #define TD_GETDRIVETYPE (CMD_NONSTD+9) 
  62. #define TD_GETNUMTRACKS (CMD_NONSTD+10) 
  63. #define TD_ADDCHANGEINT (CMD_NONSTD+11) 
  64. #define TD_REMCHANGEINT (CMD_NONSTD+12) 
  65. #define TD_GETGEOMETRY (CMD_NONSTD+13) 
  66. #define TD_EJECT (CMD_NONSTD+14) 
  67. #define TD_LASTCOMM (CMD_NONSTD+15)
  68.  
  69.  
  70.  
  71. #define ETD_WRITE (CMD_WRITE|TDF_EXTCOM)
  72. #define ETD_READ (CMD_READ|TDF_EXTCOM)
  73. #define ETD_MOTOR (TD_MOTOR|TDF_EXTCOM)
  74. #define ETD_SEEK (TD_SEEK|TDF_EXTCOM)
  75. #define ETD_FORMAT (TD_FORMAT|TDF_EXTCOM)
  76. #define ETD_UPDATE (CMD_UPDATE|TDF_EXTCOM)
  77. #define ETD_CLEAR (CMD_CLEAR|TDF_EXTCOM)
  78. #define ETD_RAWREAD (TD_RAWREAD|TDF_EXTCOM)
  79. #define ETD_RAWWRITE (TD_RAWWRITE|TDF_EXTCOM)
  80.  
  81.  
  82.  
  83. struct IOExtTD {
  84.  struct IOStdReq iotd_Req;
  85.  ULONG iotd_Count;
  86.  ULONG iotd_SecLabel;
  87. };
  88.  
  89.  
  90. struct DriveGeometry {
  91.  ULONG dg_SectorSize; 
  92.  ULONG dg_TotalSectors; 
  93.  ULONG dg_Cylinders; 
  94.  ULONG dg_CylSectors; 
  95.  ULONG dg_Heads; 
  96.  ULONG dg_TrackSectors; 
  97.  ULONG dg_BufMemType; 
  98.  
  99.  UBYTE dg_DeviceType; 
  100.  UBYTE dg_Flags; 
  101.  UWORD dg_Reserved;
  102. };
  103.  
  104.  
  105. #define DG_DIRECT_ACCESS 0
  106. #define DG_SEQUENTIAL_ACCESS 1
  107. #define DG_PRINTER 2
  108. #define DG_PROCESSOR 3
  109. #define DG_WORM 4
  110. #define DG_CDROM 5
  111. #define DG_SCANNER 6
  112. #define DG_OPTICAL_DISK 7
  113. #define DG_MEDIUM_CHANGER 8
  114. #define DG_COMMUNICATION 9
  115. #define DG_UNKNOWN 31
  116.  
  117.  
  118. #define DGB_REMOVABLE 0
  119. #define DGF_REMOVABLE 1
  120.  
  121.  
  122.  
  123. #define IOTDB_INDEXSYNC 4
  124. #define IOTDF_INDEXSYNC (1<<4)
  125.  
  126. #define IOTDB_WORDSYNC 5
  127. #define IOTDF_WORDSYNC (1<<5)
  128.  
  129.  
  130.  
  131.  
  132. #define TD_LABELSIZE 16
  133.  
  134.  
  135.  
  136. #define TDB_ALLOW_NON_3_5 0
  137. #define TDF_ALLOW_NON_3_5 (1<<0)
  138.  
  139.  
  140.  
  141. #define DRIVE3_5 1
  142. #define DRIVE5_25 2
  143. #define DRIVE3_5_150RPM 3
  144.  
  145.  
  146.  
  147. #define TDERR_NotSpecified 20 
  148. #define TDERR_NoSecHdr 21 
  149. #define TDERR_BadSecPreamble 22 
  150. #define TDERR_BadSecID 23 
  151. #define TDERR_BadHdrSum 24 
  152. #define TDERR_BadSecSum 25 
  153. #define TDERR_TooFewSecs 26 
  154. #define TDERR_BadSecHdr 27 
  155. #define TDERR_WriteProt 28 
  156. #define TDERR_DiskChanged 29 
  157. #define TDERR_SeekError 30 
  158. #define TDERR_NoMem 31 
  159. #define TDERR_BadUnitNum 32 
  160. #define TDERR_BadDriveType 33 
  161. #define TDERR_DriveInUse 34 
  162. #define TDERR_PostReset 35 
  163.  
  164.  
  165.  
  166. struct TDU_PublicUnit {
  167.  struct Unit tdu_Unit; 
  168.  UWORD tdu_Comp01Track; 
  169.  UWORD tdu_Comp10Track; 
  170.  UWORD tdu_Comp11Track; 
  171.  ULONG tdu_StepDelay; 
  172.  ULONG tdu_SettleDelay; 
  173.  UBYTE tdu_RetryCnt; 
  174.  UBYTE tdu_PubFlags; 
  175.  UWORD tdu_CurrTrk; 
  176.  
  177.  ULONG tdu_CalibrateDelay; 
  178.  
  179.  ULONG tdu_Counter; 
  180.  
  181. };
  182.  
  183.  
  184. #define TDPB_NOCLICK 0
  185. #define TDPF_NOCLICK (1L << 0)
  186.  
  187. #endif 
  188.