Provided by: freebsd-manpages_12.2-2_all bug

NAME

       VOP_LINK — create a new name for a file

SYNOPSIS

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

       int
       VOP_LINK(struct vnode *dvp, struct vnode *vp, struct componentname *cnp);

DESCRIPTION

       This links a new name in the specified directory to an existing file.

       Its arguments are:

       dvp       The vnode of the directory.

       vp        The vnode of the file to be linked.

       cnp       Pathname information about the file.

       The  pathname  info  should  not be released on exit because it is done by the caller.  The directory and
       file vnodes should not be released on exit.

LOCKS

       VOP_LINK() expects the directory and file vnodes to be locked on entry and will leave the  vnodes  locked
       on return.

RETURN VALUES

       Zero is returned if the file was linked successfully, otherwise an error is returned.

ERRORS

       [EMLINK]           The file has too many links.

       [EPERM]            The file is immutable.

       [EXDEV]            A hard link is not possible between different file systems.

SEE ALSO

       vn_lock(9), vnode(9)

AUTHORS

       This manual page was originally written by Doug Rabson.

Debian                                            July 24, 1996                                      VOP_LINK(9)