Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ symlink(2) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                               symlink(2)



        _________________________________________________________________
        symlink                                               System Call
        Create a symbolic link file.
        _________________________________________________________________


        SYNTAX

        int   symlink  (link_contents, link_path)
        char *  link_contents;
        char *  link_path;


        PARAMETERS

        link_contents  Null terminated string to become the symbolic
                       link's contents.


        link_path      Address of a pathname.


        DESCRIPTION

        Symlink creates a symbolic link file named by the pathname
        pointed to by <link_path> that contains the null-terminated
        string pointed to by <link_contents>.

        <Link_contents> need not be a valid pathname in order to create
        the symbolic link.  When the symbolic link is resolved as part of
        a pathname, however, an error will occur if it does not obey all
        the pathname resolution rules.  The only validity test performed
        on <link_contents> is a check that no character has a high-order
        bit set.

        <Link_contents> must be less than MAXPATHLEN bytes long.  This
        restriction is in addition to the size restrictions that apply to
        every file -- the process file size limit, and the system file
        size limit.

        The symbolic link file is entered into the filesystem.  The
        file's attributes are initialized as follows:

        *    The inode number (st_inod) refers to the per-file database
             allocated.

        *    The device number (st_dev) is the same as that of the
             directory containing the symbolic link file.  The
             represented device (st_rdev) is undefined.

        *    The number of links (st_nlink) is set to one.



        DG/UX 4.00                                                 Page 1
               Licensed material--property of copyright holder(s)





                                                               symlink(2)



        *    The file mode (st_mode) is set as follows:  The file type is
             `symbolic-link-file'.  The other mode fields are undefined.

        *    The user id (st_uid) is set to the effective user id of the
             calling process. (The user id is needed to support the
             protection required by readlink.) The group id (st_gid) is
             undefined.

        *    The file size (st_size) is set to the number of characters
             in <link_contents>, exclusive of the terminating null
             character.

        *    The time last accessed (st_atime), time last modified
             (st_mtime), and time of last attribute change (st_ctime) are
             set to the current time.

        <Link_path> is created in the containing directory and is made to
        identify the newly created file.  An allocation to the directory
        causes its attributes to change as follows:

        *    The file size (st_size) is updated.

        *    The time last modified (st_mtime) and time of last attribute
             change (st_ctime) are set to the current time.

        If symlink fails, no changes are made.


        ACCESS CONTROL

        The calling process must have permission to resolve <link_path>.

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


        RETURN VALUE

        0              The symbolic link was successfully created.


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


        EXCEPTIONS

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


        EEXIST         The symbolic link named by <new_path> exists.



        DG/UX 4.00                                                 Page 2
               Licensed material--property of copyright holder(s)





                                                               symlink(2)



        EFAULT         <Link_contents> points outside the allocated
                       address space of the process.


        EPERM          The string pointed to by <link_contents> contains
                       a character with the high-order bit set.


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


        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.


        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:  ln(1),



        DG/UX 4.00                                                 Page 3
               Licensed material--property of copyright holder(s)





                                                               symlink(2)



        link(2), readlink(2), unlink(2),
        stat(5).




















































        DG/UX 4.00                                                 Page 4
               Licensed material--property of copyright holder(s)



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