|  | /**************************************************************************** | 
|  | **************************************************************************** | 
|  | *** | 
|  | ***   This header was automatically generated from a Linux kernel header | 
|  | ***   of the same name, to make information necessary for userspace to | 
|  | ***   call into the kernel available to libc.  It contains only constants, | 
|  | ***   structures, and macros generated from the original header, and thus, | 
|  | ***   contains no copyrightable information. | 
|  | *** | 
|  | ***   To edit the content of this header, modify the corresponding | 
|  | ***   source file (e.g. under external/kernel-headers/original/) then | 
|  | ***   run bionic/libc/kernel/tools/update_all.py | 
|  | *** | 
|  | ***   Any manual change here will be lost the next time this script will | 
|  | ***   be run. You've been warned! | 
|  | *** | 
|  | **************************************************************************** | 
|  | ****************************************************************************/ | 
|  | #ifndef _UAPI_MD_U_H | 
|  | #define _UAPI_MD_U_H | 
|  | #define MD_MAJOR_VERSION 0 | 
|  | #define MD_MINOR_VERSION 90 | 
|  | #define MD_PATCHLEVEL_VERSION 3 | 
|  | #define RAID_VERSION _IOR(MD_MAJOR, 0x10, mdu_version_t) | 
|  | #define GET_ARRAY_INFO _IOR(MD_MAJOR, 0x11, mdu_array_info_t) | 
|  | #define GET_DISK_INFO _IOR(MD_MAJOR, 0x12, mdu_disk_info_t) | 
|  | #define RAID_AUTORUN _IO(MD_MAJOR, 0x14) | 
|  | #define GET_BITMAP_FILE _IOR(MD_MAJOR, 0x15, mdu_bitmap_file_t) | 
|  | #define CLEAR_ARRAY _IO(MD_MAJOR, 0x20) | 
|  | #define ADD_NEW_DISK _IOW(MD_MAJOR, 0x21, mdu_disk_info_t) | 
|  | #define HOT_REMOVE_DISK _IO(MD_MAJOR, 0x22) | 
|  | #define SET_ARRAY_INFO _IOW(MD_MAJOR, 0x23, mdu_array_info_t) | 
|  | #define SET_DISK_INFO _IO(MD_MAJOR, 0x24) | 
|  | #define WRITE_RAID_INFO _IO(MD_MAJOR, 0x25) | 
|  | #define UNPROTECT_ARRAY _IO(MD_MAJOR, 0x26) | 
|  | #define PROTECT_ARRAY _IO(MD_MAJOR, 0x27) | 
|  | #define HOT_ADD_DISK _IO(MD_MAJOR, 0x28) | 
|  | #define SET_DISK_FAULTY _IO(MD_MAJOR, 0x29) | 
|  | #define HOT_GENERATE_ERROR _IO(MD_MAJOR, 0x2a) | 
|  | #define SET_BITMAP_FILE _IOW(MD_MAJOR, 0x2b, int) | 
|  | #define RUN_ARRAY _IOW(MD_MAJOR, 0x30, mdu_param_t) | 
|  | #define STOP_ARRAY _IO(MD_MAJOR, 0x32) | 
|  | #define STOP_ARRAY_RO _IO(MD_MAJOR, 0x33) | 
|  | #define RESTART_ARRAY_RW _IO(MD_MAJOR, 0x34) | 
|  | #define CLUSTERED_DISK_NACK _IO(MD_MAJOR, 0x35) | 
|  | #define MdpMinorShift 6 | 
|  | typedef struct mdu_version_s { | 
|  | int major; | 
|  | int minor; | 
|  | int patchlevel; | 
|  | } mdu_version_t; | 
|  | typedef struct mdu_array_info_s { | 
|  | int major_version; | 
|  | int minor_version; | 
|  | int patch_version; | 
|  | unsigned int ctime; | 
|  | int level; | 
|  | int size; | 
|  | int nr_disks; | 
|  | int raid_disks; | 
|  | int md_minor; | 
|  | int not_persistent; | 
|  | unsigned int utime; | 
|  | int state; | 
|  | int active_disks; | 
|  | int working_disks; | 
|  | int failed_disks; | 
|  | int spare_disks; | 
|  | int layout; | 
|  | int chunk_size; | 
|  | } mdu_array_info_t; | 
|  | #define LEVEL_MULTIPATH (- 4) | 
|  | #define LEVEL_LINEAR (- 1) | 
|  | #define LEVEL_FAULTY (- 5) | 
|  | #define LEVEL_NONE (- 1000000) | 
|  | typedef struct mdu_disk_info_s { | 
|  | int number; | 
|  | int major; | 
|  | int minor; | 
|  | int raid_disk; | 
|  | int state; | 
|  | } mdu_disk_info_t; | 
|  | typedef struct mdu_start_info_s { | 
|  | int major; | 
|  | int minor; | 
|  | int raid_disk; | 
|  | int state; | 
|  | } mdu_start_info_t; | 
|  | typedef struct mdu_bitmap_file_s { | 
|  | char pathname[4096]; | 
|  | } mdu_bitmap_file_t; | 
|  | typedef struct mdu_param_s { | 
|  | int personality; | 
|  | int chunk_size; | 
|  | int max_fault; | 
|  | } mdu_param_t; | 
|  | #endif |