1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_MD_U_H
20#define _UAPI_MD_U_H
21#define MD_MAJOR_VERSION 0
22#define MD_MINOR_VERSION 90
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define MD_PATCHLEVEL_VERSION 3
25#define RAID_VERSION _IOR (MD_MAJOR, 0x10, mdu_version_t)
26#define GET_ARRAY_INFO _IOR (MD_MAJOR, 0x11, mdu_array_info_t)
27#define GET_DISK_INFO _IOR (MD_MAJOR, 0x12, mdu_disk_info_t)
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define PRINT_RAID_DEBUG _IO (MD_MAJOR, 0x13)
30#define RAID_AUTORUN _IO (MD_MAJOR, 0x14)
31#define GET_BITMAP_FILE _IOR (MD_MAJOR, 0x15, mdu_bitmap_file_t)
32#define CLEAR_ARRAY _IO (MD_MAJOR, 0x20)
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define ADD_NEW_DISK _IOW (MD_MAJOR, 0x21, mdu_disk_info_t)
35#define HOT_REMOVE_DISK _IO (MD_MAJOR, 0x22)
36#define SET_ARRAY_INFO _IOW (MD_MAJOR, 0x23, mdu_array_info_t)
37#define SET_DISK_INFO _IO (MD_MAJOR, 0x24)
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define WRITE_RAID_INFO _IO (MD_MAJOR, 0x25)
40#define UNPROTECT_ARRAY _IO (MD_MAJOR, 0x26)
41#define PROTECT_ARRAY _IO (MD_MAJOR, 0x27)
42#define HOT_ADD_DISK _IO (MD_MAJOR, 0x28)
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define SET_DISK_FAULTY _IO (MD_MAJOR, 0x29)
45#define HOT_GENERATE_ERROR _IO (MD_MAJOR, 0x2a)
46#define SET_BITMAP_FILE _IOW (MD_MAJOR, 0x2b, int)
47#define RUN_ARRAY _IOW (MD_MAJOR, 0x30, mdu_param_t)
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define STOP_ARRAY _IO (MD_MAJOR, 0x32)
50#define STOP_ARRAY_RO _IO (MD_MAJOR, 0x33)
51#define RESTART_ARRAY_RW _IO (MD_MAJOR, 0x34)
52#define MdpMinorShift 6
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54typedef struct mdu_version_s {
55 int major;
56 int minor;
57 int patchlevel;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59} mdu_version_t;
60typedef struct mdu_array_info_s {
61 int major_version;
62 int minor_version;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 int patch_version;
65 int ctime;
66 int level;
67 int size;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 int nr_disks;
70 int raid_disks;
71 int md_minor;
72 int not_persistent;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 int utime;
75 int state;
76 int active_disks;
77 int working_disks;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 int failed_disks;
80 int spare_disks;
81 int layout;
82 int chunk_size;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84} mdu_array_info_t;
85#define LEVEL_MULTIPATH (-4)
86#define LEVEL_LINEAR (-1)
87#define LEVEL_FAULTY (-5)
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define LEVEL_NONE (-1000000)
90typedef struct mdu_disk_info_s {
91 int number;
92 int major;
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 int minor;
95 int raid_disk;
96 int state;
97} mdu_disk_info_t;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99typedef struct mdu_start_info_s {
100 int major;
101 int minor;
102 int raid_disk;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 int state;
105} mdu_start_info_t;
106typedef struct mdu_bitmap_file_s
107{
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 char pathname[4096];
110} mdu_bitmap_file_t;
111typedef struct mdu_param_s
112{
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 int personality;
115 int chunk_size;
116 int max_fault;
117} mdu_param_t;
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119#endif
120