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

嵌入式Linux

开发平台:

Unix_Linux

  1. /*-
  2.  * Copyright (c) 2000,2001 S鴕en Schmidt <sos@FreeBSD.org>
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer,
  10.  *    without modification, immediately at the beginning of the file.
  11.  * 2. Redistributions in binary form must reproduce the above copyright
  12.  *    notice, this list of conditions and the following disclaimer in the
  13.  *    documentation and/or other materials provided with the distribution.
  14.  * 3. The name of the author may not be used to endorse or promote products
  15.  *    derived from this software without specific prior written permission.
  16.  *
  17.  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR
  18.  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  19.  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  20.  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  21.  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  22.  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  23.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  24.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  26.  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27.  *
  28.  */
  29.                             
  30. struct highpoint_raid_conf
  31. {
  32.        int8_t  filler1[32];
  33.        u_int32_t       magic;
  34. #define HPT_MAGIC_OK   0x5a7816f0
  35. #define HPT_MAGIC_BAD  0x5a7816fd  
  36.        u_int32_t       magic_0;
  37.        u_int32_t       magic_1;
  38.        u_int32_t       order;  
  39. #define HPT_O_MIRROR   0x01  
  40. #define HPT_O_STRIPE   0x02
  41. #define HPT_O_OK       0x04
  42.        u_int8_t        raid_disks;
  43.        u_int8_t        raid0_shift; 
  44.        u_int8_t        type;
  45. #define HPT_T_RAID_0   0x00 
  46. #define HPT_T_RAID_1   0x01
  47. #define HPT_T_RAID_01_RAID_0   0x02
  48. #define HPT_T_SPAN             0x03
  49. #define HPT_T_RAID_3           0x04   
  50. #define HPT_T_RAID_5           0x05
  51. #define HPT_T_SINGLEDISK       0x06
  52. #define HPT_T_RAID_01_RAID_1   0x07
  53.        u_int8_t        disk_number;
  54.        u_int32_t       total_secs; 
  55.        u_int32_t       disk_mode;  
  56.        u_int32_t       boot_mode;
  57.        u_int8_t        boot_disk; 
  58.        u_int8_t        boot_protect;
  59.        u_int8_t        error_log_entries;
  60.        u_int8_t        error_log_index;  
  61.        struct
  62.        {
  63.                u_int32_t       timestamp;
  64.                u_int8_t        reason;   
  65. #define HPT_R_REMOVED          0xfe      
  66. #define HPT_R_BROKEN           0xff      
  67.                u_int8_t        disk;
  68.                u_int8_t        status;
  69.                u_int8_t        sectors;
  70.                u_int32_t       lba;
  71.        } errorlog[32];
  72.        u_int8_t        filler[60];
  73. };