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


NAME


m_label, m_label_alloc, m_label_dup, m_label_free - m_label functions

SYNOPSIS


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


DESCRIPTION


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.

RETURN VALUES


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.

ERRORS


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.


ATTRIBUTES


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


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+

SEE ALSO


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


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

NOTES


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


July 20, 2007 M_LABEL(3TSOL)