EN JA
VOP_ATTRIB(9)
VOP_ATTRIB(9) FreeBSD Kernel Developer's Manual VOP_ATTRIB(9)

名称

VOP_GETATTR, VOP_SETATTRファイルまたはディレクトリの属性の取得して設定する

書式

#include < sys/param.h>
#include < sys/vnode.h>

int
VOP_GETATTR( struct vnode *vp, struct vattr *vap, struct ucred *cred);

int
VOP_SETATTR( struct vnode *vp, struct vattr *vap, struct ucred *cred);

解説

これらのエントリポイントは、ファイルのパーミッション、所有者、グループ、サイズ、アクセス時刻と更新時刻を含む、ファイルまたはディレクトリの様々な属性を操作します。

引数は、次の通りです:

vp
ファイルの vnode。
vap
ファイルの属性。
cred
呼び出したプロセスのユーザ資格証明。

VOP_SETATTR() によって修正されない属性は、値 VNOVAL に設定されるべきです。 VATTR_NULL() は、すべての値をクリアするために使用されます、一般的に特定の値に設定する前に *vap の内容をリセットするために使用されるべきです。

ロック

VOP_GETATTR() は、入口で vnode がロックされていて、返り時にロックされた vnode のままであると予想します。ロックタイプは、共有または排他的に設定することができます。

VOP_SETATTR() は、入口で vnode がロックされていて、返り時にロックされた vnode のままであると予想します。ロックタイプは、排他的でなければなりません。

戻り値

VOP_GETATTR() は、 *vap によって属性データを検索することができるなら、0 を返し、そうでなければ、適切なエラーが返されます。 VOP_SETATTR() は、属性の変更が成功したなら、0 を返し、そうでなければ、適切なエラーが返されます。

エラー

[ EPERM]
ファイルが、不変です。
[ EACCES]
呼び出し側には、ファイルまたはディレクトリの属性を修正するパーミッションがありません。
[ EROFS]
ファイルシステムが読み込み専用です。

関連項目

VFS(9), vnode(9), VOP_ACCESS(9)

作者

このマニュアルページは、 Doug Rabson によって書かれました。
August 29, 2008 FreeBSD