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.
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.