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