1.\" Copyright (c) 1996 Doug Rabson 2.\" 3.\" All rights reserved. 4.\" 5.\" This program is free software. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR 17.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, 20.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26.\" 27.\" $FreeBSD: src/share/man/man9/VOP_RENAME.9,v 1.10.2.2 2001/12/17 11:30:18 ru Exp $ 28.\" 29.Dd October 13, 2014 30.Dt VOP_OLD_RENAME 9 31.Os 32.Sh NAME 33.Nm VOP_OLD_RENAME 34.Nd rename a file 35.Sh SYNOPSIS 36.In sys/param.h 37.In sys/vnode.h 38.Ft int 39.Fn VOP_OLD_RENAME "struct vnode *fdvp" "struct vnode *fvp" "struct componentname *fcnp" "struct vnode *tdvp" "struct vnode *tvp" "struct componentname *tcnp" 40.Sh DESCRIPTION 41This renames a file and possibly changes its parent directory. 42If the destination object exists, it will be removed first. 43.Pp 44Its arguments are: 45.Bl -tag -width fdvp 46.It Fa fdvp 47the vnode of the old parent directory 48.It Fa fvp 49the vnode of the file to be renamed 50.It Fa fcnp 51pathname information about the file's current name 52.It Fa tdvp 53the vnode of the new parent directory 54.It Fa tvp 55the vnode of the target file (if it exists) 56.It Fa tcnp 57pathname information about the file's new name 58.El 59.Sh LOCKS 60The source directory and file are unlocked but are expected to have their 61ref count bumped on entry. The VOP routine is expected to 62.Fn vrele 63both prior 64to returning. 65.Pp 66The destination directory and file are locked as well as having their ref 67count bumped. The VOP routine is expected to 68.Fn vput 69both prior to 70returning. 71.Sh ERRORS 72.Bl -tag -width Er 73.It Bq Er EPERM 74the file is immutable 75.It Bq Er EXDEV 76cross device move 77.It Bq Er EINVAL 78illegal directory rename 79.It Bq Er ENOTDIR 80attempt to rename a directory to a file or vice versa 81.It Bq Er ENOTEMPTY 82attempt to remove a directory which is not empty 83.El 84.Sh SEE ALSO 85.Xr vnode 9 86.Sh AUTHORS 87This man page was written by 88.An Doug Rabson . 89