Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

close(2)

creat(2)

exec(2)

fcntl(2)

getrlimit(2)

open(2)

pipe(2)

dup2(3C)

lockf(3C)





   dup(2)                                                               dup(2)


   NAME
         dup - duplicate an open file descriptor

   SYNOPSIS
         #include <unistd.h>

         int dup(int fildes);

   DESCRIPTION
         fildes is a file descriptor obtained from a creat, open, dup, fcntl,
         or pipe system call.  dup returns a new file descriptor having the
         following in common with the original:

               Same open file (or pipe).

               Same file pointer (i.e., both file descriptors share one file
               pointer).

               Same access mode (read, write or read/write).

         The new file descriptor is set to remain open across exec system
         calls [see fcntl(2)].

         The file descriptor returned is the lowest one available.

         dup will fail if one or more of the following are true:

         EBADF          fildes is not a valid open file descriptor.

         EINTR          A signal was caught during the dup system call.

         EMFILE         The process has too many open files [see
                        getrlimit(2)].

         ENOLINK        fildes is on a remote machine and the link to that
                        machine is no longer active.

   SEE ALSO
         close(2), creat(2), exec(2), fcntl(2), getrlimit(2), open(2),
         pipe(2), dup2(3C), lockf(3C).

   DIAGNOSTICS
         Upon successful completion a non-negative integer, namely the file
         descriptor, is returned.  Otherwise, a value of -1 is returned and
         errno is set to indicate the error.








   7/91                                                                 Page 1





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