* better
[mascara-docs.git] / i386 / linux-2.3.21 / drivers / scsi / sym53c416.h
blob49abc83cac7a8195bc511065afffdf37e5cd915f
1 /*
2 * sym53c416.h
3 *
4 * Copyright (C) 1998 Lieven Willems (lw_linux@hotmail.com)
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2, or (at your option) any
9 * later version.
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
18 #ifndef _SYM53C416_H
19 #define _SYM53C416_H
21 #if !defined(LINUX_VERSION_CODE)
22 #include <linux/version.h>
23 #endif
25 #define LinuxVersionCode(v, p, s) (((v)<<16)+((p)<<8)+(s))
27 #include <linux/types.h>
28 #include <linux/kdev_t.h>
30 #define SYM53C416_SCSI_ID 7
32 extern struct proc_dir_entry proc_scsi_sym53c416;
34 extern int sym53c416_detect(Scsi_Host_Template *);
35 extern const char *sym53c416_info(struct Scsi_Host *);
36 extern int sym53c416_command(Scsi_Cmnd *);
37 extern int sym53c416_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
38 extern int sym53c416_abort(Scsi_Cmnd *);
39 extern int sym53c416_reset(Scsi_Cmnd *, unsigned int);
40 extern int sym53c416_bios_param(Disk *, kdev_t, int *);
41 extern void sym53c416_setup(char *str, int *ints);
43 #if LINUX_VERSION_CODE >= LinuxVersionCode(2,1,75)
45 #define SYM53C416 { \
46 proc_dir: &proc_scsi_sym53c416, \
47 name: "Symbios Logic 53c416", \
48 detect: sym53c416_detect, \
49 info: sym53c416_info, \
50 command: sym53c416_command, \
51 queuecommand: sym53c416_queuecommand, \
52 abort: sym53c416_abort, \
53 reset: sym53c416_reset, \
54 bios_param: sym53c416_bios_param, \
55 can_queue: 1, \
56 this_id: SYM53C416_SCSI_ID, \
57 sg_tablesize: 32, \
58 cmd_per_lun: 1, \
59 unchecked_isa_dma: 1, \
60 use_clustering: ENABLE_CLUSTERING \
63 #else
65 #define SYM53C416 { \
66 NULL, \
67 NULL, \
68 &proc_scsi_sym53c416, \
69 NULL, \
70 "Symbios Logic 53c416", \
71 sym53c416_detect, \
72 NULL, \
73 sym53c416_info, \
74 sym53c416_command, \
75 sym53c416_queuecommand, \
76 sym53c416_abort, \
77 sym53c416_reset, \
78 NULL, \
79 sym53c416_bios_param, \
80 1, \
81 SYM53C416_SCSI_ID, \
82 32, /* ???? */ \
83 1, \
84 0, \
85 1, \
86 ENABLE_CLUSTERING \
89 #endif
91 #endif