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]
- ファイルシステムが読み込み専用です。
作者
このマニュアルページは、 によって書かれました。August 29, 2008 | FreeBSD |