Trusted Solaris Developer's Guide

Data Types, Header Files, and Libraries

To use the programming interfaces described in this chapter, you need the following header file.

#include <tsol/label.h>

The examples in this chapter compile with the following library:


-ltsol

CMW label

The data structure bclabel_t represents a binary CMW label. Interfaces accept and return a binary CMW label in a structure of type bclabel_t.

Setting Flag

The setting_flag type definition defines CMW label flag values as follows:

SETCL_SL - Set the sensitivity label portion of the CMW label. SETCL_ALL - Set the entire CMW label.

Sensitivity Label

The bslabel_t type definition represents the sensitivity label portion of a binary CMW label. Interfaces accept as parameters and return binary sensitivity labels in a variable of type bslabel_t. The bslabel_t type definition is compatible with the blevel_t structure.

Binary Levels

The blevel_t structure represents a binary level, which is a classification and set of compartments in a sensitivity label or clearance. Interfaces accept and return binary levels in a structure of type blevel_t.

Type Compatibility

Any variable of type bclear_t or bslabel_t can be passed to a function that accepts a parameter of type blevel_t.

Range of Sensitivity Labels

The brange_t data structure represents a range of sensitivity labels. The structure holds a minimum label and a maximum label. The structure fields are referred to as variable.lower_bound and variable.upper_bound.

Accreditation Range

The set_id data structure currently accepts the following values: SYSTEM_ACCREDITATION_RANGE; USER_ACCREDITATION_RANGE.

Label Information

The label_info structure contains length specifications of items in the label_encodings file. The structure is returned by labelinfo(3TSOL).

Field 

Description 

slabel_len

Maximum sensitivity label length. 

clabel_len

Maximum CMW label length. 

clear_len

Maximum clearance label length. 

vers_len

Version string length. 

header_len

Maximum length of the printer banner. 

protect_as_len

Maximum length of a printer banner page header string returned by bcltobanner(3TSOL).

caveats_len

Maximum length of the printer banner page string returned by bcltobanner(3TSOL).

channels_len

Maximum length of a printer banner page channels string. 

Banner Fields

The banner_fields structure contains the translated text labels and strings for display on printer banner and trailer pages and at the top and bottom of document body page. The structure is returned by bcltobanner(3TSOL). The first five fields consist of pointers to character strings, and the second five consist of short integer lengths of memory preallocated to the corresponding string pointer.

Field 

Description 

header

String appears on top and bottom of the banner and trailer pages. 

protect_as

String appears in protect as banner page section. 

caveats

String appears in the caveats banner page section. 

channels

String appears in the handling channels section. 

header_len

Preallocated string memory length for header. 

protect_as_len

Preallocated string memory length for protect as section. 

caveats_len

Preallocated string memory length for caveats section.  

channels_len

Preallocated string memory length for channels section.