Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ link(2) — DG/UX 4.30

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

symlink(2)

unlink(2)

stat(5)



     link(2)                    DG/UX 4.30                     link(2)



     NAME
          link - Create a new link to a file.

     SYNOPSIS
          int   link  (old_path, new_path)
          char *      old_path;
          char *      new_path;

     PARAMETERS
          old_path       Address of a pathname to an existing file.


          new_path       Address of a pathname to be added.

     DESCRIPTION
          Link adds the pathname pointed to by <new_path> to the
          filesystem.  The file named by <new_path> is made to
          identify the same file as that named by <old_path>.
          Terminal Symbolic links are not followed for <new_path>, but
          are followed for <old_path>.

          The subject file must be of type `ordinary-disk-file',
          `block-special-file', `character-special-file', or `fifo-
          special-file'.

          It is illegal to link to a file of type 'directory',
          'socket', or 'symbolic link'.

          If link fails, no changes are made.  Otherwise, the
          following changes are made to the subject file:

          *    The subject file's link count attribute (st_nlink) is
               incremented.

          *    The subject file's time of last attribute change
               (st_ctime) is set to the current time.

     ACCESS CONTROL
          The calling process must have permission to resolve
          <old_path> and <new_path>.

          The calling process must have write permission to the
          directory containing the entry to be added.

     RETURN VALUE
          0              The new path was successfully created.


          -1             An error occurred.  Errno is set to indicate
                         the error.

     EXCEPTIONS



     Licensed material--property of copyright holder(s)         Page 1





     link(2)                    DG/UX 4.30                     link(2)



          Errno may be set to one of the following error codes:


          ENOENT         The file named by <old_path> does not exist.


          EEXIST         The link named by <new_path> exists.


          EPERM          Permission to link to the given file type is
                         denied to the calling process.


          EXDEV          The link named by <new_path> and the file
                         named by <old_path> are on different file
                         system devices.


          EACCES         The requested link requires writing in a
                         directory with a mode that denies write
                         permission.


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


          EMLINK         Too many links to one file.  There can only
                         be MAXLINK links to one file.  See
                         <sys/param.h>.


          ENOSPC         No more contiguous space for file space or
                         inodes.


          ENOENT         A non-terminal component of the <old_path> or
                         <new_path> does not exist.


          ENOTDIR        A non-terminal component of the <old_path> or
                         <new_path> was not a directory or symbolic
                         link.


          ENAMETOOLONG   <old_path> or <new_path> exceeds the length
                         limit for pathnames.


          ENAMETOOLONG   A component of the <old_path> or <new_path>
                         exceeds the length limit for filenames.



     Licensed material--property of copyright holder(s)         Page 2





     link(2)                    DG/UX 4.30                     link(2)



          ENOMEM         There are not enough system resources to
                         resolve <old_path> or <new_path> 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          <old_path> or <new_path> contains a character
                         not in the allowed character set.


          EFAULT         <old_path> or <new_path> 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:  symlink(2), unlink(2),
          stat(5).
































     Licensed material--property of copyright holder(s)         Page 3



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