label_to_str() および str_to_label() ルーチンが、ラベルと文字列との変換に使用されます。次のルーチンの記述には、各ルーチンのプロトタイプ宣言が含まれます。
label_to_str() ルーチンは、ラベル m_label_t を文字列に変換します。このルーチンを使用して、格付け名を表示しない文字列にレベルを変換できます。この形式は、共通オブジェクトでの格納に適します。呼び出し元プロセスは変換されるラベルより優位であるか、プロセスに sys_trans_label 特権がある必要があります。
label_to_str(3TSOL) のマニュアルページを参照してください。
label_to_str() ルーチンは、変換される文字列にメモリーを割り当てます。呼び出し元は、free() ルーチンを呼び出してこのメモリーを解放する必要があります。
free(3C) のマニュアルページを参照してください。
str_to_label() ルーチンは、ラベル文字列をラベル m_label_t に変換します。m_label_t 構造体を割り当てる場合、割り当てられたメモリーを m_label_free() ルーチンを使用して解放する必要があります。
str_to_label() ルーチンを使用してラベルを作成する場合、機密ラベルまたは認可上限ラベルになるようにラベルタイプを設定できます。
str_to_label(3TSOL) および m_label(3TSOL) のマニュアルページを参照してください。
label_to_str() ルーチンは、ラベルの読み取り可能バージョンを提供します。M_LABEL 変換タイプは、そのラベルで格付けされている文字列を返します。M_INTERNAL 変換タイプは、格付けされていない文字列を返します。格付けされた文字列バージョンは、通常、ウィンドウなどの表示用に使用します。格付けされた文字列は格納に適さない場合があります。印刷のために、いくつかの変換タイプが提供されています。すべての印刷用タイプは、文字列が示すラベルで格付けされる読み取り可能文字列を示します。
conversion_type パラメータはラベル変換のタイプを制御します。次は、conversion_type の有効な値ですが、変換のすべてのタイプが両方のレベルタイプに有効ではありません。
M_LABEL は、ラベルのタイプ (機密ラベルまたは認可上限) に基づくラベルの文字列です。このラベル文字列はラベルのレベルで格付けされるので、共通オブジェクトで格納する場合は安全でありません。たとえば、CONFIDENTIAL などの M_LABEL 文字列は、ラベルの単語が格付けされることが多いので、共通ディレクトリに格納するのは安全ではありません。
M_INTERNAL は、格付けされていない表現のラベル文字列です。この文字列は、共通オブジェクトで格納する場合に安全です。たとえば、0x0002-04-48 などの M_INTERNAL 文字列は、LDAP データベースに格納する場合に安全です。
M_COLOR は、セキュリティー管理者がラベルに関連付けた色を表す文字列です。ラベルと色の関連付けは、label_encodings ファイルの LOCAL DEFINITIONS セクションに格納されます。
PRINTER_TOP_BOTTOM は、バナーページおよびトレーラページの最上部ラベルと最下部ラベルとして使用される文字列です。
PRINTER_LABEL は、バナーページのダウングレード警告として使用される文字列です。
PRINTER_CAVEATS は、バナーページの警告のセクションに使用される文字列です。
PRINTER_CHANNEL は、バナーページの処理チャネルとして使用される文字列です。
label_to_str() ルーチンは label_encodings ファイルのラベル定義を使用します。エンコーディングファイルは、セキュリティー管理者が管理するテキストファイルです。ファイルには、サイト固有のラベルの定義および制約が含まれます。このファイルは /etc/security/tsol/label_encodings に保存されます。label_encodings ファイルについての詳細は、『Solaris Trusted Extensions ラベルの管理』, 『コンパートメントモードワークステーションのラベル作成: エンコード形式』 および label_encodings(4) のマニュアルページを参照してください。