staticintauto_index=0;// v2 fstab allows you to specify a mount point of "auto" with no /. These items are given a mount point of /auto* where * == auto_index
externstructselabel_handle*selinux_handle;
externbooldatamedia;
structflag_list{
constchar*name;
unsignedflag;
unsignedlongflag;
};
conststructflag_listmount_flags[]={
{"noatime",MS_NOATIME},
{"noexec",MS_NOEXEC},
{"nosuid",MS_NOSUID},
{"nodev",MS_NODEV},
{"nodiratime",MS_NODIRATIME},
{"ro",MS_RDONLY},
{"rw",0},
{"remount",MS_REMOUNT},
{"bind",MS_BIND},
{"rec",MS_REC},
{"noatime",MS_NOATIME},
{"noexec",MS_NOEXEC},
{"nosuid",MS_NOSUID},
{"nodev",MS_NODEV},
{"nodiratime",MS_NODIRATIME},
{"ro",MS_RDONLY},
{"rw",0},
{"remount",MS_REMOUNT},
{"bind",MS_BIND},
{"rec",MS_REC},
#ifdef MS_UNBINDABLE
{"unbindable",MS_UNBINDABLE},
{"unbindable",MS_UNBINDABLE},
#endif
#ifdef MS_PRIVATE
{"private",MS_PRIVATE},
{"private",MS_PRIVATE},
#endif
#ifdef MS_SLAVE
{"slave",MS_SLAVE},
{"slave",MS_SLAVE},
#endif
#ifdef MS_SHARED
{"shared",MS_SHARED},
{"shared",MS_SHARED},
#endif
{"sync",MS_SYNCHRONOUS},
{"defaults",0},
{0,0},
{"sync",MS_SYNCHRONOUS},
{0,0},
};
constchar*ignored_mount_items[]={
"defaults=",
"errors=",
NULL
};
enumTW_FSTAB_FLAGS{
...
...
@@ -141,6 +148,14 @@ enum TW_FSTAB_FLAGS {
TWFLAG_WIPEDURINGFACTORYRESET,
TWFLAG_WIPEINGUI,
TWFLAG_SLOTSELECT,
TWFLAG_WAIT,
TWFLAG_VERIFY,
TWFLAG_CHECK,
TWFLAG_ALTDEVICE,
TWFLAG_NOTRIM,
TWFLAG_VOLDMANAGED,
TWFLAG_FORMATTABLE,
TWFLAG_RESIZE,
};
/* Flags without a trailing '=' are considered dual format flags and can be
Process_TW_Flags(flagptr,Display_Error,1);// Forcing the fstab to ver 1 because this data is coming from the /etc/twrp.flags which should be using the TWRP v1 flags format