unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



readlink(2)							  readlink(2)



NAME
  readlink - Reads the value of	a symbolic link

SYNOPSIS

  #include <&lt;unistd.h>&gt;

  int readlink (
	  const	char *path,
	  char *buffer,
	  size_t buf_size);

  The following	version	of the buf_size	argument does not conform to current
  standards and	is supported only for backward compatibility:


	  int buf_size

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  readlink():  XSH5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

PARAMETERS

  path	    Specifies the pathname of the destination file or directory.

  buffer    Points to the user's buffer. The buffer should be at least as
	    large as the buf_size parameter.

  buf_size  Specifies the size of the buffer.

DESCRIPTION

  The readlink() function places the contents of the symbolic link named by
  the path parameter in	buffer,	which has size buf_size.

  If the actual	length of the symbolic link is greater than buf_size, an
  error	is returned.  The length of a symbolic link will not exceed PATH_MAX.

  [Tru64 UNIX]	If the actual length of	the symbolic link is less than
  buf_size, the	string copied into the buffer is null-terminated.

  For a	readlink() function to complete	successfully, the calling process
  must have search access to the directory containing the link.



RETURN VALUES

  Upon successful completion, the readlink() function returns a	count of
  bytes	placed in the buffer (not including any	terminating null).  If the
  readlink() function fails, the buffer	is not modified, a value of -1 is
  returned, and	errno is set to	indicate the error.

ERRORS

  The readlink() function sets errno to	the specified values for the follow-
  ing conditions:

  [EACCES]  Search permission is denied	on a component of the path prefix of
	    the	path parameter,	or read	permission is denied on	the final
	    component of the path prefix of the	path parameter.

  [EINVAL]  The	file named by the path parameter is not	a symbolic link.

  [EIO]	    An I/O error occurred while	reading	from or	writing	to the file
	    system.

  [ELOOP]   Too	many symbolic links were encountered in	resolving path.

  [ENAMETOOLONG]
	    The	length of the path parameter exceeds PATH_MAX, or a pathname
	    component is longer	than NAME_MAX while {_POSIX_NO_TRUNC} is in
	    effect.

  [ENOENT]  The	file named by the path parameter does not exist	or the path
	    parameter points to	an empty string.

  [ENOTDIR] A component	of the path prefix of the path parameter is not	a
	    directory.

  [ERANGE]  [Tru64 UNIX]  The pathname in the symbolic link is longer than
	    buf_size.

  For NFS file access, if the readlink() function fails, errno may also	be
  set to one of	the following values:

  [EINVAL]  [Tru64 UNIX]  The owner or group ID	is not a value supported by
	    this implementation.

  [ESTALE]  [Tru64 UNIX]  Indicates a stale NFS	file handle.  An opened	file
	    was	deleted	by the server or another client; a client cannot open
	    a file because the server has unmounted or unexported the remote
	    directory; or the directory	that contains an opened	file was
	    either unmounted or	unexported by the server.

RELATED	INFORMATION

  Functions: link(2), stat(2), symlink(2), unlink(2)

  Standards: standards(5)