X-Git-Url: http://git.archive.openwrt.org/?p=project%2Ffstools.git;a=blobdiff_plain;f=libfstools%2Flibfstools.h;h=0398c96d5cd8de37558c99620ca3ee3f832d0ed5;hp=70220c25a7efee5c86882683eff9fce2948d536c;hb=41e7cf7483c89926f5650028e07a54f9052884c4;hpb=cd3d4999a622af4830e4da974f4baafc085bad4d diff --git a/libfstools/libfstools.h b/libfstools/libfstools.h index 70220c2..0398c96 100644 --- a/libfstools/libfstools.h +++ b/libfstools/libfstools.h @@ -16,6 +16,10 @@ #include #include +#include +#include + +struct volume; enum { FS_NONE, @@ -23,12 +27,21 @@ enum { FS_JFFS2, FS_DEADCODE, FS_UBIFS, + FS_F2FS, + FS_EXT4, +}; + +enum fs_state { + FS_STATE_UNKNOWN, + FS_STATE_PENDING, + FS_STATE_READY, + __FS_STATE_LAST = FS_STATE_READY, }; extern char const *extroot_prefix; extern int mount_extroot(void); -extern int mount_snapshot(void); -extern int mount_overlay(void); +extern int mount_snapshot(struct volume *v); +extern int mount_overlay(struct volume *v); extern int mount_move(char *oldroot, char *newroot, char *dir); extern int pivot(char *new, char *old); @@ -37,15 +50,17 @@ extern int ramoverlay(void); extern int find_overlay_mount(char *overlay); extern char* find_mount(char *mp); -extern char* find_mount_point(char *block, int mtd_only); +extern char* find_mount_point(char *block, int root_only); extern int find_filesystem(char *fs); -extern int find_mtd_block(char *name, char *part, int plen); -extern int find_mtd_char(char *name, char *part, int plen); -extern int jffs2_ready(char *mtd); -extern int jffs2_switch(int argc, char **argv); +extern int jffs2_switch(struct volume *v); extern int handle_whiteout(const char *dir); extern void foreachdir(const char *dir, int (*cb)(const char*)); +extern void overlay_delete(const char *dir, bool keep_sysupgrade); + +enum fs_state fs_state_get(const char *dir); +int fs_state_set(const char *dir, enum fs_state state); + #endif