diff options
author | William Wilgus <wilgus.william@gmail.com> | 2022-03-03 07:37:03 -0500 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2022-03-03 18:58:07 -0500 |
commit | 9daacabd658508d2607a64b288c9bce7a635fb15 (patch) | |
tree | ce96538ea82a4176f00f8eb9531711db7dea5750 /firmware/export/pathfuncs.h | |
parent | f88ea12bacf381ad4f39ba2328c806e772c0dda8 (diff) | |
download | rockbox-9daacabd658508d2607a64b288c9bce7a635fb15.tar.gz rockbox-9daacabd658508d2607a64b288c9bce7a635fb15.zip |
[RESTORED!] Allow mounting of any directory as the root directory.
Provide definitions for the macros:
* RB_ROOT_VOL_HIDDEN(v) to exclude certain items from the root.
* RB_ROOT_CONTENTS to return a string with the name of the
directory to mount in the root.
Defaults are in export/rbpaths.h
It's a bit much for those that don't need the full functionality.
Some conditional define can cut it back a lot to cut out things only
needed if alternate root mounts are required. I'm just not bothering
yet. The basic concept would be applied to all targets to keep file
code from forking too much.
Change-Id: I3b5a14c530ff4b10d97f67636237d96875eb8969
Author: Michael Sevakis
Diffstat (limited to 'firmware/export/pathfuncs.h')
-rw-r--r-- | firmware/export/pathfuncs.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/firmware/export/pathfuncs.h b/firmware/export/pathfuncs.h index 350dd4e548..385d534714 100644 --- a/firmware/export/pathfuncs.h +++ b/firmware/export/pathfuncs.h | |||
@@ -30,10 +30,15 @@ | |||
30 | /* useful char constants that could be reconfigured if desired */ | 30 | /* useful char constants that could be reconfigured if desired */ |
31 | #define PATH_SEPCH '/' | 31 | #define PATH_SEPCH '/' |
32 | #define PATH_SEPSTR "/" | 32 | #define PATH_SEPSTR "/" |
33 | #define PATH_ROOTCHR '/' | ||
33 | #define PATH_ROOTSTR "/" | 34 | #define PATH_ROOTSTR "/" |
34 | #define PATH_BADSEPCH '\\' | 35 | #define PATH_BADSEPCH '\\' |
35 | #define PATH_DRVSEPCH ':' | 36 | #define PATH_DRVSEPCH ':' |
36 | 37 | ||
38 | #ifndef ROOT_VOLUME | ||
39 | #define ROOT_VOLUME INT_MAX | ||
40 | #endif | ||
41 | |||
37 | /* a nicer way to check for "." and ".." than two strcmp() calls */ | 42 | /* a nicer way to check for "." and ".." than two strcmp() calls */ |
38 | static inline bool is_dotdir_name(const char *name) | 43 | static inline bool is_dotdir_name(const char *name) |
39 | { | 44 | { |
@@ -75,6 +80,7 @@ static inline bool name_is_dot_dot(const char *name) | |||
75 | #ifdef HAVE_MULTIVOLUME | 80 | #ifdef HAVE_MULTIVOLUME |
76 | int path_strip_volume(const char *name, const char **nameptr, bool greedy); | 81 | int path_strip_volume(const char *name, const char **nameptr, bool greedy); |
77 | int get_volume_name(int volume, char *name); | 82 | int get_volume_name(int volume, char *name); |
83 | int make_volume_root(int volume, char *dst); | ||
78 | #endif | 84 | #endif |
79 | 85 | ||
80 | int path_strip_drive(const char *name, const char **nameptr, bool greedy); | 86 | int path_strip_drive(const char *name, const char **nameptr, bool greedy); |