Annotation of Gnu-Mach/linux/src/drivers/scsi/ultrastor.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *     ultrastor.c     (C) 1991 David B. Gentzel
                      3:  *     Low-level scsi driver for UltraStor 14F
                      4:  *     by David B. Gentzel, Whitfield Software Services, Carnegie, PA
                      5:  *         ([email protected])
                      6:  *  scatter/gather added by Scott Taylor ([email protected])
                      7:  *  24F support by John F. Carr ([email protected])
                      8:  *    John's work modified by Caleb Epstein ([email protected]) and 
                      9:  *    Eric Youngdale ([email protected]).
                     10:  *     Thanks to UltraStor for providing the necessary documentation
                     11:  */
                     12: 
                     13: #ifndef _ULTRASTOR_H
                     14: #define _ULTRASTOR_H
                     15: #include <linux/kdev_t.h>
                     16: 
                     17: int ultrastor_detect(Scsi_Host_Template *);
                     18: const char *ultrastor_info(struct Scsi_Host * shpnt);
                     19: int ultrastor_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
                     20: int ultrastor_abort(Scsi_Cmnd *);
                     21: int ultrastor_reset(Scsi_Cmnd *, unsigned int);
                     22: int ultrastor_biosparam(Disk *, kdev_t, int *);
                     23: 
                     24: 
                     25: #define ULTRASTOR_14F_MAX_SG 16
                     26: #define ULTRASTOR_24F_MAX_SG 33
                     27: 
                     28: #define ULTRASTOR_MAX_CMDS_PER_LUN 5
                     29: #define ULTRASTOR_MAX_CMDS 16
                     30: 
                     31: #define ULTRASTOR_24F_PORT 0xC80
                     32: 
                     33: 
                     34: #define ULTRASTOR_14F { NULL, NULL, /* Ptr for modules*/ \
                     35:                          NULL,                         \
                     36:                          NULL,                         \
                     37:                          "UltraStor 14F/24F/34F",      \
                     38:                          ultrastor_detect,             \
                     39:                          NULL, /* Release */           \
                     40:                          ultrastor_info,               \
                     41:                          0,                            \
                     42:                          ultrastor_queuecommand,       \
                     43:                          ultrastor_abort,              \
                     44:                          ultrastor_reset,              \
                     45:                          0,                            \
                     46:                          ultrastor_biosparam,          \
                     47:                          ULTRASTOR_MAX_CMDS,           \
                     48:                          0,                            \
                     49:                          ULTRASTOR_14F_MAX_SG,         \
                     50:                          ULTRASTOR_MAX_CMDS_PER_LUN,   \
                     51:                          0,                            \
                     52:                          1,                            \
                     53:                          ENABLE_CLUSTERING }
                     54: 
                     55: 
                     56: #ifdef ULTRASTOR_PRIVATE
                     57: 
                     58: #define UD_ABORT       0x0001
                     59: #define UD_COMMAND     0x0002
                     60: #define UD_DETECT      0x0004
                     61: #define UD_INTERRUPT   0x0008
                     62: #define UD_RESET       0x0010
                     63: #define UD_MULTI_CMD   0x0020
                     64: #define UD_CSIR                0x0040
                     65: #define UD_ERROR       0x0080
                     66: 
                     67: /* #define PORT_OVERRIDE 0x330 */
                     68: 
                     69: /* Values for the PRODUCT_ID ports for the 14F */
                     70: #define US14F_PRODUCT_ID_0 0x56
                     71: #define US14F_PRODUCT_ID_1 0x40                /* NOTE: Only upper nibble is used */
                     72: 
                     73: #define US24F_PRODUCT_ID_0 0x56
                     74: #define US24F_PRODUCT_ID_1 0x63
                     75: #define US24F_PRODUCT_ID_2 0x02
                     76: 
                     77: /* Subversion values */
                     78: #define U14F 0
                     79: #define U34F 1
                     80: 
                     81: /* MSCP field values */
                     82: 
                     83: /* Opcode */
                     84: #define OP_HOST_ADAPTER 0x1
                     85: #define OP_SCSI 0x2
                     86: #define OP_RESET 0x4
                     87: 
                     88: /* Date Transfer Direction */
                     89: #define DTD_SCSI 0x0
                     90: #define DTD_IN 0x1
                     91: #define DTD_OUT 0x2
                     92: #define DTD_NONE 0x3
                     93: 
                     94: /* Host Adapter command subcodes */
                     95: #define HA_CMD_INQUIRY 0x1
                     96: #define HA_CMD_SELF_DIAG 0x2
                     97: #define HA_CMD_READ_BUFF 0x3
                     98: #define HA_CMD_WRITE_BUFF 0x4
                     99: 
                    100: #endif
                    101: 
                    102: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.