1 /* fcal.h: Generic Fibre Channel Arbitrated Loop SCSI host adapter driver definitions.
2  *
3  * Copyright (C) 1998,1999 Jakub Jelinek (jj@ultra.linux.cz)
4  */
5 
6 #ifndef _FCAL_H
7 #define _FCAL_H
8 
9 #include "../fc4/fcp_impl.h"
10 
11 struct fcal {
12 	/* fc must be first */
13 	fc_channel		*fc;
14 	unsigned char		map[128];
15 	fc_wwn			nport_wwn[128];
16 	fc_wwn			node_wwn[128];
17 };
18 
19 /* Arbitrary constant. Cannot be too large, as fc4 layer has limitations
20    for a particular channel */
21 #define FCAL_CAN_QUEUE		512
22 
23 int fcal_detect(Scsi_Host_Template *);
24 int fcal_release(struct Scsi_Host *);
25 int fcal_proc_info (char *, char **, off_t, int, int, int);
26 
27 #define FCAL {							\
28 	name:			"Fibre Channel Arbitrated Loop",\
29 	detect:			fcal_detect,			\
30 	release:		fcal_release,			\
31 	proc_info:		fcal_proc_info,			\
32 	queuecommand:		fcp_scsi_queuecommand,		\
33 	can_queue:		FCAL_CAN_QUEUE,			\
34 	this_id:		-1,				\
35 	sg_tablesize:		1,				\
36 	cmd_per_lun:		1,				\
37 	use_clustering:		ENABLE_CLUSTERING,		\
38 	use_new_eh_code:	FCP_SCSI_USE_NEW_EH_CODE,	\
39 	abort:			fcp_old_abort,			\
40 	eh_abort_handler:	fcp_scsi_abort,			\
41 	eh_device_reset_handler:fcp_scsi_dev_reset,		\
42 	eh_bus_reset_handler:	fcp_scsi_bus_reset,		\
43 	eh_host_reset_handler:	fcp_scsi_host_reset,		\
44 }
45 
46 #endif /* !(_FCAL_H) */
47