Trusted Extensions Library Functions getpathbylabel(3TSOL)
NAME
getpathbylabel - return the zone pathname
SYNOPSIS
cc [flags...] file... -ltsol [library...]
#include
char *getpathbylabel(const char *path, char *resolvedpath,
sizet bufsize, const mlabelt *sl);
DESCRIPTION
The getpathbylabel() function expands all symbolic links and
resolves references to '/./', '/../', extra '/' characters,
and stores the zone pathname in the buffer named by
resolvedpath. The bufsize argument specifies the size in
bytes of this buffer. The resulting path will have no sym-
bolic links components, nor any '/./', '/../'. This function
can only be called from the global zone.
The zone pathname is relative to the sensitivity label sl.
To specify a sensitivity label for a zone name which does
not exist, the process must assert either the
PRIVFILEUPGRADESL or PRIVFILEDOWNGRADESL privilege
depending on whether the specified sensitivity label dom-
inates or does not dominate the process sensitivity label.
RETURN VALUES
The getpathbylabel() function returns a pointer to the
resolvedpath on success. Otherwise it returns NUL and sets
errno to indicate the error.
ERORS
The getpathbylabel() function will fail if:
EACES Search permission is denied for a component
of the path prefix of path.
EFAULT resolvedpath extends outside the process's
allocated address space or beyond bufsize
bytes.
EINVAL path or resolvedpath was NUL, current zone
is not the global zone, or sl is invalid.
SunOS 5.11 Last change: 20 Jul 2007 1
Trusted Extensions Library Functions getpathbylabel(3TSOL)
EIO An I/O error occurred while reading from or
writing to the file system.
ELOP Too many symbolic links were encountered in
translating path.
ENAMETOLONG The length of the path argument exceeds
PATHMAX, or a pathname component is longer
than NAMEMAX (see sysconf(3C)) while
POSIXNOTRUNC is in effect (see path-
conf(2)).
ENOENT The named file does not exist.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO
readlink(2), getzonerootbyid(3TSOL), libtsol(3LIB), attri-
butes(5), labels(5)
WARNINGS
The getpathbylabel() function indirectly invokes the
readlink(2) system call, and hence inherits the possibility
of hanging due to inaccessible file system resources.
NOTES
The functionality described on this manual page is available
only if the system is configured with Trusted Extensions.
SunOS 5.11 Last change: 20 Jul 2007 2
|