この節では、拡張処理と、tsol_lbuild_create(3)、tsol_lbuild_get(3)、 tsol_lbuild_set(3) に渡せる有効な値について説明します。tsol_lbuild_create(3) に渡される値は、その戻り値 ModLabelData 型に格納されます。これらの値は、tsol_lbuild_get(3) と tsol_lbuild_set(3) の呼び出しによってアクセスできます。ModLabelData 構造の詳細は、「ModLabelData 構造体」を参照してください。
拡張処理はすべて、tsol_lbuild_get(3) に渡すことができます。しかし、LBUILD_WORK_ で始まる名前を持つ処理を、tsol_lbuild_set(3) または tsol_lbuild_create(3) に渡すことは有効ではありません。これは、これらの値がエンドユーザー入力に従ってラベルビルダーによって設定されるためです。このような例外は、説明に記述してあります。
LBUILD_MODE - tsol_lbuild_create(3) に対し、情報ラベル、機密ラベル、CMW ラベル、または認可上限を構築するユーザーインタフェースを作成するように指示できます。デフォルトの値は、LBUILD_MODE_CMW です。
アプリケーションを実行するシステムのラベルがどのように設定されているかがわかると、使用すべきモードを判断しやすくなります。たとえば、情報ラベルを使用しないシステムにはユーザーが情報ラベルを構築しないように設定できます。システムのセキュリティ構成のチェック方法は、第 2 章「プログラミングインタフェースの概要」の 「システムセキュリティ構成の照会」を参照してください。
LBUILD_VALUE_SL - モードが LBUILD_MODE_SL の場合に「更新後のラベル (Update With)」フィールドの上の「ラベル (Label)」フィールドに最初に表示される機密ラベルです。この値のデフォルトは、ADMIN_LOW です。
LBUILD_VALUE_CMW - モードが LBUILD_MODE_CMW の場合に「更新後のラベル (Update With)」フィールドの上の「ラベル (Label)」フィールドに最初に表示される CMW ラベルです。この値のデフォルトは、ADMIN_LOW[ADMIN_LOW]です。
LBUILD_VALUE_CLR - モードが LBUILD_MODE_CL の場合に「更新後のラベル (Update With)」フィールドの上の「ラベル (Label)」フィールドに最初に表示される認可上限です。この値のデフォルトは、ADMIN_LOW です。
LBUILD_USERFIELD - ラベルビルダーのダイアログボックスの最上部に表示される、文字列プロンプトです。値のデフォルトは NULL です。
LBUILD_SHOW - ラベルビルダーのダイアログボックスを表示または非表示にします。値のデフォルトは FALSE です。
TRUE - ラベルビルダーのダイアログボックスを表示する
FALSE - ラベルビルダーのダイアログボックスを表示しない
LBUILD_TITLE - ラベルビルダーのダイアログボックスの最上部に表示されるタイトルの文字列です。値のデフォルトは NULL です。
LBUILD_WORK_SL - エンドユーザーが構築している機密ラベルです。値は、エンドユーザーが「更新 (Update)」プッシュボタンを選択するか、対話形式でオプションを選択する場合、エンドユーザーの入力値に更新されます。値のデフォルトは ADMIN_LOW です。この拡張処理は、tsol_lbuild_set(3) と tsol_lbuild_create(3) には無効です。
LBUILD_WORK_CMW - エンドユーザーが構築している CMW ラベルです。値は、エンドユーザーが「更新 (Update)」プッシュボタンを選択するか、対話形式でオプションの 1 つを選択する場合、エンドユーザーの入力値に更新されます。値のデフォルトは ADMIN_LOW[ADMIN_LOW] です。この拡張オペレーションは、tsol_lbuild_set(3) と tsol_lbuild_create(3) には無効です。
LBUILD_WORK_CLR - エンドユーザーが構築している認可上限です。値は、エンドユーザーが「更新 (Update)」プッシュボタンを選択するか、対話形式でオプションの 1 つを選択する場合、エンドユーザーの入力値に更新されます。値のデフォルトは ADMIN_LOW です。この拡張オペレーションは、tsol_lbuild_set(3) と tsol_lbuild_create(3) には無効です。
LBUILD_X - ラベルビルダーのダイアログボックスの左上隅から画面の左上隅までの、ピクセル単位の X オフセットです。ラベルビルダーのダイアログボックスのデフォルトの位置は、画面の中央です。
LBUILD_Y - ラベルビルダーのダイアログボックスの左上隅から画面の左上隅までの、ピクセル単位の Y オフセットです。ラベルビルダーのダイアログボックスのデフォルトの位置は、画面の中央です。
LBUILD_UPPER_BOUND - 対話形式でラベルまたは認可上限を構築するためにユーザーが使用できるもっとも高い格付け (および関連するコンパートメントとマーキング) であり、ラジオボタンで示されます。指定する値は、ユーザーの認可範囲でなければなりません。値が指定されないと、実行可能ファイルに sys_trans_label 特権がある場合はユーザーの認可上限が使用され、この特権がない場合にはユーザーのワークスペースの機密ラベルが使用されます。
LBUILD_LOWER_BOUND - 対話形式でラベルまたは認可上限を構築するためにユーザーが使用できるもっとも低い格付け (および関連するコンパートメントとマーキング) であり、ラジオボタンで示されます。この値は、ユーザーの最下位ラベルです。
LBUILD_CHECK_AR - ユーザーが構築するラベルがユーザーの認可範囲内であることをチェックします。値 1 はチェックすることを意味し、値 0 はチェックしないことを意味します。ラベルが認可範囲外の場合は、エンドユーザーにエラーが表示されます。デフォルトでは、チェックが行われます。
LBUILD_VIEW - 内部ラベル表示または外部ラベル表示を使用します。値のデフォルトは、LBUILD_VIEW_EXTERNAL です。