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