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

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

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);

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.

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.

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.

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

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level Safe

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

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

July 20, 2007 OmniOS