summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/cpqfcTS.h
blob: 966c63b8c3d59f2eeaef9cc0dceab4d8b928ec78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef CPQFCTS_H
#define CPQFCTS_H
#include "cpqfcTSstructs.h"

// These functions are required by the Linux SCSI layers
extern int cpqfcTS_detect(Scsi_Host_Template *);
extern int cpqfcTS_release(struct Scsi_Host *);
const char * cpqfcTS_info(struct Scsi_Host *);
extern int cpqfcTS_proc_info(char *, char **, off_t, int, int, int);
extern int cpqfcTS_queuecommand(Scsi_Cmnd *, void (* done)(Scsi_Cmnd *));
extern int cpqfcTS_abort(Scsi_Cmnd *);
extern int cpqfcTS_reset(Scsi_Cmnd *, unsigned int);
extern int cpqfcTS_biosparam(Disk *, kdev_t, int[]);
extern int cpqfcTS_ioctl( Scsi_Device *ScsiDev, int Cmnd, void *arg);

// note: since Tachyon TS supports an extended scatter/gather
// linked list of infinite length (with linked Ext S/G pages,
// limited only by available physical memory) we use SG_ALL.

#define CPQFCTS {                                \
 detect:                 cpqfcTS_detect,         \
 release:                cpqfcTS_release,        \
 info:                   cpqfcTS_info,           \
 proc_info:              cpqfcTS_proc_info,      \
 ioctl:                  cpqfcTS_ioctl,          \
 queuecommand:           cpqfcTS_queuecommand,   \
 eh_abort_handler:       cpqfcTS_abort,          \
 reset:                  cpqfcTS_reset,          \
 bios_param:             cpqfcTS_biosparam,      \
 can_queue:              CPQFCTS_REQ_QUEUE_LEN,  \
 this_id:                -1,                     \
 sg_tablesize:           SG_ALL,                 \
 cmd_per_lun:            CPQFCTS_CMD_PER_LUN,    \
 present:                0,                      \
 unchecked_isa_dma:      0,                      \
 use_clustering:         ENABLE_CLUSTERING       \
}

#endif /* CPQFCTS_H */