名前 | 形式 | 機能説明 | 属性 | 戻り値 | 使用例 | プロセス属性 | ファイル | 関連項目 | 警告
#include <tsol/label.h>char *sbcltos(const bclabel_t *label, const int len);
呼び出し元プロセスは、現在のプロセスの機密ラベルより優位にあるラベル上でラベル変換を実行するため、有効な特権セットの中に PRIV_SYS_TRANS_LABEL
を持っていなくてはなりません。
これらの関数は、バイナリラベルを標準的な文字列に変換し、文字列は len に指定される印刷可能な文字数にクリッピングされます。変換された文字列の文字数が len より長い場合は、クリッピングが必要です。クリップとは、指定された文字数より 2 文字少なくなるまでラベルを右方向に切り捨てることです。機密ラベルと認可上限にはクリップされたインジケータ "<-" が追加され、情報ラベルにはクリップされたインジケータ "->" が付加されます。文字形式のラベルの先頭には格付け名が指定され、ラベルの残りの部分を構成する Word のリストとの間は単一の空白文字で区切られます。バイナリラベルは正しい定義済みタイプを持ち、プロセスの機密ラベルより下位とします。バイナリ CMW ラベルの場合には、機密ラベル部分も情報ラベル部分より優位でなくてはなりません。len が 0(ゼロ) のときは、クリッピングしないで文字列全体を返します。
sbcltos() は、バイナリ CMW ラベルを次の形式のクリップ文字列に変換します。
INFORMATION LABEL [ SENSITIVITY LABEL ]
このとき、情報ラベルと機密ラベルの中の Word の長形式、情報ラベルの格付け名の長形式、機密ラベルの格付け名の短形式です。最初に、INFORMATION LABEL の中の 1 文字だけを残して情報ラベルがクリップされ、次に SENSITIVITY LABEL がクリッピングされます。len が最短文字数である 8 文字より短い場合は、変換は失敗します。
sbsltos() は、バイナリ機密ラベルを Word の長形式と格付け名の短形式を使うクリップ文字列に変換します。len が最短文字数である 3 文字より短い場合は、変換は失敗します。
sbcleartos() は、バイナリ認可上限を Word の長形式と格付け名の短形式を使うクリップ文字列に変換します。len が最短文字数である 3 文字より短い場合は、変換は失敗します。認可上限の変換結果は機密ラベルの変換結果と同じでないことがあります。これらの関数は、label_encodings ファイルの別々のテーブルを使用します。各テーブルの Word と制約条件は異なっている場合があります。
次の属性の説明については、attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
使用条件 | SUNWtsu |
MT レベル | 危険 |
これらのルーチンは、変換結果を含む静的に割り当てられた文字列へのポインタを返します。何らかの原因で変換に失敗した場合は、 (char *)0を返します。
UNAVAILABLE LOWER DRAWER [UN TOP/MIDDLE/LOWER DRAWER]
文字にクリッピングすると次のようになります。
->U [UN TO<-
UN TOP/MIDDLE/LOWER DRAWER
文字にクリッピングすると次のようになります。
UN TOP/M<-
UNAVAILABLE TOP/LOWER DRAWER
文字にクリップすると次のようになります。
->UNAVAILABLE TO
VIEW_EXTERNAL
または VIEW_INTERNAL
フラグが指定されないと、ADMIN_LOW
ラベルと ADMIN_HIGH
ラベルの変換は、ラベル表示プロセス属性のフラグによって制御されます。ラベル表示プロセス属性が定義されていない場合は、label_encodings ファイルに設定されているラベル表示によって変換が制御されます。値 Externalは、ADMIN_LOW
ラベルと ADMIN_HIGH
ラベルが label_encodings ファイルに定義されている最下位ラベルと最上位ラベルに割り当てられるように指定します。値 Internal は、ADMIN_LOW
ラベルと ADMIN_HIGH
ラベルが label_encodings ファイルに指定されている admin low name 文字列と admin high name 文字列に変換されるように指定します。このような名前が指定されていない場合は、文字列 "ADMIN_LOW" と "ADMIN_HIGH" が使用されます。
bcltobanner(3), bilconjoin(3), blcompare(3), blinset(3), blmanifest(3), blminmax(3), blportion(3), bltocolor(3), bltos(3), bltype(3), blvalid(3), btohex(3), hextob(3), labelinfo(3), labelvers(3), stobl(3), label_encodings(4)
『Trusted Solaris 開発ガイド』、『Trusted Solaris のユーザー用のマニュアル』、および Trusted Solaris の管理者用のマニュアル
これらの関数はすべて、静的に割り当てられた文字列記憶領域を共有しています。MT- 安全ではありません。次に関数を呼び出す際、文字列は新しく変換された文字列で上書きされます。