---
name: "VOP_READLINK"
section: "9"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/VOP_READLINK"
---

# VOP\_READLINK(9)

read the target of a symbolic link

## NAME

**VOP\_READLINK** – read the target of a symbolic link

## SYNOPSIS

**#include \<sys/param.h\>**

**#include \<sys/vnode.h\>**

**#include \<sys/uio.h\>**

*int*\

**VOP\_READLINK**(*struct vnode \*vp*, *struct uio \*uio*, *struct ucred \*cred*);

## DESCRIPTION

This reads the target pathname of a symbolic link

- *vp*

  The vnode of the symlink.

- *uio*

  The location of the data to be read or written.

- *cred*

  The credentials of the caller.

## LOCKS

The vnode should be locked on entry and will still be locked on exit.

## RETURN VALUES

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

## PSEUDOCODE

```
int
vop_readlink(struct vnode *vp, struct uio *uio, struct ucred *cred)
{
    int error = 0;
    /*
     * Read the target of the symlink.
     */
    ...;
    return error;
}
```

## ERRORS

- \[EIO\]

  A read error occurred while reading the contents of the symlink.

## SEE ALSO

[uiomove(9)](/uiomove/9.md), [vnode(9)](/vnode/9.md)

## AUTHORS

This manual page was written by Doug Rabson.
