VOP_VPTOCNP
—
translate a vnode to its component name
#include
<sys/param.h>
#include
<sys/ucred.h>
#include
<sys/vnode.h>
int
VOP_VPTOCNP
(
struct
vnode *vp,
struct vnode
**dvp,
struct
ucred *cred,
char *buf,
int *buflen);
This translates a vnode into its component name, and writes that name to the
head of the buffer specified by
buf.
- vp
- The vnode to translate.
- dvp
- The vnode of the parent directory of
vp.
- cred
- The caller credentials.
- buf
- The buffer into which to prepend the component name.
- buflen
- The remaining size of the buffer.
The default implementation of
VOP_VPTOCNP
scans through
vp's parent directory looking
for a dirent with a matching file number. If
vp is not a directory, then
VOP_VPTOCNP
returns ENOENT.
The vnode should be locked on entry and will still be locked on exit. The parent
directory vnode will be unlocked on a successful exit. However, it will have
its use count incremented.
Zero is returned on success, otherwise an error code is returned.
- [
ENOMEM
]
- The buffer was not large enough to hold the vnode's component name.
- [
ENOENT
]
- The vnode was not found on the file system.
vnode(9),
VOP_LOOKUP(9)
This interface is a work in progress.
The function
VOP_VPTOCNP
appeared in
FreeBSD 8.0.
This manual page was written by
Joe Marcus
Clarke.