aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/ida_ioctl.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /drivers/block/ida_ioctl.h
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'drivers/block/ida_ioctl.h')
-rw-r--r--drivers/block/ida_ioctl.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/drivers/block/ida_ioctl.h b/drivers/block/ida_ioctl.h
new file mode 100644
index 000000000000..888fff9caed0
--- /dev/null
+++ b/drivers/block/ida_ioctl.h
@@ -0,0 +1,87 @@
1/*
2 * Disk Array driver for Compaq SMART2 Controllers
3 * Copyright 1998 Compaq Computer Corporation
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
13 * NON INFRINGEMENT. See the GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 *
19 * Questions/Comments/Bugfixes to iss_storagedev@hp.com
20 *
21 */
22#ifndef IDA_IOCTL_H
23#define IDA_IOCTL_H
24
25#include "ida_cmd.h"
26#include "cpqarray.h"
27
28#define IDAGETDRVINFO 0x27272828
29#define IDAPASSTHRU 0x28282929
30#define IDAGETCTLRSIG 0x29293030
31#define IDAREVALIDATEVOLS 0x30303131
32#define IDADRIVERVERSION 0x31313232
33#define IDAGETPCIINFO 0x32323333
34
35typedef struct _ida_pci_info_struct
36{
37 unsigned char bus;
38 unsigned char dev_fn;
39 __u32 board_id;
40} ida_pci_info_struct;
41/*
42 * Normally, the ioctl determines the logical unit for this command by
43 * the major,minor number of the fd passed to ioctl. If you need to send
44 * a command to a different/nonexistant unit (such as during config), you
45 * can override the normal behavior by setting the unit valid bit. (Normally,
46 * it should be zero) The controller the command is sent to is still
47 * determined by the major number of the open device.
48 */
49
50#define UNITVALID 0x80
51typedef struct {
52 __u8 cmd;
53 __u8 rcode;
54 __u8 unit;
55 __u32 blk;
56 __u16 blk_cnt;
57
58/* currently, sg_cnt is assumed to be 1: only the 0th element of sg is used */
59 struct {
60 void __user *addr;
61 size_t size;
62 } sg[SG_MAX];
63 int sg_cnt;
64
65 union ctlr_cmds {
66 drv_info_t drv;
67 unsigned char buf[1024];
68
69 id_ctlr_t id_ctlr;
70 drv_param_t drv_param;
71 id_log_drv_t id_log_drv;
72 id_log_drv_ext_t id_log_drv_ext;
73 sense_log_drv_stat_t sense_log_drv_stat;
74 id_phys_drv_t id_phys_drv;
75 blink_drv_leds_t blink_drv_leds;
76 sense_blink_leds_t sense_blink_leds;
77 config_t config;
78 reorder_log_drv_t reorder_log_drv;
79 label_log_drv_t label_log_drv;
80 surf_delay_t surf_delay;
81 overhead_delay_t overhead_delay;
82 mp_delay_t mp_delay;
83 scsi_param_t scsi_param;
84 } c;
85} ida_ioctl_t;
86
87#endif /* IDA_IOCTL_H */