reorganize to allow pid_t to become u_long
[unix-history] / usr / src / sbin / mount_fdesc / mount_fdesc.8
.\"
.\" Copyright (c) 1992 The Regents of the University of California
.\" Copyright (c) 1990, 1992 Jan-Simon Pendry
.\" All rights reserved.
.\"
.\" This code is derived from software donated to Berkeley by
.\" Jan-Simon Pendry.
.\"
.\" %sccs.include.redist.roff%
.\"
.\" @(#)mount_fdesc.8 5.2 (Berkeley) %G%
.\"
.\"
.Dd
.Dt MOUNT_FDESC 8
.Os BSD 4.4
.Sh NAME
.Nm mount_fdesc
.Nd mount the /dev/fd file system
.Sh SYNOPSIS
.Nm mount_fdesc
.Op Fl F Ar fsoptions
.Pa /dev/fd
.Pa mount_point
.Sh DESCRIPTION
The
.Nm mount_fdesc
command attaches an instance of the per-process file descriptor
namespace to the global filesystem namespace.
The conventional mount point is
.Pa /dev/fd .
This command is normally executed by
.Xr mount 8
at boot time.
.Pp
The contents of the mount point appear as a list of numbered files
which correspond to the open files of the process reading the
directory.
The files
.Pa /dev/fd/0
through
.Pa /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 existing descriptor, the call:
.Bd -literal -offset indent
fd = open("/dev/fd/0", mode);
.Ed
.Pp
and the call:
.Bd -literal -offset indent
fd = fcntl(0, F_DUPFD, 0);
.Ed
.Pp
are equivalent.
.Pp
Opening the files
.Pa /dev/stdin ,
.Pa /dev/stdout
and
.Pa /dev/stderr
is equivalent to the following calls:
.Bd -literal -offset indent
fd = fcntl(STDIN_FILENO, F_DUPFD, 0);
fd = fcntl(STDOUT_FILENO, F_DUPFD, 0);
fd = fcntl(STDERR_FILENO, F_DUPFD, 0);
.Ed
.Pp
Flags to the
.Xr open 2
call other than
.Dv O_RDONLY ,
.Dv O_WRONLY
and
.Dv O_RDWR
are ignored.
.Sh FILES
.Bl -tag -width /dev/stderr -compact
.It Pa /dev/fd/#
.It Pa /dev/stdin
.It Pa /dev/stdout
.It Pa /dev/stderr
.El
.Sh SEE ALSO
.Xr mount 2 ,
.Xr unmount 2 ,
.Xr tty 4 ,
.Xr fstab 5
.Sh CAVEATS
No
.Pa .
and
.Pa ..
entries appear when listing the contents of the mount point.
This makes sense in the context of this filesystem, but is inconsistent
with usual filesystem conventions.
However, it is still possible to refer to both
.Pa .
and
.Pa ..
in a pathname.
.Pp
This filesystem may not be NFS-exported.
.Sh HISTORY
The
.Nm
descriptor filesystem
is
.Ud