Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ link(2) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

realpath(3C)

symlink(2)

unlink(2)






       link(2)                                                      link(2)


       NAME
             link - link to a file

       SYNOPSIS
             #include <unistd.h>
             int link(const char *path1, const char *path2);

       DESCRIPTION
             link creates a new link (directory entry) for a file.  path1
             points to a pathname naming an existing file.  path2 points to
             a pathname naming the new directory entry to be created.  link
             creates a new link for the existing file and increments its
             link count by one.

          Return Values
             On success, link returns 0 and marks for update the st_ctime
             field of the file.  Also, the st_ctime and st_mtime fields of
             the directory that contains the new entry are marked for
             update.  On failure, link returns -1, sets errno to identify
             the error, and no link is created.

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

            EACCES Search permission is denied on a component of one of the
                    path prefixes.

            EACCES Write permission is denied on the directory in which the
                    link is to be created.

            EACCES The file pointed to by path1 has discrete privileges and
                    write permission is denied.

            EEXIST The link named by path2 exists.

            EFAULT path points outside the allocated address space of the
                    process.

            EINTR  A signal was caught during the link system call.

            ELOOP  Too many symbolic links were encountered in translating
                    path.

            EMLINK The maximum number of links to a file would be exceeded.




                           Copyright 1994 Novell, Inc.               Page 1













      link(2)                                                      link(2)


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

           ENAMETOOLONG
                   The length of the path1 or path2 argument exceeds
                   {PATH_MAX}, or the length of a path1 or path2 component
                   exceeds {NAME_MAX} while _POSIX_NO_TRUNC is in effect.

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

           ENOENT path1 or path2 is a null pathname.

           ENOENT A component of either path prefix does not exist.

           ENOENT The file named by path1 does not exist.

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

           ENOSPC the directory that would contain the link cannot be
                   extended.

           EPERM  The file named by path1 is a directory; hard links may
                   not refer to directories.

           EROFS  The requested link requires writing in a directory on a
                   read-only file system.

           EXDEV  The link named by path2 and the file named by path1 are
                   on different logical devices (file systems).

      REFERENCES
            realpath(3C), symlink(2), unlink(2)












                          Copyright 1994 Novell, Inc.               Page 2








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