eata_dma_proc.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:5k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

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