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

     creat  call,  dup  will  allocate  another  file  descriptor

     synonymous 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

     output.



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.