root/drivers/scsi/eata_dma_proc.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 
   2 struct lun_map {
   3     __u8   id:5,
   4          chan:3;
   5     __u8 lun;
   6 };
   7 
   8 typedef struct emul_pp {
   9     __u8 p_code:6,
  10            null:1,
  11          p_save:1;
  12     __u8 p_length;
  13     __u16 cylinder;
  14     __u8 heads;
  15     __u8 sectors;
  16     __u8 null2;
  17     __u8 s_lunmap:4,
  18               ems:1;
  19     __u16 drive_type;   /* In Little Endian ! */
  20     struct lun_map lunmap[4];
  21 }emulpp;
  22 
  23 
  24 /* Log Sense pages */
  25 
  26 typedef struct log_sheader {
  27     __u8 page_code,
  28          reserved;
  29     __u16 length;
  30 }logsh;
  31 
  32 
  33 /* Log Sense Statistics */
  34 
  35 typedef struct read_command_statistics {
  36     __u16 code;        /* 0x01 */
  37     __u8  flags;
  38     __u8  length;      /* 0x24 */
  39     __u32 h_commands,
  40           uncached,
  41           la_cmds,
  42           la_blks,
  43           la_hits,
  44           missed,
  45           hits,
  46           seq_la_blks,
  47           seq_la_hits;
  48 }r_cmd_stat;
  49 
  50 typedef struct write_command_statistics {
  51     __u16 code;        /* 0x03 */
  52     __u8  flags;
  53     __u8  length;      /* 0x28 */
  54     __u32 h_commands,
  55           uncached,
  56           thru,
  57           bypass,
  58           soft_err,
  59           hits,
  60           b_idle,
  61           b_activ,
  62           b_blks,
  63           b_blks_clean;
  64 }w_cmd_stat;
  65 
  66 typedef struct host_command_statistics {
  67     __u16 code;          /* 0x02, 0x04 */
  68     __u8  flags;
  69     __u8  length;        /* 0x30 */
  70     __u32 sizes[12];
  71 }hst_cmd_stat;
  72 
  73 typedef struct physical_command_statistics {
  74     __u16 code;          /* 0x06, 0x07 */ 
  75     __u8  flags;
  76     __u8  length;        /* 0x34 */
  77     __u32 sizes[13]; 
  78 }phy_cmd_stat;
  79 
  80 typedef struct misc_device_statistics {
  81     __u16 code;           /* 0x05 */
  82     __u8  flags;
  83     __u8  length;         /* 0x10 */
  84     __u32 disconnect,
  85           pass_thru,
  86           sg_commands,
  87           stripe_boundary_crosses;
  88 }msc_stats;
  89  
  90 /* Configuration Pages */
  91 
  92 typedef struct controller_configuration {
  93     __u16 code;           /* 0x01 */
  94     __u8  flags;
  95     __u8  length;         /* 0x02 */
  96     __u8  intt:1,
  97            sec:1,
  98            csh:1,
  99            key:1,
 100            tmr:1,
 101            srs:1,
 102            nvr:1;
 103     __u8  interrupt;
 104 }coco;
 105 
 106 typedef struct controller_hardware_errors {
 107     __u16 code;           /* 0x02 */
 108     __u8  flags;
 109     __u8  length;         /* 0x02 */
 110     __u8  unused:1,
 111              per:1;
 112     __u8  interrupt;
 113 }coher;
 114 
 115 typedef struct memory_map {
 116     __u16 code;           /* 0x03, 0x04 */
 117     __u8  flags;
 118     __u8  length;         /* 0x04 */
 119     __u32 memory_map;
 120 }mema;
 121 
 122 typedef struct scsi_transfer {
 123     __u16 code;           /* 0x05 */
 124     __u8  flags;
 125     __u8  length;         /* 0x04 */
 126     __u8  offset,
 127           period;
 128     __u16 speed;
 129 }scsitrans;
 130 
 131 typedef struct scsi_modes {
 132     __u16 code;           /* 0x06 */
 133     __u8  flags;
 134     __u8  length;         /* 0x02 */
 135     __u8  que:1,
 136          cdis:1,
 137          wtru:1,
 138          dasd:1,
 139           ncr:1,
 140          awre:1;
 141     __u8  reserved;
 142 }scsimod;
 143 
 144 typedef struct host_bus {
 145     __u16 code;           /* 0x07 */
 146     __u8  flags;
 147     __u8  length;         /* 0x02 */
 148     __u8  speed:6,
 149             pci:1,
 150            eisa:1;
 151     __u8  reserved;
 152 }hobu;
 153 
 154 typedef struct scsi_bus {
 155     __u16 code;           /* 0x08 */
 156     __u8  flags;
 157     __u8  length;         /* 0x02 */
 158     __u8  speed:4,
 159             res:1,
 160             ext:1,
 161            wide:1,
 162             dif:1;
 163     __u8 busnum;
 164 }scbu;
 165 
 166 typedef struct board_type {
 167     __u16 code;           /* 0x09 */
 168     __u8  flags;
 169     __u8  length;         /* 0x04 */
 170     __u8  unused:1,
 171              cmi:1,
 172              dmi:1,
 173             cm4k:1,
 174              cm4:1,
 175             dm4k:1,
 176              dm4:1,
 177              hba:1;
 178     __u8  cpu_type,
 179           cpu_speed;
 180     __u8    sx1:1,
 181             sx2:1,
 182         unused2:4,
 183            alrm:1,
 184            srom:1;
 185 }boty;
 186 
 187 typedef struct memory_config {
 188     __u16 code;           /* 0x0a */
 189     __u8  flags;
 190     __u8  length;         /* 0x04 */
 191     __u8  banksize[4];
 192 }memco;
 193 
 194 typedef struct firmware_info {
 195     __u16 code;           /* 0x0b */
 196     __u8  flags;
 197     __u8  length;         /* 0x04 */
 198     __u8  dnld:1,
 199          bs528:1,
 200            fmt:1,
 201          fw528:1;
 202     __u8  unused1,
 203           fw_type,
 204           unused;
 205 }firm;
 206 
 207 typedef struct subsystem_info {
 208     __u16 code;           /* 0x0c */
 209     __u8  flags;
 210     __u8  length;         /* 0x02 */
 211     __u8  shlf:1,
 212           swap:1,
 213           noss:1;
 214     __u8  reserved;
 215 }subinf;
 216 
 217 typedef struct per_channel_info {
 218     __u16 code;           /* 0x0d */
 219     __u8  flags;
 220     __u8  length;         /* 0x02 */
 221     __u8  channel;
 222     __u8  shlf:1,
 223           swap:1,
 224           noss:1,
 225            srs:1,
 226            que:1,
 227            ext:1,
 228           wide:1,
 229           diff:1;
 230 }pcinf;
 231 
 232 typedef struct array_limits {
 233     __u16 code;           /* 0x0e */
 234     __u8  flags;
 235     __u8  length;         /* 0x04 */
 236     __u8  max_groups,
 237           raid0_drv,
 238           raid35_drv,
 239           unused;
 240 }arrlim;
 241 
 242 /*
 243  * Overrides for Emacs so that we follow Linus's tabbing style.
 244  * Emacs will notice this stuff at the end of the file and automatically
 245  * adjust the settings for this buffer only.  This must remain at the end
 246  * of the file.
 247  * ---------------------------------------------------------------------------
 248  * Local variables:
 249  * c-indent-level: 4
 250  * c-brace-imaginary-offset: 0
 251  * c-brace-offset: -4
 252  * c-argdecl-indent: 4
 253  * c-label-offset: -4
 254  * c-continued-statement-offset: 4
 255  * c-continued-brace-offset: 0
 256  * indent-tabs-mode: nil
 257  * tab-width: 4
 258  * End:
 259  */
 260 

/* [previous][next][first][last][top][bottom][index][help] */