1*86d7f5d3SJohn Marino.\" Copyright (c) 1996 Doug Rabson 2*86d7f5d3SJohn Marino.\" 3*86d7f5d3SJohn Marino.\" All rights reserved. 4*86d7f5d3SJohn Marino.\" 5*86d7f5d3SJohn Marino.\" This program is free software. 6*86d7f5d3SJohn Marino.\" 7*86d7f5d3SJohn Marino.\" Redistribution and use in source and binary forms, with or without 8*86d7f5d3SJohn Marino.\" modification, are permitted provided that the following conditions 9*86d7f5d3SJohn Marino.\" are met: 10*86d7f5d3SJohn Marino.\" 1. Redistributions of source code must retain the above copyright 11*86d7f5d3SJohn Marino.\" notice, this list of conditions and the following disclaimer. 12*86d7f5d3SJohn Marino.\" 2. Redistributions in binary form must reproduce the above copyright 13*86d7f5d3SJohn Marino.\" notice, this list of conditions and the following disclaimer in the 14*86d7f5d3SJohn Marino.\" documentation and/or other materials provided with the distribution. 15*86d7f5d3SJohn Marino.\" 16*86d7f5d3SJohn Marino.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR 17*86d7f5d3SJohn Marino.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18*86d7f5d3SJohn Marino.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19*86d7f5d3SJohn Marino.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, 20*86d7f5d3SJohn Marino.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21*86d7f5d3SJohn Marino.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22*86d7f5d3SJohn Marino.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23*86d7f5d3SJohn Marino.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24*86d7f5d3SJohn Marino.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25*86d7f5d3SJohn Marino.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26*86d7f5d3SJohn Marino.\" 27*86d7f5d3SJohn Marino.\" $FreeBSD: src/share/man/man9/VOP_READLINK.9,v 1.7.2.2 2001/12/17 11:30:18 ru Exp $ 28*86d7f5d3SJohn Marino.\" 29*86d7f5d3SJohn Marino.Dd July 24, 1996 30*86d7f5d3SJohn Marino.Dt VOP_READLINK 9 31*86d7f5d3SJohn Marino.Os 32*86d7f5d3SJohn Marino.Sh NAME 33*86d7f5d3SJohn Marino.Nm VOP_READLINK 34*86d7f5d3SJohn Marino.Nd read the target of a symbolic link 35*86d7f5d3SJohn Marino.Sh SYNOPSIS 36*86d7f5d3SJohn Marino.In sys/param.h 37*86d7f5d3SJohn Marino.In sys/vnode.h 38*86d7f5d3SJohn Marino.In sys/uio.h 39*86d7f5d3SJohn Marino.Ft int 40*86d7f5d3SJohn Marino.Fn VOP_READLINK "struct vnode *vp" "struct uio *uio" "struct ucred *cred" 41*86d7f5d3SJohn Marino.Sh DESCRIPTION 42*86d7f5d3SJohn MarinoThis reads the target pathname of a symbolic link 43*86d7f5d3SJohn Marino.Bl -tag -width uio 44*86d7f5d3SJohn Marino.It Fa vp 45*86d7f5d3SJohn Marinothe vnode of the symlink 46*86d7f5d3SJohn Marino.It Fa uio 47*86d7f5d3SJohn Marinothe location of the data to be read or written 48*86d7f5d3SJohn Marino.It Fa cred 49*86d7f5d3SJohn Marinothe credentials of the caller 50*86d7f5d3SJohn Marino.El 51*86d7f5d3SJohn Marino.Sh LOCKS 52*86d7f5d3SJohn MarinoThe vnode should be locked on entry and will still be locked on exit. 53*86d7f5d3SJohn Marino.Sh RETURN VALUES 54*86d7f5d3SJohn MarinoZero is returned on success, otherwise an error code is returned. 55*86d7f5d3SJohn Marino.Sh PSEUDOCODE 56*86d7f5d3SJohn Marino.Bd -literal 57*86d7f5d3SJohn Marinoint 58*86d7f5d3SJohn Marinovop_readlink(struct vnode *vp, struct uio *uio, struct ucred *cred) 59*86d7f5d3SJohn Marino{ 60*86d7f5d3SJohn Marino int error = 0; 61*86d7f5d3SJohn Marino 62*86d7f5d3SJohn Marino /* 63*86d7f5d3SJohn Marino * Read the target of the symlink. 64*86d7f5d3SJohn Marino */ 65*86d7f5d3SJohn Marino ...; 66*86d7f5d3SJohn Marino 67*86d7f5d3SJohn Marino return error; 68*86d7f5d3SJohn Marino} 69*86d7f5d3SJohn Marino.Ed 70*86d7f5d3SJohn Marino.Sh ERRORS 71*86d7f5d3SJohn Marino.Bl -tag -width Er 72*86d7f5d3SJohn Marino.It Bq Er EIO 73*86d7f5d3SJohn Marinoa read error occurred while reading the contents of the symlink 74*86d7f5d3SJohn Marino.El 75*86d7f5d3SJohn Marino.Sh SEE ALSO 76*86d7f5d3SJohn Marino.Xr uiomove 9 , 77*86d7f5d3SJohn Marino.Xr vnode 9 78*86d7f5d3SJohn Marino.Sh AUTHORS 79*86d7f5d3SJohn MarinoThis man page was written by 80*86d7f5d3SJohn Marino.An Doug Rabson . 81