FreeBSD manual

download PDF document: mac_text.3.pdf

MAC_TEXT(3) FreeBSD Library Functions Manual MAC_TEXT(3)
NAME mac_from_text, mac_to_text - convert MAC label to/from text representation
LIBRARY Standard C Library (libc, -lc)
SYNOPSIS #include <sys/mac.h>
int mac_from_text(mac_t *mac, const char *text);
int mac_to_text(mac_t label, char **text);
DESCRIPTION The mac_from_text() function converts the text representation of a label into the internal policy label format (mac_t) and places it in *mac, which must later be freed with free(3).
The mac_to_text() function allocates storage for *text, which will be set to the text representation of label.
Refer to maclabel(7) for the MAC label format.
RETURN VALUES The mac_from_text() and mac_to_text() functions return the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
COMPATIBILITY POSIX.1e does not define a format for text representations of MAC labels.
POSIX.1e requires that text strings allocated using mac_to_text() be freed using mac_free(3); in the FreeBSD implementation, they must be freed using free(3), as mac_free(3) is used only to free memory used for type mac_t.
ERRORS [ENOMEM] Insufficient memory was available to allocate internal storage.
SEE ALSO free(3), mac(3), mac_get(3), mac_is_present(3), mac_prepare(3), mac_set(3), posix1e(3), mac(4), maclabel(7)
STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17.
HISTORY Support for Mandatory Access Control was introduced in FreeBSD 5.0 as part of the TrustedBSD Project.
FreeBSD 14.2-RELEASE September 21, 2023 FreeBSD 14.2-RELEASE