1 #ifndef _ATP870U_H 2 3 /* $Id: atp870u.h,v 1.0 1997/05/07 15:09:00 root Exp root $ 4 5 * Header file for the ACARD 870U/W driver for Linux 6 * 7 * $Log: atp870u.h,v $ 8 * Revision 1.0 1997/05/07 15:09:00 root 9 * Initial revision 10 * 11 */ 12 13 #include <linux/types.h> 14 #include <linux/kdev_t.h> 15 16 /* I/O Port */ 17 18 #define MAX_CDB 12 19 #define MAX_SENSE 14 20 21 int atp870u_detect(Scsi_Host_Template *); 22 int atp870u_command(Scsi_Cmnd *); 23 int atp870u_queuecommand(Scsi_Cmnd *, void (*done) (Scsi_Cmnd *)); 24 int atp870u_abort(Scsi_Cmnd *); 25 int atp870u_reset(Scsi_Cmnd *, unsigned int); 26 int atp870u_biosparam(Disk *, kdev_t, int *); 27 int atp870u_release(struct Scsi_Host *); 28 void send_s870(unsigned char); 29 30 #define qcnt 32 31 #define ATP870U_SCATTER 128 32 #define ATP870U_CMDLUN 1 33 34 #ifndef NULL 35 #define NULL 0 36 #endif 37 38 extern const char *atp870u_info(struct Scsi_Host *); 39 40 extern int atp870u_proc_info(char *, char **, off_t, int, int, int); 41 42 #define ATP870U { \ 43 next: NULL, \ 44 module: NULL, \ 45 proc_info: atp870u_proc_info, \ 46 name: NULL, \ 47 detect: atp870u_detect, \ 48 release: atp870u_release, \ 49 info: atp870u_info, \ 50 command: atp870u_command, \ 51 queuecommand: atp870u_queuecommand, \ 52 eh_strategy_handler: NULL, \ 53 eh_abort_handler: NULL, \ 54 eh_device_reset_handler: NULL, \ 55 eh_bus_reset_handler: NULL, \ 56 eh_host_reset_handler: NULL, \ 57 abort: atp870u_abort, \ 58 reset: atp870u_reset, \ 59 slave_attach: NULL, \ 60 bios_param: atp870u_biosparam, \ 61 can_queue: qcnt, /* max simultaneous cmds */\ 62 this_id: 7, /* scsi id of host adapter */\ 63 sg_tablesize: ATP870U_SCATTER, /* max scatter-gather cmds */\ 64 cmd_per_lun: ATP870U_CMDLUN, /* cmds per lun (linked cmds) */\ 65 present: 0, /* number of 7xxx's present */\ 66 unchecked_isa_dma: 0, /* no memory DMA restrictions */\ 67 use_clustering: ENABLE_CLUSTERING, \ 68 use_new_eh_code: 0 \ 69 } 70 71 #endif 72