1 /*+M************************************************************************* 2 * Adaptec AIC7xxx device driver for Linux. 3 * 4 * Copyright (c) 1994 John Aycock 5 * The University of Calgary Department of Computer Science. 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2, or (at your option) 10 * any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; see the file COPYING. If not, write to 19 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 20 * 21 * $Id: aic7xxx.h,v 3.2 1996/07/23 03:37:26 deang Exp $ 22 *-M*************************************************************************/ 23 #ifndef _aic7xxx_h 24 #define _aic7xxx_h 25 26 #define AIC7XXX_H_VERSION "5.2.0" 27 28 /* 29 * Scsi_Host_Template (see hosts.h) for AIC-7xxx - some fields 30 * to do with card config are filled in after the card is detected. 31 */ 32 #define AIC7XXX { \ 33 next: NULL, \ 34 module: NULL, \ 35 proc_info: aic7xxx_proc_info, \ 36 name: NULL, \ 37 detect: aic7xxx_detect, \ 38 release: aic7xxx_release, \ 39 info: aic7xxx_info, \ 40 command: NULL, \ 41 queuecommand: aic7xxx_queue, \ 42 eh_strategy_handler: NULL, \ 43 eh_abort_handler: NULL, \ 44 eh_device_reset_handler: NULL, \ 45 eh_bus_reset_handler: NULL, \ 46 eh_host_reset_handler: NULL, \ 47 abort: aic7xxx_abort, \ 48 reset: aic7xxx_reset, \ 49 slave_attach: NULL, \ 50 bios_param: aic7xxx_biosparam, \ 51 can_queue: 255, /* max simultaneous cmds */\ 52 this_id: -1, /* scsi id of host adapter */\ 53 sg_tablesize: 0, /* max scatter-gather cmds */\ 54 cmd_per_lun: 3, /* cmds per lun (linked cmds) */\ 55 present: 0, /* number of 7xxx's present */\ 56 unchecked_isa_dma: 0, /* no memory DMA restrictions */\ 57 use_clustering: ENABLE_CLUSTERING, \ 58 use_new_eh_code: 0, \ 59 highmem_io: 1 \ 60 } 61 62 extern int aic7xxx_queue(Scsi_Cmnd *, void (*)(Scsi_Cmnd *)); 63 extern int aic7xxx_biosparam(Disk *, kdev_t, int[]); 64 extern int aic7xxx_detect(Scsi_Host_Template *); 65 extern int aic7xxx_command(Scsi_Cmnd *); 66 extern int aic7xxx_reset(Scsi_Cmnd *, unsigned int); 67 extern int aic7xxx_abort(Scsi_Cmnd *); 68 extern int aic7xxx_release(struct Scsi_Host *); 69 70 extern const char *aic7xxx_info(struct Scsi_Host *); 71 72 extern int aic7xxx_proc_info(char *, char **, off_t, int, int, int); 73 74 #endif /* _aic7xxx_h */ 75