名前 | 形式 | 機能説明 | 属性 | 戻り値 | エラー | 注意事項 | 関連項目
#include <tsol/priv.h>priv_t str_to_priv(const char *priv_name);
priv_to_str() は、priv_id によって指定される静的に割り当てられた NULL で終わる特権名へのポインタを返します。priv_id が未定義の特権 ID の場合は、priv_id の整数の序数が返されます。priv_id が最大の許容特権 ID である TSOL_MAX_PRIV
より大きい場合は、NULL が返されます。
str_to_priv() は、NULL で終わる特権名 priv_name に指定される、数値で表した特権 ID を返します。特権名は大文字でも小文字でも指定できます。文字列の中に整数の序数を使用することもできます。
priv_set_to_str() は、ユーザーが指定する長さが buflen のバッファーが指す文字列に priv_set の中の各特権の名前を追加します。特権名は separator文字で区切ります。整数の序数は特権セットの中で見つかった未定義の特権に名前を付けます。文字列 none は空の特権セットを、all は完全な特権セットを特定します。文字列の中の特権名は現地の言語でアルファベット順にソートされます。
トークン区切り文字 (separators) に基づいて、str_to_priv_set() は priv_names 文字列を複数のトークンに分割し、トークンは特権セットに変換されます。トークン none は空の特権セットに、トークン all は完全な特権セットに変換されます。トークン none が存在すると、それに先行する特権が無効になります。たとえば、文字列 file_mac_read,file_mac_write,none,proc_nofloat は、proc_nofloat と同じことです。構築された特権セットは priv_set が指す priv_set_t バッファーに格納されます。
次の属性の説明については、attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
使用条件 | SUNWtsu |
MT レベル | MT- 安全 |
priv_id によって指定される静的に割り当てられた NULL で終わる特権記述テキストへのポインタを返します。
変換された特権名文字列へのポインタを返します。失敗時には NULL を返し、errno を設定します。
数値で表した特権 ID を返します。失敗時には -1 を返し、errno を設定します。
変換された特権名文字列へのポインタを返します。引き渡された buflen が小さすぎて文字列が収まらない場合は、必要なバッファーサイズを buflen に格納し、-1 NULL を返します。失敗時には NULL を返し、errno を設定します。文字列を変換できない場合、文字列の中の整数の序数が TSOL_MAX_PRIV
より大きい場合は、-1 を返します。
成功時には NULL を返します。priv_names 文字列の中に不正な特権名が表示される場合は、認識できない最初の特権名へのポインタを返します。
priv_to_str() が失敗するのは次の理由からです。
指定された priv_id が TSOL_MAX_PRIV
より大きくなっています。
priv_set_to_str() が失敗するのは次の理由からです。
指定された priv_set が無効なアドレスです。
str_to_priv() が失敗するのは次のいずれかの理由からです。
指定された priv_name が定義されている特権名と一致しません。
指定された priv_nameが無効なアドレスです。
libtsol または libtsol.so を読み込む必要があります。