Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dup2(3C) — SunOS 5.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

close(2)

creat(2)

exec(2)

fcntl(2)

open(2)

pipe(2)

lockf(3C)

limits(4)

dup2(3C)

NAME

dup2 − duplicate an open file descriptor

SYNOPSIS

#include <unistd.h>

int dup2(int fildes, int fildes2);

MT-LEVEL

Unsafe

DESCRIPTION

dup2() causes the file descriptor fildes2 to refer to the same file as fildes. fildes is a file descriptor referring to an open file, and fildes2 is a non-negative integer less than {OPEN_MAX} (the maximum number of open files).  If fildes2 already referred to an open file, not fildes, it is closed first.  If fildes2 refers to fildes, or if fildes is not a valid open file descriptor, fildes2 will not be closed first. 

RETURN VALUES

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. 

ERRORS

dup2() will fail if one or more of the following are true:

EBADF fildes is not a valid open file descriptor. 

EBADF fildes2 is negative or greater than or equal to {OPEN_MAX}. 

EINTR a signal was caught during the dup2() call. 

EMFILE {OPEN_MAX} file descriptors are currently open. 

SEE ALSO

close(2), creat(2), exec(2), fcntl(2), open(2), pipe(2), lockf(3C), limits(4)

SunOS 5.2  —  Last change: 22 Jan 1993

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