Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026