Trusted Solaris 開発ガイド

呼び出しのブラケット化

この例は、set_effective_priv(3) を使用してブラケット化を行なっています。最初の呼び出しは、有効セット内で file_setpriv 特権をオンにして (表明して) います。2 番目の呼び出しはその特権をオフにします。1 は、特権パラメータリストに、特権定数が 1 つ (PRIV_FILE_SETPRIV) 含まれることを意味します。

/* 有効セット内で file_setpriv を表明 (オン) にする */
 	if (set_effective_priv(PRIV_ON, 1, PRIV_FILE_SETPRIV) == -1)
 			perror("Cannot assert PRIV_FILE_SETPRIV");

/* インタフェースを呼び出す */
 	retval = setfpriv(execfile, PRIV_SET, PRIV_ALLOWED, &priv_get);

/* file_setpriv 特権をオフ (無効) にする */
 	if (set_effective_priv(PRIV_OFF, 1, PRIV_FILE_SETPRIV) == -1)
 			perror("Cannot clear PRIV_FILE_SETPRIV");

/* アプリケーションコードを続ける */