Go to main content

man pages section 3: Extended Library Functions, Volume 4

Exit Print View

Updated: Thursday, June 13, 2019
 
 

getzonerootbyid(3TSOL)

Name

getzonerootbyid, getzonerootbylabel, getzonerootbyname - map between zone root pathnames and labels

Synopsis

cc [flags...] file... -ltsol [library...]
#include <tsol/label.h>

char *getzonerootbyid(zoneid_t zoneid);
char *getzonerootbylabel(const m_label_t *label);
char *getzonerootbyname(const char *zonename);

Description

The getzonerootbyid() function returns the root pathname of zoneid.

The getzonerootbylabel() function returns the root pathname of the zone whose label is label.

The getzonerootbyname() function returns the root pathname of zonename.

All of these functions require that the specified zone's state is at least ZONE_IS_READY. The zone of the calling process must dominate the specified zone's label, or the calling process must be in the global zone. The returned pathname is relative to the root path of the caller's zone.

Return Values

On successful completion, the getzonerootbyid(), getzonerootbylabel(), and getzonerootbyname() functions return a pointer to a pathname that is allocated within these functions. To free the storage, use free(3C). On failure, these functions return NULL and set errno to indicate the error.

Errors

These functions will fail if:

EFAULT

Invalid argument; pointer location is invalid.

EINVAL

zoneid invalid, or zone not found or not ready.

ENOENT

Zone does not exist.

ENOMEM

Unable to allocate pathname.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Safe

See Also

Intro(2), free(3C), getzonenamebyid(3C), libtsol(3LIB), attributes(7), labels(7)

Notes

The functionality described on this manual page is available only if the system is configured with Trusted Extensions.