DragonFly On-Line Manual Pages


FDESC(5)		 DragonFly File Formats Manual		      FDESC(5)

NAME

fdesc -- file-descriptor file system

SYNOPSIS

fdesc /dev fdesc rw 0 0

DESCRIPTION

The file-descriptor file system, or fdesc, provides access to the per- process file descriptor namespace in the global filesystem namespace. The conventional mount point is /dev and the filesystem should be union mounted in order to augment, rather than replace, the existing entries in /dev. The contents of the mount point are fd, stderr, stdin, stdout and tty. fd is a directory whose contents appear as a list of numbered files which correspond to the open files of the process reading the directory. The files /dev/fd/0 through /dev/fd/# refer to file descriptors which can be accessed through the file system. If the file descriptor is open and the mode the file is being opened with is a subset of the mode of the exist- ing descriptor, the call: fd = open("/dev/fd/0", mode); and the call: fd = fcntl(0, F_DUPFD, 0); are equivalent. The files /dev/stdin, /dev/stdout and /dev/stderr appear as symlinks to the relevant entry in the /dev/fd sub-directory. Opening them is equiva- lent to the following calls: fd = fcntl(STDIN_FILENO, F_DUPFD, 0); fd = fcntl(STDOUT_FILENO, F_DUPFD, 0); fd = fcntl(STDERR_FILENO, F_DUPFD, 0); Flags to the open(2) call other than O_RDONLY, O_WRONLY and O_RDWR are ignored. The /dev/tty entry is an indirect reference to the current process's con- trolling terminal. It appears as a named pipe (FIFO) but behaves in exactly the same way as the real controlling terminal device.

FILES

/dev/fd/# /dev/stdin /dev/stdout /dev/stderr /dev/tty

SEE ALSO

tty(4), mount_fdesc(8)

HISTORY

The fdesc filesystem first appeared in 4.4BSD. The fdesc manual page first appeared in FreeBSD 2.2.

AUTHORS

The fdesc manual page was written by Mike Pritchard <mpp@FreeBSD.org>, and was based on the mount_fdesc(8) manual page written by Jan-Simon Pendry. DragonFly 4.1 December 14, 1996 DragonFly 4.1