1*cda5da8dSAndroid Build Coastguard Worker /* 2*cda5da8dSAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*cda5da8dSAndroid Build Coastguard Worker * 4*cda5da8dSAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*cda5da8dSAndroid Build Coastguard Worker * for more information. 6*cda5da8dSAndroid Build Coastguard Worker */ 7*cda5da8dSAndroid Build Coastguard Worker #ifndef __UBI_USER_H__ 8*cda5da8dSAndroid Build Coastguard Worker #define __UBI_USER_H__ 9*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h> 10*cda5da8dSAndroid Build Coastguard Worker #define UBI_VOL_NUM_AUTO (- 1) 11*cda5da8dSAndroid Build Coastguard Worker #define UBI_DEV_NUM_AUTO (- 1) 12*cda5da8dSAndroid Build Coastguard Worker #define UBI_MAX_VOLUME_NAME 127 13*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOC_MAGIC 'o' 14*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCMKVOL _IOW(UBI_IOC_MAGIC, 0, struct ubi_mkvol_req) 15*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCRMVOL _IOW(UBI_IOC_MAGIC, 1, __s32) 16*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCRSVOL _IOW(UBI_IOC_MAGIC, 2, struct ubi_rsvol_req) 17*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCRNVOL _IOW(UBI_IOC_MAGIC, 3, struct ubi_rnvol_req) 18*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCRPEB _IOW(UBI_IOC_MAGIC, 4, __s32) 19*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCSPEB _IOW(UBI_IOC_MAGIC, 5, __s32) 20*cda5da8dSAndroid Build Coastguard Worker #define UBI_CTRL_IOC_MAGIC 'o' 21*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCATT _IOW(UBI_CTRL_IOC_MAGIC, 64, struct ubi_attach_req) 22*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCDET _IOW(UBI_CTRL_IOC_MAGIC, 65, __s32) 23*cda5da8dSAndroid Build Coastguard Worker #define UBI_VOL_IOC_MAGIC 'O' 24*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCVOLUP _IOW(UBI_VOL_IOC_MAGIC, 0, __s64) 25*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCEBER _IOW(UBI_VOL_IOC_MAGIC, 1, __s32) 26*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCEBCH _IOW(UBI_VOL_IOC_MAGIC, 2, __s32) 27*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCEBMAP _IOW(UBI_VOL_IOC_MAGIC, 3, struct ubi_map_req) 28*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCEBUNMAP _IOW(UBI_VOL_IOC_MAGIC, 4, __s32) 29*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCEBISMAP _IOR(UBI_VOL_IOC_MAGIC, 5, __s32) 30*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCSETVOLPROP _IOW(UBI_VOL_IOC_MAGIC, 6, struct ubi_set_vol_prop_req) 31*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCVOLCRBLK _IOW(UBI_VOL_IOC_MAGIC, 7, struct ubi_blkcreate_req) 32*cda5da8dSAndroid Build Coastguard Worker #define UBI_IOCVOLRMBLK _IO(UBI_VOL_IOC_MAGIC, 8) 33*cda5da8dSAndroid Build Coastguard Worker #define MAX_UBI_MTD_NAME_LEN 127 34*cda5da8dSAndroid Build Coastguard Worker #define UBI_MAX_RNVOL 32 35*cda5da8dSAndroid Build Coastguard Worker enum { 36*cda5da8dSAndroid Build Coastguard Worker UBI_DYNAMIC_VOLUME = 3, 37*cda5da8dSAndroid Build Coastguard Worker UBI_STATIC_VOLUME = 4, 38*cda5da8dSAndroid Build Coastguard Worker }; 39*cda5da8dSAndroid Build Coastguard Worker enum { 40*cda5da8dSAndroid Build Coastguard Worker UBI_VOL_PROP_DIRECT_WRITE = 1, 41*cda5da8dSAndroid Build Coastguard Worker }; 42*cda5da8dSAndroid Build Coastguard Worker struct ubi_attach_req { 43*cda5da8dSAndroid Build Coastguard Worker __s32 ubi_num; 44*cda5da8dSAndroid Build Coastguard Worker __s32 mtd_num; 45*cda5da8dSAndroid Build Coastguard Worker __s32 vid_hdr_offset; 46*cda5da8dSAndroid Build Coastguard Worker __s16 max_beb_per1024; 47*cda5da8dSAndroid Build Coastguard Worker __s8 disable_fm; 48*cda5da8dSAndroid Build Coastguard Worker __s8 need_resv_pool; 49*cda5da8dSAndroid Build Coastguard Worker __s8 padding[8]; 50*cda5da8dSAndroid Build Coastguard Worker }; 51*cda5da8dSAndroid Build Coastguard Worker enum { 52*cda5da8dSAndroid Build Coastguard Worker UBI_VOL_SKIP_CRC_CHECK_FLG = 0x1, 53*cda5da8dSAndroid Build Coastguard Worker }; 54*cda5da8dSAndroid Build Coastguard Worker #define UBI_VOL_VALID_FLGS (UBI_VOL_SKIP_CRC_CHECK_FLG) 55*cda5da8dSAndroid Build Coastguard Worker struct ubi_mkvol_req { 56*cda5da8dSAndroid Build Coastguard Worker __s32 vol_id; 57*cda5da8dSAndroid Build Coastguard Worker __s32 alignment; 58*cda5da8dSAndroid Build Coastguard Worker __s64 bytes; 59*cda5da8dSAndroid Build Coastguard Worker __s8 vol_type; 60*cda5da8dSAndroid Build Coastguard Worker __u8 flags; 61*cda5da8dSAndroid Build Coastguard Worker __s16 name_len; 62*cda5da8dSAndroid Build Coastguard Worker __s8 padding2[4]; 63*cda5da8dSAndroid Build Coastguard Worker char name[UBI_MAX_VOLUME_NAME + 1]; 64*cda5da8dSAndroid Build Coastguard Worker } __attribute__((__packed__)); 65*cda5da8dSAndroid Build Coastguard Worker struct ubi_rsvol_req { 66*cda5da8dSAndroid Build Coastguard Worker __s64 bytes; 67*cda5da8dSAndroid Build Coastguard Worker __s32 vol_id; 68*cda5da8dSAndroid Build Coastguard Worker } __attribute__((__packed__)); 69*cda5da8dSAndroid Build Coastguard Worker struct ubi_rnvol_req { 70*cda5da8dSAndroid Build Coastguard Worker __s32 count; 71*cda5da8dSAndroid Build Coastguard Worker __s8 padding1[12]; 72*cda5da8dSAndroid Build Coastguard Worker struct { 73*cda5da8dSAndroid Build Coastguard Worker __s32 vol_id; 74*cda5da8dSAndroid Build Coastguard Worker __s16 name_len; 75*cda5da8dSAndroid Build Coastguard Worker __s8 padding2[2]; 76*cda5da8dSAndroid Build Coastguard Worker char name[UBI_MAX_VOLUME_NAME + 1]; 77*cda5da8dSAndroid Build Coastguard Worker } ents[UBI_MAX_RNVOL]; 78*cda5da8dSAndroid Build Coastguard Worker } __attribute__((__packed__)); 79*cda5da8dSAndroid Build Coastguard Worker struct ubi_leb_change_req { 80*cda5da8dSAndroid Build Coastguard Worker __s32 lnum; 81*cda5da8dSAndroid Build Coastguard Worker __s32 bytes; 82*cda5da8dSAndroid Build Coastguard Worker __s8 dtype; 83*cda5da8dSAndroid Build Coastguard Worker __s8 padding[7]; 84*cda5da8dSAndroid Build Coastguard Worker } __attribute__((__packed__)); 85*cda5da8dSAndroid Build Coastguard Worker struct ubi_map_req { 86*cda5da8dSAndroid Build Coastguard Worker __s32 lnum; 87*cda5da8dSAndroid Build Coastguard Worker __s8 dtype; 88*cda5da8dSAndroid Build Coastguard Worker __s8 padding[3]; 89*cda5da8dSAndroid Build Coastguard Worker } __attribute__((__packed__)); 90*cda5da8dSAndroid Build Coastguard Worker struct ubi_set_vol_prop_req { 91*cda5da8dSAndroid Build Coastguard Worker __u8 property; 92*cda5da8dSAndroid Build Coastguard Worker __u8 padding[7]; 93*cda5da8dSAndroid Build Coastguard Worker __u64 value; 94*cda5da8dSAndroid Build Coastguard Worker } __attribute__((__packed__)); 95*cda5da8dSAndroid Build Coastguard Worker struct ubi_blkcreate_req { 96*cda5da8dSAndroid Build Coastguard Worker __s8 padding[128]; 97*cda5da8dSAndroid Build Coastguard Worker } __attribute__((__packed__)); 98*cda5da8dSAndroid Build Coastguard Worker #endif 99