    DUP(II)                       8/5/73                      DUP(II)

    NAME
         dup - duplicate an open file descriptor

    SYNOPSIS
         (dup = 41.; not in assembler)
         (file descriptor in r0)
         sys dup

         dup(fildes)
         int fildes;

    DESCRIPTION
         Given a file descriptor returned from an open, pipe, or cre-
         at call, dup will allocate another file  descriptor  synony-
         mous with the original.  The new file descriptor is returned
         in r0.

         Dup is used more to reassign the value of  file  descriptors
         than  to  genuinely  duplicate a file descriptor.  Since the
         algorithm to allocate file descriptors  returns  the  lowest
         available  value,  combinations of dup and close can be used
         to manipulate file descriptors in a general  way.   This  is
         handy  for  manipulating standard input and/or standard out-
         put.

    SEE ALSO
         creat(II), open(II), close(II), pipe(II)

    DIAGNOSTICS
         The error bit (c-bit) is set if: the given  file  descriptor
         is  invalid; there are already too many open files.  From C,
         a -1 returned value indicates an error.

                                  - 1 -