realpath(3X)
NAME
realpath — resolve 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.
SEE ALSO
getcwd(3C), sysconf(2), <stdlib.h>.
CHANGE HISTORY
First released in Issue 4, Version 2.
Hewlett-Packard Company — HP-UX Release 10.20: July 1996