NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | EXAMPLES | PROCESS ATTRIBUTES | FILES | ATTRIBUTES | SEE ALSO | WARNINGS
#include <tsol/label.h>char *sbcltos(const bclabel_t *label, const int len);
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.
These functions translate binary labels into canonical strings that are clipped to the number of printable characters specified in len. Clipping is required if the number of characters of the translated string is greater than len. Clipping is done by truncating the label on the right to two characters less than the specified number of characters. A clipped indicator, "<-", is appended to sensitivity labels and clearances. The character-coded label begins with a classification name separated with a single space character from the list of words making up the remainder of the label. The binary labels must be of the proper defined type and dominated by the process's sensitivity label. A len of 0 (zero) returns the entire string with no clipping.
sbcltos() translates a binary CMW label into a clipped string. The function uses the long form of the words and the short form of the classification name, as in:
0xADMIN_LOW_hexadecimal_value [0xsensitivity_label_hexadecimal_value] |
If len is less than the minimum number of characters (four), , the translation will fail.
sbsltos() translates a binary sensitivity label into a clipped string using the long form of the words and the short form of the classification name. If len is less than the minimum number of characters (three), the translation fails.
sbcleartos() translates a binary clearance into a clipped string using the long form of the words and the short form of the classification name. If len is less than the minimum number of characters (three), the translation fails. The translation of a clearance may not be the same as the translation of a sensitivity label. These functions use different tables of the label_encodings file which may contain different words and constraints.
These routines return a pointer to a statically allocated string that contains the result of the translation, or (char *)0 if the translation fails for any reason.
->[UN TOP/<-
UN TOP/MIDDLE/LOWER DRAWER
when clipped to ten characters it is:
UN TOP/M<-
If the VIEW_EXTERNAL
or VIEW_INTERNAL
flags are not specified, translation of ADMIN_LOW
and ADMIN_HIGH
labels is controlled by the
label view process attribute flags. If no label view process attribute flags are defined, their translation is controlled by the label view configured in the label_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 name and admin high name strings specified in the label_encodings file. If no such names are specified, the strings "ADMIN_LOW" and "ADMIN_HIGH" are
used.
The label encodings file contains the classification names, words, constraints, and values for the defined labels of this system.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Availability | SUNWtsu |
MT-Level | Unsafe |
bcltobanner(3TSOL), blcompare(3TSOL), bltocolor(3TSOL), blvalid(3TSOL), hextob(3TSOL)
Trusted Solaris Developer's Guide
All these functions share the same statically allocated string storage. They are not MT-Safe. Subsequent calls to any of these functions will overwrite that string with the newly translated string.
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | EXAMPLES | PROCESS ATTRIBUTES | FILES | ATTRIBUTES | SEE ALSO | WARNINGS