Trusted Extensions Library Functions bltos(3TSOL)
NAME
bltos, bsltos, bcleartos - translate binary labels to char-
acter coded labelsSYNOPSIS
cc [flag...] file... -ltsol [library...]
#include
int bsltos(const m_label_t *label, char **string,
const int str_len, const int flags);
int bcleartos(const m_label_t *label, char **string,
const int str_len, const int flags);
DESCRIPTION
These functions translate binary labels into strings con-
trolled by the value of the flags parameter. The bsltos() function translates a binary sensitivity labelinto a string. The applicable flags are LONG_CLASSIFICATION
or SHORT_CLASSIFICATION, LONG_WORDS or SHORT_WORDS,
VIEW_EXTERNAL or VIEW_INTERNAL, and NO_CLASSIFICATION. A
flags value 0 is equivalent to (SHORT_CLASSIFICATION |
LONG_WORDS).
The bcleartos() function translates a binary clearance into
a string. The applicable flags are LONG_CLASSIFICATION or
SHORT_CLASSIFICATION, LONG_WORDS or SHORT_WORDS,
VIEW_EXTERNAL or VIEW_INTERNAL, and NO_CLASSIFICATION. A
flags value 0 is equivalent to (SHORT_CLASSIFICATION |
LONG_WORDS). The translation of a clearance might not be the
same as the translation of a sensitivity label. These func-
tions use different label_encodings file tables that might
contain different words and constraints.The calling process must have PRIV_SYS_TRANS_LABEL in its
set of effective privileges to perform label translation on labels that dominate the current process's sensitivity label.The generic form of an output character-coded label is:
CLASSIFICATION WORD1 WORD2 WORD3/WORD4 SUFFIX PREFIX WORD5/WORD6
SunOS 5.11 Last change: 20 Jul 2007 1
Trusted Extensions Library Functions bltos(3TSOL) Capital letters are used to display all CLASSIFICATION namesand WORDs. The ` ' (space) character separates classifica-
tions and words from other words in all character-coded
labels except where multiple words that require the same PREFIX or SUFFIX are present, in which case the multiplewords are separated from each other by the `/' (slash) char-
acter.The string argument can point to either a pointer to pre-
allocated memory, or the value (char *)0. If string pointsto a pointer to pre-allocated memory, then str_len indicates
the size of that memory. If string points to the value (char *)0, memory is allocated using malloc() to contain thetranslated character-coded labels. The translated label is
copied into allocated or pre-allocated memory.
The flags argument is 0 or the logical sum of the following:LONG_WORDS Translate using long names of words
defined in label.SHORT_WORDS Translate using short names of words
defined in label. If no short nameis defined in the label_encodings
file for a word, the long name is used.LONG_CLASSIFICATION Translate using long name of clas-
sification defined in label.SHORT_CLASSIFICATION Translate using short name of clas-
sification defined in label.ACCESS_RELATED Translate only access-related
entries defined in information label label.VIEW_EXTERNAL Translate ADMIN_LOW and ADMIN_HIGH
labels to the lowest and highest labels defined in thelabel_encodings file.
VIEW_INTERNAL Translate ADMIN_LOW and ADMIN_HIGH
labels to the admin low name andSunOS 5.11 Last change: 20 Jul 2007 2
Trusted Extensions Library Functions bltos(3TSOL) admin high name strings specified inthe label_encodings file. If no
strings are specified, the strings"ADMIN_LOW" and "ADMIN_HIGH" are
used.NO_CLASSIFICATION Do not translate classification
defined in label. Process AttributesIf the VIEW_EXTERNAL or VIEW_INTERNAL flags are not speci-
fied, translation of ADMIN_LOW and ADMIN_HIGH labels is con-
trolled by the label view process attribute flags. If nolabel view process attribute flags are defined, their trans-
lation is controlled by the label view configured in thelabel_encodings file. A value of External specifies that
ADMIN_LOW and ADMIN_HIGH labels are mapped to the lowest and
highest labels defined in the label_encodings file. A value
of Internal specifies that the ADMIN_LOW and ADMIN_HIGH
labels are translated to the admin low and admin high namestrings specified in the label_encodings file. If no such
names are specified, the strings "ADMIN_LOW" and
"ADMIN_HIGH" are used.
RETURN VALUES
Upon successful completion, the bsltos() and bcleartos()
functions return the length of the character-coded label,
including the NULL terminator. If the label is not of the valid defined required type, if the label is not dominated by the process sensitivity labeland the process does not have PRIV_SYS_TRANS_LABEL in its
set of effective privileges, or if the label_encodings file
is inaccessible, these functions return -1.
If memory cannot be allocated for the return string or ifthe pre-allocated return string memory is insufficient to
hold the string, these functions return 0. The value of thepre-allocated string is set to the NULL string
(*string[0]=' 0';). FILES/etc/security/tsol/label_encodings
The label encodings file contains the classification names, words, constraints, and values for the defined labels of this system.SunOS 5.11 Last change: 20 Jul 2007 3
Trusted Extensions Library Functions bltos(3TSOL)ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Obsolete ||_____________________________|_____________________________|
| MT-Level | MT-Safe with exceptions |
|_____________________________|_____________________________|
The bsltos() and bcleartos() functions are Obsolete. Use the
label_to_str(3TSOL) function instead.
SEE ALSO
free(3C), label_to_str(3TSOL), libtsol(3LIB), malloc(3C),
label_encodings(4), attributes(5)
NOTES The functionality described on this manual page is available only if the system is configured with Trusted Extensions. If memory is allocated by these functions, the caller must free the memory with free(3C) when the memory is no longer in use.SunOS 5.11 Last change: 20 Jul 2007 4