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

名称

VOP_LINKファイルの新しい名前を作成する

書式

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

int
VOP_LINK( struct vnode *dvp, struct vnode *vp, struct componentname *cnp);

解説

これは、指定されたディレクトリの新しい名前を既存のファイルにリンクします。

引数は、次の通りです:

dvp
ディレクトリの vnode。
vp
リンクされるファイルの vnode。
cnp
ファイルに関するパス名の情報。

パス名の情報は、呼び出し側によって行なわれるので、終了時に解放されるべきでは ありません。ディレクトリとファイルの vnode は、終了時に解放されるべきでは ありません

ロック

VOP_LINK() は、ディレクトリとファイルの vnode が呼び出しの入口でロックされることを期待し、返り時にロックされた vnode のままとします。

戻り値

ファイルが成功してリンクされたなら、0 が返され、そうでなければ、エラーが返されます。

エラー

[ EMLINK]
ファイルにはあまりに多くのリンクがあります。
[ EPERM]
ファイルが変更できません。
[ EXDEV]
ハードリンクは、異なるファイルシステムの間で不可能です。

関連項目

vn_lock(9), vnode(9)

作者

このマニュアルページは、初めは Doug Rabson によって書かれました。
July 24, 1996 FreeBSD