unlink(2)
_________________________________________________________________
unlink System Call
Remove a directory entry.
_________________________________________________________________
SYNTAX
int unlink (path)
char * path;
PARAMETERS
path Address of a pathname.
DESCRIPTION
Unlink removes the directory entry named by the pathname pointed
to by <path> from the filename store. A symbolic link occurring
at the end of <path> will not be followed. The named file must
reside on a file system device mounted read-write.
The subject file must be of type `ordinary-disk-file', `block-
special-file', `character-special-file', `fifo-special-file',
`socket', or `symbolic-link'.
It is an error to attempt an unlink call on a directory file.
Removing a reference to a file in the filename store has the
following consequences:
* The subject file's link count attribute is decremented.
* The subject file's `time-last-attribute-changed' attribute
is set to the current time.
* If the subject file has no more links in the filename store
and no entries in the channel store, the file is removed
from the flat file store. Thus, unlink deletes inactive
files.
* If the subject file has no more links in the filename store
but is still open, then the file is removed from the
filesystem when it is closed for the last time.
If unlink fails, no changes are made to the named file.
DG/UX 4.00 Page 1
Licensed material--property of copyright holder(s)
unlink(2)
ACCESS CONTROL
The calling process must have permission to resolve <path>.
The calling process must have write permission to the directory
containing the entry to be removed.
RETURN VALUE
0 The filename was successfully removed.
-1 An error occurred. Errno is set to indicate the
error.
EXCEPTIONS
Errno may be set to one of the following error codes:
EACCES Permission to modify the directory containing the
entry to be removed is denied to the calling
process
EBUSY The named file is the mount point of a file system
device.
EPERM The named file is a directory.
EROFS The named file is contained on a read-only file
system device.
ETXTBSY The last link of a pure procedure may not be
removed while a file is executing.
ENOENT The file the pathname resolved to does not exist.
ENOENT A non-terminal component of the pathname does not
exist.
ENOTDIR A non-terminal component of the pathname was not a
directory or symbolic link.
DG/UX 4.00 Page 2
Licensed material--property of copyright holder(s)
unlink(2)
ENAMETOOLONG The pathname exceeds the length limit for
pathnames.
ENAMETOOLONG A component of the pathname exceeds the length
limit for filenames.
ENOMEM There are not enough system resources to resolve
the pathname or to expand a symbolic link.
ELOOP The number of symbolic links encountered during
pathname resolution exceeded MAXSYMLINKS. A
symbolic link cycle is suspected.
EPERM The pathname contains a character not in the
allowed character set.
EFAULT The pathname does not completely reside in the
process's address space or the pathname does not
terminate in the process's address space.
SEE ALSO
The related manual sections: rm(1),
close(2), link(2), open(2).
DG/UX 4.00 Page 3
Licensed material--property of copyright holder(s)