ACL_FROM_TEXT(3) |
FreeBSD Library Functions Manual |
ACL_FROM_TEXT(3) |
名称
acl_from_text —
テキストから ACL を作成する
ライブラリ
Standard C Library (libc, -lc)
解説
acl_from_text() 関数は、
buf_p によって参照された ACL のテキスト形式を、ファイルに適用するか操作するのに適切な ACL のための内部作業用構造体に変換します。
メモリはこの関数によって割り付けできます。引数として (void *)acl_t で acl_free(3) を呼ぶことによって、新しい ACL がもはや要求されない場合、呼び出し側はどんな解放可能なメモリも解放するべきです。
実装に関する注
FreeBSD の POSIX.1e インタフェースおよび特徴のサポートはまだこの時期に開発中です。
戻り値
成功して終了すれば、関数は作業用記憶域中の ACL の内部表現へのポインタを返します。そうでなければ、
(acl_t)NULL の値が返されます。また、
errno は、エラーを示す値が設定されます。
エラー
下記条件のうちのどれかが生じる場合、
acl_from_text() 関数は、
(acl_t)NULL の値を返し、対応する値を
errno に設定します。
-
[
EINVAL]
-
引数
buf_p は ACL に翻訳することができません。
-
[
ENOMEM]
-
ACL 作業用記憶域は、ハードウェアあるいはシステム限度のメモリ管理制約によって許可されるより多くのメモリを要求します。
規格
POSIX.1e は、IEEE の POSIX.1e の草案の 17 に記述されています。草案の議論は、クロスプラットフォームの POSIX.1e 実装メーリングリストで継続しています。このリストに加入するための、より詳しい情報については、
FreeBSD POSIX.1e 実装ページを参照してください。
歴史
POSIX.1e サポートは、
FreeBSD 4.0 で導入され、開発は継続しています。
作者
Robert N M Watson
バグ
acl_from_text() と
acl_to_text() 関数は、グループ名と gid マッピングを管理するために呼び出す
getgrent(3) ライブラリと同様に、ユーザ名と uid マッピングを管理するために呼び出す
getpwent(3) ライブラリに依存します。これらの呼び出しはスレッドセーフではないので、
acl_from_text() と
acl_to_text() のどちらも過渡的です。これらの関数は、さらに、
getpwent() と
getgrent() 呼び出しに関連した処理状態を把握する呼び出しに干渉できます。