特権セット構造で特権を表明するには、PRIV_ASSERT マクロまたは str_to_priv_set(3) ルーチンを使用できます。表明する特権が 2 つ以上ある場合には、1 つの文で表明できる str_to_priv_set() が便利です。一方、PRIV_ASSERT は、セット内で表明する特権ごとに呼び出す必要があります。このコードは、許容セットに対し str_to_priv_set() ルーチンを使用し、強制セットに対し PRIV_ASSERT を使用しています。str_to_priv() ルーチンは、成功時には NULL を返し、失敗時には priv_names で渡した文字列を返します。
if((string = str_to_priv_set(priv_names, &priv_set, "$")) != NULL) printf("string = %s errno = %d¥n", string, errno); PRIV_EMPTY(&priv_set); PRIV_ASSERT(&priv_set, PRIV_FILE_MAC_WRITE);