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