Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dup(2) — Reliant UNIX 5.44c4

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 file descriptor.

     -  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 smallest number available.

     dup() will fail if one or more of the following apply:

     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.

RESULT
     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.

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











Page 1                       Reliant UNIX 5.44                Printed 11/98

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