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