123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445 |
- #ifndef __UBI_USER_H__
- #define __UBI_USER_H__
- #include <linux/types.h>
- #define UBI_VOL_NUM_AUTO (-1)
- #define UBI_DEV_NUM_AUTO (-1)
- #define UBI_MAX_VOLUME_NAME 127
- #define UBI_IOC_MAGIC 'o'
- #define UBI_IOCMKVOL _IOW(UBI_IOC_MAGIC, 0, struct ubi_mkvol_req)
- #define UBI_IOCRMVOL _IOW(UBI_IOC_MAGIC, 1, __s32)
- #define UBI_IOCRSVOL _IOW(UBI_IOC_MAGIC, 2, struct ubi_rsvol_req)
- #define UBI_IOCRNVOL _IOW(UBI_IOC_MAGIC, 3, struct ubi_rnvol_req)
- #define UBI_CTRL_IOC_MAGIC 'o'
- #define UBI_IOCATT _IOW(UBI_CTRL_IOC_MAGIC, 64, struct ubi_attach_req)
- #define UBI_IOCDET _IOW(UBI_CTRL_IOC_MAGIC, 65, __s32)
- #define UBI_VOL_IOC_MAGIC 'O'
- #define UBI_IOCVOLUP _IOW(UBI_VOL_IOC_MAGIC, 0, __s64)
- #define UBI_IOCEBER _IOW(UBI_VOL_IOC_MAGIC, 1, __s32)
- #define UBI_IOCEBCH _IOW(UBI_VOL_IOC_MAGIC, 2, __s32)
- #define UBI_IOCEBMAP _IOW(UBI_VOL_IOC_MAGIC, 3, struct ubi_map_req)
- #define UBI_IOCEBUNMAP _IOW(UBI_VOL_IOC_MAGIC, 4, __s32)
- #define UBI_IOCEBISMAP _IOR(UBI_VOL_IOC_MAGIC, 5, __s32)
- #define UBI_IOCSETVOLPROP _IOW(UBI_VOL_IOC_MAGIC, 6, \
- struct ubi_set_vol_prop_req)
- #define UBI_IOCVOLCRBLK _IOW(UBI_VOL_IOC_MAGIC, 7, struct ubi_blkcreate_req)
- #define UBI_IOCVOLRMBLK _IO(UBI_VOL_IOC_MAGIC, 8)
- #define MAX_UBI_MTD_NAME_LEN 127
- #define UBI_MAX_RNVOL 32
- enum {
- UBI_DYNAMIC_VOLUME = 3,
- UBI_STATIC_VOLUME = 4,
- };
- enum {
- UBI_VOL_PROP_DIRECT_WRITE = 1,
- };
- struct ubi_attach_req {
- __s32 ubi_num;
- __s32 mtd_num;
- __s32 vid_hdr_offset;
- __s16 max_beb_per1024;
- __s8 padding[10];
- };
- struct ubi_mkvol_req {
- __s32 vol_id;
- __s32 alignment;
- __s64 bytes;
- __s8 vol_type;
- __s8 padding1;
- __s16 name_len;
- __s8 padding2[4];
- char name[UBI_MAX_VOLUME_NAME + 1];
- } __attribute__((packed));
- struct ubi_rsvol_req {
- __s64 bytes;
- __s32 vol_id;
- } __attribute__((packed));
- struct ubi_rnvol_req {
- __s32 count;
- __s8 padding1[12];
- struct {
- __s32 vol_id;
- __s16 name_len;
- __s8 padding2[2];
- char name[UBI_MAX_VOLUME_NAME + 1];
- } ents[UBI_MAX_RNVOL];
- } __attribute__((packed));
- struct ubi_leb_change_req {
- __s32 lnum;
- __s32 bytes;
- __s8 dtype;
- __s8 padding[7];
- } __attribute__((packed));
- struct ubi_map_req {
- __s32 lnum;
- __s8 dtype;
- __s8 padding[3];
- } __attribute__((packed));
- struct ubi_set_vol_prop_req {
- __u8 property;
- __u8 padding[7];
- __u64 value;
- } __attribute__((packed));
- struct ubi_blkcreate_req {
- __s8 padding[128];
- } __attribute__((packed));
- #endif
|