Solaris Trusted Extensions 開発ガイド

ラベルの比較

blequal()bldominates()、および blstrictdom() ルーチンが、ラベルの比較のために使用されます。blinrange() ルーチンは、指定されたラベル範囲内にラベルがあるかどうかを判別するために使用されます。このルーチンで、level は、格付け、および機密ラベルまたは認可上限ラベルのコンパートメントのセットを指します。

int blequal(const blevel_t *level1, const blevel_t *level2);

blequal() ルーチンは 2 つのラベルを比較して、level1level2 と等しいかどうかを判別します。

int bldominates(const m_label_t *level1, const m_label_t *level2);

bldominates() ルーチンは 2 つのラベルを比較して、level1level2 より優位であるかどうかを判別します。

int blstrictdom(const m_label_t *level1, const m_label_t *level2);

blstrictdom() ルーチンは 2 つのラベルを比較して、level1level2 より厳密に優位であるかどうかを判別します。

int blinrange(const m_label_t *level, const brange_t *range);

blinrange() ルーチンは、指定された範囲 range 内にラベル level があるかどうかを判別します。

これらのルーチンは、比較が真の場合はゼロ以外の値、比較が偽の場合は 0 の値を返します。これらのルーチンの詳細は、blcompare(3TSOL) のマニュアルページを参照してください。これらのルーチンがマルチレベルの印刷アプリケーションでどのように使用されるかの例は、「プリンタのラベル範囲に対するラベル要求の検査」を参照してください。

ラベル関係の詳細は、「ラベル関係」を参照してください。

blmaximum() および blminimum() ルーチンは、指定したラベル範囲の上限および下限を判別するために使用します。

void blmaximum(m_label_t *maximum_label, const m_label_t *bounding_label);

blmaximum() ルーチンは 2 つのラベルを比較して、範囲の最小上限を見つけます。「最小上限」 は、2 つの認可上限のうちの低い方であり、特定の認可上限のシステムにアクセスしているかどうかを判別するために使用します。

たとえば、このルーチンを使用して、ラベル付けされた 2 つのオブジェクトの情報を組み合わせ、新たに別のオブジェクトを作成してラベル付けするときに使用するラベルを決定します。新しいオブジェクトのラベルは、ラベル付けされた元の 2 つのオブジェクトよりも優位となります。

blminmax(3TSOL) のマニュアルページを参照してください。

void blminimum(m_label_t *minimum_label, const m_label_t *bounding_label);

blminimum() ルーチンは 2 つのラベルを比較して、2 つのレベルによって制限される範囲の最大下限になっているラベルを見つけます。「最大下限」は、2 つのラベルのうちの高い方であり、特定の認可上限のシステムにアクセスできるかどうかを判別するためにも使用します。

blminmax(3TSOL) のマニュアルページを参照してください。