The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group

NAME

realpath - resolve a pathname

SYNOPSIS

#include <stdlib.h>

char *realpath(const char *file_name, char *resolved_name);

DESCRIPTION

The realpath() function derives, from the pathname pointed to by file_name, an absolute pathname that names the same file, whose resolution does not involve ".", "..", or symbolic links. The generated pathname is stored, up to a maximum of {PATH_MAX} bytes, in the buffer pointed to by resolved_name.

RETURN VALUE

On successful completion, realpath() returns a pointer to the resolved name. Otherwise, realpath() returns a null pointer and sets errno to indicate the error, and the contents of the buffer pointed to by resolved_name are undefined.

ERRORS

The realpath() function will fail if:

[EACCES]
Read or search permission was denied for a component of file_name.

[EINVAL]
Either the file_name or resolved_name argument is a null pointer.

[EIO]
An error occurred while reading from the file system.

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

[ENAMETOOLONG]

The file_name argument is longer than {PATH_MAX} or a pathname component is longer than {NAME_MAX}.

[ENOENT]
A component of file_name does not name an existing file or file_name points to an empty string.

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

The realpath() function may fail if:

[ENAMETOOLONG]

Pathname resolution of a symbolic link produced an intermediate result whose length exceeds {PATH_MAX}.

[ENOMEM]
Insufficient storage space is available.

EXAMPLES

None.

APPLICATION USAGE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

getcwd(), sysconf(), <stdlib.h>.

UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]