Trusted Solaris 開発ガイド

システムコール

次のシステムコールは、ファイルまたはプロセスの CMW ラベルの取得と設定を行なったり、ファイルシステムのラベル範囲を取得したりします。


注意 - 注意 -

別のプロセスまたはファイルシステムのオブジェクトにラベルを設定するプロセスはすべて、label_encodings ファイルの定義どおりに有効なラベルを設定しなければなりません。また、この種のプロセスは、正しいバイナリ型のラベルを渡す必要があります。ASCII からバイナリへの変換機能は、変換により正しいバイナリラベルが得られるように、できるかぎりラベルを修正します。しかし、ラベルが有効であるか、bslvalid(3) ルーチンを使用してさらに調べる場合もあります。正しく構築されたバイナリラベルでも、一定のシステムまたはユーザーには無効な場合もあるため、ラベルがシステム認可またはユーザー認可の範囲内であるか、blinset(3) ルーチンを使用して検査してください。


ファイルの CMW ラベル

次のシステムコールは、パス名またはファイル記述子を使用して、ファイルの CMW ラベルの取得と設定を行います。詳細は、setcmwlabel(2)getcmwlabel(2) のマニュアルページを参照してください。

int			setcmwlabel(						const char *path,
 									const bclabel_t *label,
 									const setting_flag_t flag);
 int			getcmwlabel(						const char *path,
 									const bclabel_t *label);

 int			fsetcmwlabel(							const int fd,
 									const bclabel_t *label,
 									const setting_flag_t flag);
 int			fgetcmwlabel(						const int fd,
 									bclabel_t *label);

 int			lsetcmwlabel(						const int fd,
 									const bclabel_t *label,
 									const setting_flag_t flag);
 int			lgetcmwlabel(						const int fd,
 									bclabel_t *label);

プロセスの CMW ラベル

次のシステムコールは、プロセスの CMW ラベルの取得と設定を行います。詳細は、setcmwplabel(2)getcmwplabel(2) のマニュアルページを参照してください。

int			setcmwplabel(							const bclabel_t *label,
 									const setting_flag_t flag);
 int			getcmwplabel(							const bclabel_t *label);

ファイルシステムのラベル範囲

次のシステムコールは、ファイルシステムのラベル範囲を取得します。詳細は、getcmwfsrange(2) のマニュアルページを参照してください。

int			getcmwfsrange(							char *path, brange_t *range);
 int			fgetcmwfsrange(							int fd, brange_t *range);