名前 | 形式 | インタフェースレベル | 機能説明 | 戻り値 | ファイル | 属性 | 関連項目 | 注意事項
cc [flag...] file... -ltsol [library...]
#include <tsol/label.h> char *bltocolor(const m_label_t *label);
char *bltocolor_r(const m_label_t *label, const int size, char *color_name);
bltocolor() および bltocolor_r() 関数は、廃止または互換性がなくなる可能性があります。代わりに label_to_str(3TSOL) 関数を使用してください。
呼び出し元のプロセスは、現在のプロセスの機密ラベルより優位にあるラベルのカラー名を取得する PRIV_SYS_TRANS_LABEL を有効な特権のセット内に保持している必要があります。
bltocolor() および bltocolor_r() は、バイナリラベル label と関連付けられた文字形式のカラー名を取得します。
bltocolor() は、label に指定された文字形式のカラー名を含む静的に割り当てられた文字列へのポインタを返すか、何らかの理由でバイナリラベルで文字形式のカラー名が利用できない場合は (char *)0 を返します。
bltocolor_r() は、label に指定された文字形式のカラー名を含む color_name 文字列へのポインタを返すか、何らかの理由でバイナリラベルで文字形式のカラー名が利用できない場合は (char *)0 を返します。color_name は、少なくとも size 文字の文字列を提供する必要があります。
次の属性については、attributes(5) を参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWtsu |
安定性レベル |
廃止または互換性がなくなる可能性あり |
MT レベル |
例外付き MT-安全 |
これらの関数は旧式であり、移植を容易にする目的で維持されています。将来の Solaris Trusted Extensions リリースでは、これらの関数は削除される可能性があります。
関数 bltocolor() は、静的に割り当てられた文字列へのポインタを返します。次に関数を呼び出す際、文字列は新しい文字形式のカラー名で文字列で上書きされます。MT-安全 ではありません。
マルチスレッドアプリケーションの場合は、関数 bltocolor_r() を使用するようにしてください。
label に指定された語句が含まれる場合、ラベルエンコーディングファイルで指定した最初の語に関連付けられた文字形式のカラー名が返されます。それ以外の場合、label に文字形式のカラー名が指定されていなければ、バイナリラベルと同じ格付けのラベルエンコーディングファイルで指定された最初の文字形式のカラー名が返されます。