Trusted Solaris 開発ガイド

通常ルーチンによるバイナリと 16 進変換

次の例は、バイナリの CMW ラベルを 16 進に変換し、再び元に戻します。機密ラベルの変換と情報ラベルの変換はほとんど同じです。

#include <tsol/label.h>
 #include <stdio.h>

 main()
 {
 	int			retval;
 	bclabel_t			hcmwlabel, hexcmw;
 	char			*string;

 	getcmwplabel(&hcmwlabel);
 	if((string = bcltoh(&hcmwlabel)) != NULL)
 		printf("Hex string = %s¥n", string);

 	retval = htobcl(string, &hexcmw);
 	printf("Return Value = %d¥n", retval);
 }

最初の printf 文により、バイナリ CMW ラベルが次のように 16 進形式で出力されます。

0xClearance hexadecimal value

2 番目の printf 文により、次のように出力されます。0 以外は、変換が成功したことを示します。

Return Value = 1