is_system_labeled() ルーチンを使用して、Trusted Extensions システム上で実行中であるかどうかを判別します。次のルーチンの記述には、各ルーチンのプロトタイプ宣言が含まれます。
Trusted Extensions ソフトウェアがインストールされてアクティブである場合、is_system_labeled() ルーチンは TRUE (1) を返します。それ以外の場合は FALSE (0) を返します。
is_system_labeled(3C) のマニュアルページを参照してください。このルーチンの使用例は、「get_peer_label() ラベル対応関数」を参照してください。
ほかにも次のようなインタフェースを使用して、システムにラベルが付けられているかどうかを判別することができます。
X クライアント。マルチレベル機能に依存する X クライアントを書き込んでいる場合は、XQueryExtension() ルーチンを使用して SUN_TSOL 拡張用の X サーバーをクエリーします。
シェルスクリプト。システムにラベルが付けられているかどうかを判別するシェルスクリプトを書き込んでいる場合に、plabel コマンドを使用します。plabel(1) のマニュアルページを参照してください。
次の例は、/onnv/onnv-gate/usr/src/cmd/svc/shell/smf_include.sh スクリプトで使用される smf_is_system_labeled() 関数を示します。
# # Trusted Extensions の別名でも知られるシステムにラベルが付けられている場合、成功を意味するゼロを返す。 # それ以外の場合は 1。 # smf_is_system_labeled() { [ ! -x /bin/plabel ] && return 1 /bin/plabel > /dev/null 2>&1; return $? }