123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489 |
- extern "C" {
- typedef void * libubi_t;
- struct ubi_attach_request
- {
- int dev_num;
- int mtd_num;
- const char *mtd_dev_node;
- int vid_hdr_offset;
- int max_beb_per1024;
- };
- struct ubi_mkvol_request
- {
- int vol_id;
- int alignment;
- long long bytes;
- int vol_type;
- const char *name;
- uint8_t flags;
- };
- struct ubi_info
- {
- int dev_count;
- int lowest_dev_num;
- int highest_dev_num;
- int version;
- int ctrl_major;
- int ctrl_minor;
- };
- struct ubi_dev_info
- {
- int dev_num;
- int mtd_num;
- int vol_count;
- int lowest_vol_id;
- int highest_vol_id;
- int major;
- int minor;
- int total_lebs;
- int avail_lebs;
- long long total_bytes;
- long long avail_bytes;
- int bad_count;
- int leb_size;
- long long max_ec;
- int bad_rsvd;
- int max_vol_count;
- int min_io_size;
- };
- struct ubi_vol_info
- {
- int dev_num;
- int vol_id;
- int major;
- int minor;
- int type;
- int alignment;
- long long data_bytes;
- long long rsvd_bytes;
- int rsvd_lebs;
- int leb_size;
- int corrupted;
- char name[UBI_VOL_NAME_MAX + 1];
- };
- libubi_t libubi_open(void);
- void libubi_close(libubi_t desc);
- int ubi_get_info(libubi_t desc, struct ubi_info *info);
- int mtd_num2ubi_dev(libubi_t desc, int mtd_num, int *dev_num);
- int ubi_attach(libubi_t desc, const char *node, struct ubi_attach_request *req);
- int ubi_detach_mtd(libubi_t desc, const char *node, int mtd_num);
- int ubi_detach(libubi_t desc, const char *node, const char *mtd_dev_node);
- int ubi_remove_dev(libubi_t desc, const char *node, int ubi_dev);
- int ubi_mkvol(libubi_t desc, const char *node, struct ubi_mkvol_request *req);
- int ubi_rmvol(libubi_t desc, const char *node, int vol_id);
- int ubi_rnvols(libubi_t desc, const char *node, struct ubi_rnvol_req *rnvol);
- int ubi_rsvol(libubi_t desc, const char *node, int vol_id, long long bytes);
- int ubi_probe_node(libubi_t desc, const char *node);
- int ubi_get_dev_info(libubi_t desc, const char *node,
- struct ubi_dev_info *info);
- int ubi_dev_present(libubi_t desc, int dev_num);
- int ubi_get_dev_info1(libubi_t desc, int dev_num, struct ubi_dev_info *info);
- int ubi_get_vol_info(libubi_t desc, const char *node,
- struct ubi_vol_info *info);
- int ubi_get_vol_info1(libubi_t desc, int dev_num, int vol_id,
- struct ubi_vol_info *info);
- int ubi_get_vol_info1_nm(libubi_t desc, int dev_num, const char *name,
- struct ubi_vol_info *info);
- int ubi_vol_block_create(int fd);
- int ubi_vol_block_remove(int fd);
- int ubi_update_start(libubi_t desc, int fd, long long bytes);
- int ubi_leb_change_start(libubi_t desc, int fd, int lnum, int bytes);
- int ubi_set_property(int fd, uint8_t property, uint64_t value);
- int ubi_leb_unmap(int fd, int lnum);
- int ubi_is_mapped(int fd, int lnum);
- }
|