VOP_GETEXTATTR(9) FreeBSD カーネル開発者マニュアル VOP_GETEXTATTR(9)
名称
VOP_GETEXTATTR − vnode からの名前付き拡張属性の取り出し |
書式
#include <sys/param.h> int |
VOP_GETEXTATTR(struct vnode *vp, int attrnamespace, const char *name,struct uio *uio, size_t *size, struct ucred *cred,struct thread *td);
解説 |
この vnode 呼び出しは、ファイルまたはディレクトリから、指定した名前付き拡 張属性を取り出すために使用することができます。 引数は以下の通りです。 |
vp
ファイルまたはディレクトリの vnode。 attrnamespace name uio size cred td cred ポインタは、 NULL を渡すことができ、可能であるならばアクセス制御 チェックが実行されないことを指示します。この cred の設定は、アクティブプ ロセスに許されていない拡張属性の取り出しをカーネルが正当化することを認め るために使用可能です。 拡張属性のセマンティクスはファイルシステムの呼び出しの実装によって異なる でしょう。拡張属性のより多くの情報は extattr(9) を参照してください。 LOCKS |
この vnode は入る時にロックされ、戻る時までロックされ続けるべきです。 |
戻り値
成功時には 0 が返され、読み込んだデータを反映して uio 構造体が更新されま す。そうでなければ適切なエラーコードが返されます。 |
エラー
[ENOATTR]
要求された属性は、この vnode のために定義されていませ ん。 [EACCES] [ENXIO] [ENOMEM] [EFAULT] [EINVAL] [EOPNOTSUPP] 関連項目 |
extattr(9), vnode(9), VOP_LISTEXTATTR(9), VOP_SETEXTATTR(9) |
バグ
属性名として空の文字列を渡すことによって、いくつかのファイルシステムは、 要求された名前空間における対象 vnode の持つ定義された名前のリストを返しま す。これは悪い API ですので、明示的な VOP で置き換えられる予定です。 FreeBSD 10.0 December 23, 1999 FreeBSD 10.0 |