man pages section 3: Extended Library Functions, Volume 4

Exit Print View

Updated: July 2014
 
 

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)

Notes

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