REALPATH(3C)            Standard C Library Functions            REALPATH(3C)
NAME
       realpath - resolve pathname
SYNOPSIS
       #include <stdlib.h>       
char *realpath(
const char *restrict file_name,            
char *restrict resolved_name);       
char *canonicalize_file_name(
const char *path);
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 as a null-terminated string, up to a
       maximum of {
PATH_MAX} bytes (defined in 
limits.h(3HEAD)), in the
       buffer pointed to by 
resolved_name.
       The 
canonicalize_file_name() function is equivalent to calling       
realpath(
path, 
NULL). This function is only provided for
       compatibility.
RETURN VALUES
       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 left in an indeterminate state.
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                       
file_name.       
ELOOP                       A loop exists in symbolic links encountered during
                       resolution of the 
file_name argument.       
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.
USAGE
       The 
realpath() function operates on null-terminated strings.
       Execute permission is required for all the directories in the given
       and the resolved path.
       The 
realpath() function might fail to return to the current directory
       if an error occurs.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Standard        |
       +--------------------+-----------------+
       |MT-Level            | MT-Safe         |
       +--------------------+-----------------+
SEE ALSO
       getcwd(3C), 
sysconf(3C), 
limits.h(3HEAD), 
attributes(7), 
standards(7)                              December 20, 2014                 REALPATH(3C)