blob: 1731c901d649c3efa39eff1a3825958f70f03e77 [file] [log] [blame]
/* 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);
int fcal_slave_configure(Scsi_Device *);
#define FCAL { \
.name = "Fibre Channel Arbitrated Loop",\
.detect = fcal_detect, \
.release = fcal_release, \
.proc_info = fcal_proc_info, \
.queuecommand = fcp_scsi_queuecommand, \
.slave_configure = fcal_slave_configure, \
.can_queue = FCAL_CAN_QUEUE, \
.this_id = -1, \
.sg_tablesize = 1, \
.cmd_per_lun = 1, \
.use_clustering = ENABLE_CLUSTERING, \
.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) */