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)NAMEgetpathbylabel - return the zone pathnameSYNOPSIScc [flags...] file... -ltsol [library...] #include <tsol/label.h> char *getpathbylabel(const char *path, char *resolved_path, size_t bufsize, const m_label_t *sl);DESCRIPTIONThe 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 VALUESThe getpathbylabel() function returns a pointer to the resolved_path on success. Otherwise it returns NULL and sets errno to indicate the error.ERRORSThe 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.ATTRIBUTESSee attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+SEE ALSOreadlink(2), getzonerootbyid(3TSOL), libtsol(3LIB), attributes(5), labels(5)WARNINGSThe getpathbylabel() function indirectly invokes the readlink(2) system call, and hence inherits the possibility of hanging due to inacces- sible file system resources.NOTESThe 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)