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