Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VOP_VPTOCNP(9)		 BSD Kernel Developer's	Manual		VOP_VPTOCNP(9)

NAME
     VOP_VPTOCNP -- translate a	vnode to its component name

SYNOPSIS
     #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);

DESCRIPTION
     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 di-
     rectory looking for a dirent with a matching file number.	If vp is not a
     directory,	then VOP_VPTOCNP returns ENOENT.

LOCKS
     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.	How-
     ever, it will have	its use	count incremented.

RETURN VALUES
     Zero is returned on success, otherwise an error code is returned.

ERRORS
     [ENOMEM]		The buffer was not large enough	to hold	the vnode's
			component name.

     [ENOENT]		The vnode was not found	on the file system.

SEE ALSO
     vnode(9), VOP_LOOKUP(9)

NOTES
     This interface is a work in progress.

HISTORY
     The function VOP_VPTOCNP appeared in FreeBSD 8.0.

AUTHORS
     This manual page was written by Joe Marcus	Clarke.

BSD				 March 8, 2015				   BSD

NAME | SYNOPSIS | DESCRIPTION | LOCKS | RETURN VALUES | ERRORS | SEE ALSO | NOTES | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=VOP_VPTOCNP&sektion=9&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help