diff options
Diffstat (limited to 'linux/src/drivers/scsi/eata_dma_proc.h')
-rw-r--r-- | linux/src/drivers/scsi/eata_dma_proc.h | 260 |
1 files changed, 260 insertions, 0 deletions
diff --git a/linux/src/drivers/scsi/eata_dma_proc.h b/linux/src/drivers/scsi/eata_dma_proc.h new file mode 100644 index 0000000..d49f348 --- /dev/null +++ b/linux/src/drivers/scsi/eata_dma_proc.h @@ -0,0 +1,260 @@ + +struct lun_map { + __u8 id:5, + chan:3; + __u8 lun; +}; + +typedef struct emul_pp { + __u8 p_code:6, + null:1, + p_save:1; + __u8 p_length; + __u16 cylinder; + __u8 heads; + __u8 sectors; + __u8 null2; + __u8 s_lunmap:4, + ems:1; + __u16 drive_type; /* In Little Endian ! */ + struct lun_map lunmap[4]; +}emulpp; + + +/* Log Sense pages */ + +typedef struct log_sheader { + __u8 page_code, + reserved; + __u16 length; +}logsh; + + +/* Log Sense Statistics */ + +typedef struct read_command_statistics { + __u16 code; /* 0x01 */ + __u8 flags; + __u8 length; /* 0x24 */ + __u32 h_commands, + uncached, + la_cmds, + la_blks, + la_hits, + missed, + hits, + seq_la_blks, + seq_la_hits; +}r_cmd_stat; + +typedef struct write_command_statistics { + __u16 code; /* 0x03 */ + __u8 flags; + __u8 length; /* 0x28 */ + __u32 h_commands, + uncached, + thru, + bypass, + soft_err, + hits, + b_idle, + b_activ, + b_blks, + b_blks_clean; +}w_cmd_stat; + +typedef struct host_command_statistics { + __u16 code; /* 0x02, 0x04 */ + __u8 flags; + __u8 length; /* 0x30 */ + __u32 sizes[12]; +}hst_cmd_stat; + +typedef struct physical_command_statistics { + __u16 code; /* 0x06, 0x07 */ + __u8 flags; + __u8 length; /* 0x34 */ + __u32 sizes[13]; +}phy_cmd_stat; + +typedef struct misc_device_statistics { + __u16 code; /* 0x05 */ + __u8 flags; + __u8 length; /* 0x10 */ + __u32 disconnect, + pass_thru, + sg_commands, + stripe_boundary_crosses; +}msc_stats; + +/* Configuration Pages */ + +typedef struct controller_configuration { + __u16 code; /* 0x01 */ + __u8 flags; + __u8 length; /* 0x02 */ + __u8 intt:1, + sec:1, + csh:1, + key:1, + tmr:1, + srs:1, + nvr:1; + __u8 interrupt; +}coco; + +typedef struct controller_hardware_errors { + __u16 code; /* 0x02 */ + __u8 flags; + __u8 length; /* 0x02 */ + __u8 unused:1, + per:1; + __u8 interrupt; +}coher; + +typedef struct memory_map { + __u16 code; /* 0x03, 0x04 */ + __u8 flags; + __u8 length; /* 0x04 */ + __u32 memory_map; +}mema; + +typedef struct scsi_transfer { + __u16 code; /* 0x05 */ + __u8 flags; + __u8 length; /* 0x04 */ + __u8 offset, + period; + __u16 speed; +}scsitrans; + +typedef struct scsi_modes { + __u16 code; /* 0x06 */ + __u8 flags; + __u8 length; /* 0x02 */ + __u8 que:1, + cdis:1, + wtru:1, + dasd:1, + ncr:1, + awre:1; + __u8 reserved; +}scsimod; + +typedef struct host_bus { + __u16 code; /* 0x07 */ + __u8 flags; + __u8 length; /* 0x02 */ + __u8 speed:6, + pci:1, + eisa:1; + __u8 reserved; +}hobu; + +typedef struct scsi_bus { + __u16 code; /* 0x08 */ + __u8 flags; + __u8 length; /* 0x02 */ + __u8 speed:4, + res:1, + ext:1, + wide:1, + dif:1; + __u8 busnum; +}scbu; + +typedef struct board_type { + __u16 code; /* 0x09 */ + __u8 flags; + __u8 length; /* 0x04 */ + __u8 unused:1, + cmi:1, + dmi:1, + cm4k:1, + cm4:1, + dm4k:1, + dm4:1, + hba:1; + __u8 cpu_type, + cpu_speed; + __u8 sx1:1, + sx2:1, + unused2:4, + alrm:1, + srom:1; +}boty; + +typedef struct memory_config { + __u16 code; /* 0x0a */ + __u8 flags; + __u8 length; /* 0x04 */ + __u8 banksize[4]; +}memco; + +typedef struct firmware_info { + __u16 code; /* 0x0b */ + __u8 flags; + __u8 length; /* 0x04 */ + __u8 dnld:1, + bs528:1, + fmt:1, + fw528:1; + __u8 unused1, + fw_type, + unused; +}firm; + +typedef struct subsystem_info { + __u16 code; /* 0x0c */ + __u8 flags; + __u8 length; /* 0x02 */ + __u8 shlf:1, + swap:1, + noss:1; + __u8 reserved; +}subinf; + +typedef struct per_channel_info { + __u16 code; /* 0x0d */ + __u8 flags; + __u8 length; /* 0x02 */ + __u8 channel; + __u8 shlf:1, + swap:1, + noss:1, + srs:1, + que:1, + ext:1, + wide:1, + diff:1; +}pcinf; + +typedef struct array_limits { + __u16 code; /* 0x0e */ + __u8 flags; + __u8 length; /* 0x04 */ + __u8 max_groups, + raid0_drv, + raid35_drv, + unused; +}arrlim; + +/* + * Overrides for Emacs so that we follow Linus's tabbing style. + * Emacs will notice this stuff at the end of the file and automatically + * adjust the settings for this buffer only. This must remain at the end + * of the file. + * --------------------------------------------------------------------------- + * Local variables: + * c-indent-level: 4 + * c-brace-imaginary-offset: 0 + * c-brace-offset: -4 + * c-argdecl-indent: 4 + * c-label-offset: -4 + * c-continued-statement-offset: 4 + * c-continued-brace-offset: 0 + * indent-tabs-mode: nil + * tab-width: 8 + * End: + */ + |