OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [uclinux/] [uClinux-2.0.x/] [drivers/] [block/] [ida_ioctl.h] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 199 simons
/*
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 arrays@compaq.com
20
 *
21
 *    If you want to make changes, improve or add functionality to this
22
 *    driver, you'll probably need the Compaq Array Controller Interface
23
 *    Specificiation (Document number ECG086/1198)
24
 */
25
#ifndef IDA_IOCTL_H
26
#define IDA_IOCTL_H
27
 
28
#include "ida_cmd.h"
29
#include "cpqarray.h"
30
 
31
#define IDAGETDRVINFO           0x27272828
32
#define IDAPASSTHRU             0x28282929
33
#define IDAGETCTLRSIG           0x29293030
34
#define IDAREVALIDATEVOLS       0x30303131
35
 
36
/*
37
 * Normally, the ioctl determines the logical unit for this command by
38
 * the major,minor number of the fd passed to ioctl.  If you need to send
39
 * a command to a different/nonexistant unit (such as during config), you
40
 * can override the normal behavior by setting the unit valid bit. (Normally,
41
 * it should be zero) The controller to which the command is sent is still
42
 * determined by the major number of the open device.
43
 */
44
 
45
#define UNITVALID       0x80
46
typedef struct {
47
        __u8    cmd;
48
        __u8    rcode;
49
        __u8    unit;
50
 
51
/* currently, sg_cnt is assumed to be 1: only the 0th element of sg is used */
52
        struct {
53
                void    *addr;
54
                size_t  size;
55
        } sg[SG_MAX];
56
        int     sg_cnt;
57
 
58
        union ctlr_cmds {
59
                drv_info_t              drv;
60
                unsigned char           buf[512];
61
 
62
                id_ctlr_t               id_ctlr;
63
                drv_param_t             drv_param;
64
                id_log_drv_t            id_log_drv;
65
                id_log_drv_ext_t        id_log_drv_ext;
66
                sense_log_drv_stat_t    sense_log_drv_stat;
67
                id_phys_drv_t           id_phys_drv;
68
                blink_drv_leds_t        blink_drv_leds;
69
                sense_blink_leds_t      sense_blink_leds;
70
                config_t                config;
71
                reorder_log_drv_t       reorder_log_drv;
72
                label_log_drv_t         label_log_drv;
73
                surf_delay_t            surf_delay;
74
                overhead_delay_t        overhead_delay;
75
                mp_delay_t              mp_delay;
76
                scsi_param_t            scsi_param;
77
        } c;
78
} ida_ioctl_t;
79
 
80
#endif /* IDA_IOCTL_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.