Index of Section 2 Manual Pages
| Interix / SUA | unlink.2 | Interix / SUA |
unlink(2) unlink(2)
unlink()
NAME
unlink(), wcs_unlink() - remove directory entry
SYNOPSIS
#include
int unlink (const char *path)
int wcs_unlink (const wchar_t *path)
DESCRIPTION
The unlink(2) and wcs_unlink(2) functions are identical, except that
wcs_unlink(2) accepts wide characters in the path argument.
The unlink(2) or wcs_unlink(2) function removes the link named by path
from its directory and decrements the link count of the file which was
referenced by the link. If that decrement reduces the link count of the
file to zero, and no process has the file open, then all resources
associated with the file are reclaimed. If one or more process have the
file open when the last link is removed, the link is removed, but the
removal of the file is delayed until all references to it have been
closed.
Calling unlink(2) or wcs_unlink(2) with a directory is not supported.
RETURN VALUES
Upon successful completion, a value of 0 is returned. Otherwise, a value
of -1 is returned and errno is set to indicate the error.
ERRORS
The unlink(2) or wcs_unlink(2) call succeeds unless:
[EACCES]
Search permission is denied for a component of the path prefix.
[EACCES]
Write permission is denied on the directory containing the link to be
removed.
[ENAMETOOLONG]
A component of a pathname exceeded {NAME_MAX} characters, or an entire
pathname exceeded {PATH_MAX} characters.
[ENOENT]
The named file does not exist.
[EPERM]
The named file is a directory.
[EPERM]
The directory containing the file is marked sticky, and neither the
containing directory nor the file to be removed are owned by the
effective user ID.
[EIO]
An I/O error occurred while deleting the directory entry or
deallocating the file serial number.
[EROFS]
The named file resides on a read-only file system.
SEE ALSO
close(2)
link(2)
remove(2)
rmdir(2)
USAGE NOTES
All of these functions are thread safe.
All of these functions are async-signal safe.