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

m_label, m_label_alloc, m_label_dup, m_label_free - m_label functions

cc [flag...] file... -ltsol [library...]

#include <tsol/label.h>
m_label_t *m_label_alloc(const m_label_type_t label_type);

int m_label_dup(m_label_t **dst, const m_label_t *src);

void m_label_free(m_label_t *label);

The m_label_alloc() function allocates resources for a new label. The label_type argument defines the type for a newly allocated label. The label type can be:

MAC_LABEL

A Mandatory Access Control (MAC) label.

USER_CLEAR

A user clearance.

The m_label_dup() function allocates resources for a new dst label. The function returns a pointer to the allocated label, which is an exact copy of the src label. The caller is responsible for freeing the allocated resources by calling m_label_free().

The m_label_free() function frees resources that are associated with the previously allocated label.

Upon successful completion, the m_label_alloc() function returns a pointer to the newly allocated label. Otherwise, m_label_alloc() returns NULL and errno is set to indicate the error.

Upon successful completion, the m_label_dup() function returns 0. Otherwise, -1 is returned and errno is set to indicate the error.

The m_label_alloc() function will fail if:

EINVAL

Invalid parameter.

ENOMEM

The physical limits of the system are exceeded by size bytes of memory which cannot be allocated.

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

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level Safe

libtsol(3LIB), label_to_str(3TSOL), str_to_label(3TSOL), label_encodings(5), attributes(7), labels(7)

Determining Whether the Printing Service Is Running in a Labeled Environment in Solaris Trusted Extensions Developer's Guide

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

July 20, 2007 OmniOS