Trusted Solaris 開発ガイド

承認セット

承認セットを文字列から初期化し、複数の承認の管理、承認セットからの文字列の作成、承認セットに割り当てられた記憶領域のクリアなどが行えます。

文字列から承認セットへの変換

承認名を区切る区切り文字を使用した文字列を指定し、複数の承認 (承認セット) を作成できます。この例では、ドル記号 (「$」) を使用して、2 つの承認を区切っています。セット中で初期化されているのが承認 1 つである場合は、区切り文字を使用しません。区切り文字には、任意の文字を指定できます。str_to_auth_set(3) ルーチンは、常に有効な承認セットを返します。有効でない承認については、それぞれセット内に -1 が含まれます。

	if((auth_set = str_to_auth_set(string, "$")) != NULL)
 		printf("Success¥n");
 	else
 		printf("Fail¥n");

printf 文によって、次のように出力されます。

Success

承認セットから文字列への変換

承認セットは、そのセットと区切り文字を指定して文字列に変換できます。この例は、str_to_auth_set(3) ルーチンにドル記号 (「$」) を区切り文字として使用するように指定しています。区切り文字には、任意の文字を指定できます。

	if(( string2 = auth_set_to_str(auth_set, '$')) != NULL)
 		printf("Auth string = %s¥n", string2);
 	else
 		printf("Fail¥n");

printf 文によって、次のように出力されます。

Auth string = auth_file_downgrade_sl$auth_file_owner

承認セットの解放

free_auth_set(3) ルーチンは、作成した承認セットに割り当てられている記憶領域を解放します。

	free_auth_set(auth_set);