1 #ifndef CPQFCTS_H
2 #define CPQFCTS_H
3 #include "cpqfcTSstructs.h"
4 
5 // These functions are required by the Linux SCSI layers
6 extern int cpqfcTS_detect(Scsi_Host_Template *);
7 extern int cpqfcTS_release(struct Scsi_Host *);
8 extern const char *cpqfcTS_info(struct Scsi_Host *);
9 extern int cpqfcTS_proc_info(char *, char **, off_t, int, int, int);
10 extern int cpqfcTS_queuecommand(Scsi_Cmnd *, void (*done) (Scsi_Cmnd *));
11 extern int cpqfcTS_abort(Scsi_Cmnd *);
12 extern int cpqfcTS_reset(Scsi_Cmnd *, unsigned int);
13 extern int cpqfcTS_eh_abort(Scsi_Cmnd * Cmnd);
14 extern int cpqfcTS_eh_device_reset(Scsi_Cmnd *);
15 extern int cpqfcTS_biosparam(Disk *, kdev_t, int[]);
16 extern int cpqfcTS_ioctl(Scsi_Device * ScsiDev, int Cmnd, void *arg);
17 
18 // note: since Tachyon TS supports an extended scatter/gather
19 // linked list of infinite length (with linked Ext S/G pages,
20 // limited only by available physical memory) we use SG_ALL.
21 
22 #define CPQFCTS {                                \
23 	detect:                 cpqfcTS_detect,         \
24 	release:                cpqfcTS_release,        \
25 	info:                   cpqfcTS_info,           \
26 	proc_info:              cpqfcTS_proc_info,      \
27 	ioctl:                  cpqfcTS_ioctl,          \
28 	queuecommand:           cpqfcTS_queuecommand,   \
29 	eh_device_reset_handler:   cpqfcTS_eh_device_reset,   \
30 	eh_abort_handler:       cpqfcTS_eh_abort,       \
31 	reset:                  cpqfcTS_reset,    	\
32 	abort:                  cpqfcTS_abort,		\
33 	bios_param:             cpqfcTS_biosparam,	\
34 	can_queue:              CPQFCTS_REQ_QUEUE_LEN,	\
35 	this_id:                -1,               	\
36 	sg_tablesize:           SG_ALL,           	\
37 	cmd_per_lun:            CPQFCTS_CMD_PER_LUN,	\
38 	present:                0,              	\
39 	unchecked_isa_dma:      0,              	\
40 	use_clustering:         ENABLE_CLUSTERING,	\
41 	use_new_eh_code:        1			\
42 }
43 
44 #endif				/* CPQFCTS_H */
45