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 */
|