NAME
unlink - Removes a directory entry
SYNOPSIS
int unlink (
const char *path );
PARAMETERS
path Specifies the directory entry to be removed.
DESCRIPTION
The unlink() function removes the directory entry specified
by the path parameter and, if the entry is a hard link,
decrements the link count of the file referenced by the
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 will be removed before the
unlink() function returns, but the removal of the file con-
tents is postponed until all open or map references to the
file are removed. If the path parameter names a symbolic
link, the symbolic link itself is 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.
NOTES
AES Support Level:
Full use
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:
[ENOENT] The named file does not exist or the path parame-
ter points to an empty string.
[EACCES] 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.
[EPERM] The named file is a directory.
[EPERM] The S_ISVTX flag is set on the directory contain-
ing the file to be deleted, and the caller is not
the file owner.
[EBUSY] The entry to be unlinked is the mount point for a
mounted file system.
[EROFS] The entry to be unlinked is part of a read-only
file system.
[EFAULT] The path parameter is an invalid address.
[ELOOP] Too many links were encountered in translating
path.
[ENAMETOOLONG]
The length of the path parameter exceeds PATH_MAX
or a pathname component is longer than NAME_MAX.
[ENOTDIR] A component of the path prefix is not a directory.
RELATED INFORMATION
Functions: close(2), link(2), open(2), rmdir(2)
Commands: rm(1)
Acknowledgement and Disclaimer