VOP_VPTOCNP(9) | FreeBSD Kernel Developer's Manual | VOP_VPTOCNP(9) |
名称
VOP_VPTOCNP — vnode をそのコンポーネント名に変換する書式
#include < sys/param.h>#include < sys/vnode.h>
int
VOP_VPTOCNP( struct vnode *vp, struct vnode **dvp, char *buf, int *buflen);
解説
これは、vnode をそのコンポーネント名に変換して、 buf によって指定されたバッファの先頭への名前を書き込みます。- vp
- 変換する vnode。
- dvp
- vp の親ディレクトリの vnode。
- buf
- コンポーネント名の前に追加されるバッファ。
- buflen
- バッファの残っているサイズ。
VOP_VPTOCNP のデフォルトの実装は、マッチするファイル番号がある dirent を検索して、 vp の親ディレクトリに目を通します。 vp がディレクトリでなければ、 VOP_VPTOCNP は、ENOENT を返します。
ロック
vnode は、入口でロックされるべきであり、出口でもロックされます。親ディレクトリの vnode は、成功して終了するときにアンロックされます。しかしながら、それは、保持カウントを増加します。戻り値
成功すれば、0 が返され、そうでなければ、エラーコードが、返されます。エラー
- [ ENOMEM]
- バッファが、vnode のコンポーネント名を保持できるくらい大きくありませんでした。
- [ ENOENT]
- vnode が、ファイルシステム上で見つけられませんでした。
注
このインタフェースは、開発途中です。歴史
関数 VOP_VPTOCNP は、 FreeBSD 8.0 で登場しました。作者
このマニュアルページは、 によって書かれました。November 19, 2011 | FreeBSD |