Trusted Solaris 開発ガイド

バイナリと ASCII 間の変換

次のルーチンは、バイナリの CMW ラベルまたは機密ラベルを ASCII に変換し、再び元に戻します。文字列からバイナリに変換する場合、flag (フラグ) が NEW_LABELNO_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);