VOP_REMOVE(9) FreeBSD カーネル開発者マニュアル VOP_REMOVE(9)
名称
|
VOP_REMOVE, VOP_RMDIR − ファイルまたはディレクトリの削除 |
書式
|
#include <sys/param.h> int |
|
VOP_REMOVE(struct vnode *dvp, struct vnode *vp, struct componentname *cnp); int |
|
VOP_RMDIR(struct vnode *dvp, struct vnode *vp, struct componentname *cnp); |
|
解説 |
|
これらのエントリポイントは、それぞれファイルとディレクトリを削除します。 引数は以下の通りです。 |
dvp
|
ディレクトリの vnode。 vp cnp ロック |
|
dvp および vp 共に、入る時にロックされているべきで、戻り時もロックされ続 けています。 |
戻り値
|
成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 |
疑似コード
int
vop_remove(struct vnode *dvp, struct vnode *vp, struct componentname *cnp)
{
int error = 0;
if (vp is immutable) {
|
|
error = EPERM; |
||
|
goto out; |
|
} /* /* |
|
vrele(vp); |
|
else |
|
vput(vp); |
|
vput(dvp); return error; |
エラー
[EPERM]
|
ファイルは変更不可能です。 [ENOTEMPTY] 関連項目 |
作者
|
このマニュアルページは Doug Rabson が書きました。 FreeBSD 10.0 July 24, 1996 FreeBSD 10.0 |