EN JA
ACL_GET_QUALIFIER(3)
ACL_GET_QUALIFIER(3) FreeBSD Library Functions Manual ACL_GET_QUALIFIER(3)

名称

acl_get_qualifierACL エントリから修飾子 (qualifier) を検索して取り出す

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/types.h>
#include < sys/acl.h>

void *
acl_get_qualifier( acl_entry_t entry_d);

解説

acl_get_qualifier() 関数は、引数 entry_d によって示される ACL エントリのためのタグの修飾子 (qualifier) を作業記憶領域に取り出し、その記憶領域へのポインタを返す POSIX.1e 呼び出しです。

entry_d によって参照される ACL エントリでタグのタイプの値が ACL_USER である場合、 acl_get_qualifier() によって返される値は、タイプ uid_t へのポインタになります。

entry_d によって参照される ACL エントリでタグのタイプの値が ACL_GROUP である場合、 acl_get_qualifier() によって返される値は、タイプ gid_t へのポインタになります。

entry_d によって参照される ACL エントリでタグのタイプの値が ACL_UNDEFINED_TAG, ACL_USER_OBJ, ACL_GROUP_OBJ, ACL_OTHER, ACL_MASK か、または修飾子 (qualifier) がサポートされない実装で定義された値である場合、 acl_get_qualifier() は、 ( void *) NULL の値を返し、そして関数は失敗します。

この関数で、メモリが割り付けられかもしれません。呼び出し側は、新しい修飾子 (qualifier) がもう必要でないときに、引数として void *acl_free() を呼び出すことによって、どんな解放可能なメモリも解放するべきです。

戻り値

成功すれば、 acl_get_qualifier() 関数は、割り付けられた記憶域へのポインタを返します。そうでなければ、 NULL ポインタが返えされ、グローバル変数 errno にエラーを示す値が設定されます。

エラー

acl_get_qualifier() は、次の場合に失敗します:
[ EINVAL]
引数 entry_d は、ACL エントリのための有効な記述子を指していません。引数 entry_d によって参照される ACL エントリ中のタグのタイプの値は、 ACL_USER でも ACL_GROUP でもありません。
[ ENOMEM]
返される値は、ハードウェアあるいはシステム限度のメモリ管理制約によって許可されるより多くのメモリを要求します。

規格

POSIX.1e は、IEEE の POSIX.1e の草案の 17 に記述されています。

歴史

POSIX.1e のサポートは、 FreeBSD 4.0 で導入されました。 acl_get_qualifier() 関数は、 FreeBSD 5.0 で追加されました。

作者

acl_get_qualifier() 関数は、 Chris D. Faulhaber <jedgar@fxp.org>によって書かれました。
March 13, 2001 FreeBSD