Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ unlink(2) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

close(2)

link(2)

open(2)

rmdir(2)

rm(1)



unlink(2)                        UNIX System V                        unlink(2)


NAME
      unlink - remove directory entry

SYNOPSIS
      #include <unistd.h>

      int unlink(const char *path);

DESCRIPTION
      unlink removes the directory entry named by the path name pointed to by
      path.  and decrements the link count of the file referenced by the
      directory entry.  When all links to a file have been removed and no
      process has the file open, the space occupied by the file is freed and
      the file ceases to exist.  If one or more processes have the file open
      when the last link is removed, space occupied by the file is not released
      until all references to the file have been closed.  If path is a symbolic
      link, the symbolic link is removed.  path should not name a directory
      unless the process has appropriate privileges.  Applications should use
      rmdir to remove directories.

      Upon successful completion unlink marks for update the stctime and
      stmtime fields of the parent directory. Also, if the file's link count
      is not zero, the stctime field of the file is marked for update.

      The named file is unlinked unless one or more of the following are true:

      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.

      EACCES              The parent directory has the sticky bit set and the
                          file is not writable by the user; the user does not
                          own the parent directory and the user does not own
                          the file;

      EBUSY               The entry to be unlinked is the mount point for a
                          mounted file system.

      EFAULT              path points outside the process's allocated address
                          space.

      EINTR               A signal was caught during the unlink system call.

      ELOOP               Too many symbolic links were encountered in
                          translating path.

      EMULTIHOP           Components of path require hopping to multiple remote
                          machines and the file system does not allow it.




10/89                                                                    Page 1







unlink(2)                        UNIX System V                        unlink(2)


      ENAMETOOLONG        The length of the path argument exceeds {PATHMAX},
                          or the length of a path component exceeds {NAMEMAX}
                          while POSIXNOTRUNC is in effect.

      ENOENT              The named file does not exist or is a null pathname.
                          The user is not a super-user.

      ENOTDIR             A component of the path prefix is not a directory.

      EPERM               The named file is a directory and the effective user
                          ID of the process is not super-user.

      ETXTBSY             The entry to be unlinked is the last link to a pure
                          procedure (shared text) file that is being executed.

      EROFS               The directory entry to be unlinked is part of a
                          read-only file system.

      ENOLINK             path points to a remote machine and the link to that
                          machine is no longer active.

SEE ALSO
      close(2), link(2), open(2), rmdir(2).
      rm(1) in the User's Reference Manual.

DIAGNOSTICS
      Upon successful completion, a value of 0 is returned.  Otherwise, a value
      of -1 is returned and errno is set to indicate the error.


























Page 2                                                                    10/89





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026