pub struct LoadPathList(Vec<LoadPath>);
Expand description
A list of load paths.
The order of the provided LoadPath
s is important, as it defines the priority in which these
paths will be explored. Paths that come first (smaller index) have a higher priority.
Tuple Fields§
§0: Vec<LoadPath>
Implementations§
Source§impl LoadPathList
impl LoadPathList
Sourcepub(crate) fn load_path_list_system() -> LoadPathList
pub(crate) fn load_path_list_system() -> LoadPathList
Returns the system mode load paths as LoadPathList
.
Contains a LoadPath
each for the following directories:
/etc/voa/
/run/voa/
/usr/local/share/voa/
/usr/share/voa/
Sourcepub(crate) fn load_path_list_user() -> LoadPathList
pub(crate) fn load_path_list_user() -> LoadPathList
Returns the user mode load paths as LoadPathList
.
Contains a LoadPath
each for the following directories:
$XDG_CONFIG_HOME/voa/
- the
./voa/
directory in each directory defined in$XDG_CONFIG_DIRS
$XDG_RUNTIME_DIR/voa/
$XDG_DATA_HOME/voa/
- the
./voa/
directory in each directory defined in$XDG_DATA_DIRS
Sourcepub fn from_effective_user() -> Self
pub fn from_effective_user() -> Self
Returns the paths as LoadPathList
, depending on calling user.
Checks the effective User ID of the calling process and
if the User ID is < 1000
returns the system mode load path list, else
the user mode load path list.
§Safety
Calls the unsafe [libc::geteuid
] to determine the effective User ID of the process which
may panic.
A user is not guaranteed to exist after calling this function!
Sourcepub(crate) fn legal_symlink_load_paths(
&self,
current: &LoadPath,
) -> Vec<&LoadPath>
pub(crate) fn legal_symlink_load_paths( &self, current: &LoadPath, ) -> Vec<&LoadPath>
Returns a list of LoadPath
references into which a provided LoadPath
may point a
symlink.
According to the VOA specification, symlinks from one LoadPath
may only point to
locations in the same LoadPath
or to locations in a LoadPath
of lower priority.
If current
is not contained in self
, an empty list is returned.
Otherwise, current
and any LoadPath
with lower priority will be returned.
§Note
Any ephemeral LoadPath
is excluded from the result.