Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

readlink(2) [osf1 man page]

readlink(2)							System Calls Manual						       readlink(2)

NAME
readlink - Reads the value of a symbolic link SYNOPSIS
#include <unistd.h> int readlink ( const char *path, char *buffer, size_t buf_size); The following version of the buf_size argument does not conform to current standards and is supported only for backward compatibility: int buf_size STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: readlink(): XSH5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. PARAMETERS
Specifies the pathname of the destination file or directory. Points to the user's buffer. The buffer should be at least as large as the buf_size parameter. Specifies the size of the buffer. DESCRIPTION
The readlink() function places the contents of the symbolic link named by the path parameter in buffer, which has size buf_size. If the actual length of the symbolic link is greater than buf_size, an error is returned. The length of a symbolic link will not exceed PATH_MAX. [Tru64 UNIX] If the actual length of the symbolic link is less than buf_size, the string copied into the buffer is null-terminated. For a readlink() function to complete successfully, the calling process must have search access to the directory containing the link. RETURN VALUES
Upon successful completion, the readlink() function returns a count of bytes placed in the buffer (not including any terminating null). If the readlink() function fails, the buffer is not modified, a value of -1 is returned, and errno is set to indicate the error. ERRORS
The readlink() function sets errno to the specified values for the following conditions: Search permission is denied on a component of the path prefix of the path parameter, or read permission is denied on the final component of the path prefix of the path parameter. The file named by the path parameter is not a symbolic link. An I/O error occurred while reading from or writing to the file system. Too many symbolic links were encountered in resolving path. The length of the path parameter exceeds PATH_MAX, or a pathname component is longer than NAME_MAX while {_POSIX_NO_TRUNC} is in effect. The file named by the path parameter does not exist or the path parameter points to an empty string. A component of the path prefix of the path parameter is not a directory. [Tru64 UNIX] The pathname in the symbolic link is longer than buf_size. For NFS file access, if the readlink() function fails, errno may also be set to one of the following values: [Tru64 UNIX] The owner or group ID is not a value supported by this implementation. [Tru64 UNIX] Indicates a stale NFS file handle. An opened file was deleted by the server or another client; a client cannot open a file because the server has unmounted or unexported the remote directory; or the directory that contains an opened file was either unmounted or unexported by the server. RELATED INFORMATION
Functions: link(2), stat(2), symlink(2), unlink(2) Standards: standards(5) delim off readlink(2)

Check Out this Related Man Page

unlink(2)							System Calls Manual							 unlink(2)

NAME
unlink - Removes a directory entry SYNOPSIS
#include <unistd.h> int unlink ( const char *path ); STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: unlink(): XSH5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. PARAMETERS
Specifies the directory entry to be removed. DESCRIPTION
When the directory entry is a hard link, the unlink() function removes it and decrements the link count of the file referenced by the link. When the directory entry is a symbolic link, the unlink() function removes the symbolic link and does not affect any file or directory named by the contents of the symbolic link. When all links to a file are removed and no process has the file open or mapped, all resources associated with the file are reclaimed, and the file is no longer accessible. If one or more processes have the file open or mapped when the last link is removed, the link is removed before the unlink() function returns, but the removal of the file contents is postponed until all open or map references to the file are removed. A hard link to a directory cannot be unlinked. A process must have write access to the parent directory of the file to be unlinked with respect to all access policies. Upon successful completion, the unlink() function marks for update the st_ctime and st_mtime fields of the directory which contained the link. If the file's link count is not 0 (zero), the st_ctime field of the file is also marked for update. System V Compatibility [Tru64 UNIX] Any attempt to unlink non-empty directories in the System V habitat will cause the unlink call to fail and set errno to ENOTEMPTY, even if the process has superuser privileges. This error behavior is provided in the System V habitat to comply with the SVID-2 industry standard. RETURN VALUES
Upon successful completion, a value of 0 (zero) is returned. If the unlink() function fails, a value of -1 is returned, the named file is not changed, and errno is set to indicate the error. ERRORS
If the unlink() function fails, the named file is not unlinked and errno may be set to one of the following values: Search permission is denied for a component of the path prefix, or write permission is denied on the directory containing the link to be removed. The S_ISVTX flag is set on the directory containing the file referred to by the path argument and the caller is not the file owner, nor is the caller the directory owner, nor does the caller have appropriate priviliges. The entry to be unlinked is the mount point for a mounted file sys- tem. The file named by path is a named STREAM. The path parameter is an invalid address. Too many symbolic links were encountered in translating path. The length of the path parameter exceeds PATH_MAX or a pathname component is longer than NAME_MAX. Pathname resolution of a symbolic link produced an intermediate result whose length exceeds PATH_MAX. The named file does not exist or the path parameter points to an empty string. A component of the path prefix is not a directory. The named file is a directory. The S_ISVTX flag is set on the directory containing the file referred to by the path argument and the caller is not the file owner, nor is the caller the directory owner, nor does the caller have appropriate priviliges. The entry to be unlinked is part of a read- only file system. The entry to be unlinked is the last directory entry to a pure procedure (shared text) file that is being exe- cuted. [Tru64 UNIX] For NFS file access, if the link() function fails, errno may also be set to one of the following values: Indicates either that the request was for a write access to a file but the specified filename was actually a directory, or that the function was trying to rename a directory as a file. Indicates either that the system file table is full, or that there are too many files currently open in the system. Indicates a stale NFS file handle. A client cannot delete a link because the server has unmounted or unexported the remote direc- tory; or the directory that contains an file was either unmounted or unexported by the server. RELATED INFORMATION
Commands: link(1), unlink(1), rm(1) Functions: close(2), link(2), open(2), rmdir(2) Standards: standards(5) delim off unlink(2)
Man Page