Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ unlink(2) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

close(2)

link(2)

open(2)

rm(1)

rmdir(2)






       unlink(2)                                                  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 pathname
             pointed to by the argument 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 an outstanding
             reference to the file, the space occupied by the file is freed
             and the file ceases to exist.  If one or more processes have
             outstanding references to the file when the last link is
             removed, space occupied by the file is not released until all
             references to the file have been removed.  If path is a
             symbolic link, the symbolic link is removed.  The path
             argument should not name a directory unless the process has
             appropriate privileges and the implementation supports unlink
             on directories.  Applications should use rmdir to remove
             directories.

          Return Values
             On success, unlink returns 0 and marks for update the st_ctime
             and st_mtime fields of the parent directory.  Also, if the
             file's link count is not zero, the st_ctime field of the file
             is marked for update.  On failure, unlink returns -1, sets
             errno to identify the error, and the file is not unlinked.

          Errors
             In the following conditions, unlink fails and sets errno to:

            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 and the process does not have
                    the P_COMPAT privilege.

            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;
                    EACCES.  Write permission is denied on the file named
                    by path.



                           Copyright 1994 Novell, Inc.               Page 1













      unlink(2)                                                  unlink(2)


           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.

           ENAMETOOLONG
                   The length of the path argument exceeds {PATH_MAX}, or
                   the length of a path component exceeds {NAME_MAX} while
                   _POSIX_NO_TRUNC 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 calling process
                   does not have the P_FILESYS privilege.

           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.

      REFERENCES
            close(2), link(2), open(2), rm(1), rmdir(2)










                          Copyright 1994 Novell, Inc.               Page 2








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