opensolaris man page for getpathbylabel

Query: getpathbylabel

OS: opensolaris

Section: 3tsol

Links: opensolaris man pages   all man pages

Forums: forum home   forum categories

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

getpathbylabel(3TSOL)				       Trusted Extensions Library Functions				     getpathbylabel(3TSOL)

NAME
getpathbylabel - return the zone pathname
SYNOPSIS
cc [flags...] file... -ltsol [library...] #include <tsol/label.h> char *getpathbylabel(const char *path, char *resolved_path, size_t bufsize, const m_label_t *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 resolved_path. The bufsize argument specifies the size in bytes of this buffer. The resulting path will have no symbolic 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 PRIV_FILE_UPGRADE_SL or PRIV_FILE_DOWNGRADE_SL privilege depending on whether the specified sensitivity label domi- nates or does not dominate the process sensitivity label.
RETURN VALUES
The getpathbylabel() function returns a pointer to the resolved_path on success. Otherwise it returns NULL and sets errno to indicate the error.
ERRORS
The getpathbylabel() function will fail if: EACCES Search permission is denied for a component of the path prefix of path. EFAULT resolved_path extends outside the process's allocated address space or beyond bufsize bytes. EINVAL path or resolved_path was NULL, current zone is not the global zone, or sl is invalid. EIO An I/O error occurred while reading from or writing to the file system. ELOOP Too many symbolic links were encountered in translating path. ENAMETOOLONG The length of the path argument exceeds PATH_MAX, or a pathname component is longer than NAME_MAX (see sysconf(3C)) while _POSIX_NO_TRUNC is in effect (see pathconf(2)). ENOENT The named file does not exist.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+
SEE ALSO
readlink(2), getzonerootbyid(3TSOL), libtsol(3LIB), attributes(5), labels(5)
WARNINGS
The getpathbylabel() function indirectly invokes the readlink(2) system call, and hence inherits the possibility of hanging due to inacces- sible 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 20 Jul 2007 getpathbylabel(3TSOL)