Trusted Solaris 開発ガイド

特権の変換

これらのライブラリルーチンは、指定された特権 ID を対応する外部名または数値 ID に変換し、再び元に戻します。これらのルーチンは、priv_names(4) のマニュアルページで説明している特権名のデータベースファイルを読み取り、priv_id (特権 ID) と *string (文字列) 間で変換を行います。

特権 ID から文字列への変換

この例で priv_id は、明示的定数名 PRIV_FILE_DAC_WRITE に初期化され、priv_to_str(3) ルーチンに渡されて外部名に変換されます。

この節のコードセグメントのヘッダーファイルと宣言は、最初のプログラムに示されています。

#include <tsol/priv.h>

 main()
 {
 	priv_t priv_id = PRIV_FILE_DAC_WRITE;
 	char *string;

 	string = priv_to_str(priv_id);
 	printf("Priv string = %s¥n", string);
 }

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

Priv string = file_dac_write

文字列から特権 ID への変換

次の例で、priv_to_str(3) ルーチンから返される string は、str_to_priv(3) ルーチンに渡されて、文字列から数値 ID に変換されます。

	priv_id = str_to_priv(string);
 	printf("Priv ID = %d¥n", priv_id);

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

Priv ID = 6