~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/drivers/block/ida_ioctl.h

Version: ~ [ 2.2.5 ] ~ [ 2.4.1 ] ~ [ 2.4.9 ] ~ [ 2.6.17.10 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 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 #define IDADRIVERVERSION        0x31313232
 36 #define IDAGETPCIINFO           0x32323333
 37 
 38 typedef struct _ida_pci_info_struct
 39 {
 40         unsigned char   bus;
 41         unsigned char   dev_fn;
 42         __u32           board_id;
 43 } ida_pci_info_struct;
 44 /*
 45  * Normally, the ioctl determines the logical unit for this command by
 46  * the major,minor number of the fd passed to ioctl.  If you need to send
 47  * a command to a different/nonexistant unit (such as during config), you
 48  * can override the normal behavior by setting the unit valid bit. (Normally,
 49  * it should be zero) The controller the command is sent to is still
 50  * determined by the major number of the open device.
 51  */
 52 
 53 #define UNITVALID       0x80
 54 typedef struct {
 55         __u8    cmd;
 56         __u8    rcode;
 57         __u8    unit;
 58         __u32   blk;
 59         __u16   blk_cnt;
 60 
 61 /* currently, sg_cnt is assumed to be 1: only the 0th element of sg is used */
 62         struct {
 63                 void    *addr;
 64                 size_t  size;
 65         } sg[SG_MAX];
 66         int     sg_cnt;
 67 
 68         union ctlr_cmds {
 69                 drv_info_t              drv;
 70                 unsigned char           buf[1024];
 71 
 72                 id_ctlr_t               id_ctlr;
 73                 drv_param_t             drv_param;
 74                 id_log_drv_t            id_log_drv;
 75                 id_log_drv_ext_t        id_log_drv_ext;
 76                 sense_log_drv_stat_t    sense_log_drv_stat;
 77                 id_phys_drv_t           id_phys_drv;
 78                 blink_drv_leds_t        blink_drv_leds;
 79                 sense_blink_leds_t      sense_blink_leds;
 80                 config_t                config;
 81                 reorder_log_drv_t       reorder_log_drv;
 82                 label_log_drv_t         label_log_drv;
 83                 surf_delay_t            surf_delay;
 84                 overhead_delay_t        overhead_delay;
 85                 mp_delay_t              mp_delay;
 86                 scsi_param_t            scsi_param;
 87         } c;
 88 } ida_ioctl_t;
 89 
 90 #endif /* IDA_IOCTL_H */
 91 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.