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

FreeBSD Manual Pages

  
 
  

home | help
VOP_RENAME(9)		   Kernel Developer's Manual		 VOP_RENAME(9)

NAME
       VOP_RENAME -- rename a file

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

       int
       VOP_RENAME(struct      vnode	 *fdvp,	    struct     vnode	 *fvp,
	   struct componentname	*fcnp, struct vnode *tdvp, struct vnode	 *tvp,
	   struct componentname	*tcnp);

DESCRIPTION
       This  renames a file and	possibly changes its parent directory.	If the
       destination object exists, it will be removed first.

       Its arguments are:

       fdvp  The vnode of the old parent directory.

       fvp   The vnode of the file to be renamed.

       fcnp  Pathname information about	the file's current name.

       tdvp  The vnode of the new parent directory.

       tvp   The vnode of the target file (if it exists).

       tcnp  Pathname information about	the file's new name.

LOCKS
       The source directory and	file are unlocked but  are  expected  to  have
       their  ref  count  bumped  on  entry.   The  VOP	routine	is expected to
       vrele(9)	both prior to returning.

       The destination directory and file are locked as	well as	 having	 their
       ref count bumped.  The VOP routine is expected to vput(9) both prior to
       returning.

ERRORS
       [EPERM]		  The file is immutable.

       [EXDEV]		  It  is not possible to rename	a file between differ-
			  ent file systems.

       [EINVAL]		  An attempt was made to rename	. or .., or to perform
			  an operation which would break  the  directory  tree
			  structure.

       [ENOTDIR]	  An  attempt was made to rename a directory to	a file
			  or vice versa.

       [ENOTEMPTY]	  An attempt was made to remove	a directory  which  is
			  not empty.

SEE ALSO
       vnode(9)

AUTHORS
       This manual page	was written by Doug Rabson.

FreeBSD	15.0			 July 24, 1996			 VOP_RENAME(9)

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

home | help