summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/fcal.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/fcal.h')
-rw-r--r--drivers/scsi/fcal.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/drivers/scsi/fcal.h b/drivers/scsi/fcal.h
new file mode 100644
index 000000000..2c8938953
--- /dev/null
+++ b/drivers/scsi/fcal.h
@@ -0,0 +1,46 @@
+/* fcal.h: Generic Fibre Channel Arbitrated Loop SCSI host adapter driver definitions.
+ *
+ * Copyright (C) 1998,1999 Jakub Jelinek (jj@ultra.linux.cz)
+ */
+
+#ifndef _FCAL_H
+#define _FCAL_H
+
+#include "../fc4/fcp_impl.h"
+
+struct fcal {
+ /* fc must be first */
+ fc_channel *fc;
+ unsigned char map[128];
+ fc_wwn nport_wwn[128];
+ fc_wwn node_wwn[128];
+};
+
+/* Arbitrary constant. Cannot be too large, as fc4 layer has limitations
+ for a particular channel */
+#define FCAL_CAN_QUEUE 512
+
+int fcal_detect(Scsi_Host_Template *);
+int fcal_release(struct Scsi_Host *);
+int fcal_proc_info (char *, char **, off_t, int, int, int);
+
+#define FCAL { \
+ name: "Fibre Channel Arbitrated Loop",\
+ detect: fcal_detect, \
+ release: fcal_release, \
+ proc_info: fcal_proc_info, \
+ queuecommand: fcp_scsi_queuecommand, \
+ can_queue: FCAL_CAN_QUEUE, \
+ this_id: -1, \
+ sg_tablesize: 1, \
+ cmd_per_lun: 1, \
+ use_clustering: ENABLE_CLUSTERING, \
+ use_new_eh_code: FCP_SCSI_USE_NEW_EH_CODE, \
+ abort: fcp_old_abort, \
+ eh_abort_handler: fcp_scsi_abort, \
+ eh_device_reset_handler:fcp_scsi_dev_reset, \
+ eh_bus_reset_handler: fcp_scsi_bus_reset, \
+ eh_host_reset_handler: fcp_scsi_host_reset, \
+}
+
+#endif /* !(_FCAL_H) */