home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / CMDS / dmode.lzh / rbfparams.h < prev   
Text File  |  1994-11-13  |  3KB  |  81 lines

  1. /* RBFPARAMS.H    -    Private definition of an RBF descriptor 
  2.                     parameter area. 
  3. */
  4.  
  5. #ifndef RBFDEV
  6. #ifndef _sysio
  7. #include <sysio.h>
  8. #endif
  9.  
  10. typedef struct  {
  11.     u_char        pd_dtp;            /* device type */
  12.     u_char        pd_drv;            /* drive number */
  13.     u_char        pd_stp;            /* step rate */
  14.     u_char        pd_typ;            /* disk device type (5", 8", other) */
  15. #define        TYP_FIVE    (0<<0)        /* drive is 5.25" floppy        */
  16. #define        TYP_EIGHT    (1<<0)        /* device is 8" floppy            */
  17. #define        SIZE_OLD    (0)            /* size/speed defined by bit 0    */
  18. #define        TYP_SIZE8    (1)            /* 8" disk                        */
  19. #define        TYP_SIZE5    (2)            /* 5.25" disk                    */
  20. #define        TYP_SIZE3    (3)            /* 3.5" disk                    */
  21. #define        TYP_HARD    (1<<7)        /* hard disk type                */
  22. #define        TYP_HREMOV    (1<<6)        /* removable hard disk type        */
  23. #define        TYP_DDTRK0    (1<<5)        /* floppy disk is d/d trk 0        */
  24.     u_char        pd_dns;            /* density capabilities */
  25. #define        DNS_DD        (1)            /* double density                */
  26. #define        DNS_DT        (1<<1)        /* double track density            */
  27. #define        DNS_QUAD    (1<<2)        /* quad track density            */
  28. #define        DNS_OCTAL    (1<<3)        /* octal track density            */
  29.     u_char        pd_res1;        /* reserved */
  30.     u_short        pd_cyl;            /* number of cylinders */
  31.     u_char        pd_sid;            /* number of surfaces */
  32.     u_char        pd_vfy;            /* 0=verify disk writes */
  33.     u_short        pd_sct;            /* default sectors/track */
  34.     u_short        pd_t0s;            /* default sectors/track for trk0 */
  35.     u_short        pd_sas;            /* segment allocation size */
  36.     u_char        pd_ilv;            /* sector interleave offset */
  37.     u_char        pd_tfm;            /* DMA transfer mode */
  38.     u_char        pd_toffs;        /* track base offset */
  39.     u_char        pd_soffs;        /* sector base offset */
  40.     u_short        pd_ssize;        /* size of sector in bytes */
  41.     u_short        pd_cntl;        /* control word */
  42. #define        CNTL_NOFMT        (1<<0)    /* device is format protected        */
  43. #define        CNTL_MULTSECT    (1<<1)    /* no multi-sector transfers        */
  44. #define        CNTL_STABID        (1<<2)    /* device has stable id                */
  45. #define        CNTL_AUTOSIZE    (1<<3)    /* device tells size (SS_DSize),    */
  46. #define        CNTL_FMTTRK        (1<<4)    /* device allows "format track"        */
  47.     u_char        pd_trys;        /* # tries */
  48. # define    TRYS_DRIVER_DEFAULT    0;
  49.     u_char        pd_lun;            /* SCSI unit number of drive */
  50.     u_short        pd_wpc;            /* first write precomp cylinder */
  51.     u_short        pd_rwr;            /* first reduced write current cylinder */
  52.     u_short        pd_park;        /* park cylinder for hard disks */
  53.     u_int        pd_lsnoffs;        /* LSN offset for partition */
  54.     u_short        pd_totcyls;        /* total cylinders on device */
  55.     u_char        pd_ctrlrid;        /* SCSI controller id */
  56.     u_char        pd_rate;        /* transfer rate and rotational speed */
  57. #define        RPM_300            0
  58. #define        RPM_360            1
  59. #define        RPM_600            2
  60. #define        XFR_125K        (0)
  61. #define        XFR_250K        (1)
  62. #define        XFR_300K        (2)
  63. #define        XFR_500K        (3)
  64. #define        XFR_1M            (4)
  65. #define        XFR_2M            (5)
  66. #define        XFR_5M            (6)
  67.     u_int        pd_scsiopt;        /* SCSI options flags */
  68. #define        SCSI_ATN        (1<<0)    /* assert ATN supported                */
  69. #define        SCSI_TARGET        (1<<1)    /* target mode supported            */
  70. #define        SCSI_SYNCHR        (1<<2)    /* synchronous transfers supported    */
  71. #define        SCSI_PARITY        (1<<3)    /* enable SCSI parity                */
  72.     u_int        pd_maxcnt;        /* max bytes transferred per request */
  73. } rbf_dev;
  74.  
  75. #define SECTOR_SIZE        256        /* size of one sector */
  76. #define MAX_NAME        28        /* maximum length of pathname element */
  77. #define MAX_SECTORS        255        /* maximum sector count passable to driver */
  78.  
  79. #define RBFDEV
  80. #endif
  81.