HPlogo HP-UX Reference Volume 4 of 5 > r

realpath(3X)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

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.

APPLICATION USAGE

realpath() is thread-safe. It is not async-cancel-safe. A cancellation point may occur when a thread is executing realpath().

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 Development Company, L.P.