Skip Navigation Links | |
Exit Print View | |
man pages section 3: Basic Library Functions Oracle Solaris 11.1 Information Library |
enable_extended_FILE_stdio(3C)
posix_spawnattr_getschedparam(3C)
posix_spawnattr_getschedpolicy(3C)
posix_spawnattr_getsigdefault(3C)
posix_spawnattr_getsigignore_np(3C)
posix_spawnattr_getsigmask(3C)
posix_spawnattr_setschedparam(3C)
posix_spawnattr_setschedpolicy(3C)
posix_spawnattr_setsigdefault(3C)
posix_spawnattr_setsigignore_np(3C)
posix_spawnattr_setsigmask(3C)
posix_spawn_file_actions_addclose(3C)
posix_spawn_file_actions_addclosefrom_np(3C)
posix_spawn_file_actions_adddup2(3C)
posix_spawn_file_actions_addopen(3C)
posix_spawn_file_actions_destroy(3C)
posix_spawn_file_actions_init(3C)
pthread_attr_getdetachstate(3C)
pthread_attr_getinheritsched(3C)
pthread_attr_getschedparam(3C)
pthread_attr_getschedpolicy(3C)
pthread_attr_setdetachstate(3C)
pthread_attr_setinheritsched(3C)
pthread_attr_setschedparam(3C)
pthread_attr_setschedpolicy(3C)
pthread_barrierattr_destroy(3C)
pthread_barrierattr_getpshared(3C)
pthread_barrierattr_setpshared(3C)
pthread_condattr_getpshared(3C)
pthread_condattr_setpshared(3C)
pthread_cond_reltimedwait_np(3C)
pthread_key_create_once_np(3C)
pthread_mutexattr_getprioceiling(3C)
pthread_mutexattr_getprotocol(3C)
pthread_mutexattr_getpshared(3C)
pthread_mutexattr_getrobust(3C)
pthread_mutexattr_setprioceiling(3C)
pthread_mutexattr_setprotocol(3C)
pthread_mutexattr_setpshared(3C)
pthread_mutexattr_setrobust(3C)
pthread_mutex_getprioceiling(3C)
pthread_mutex_reltimedlock_np(3C)
pthread_mutex_setprioceiling(3C)
pthread_rwlockattr_destroy(3C)
pthread_rwlockattr_getpshared(3C)
pthread_rwlockattr_setpshared(3C)
pthread_rwlock_reltimedrdlock_np(3C)
pthread_rwlock_reltimedwrlock_np(3C)
pthread_rwlock_timedrdlock(3C)
pthread_rwlock_timedwrlock(3C)
rctlblk_get_enforced_value(3C)
- resolve pathname
#include <stdlib.h> char *realpath(const char *restrict file_name, char *restrict resolved_name);
char *frealpath(int file_descriptor, char *restrict resolved_name, size_t size);
char *canonicalize_file_name (const char *path);
The realpath() function derives, from the pathname pointed to by file_name, an absolute pathname that resolves to the same directory entry, whose resolution does not involve “.”, “..”, or symbolic links. If resolved_name is not null, the generated pathname is stored as a null-terminated string, up to a maximum of {PATH_MAX} (defined in limits.h(3HEAD)) bytes in the buffer pointed to by resolved_name. If resolved_name is null, the generated pathname is stored as a null-terminated string in a buffer that is allocated as if malloc(3C) were called.
The frealpath() function derives, from the file_descriptor, an absolute pathname that resolves to the same file whose resolution does not involve “.”, “..”, or symbolic links. If resolved_name is not null, the generated pathname is stored as a null-terminated string, up to a maximum of size bytes in the buffer pointed to by resolved_name. If resolved_name is null, the generated pathname is stored as a null-terminated string in a buffer that is allocated as if malloc() were called. In that case, the size argument is the upper limit to the returned pathname where the special value “0” indicates that no limit is requested. If a file has multiple links, an arbitrary name will be returned.
The call canonicalize_file_name(path) is equivalent to the call realpath(path, NULL).
On successful completion, realpath() and frealpath() return a pointer to the resolved name. Otherwise, realpath() and frealpath() return a null pointer and set errno to indicate the error, and the contents of the buffer pointed to by resolved_name are left in an indeterminate state.
The realpath() function will fail if:
Search permission was denied for a component of the path prefix of file_name.
The file_name argument is a null pointer.
An error occurred while reading from the file system.
Too many symbolic links were encountered in resolving file_name.
A loop exists in symbolic links encountered during resolution of the file_name argument.
The file_name argument is longer than {PATH_MAX} or a pathname component is longer than {NAME_MAX}.
A component of file_name does not name an existing file or file_name points to an empty string.
A component of the path prefix is not a directory.
The frealpath() function will fail if:
The file_descriptor is not a valid descriptor.
The file_descriptor points to a file without a name in the file system, or the file name could not be resolved.
The realpath() and frealpath() functions may fail if:
Insufficient storage space is available.
The realpath() function may fail if:
The file_name argument does not begin with a slash (/) and none of the symbolic links (if any) processed during pathname resolution of file_name had contents that began with a slash (/), and either search permission was denied for the current directory or read or search permission was denied for a directory above the current directory in the file hierarchy.
Pathname resolution of a symbolic link produced an intermediate result whose length exceeds {PATH_MAX}.
The realpath() function operates on null-terminated strings.
Execute permission is required for all the directories in the given and the resolved path.
See attributes(5) for descriptions of the following attributes:
|
getcwd(3C), limits.h(3HEAD), malloc(3C), sysconf(3C), attributes(5), standards(5)