次のルーチンは、バイナリの CMW ラベルまたは機密ラベルを ASCII に変換し、再び元に戻します。文字列からバイナリに変換する場合、flag (フラグ) が NEW_LABEL か NO_CORRECTION に設定されていれば、文字列は ASCII でも 16 進でも構いません。詳細は、bltos(3) と stobl(3) のマニュアルページを参照してください。
バイナリラベルを ASCII へ変換する、指定された幅に応じて最終的なラベルの長さを変える、Motif ベースのグラフィカルユーザーインタフェース (GUI) で表示用のフォントリストを使用する、などの処理を行う各インタフェースの詳細は、第 15 章「トラステッド X ウィンドウシステム」を参照してください。
int bcltos( const bclabel_t *label, char **string, const int length, const int flags); int stobcl( const char *string, bclabel_t *label, const int flags, int *error); /* 文字列を変換し、長さを変える */ char *sbcltos( const bclabel_t *label, const int length); /* プリンタバナーとヘッダーページに含めるために変換する */ char *bcltobanner( const bclabel_t *label, struct banner_fields *fields, const int flags);
int bsltos( const bslabel_t *label, char **string, const int length, const int flags); int stobsl( const char *string, bslabel_t *label, const int flags, int *error); /* 文字列を変換し、長さを変える */ char *sbsltos( const bslabel_t *label, const int length);