Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

fd(4) [osf1 man page]

fd(4)							     Kernel Interfaces Manual							     fd(4)

NAME
fd - file descriptor files DESCRIPTION
The /dev/fd file system is a pseudo-file system layered beneath the Virtual File System (VFS). The file descriptor files (fd*) are those files that are accessible through file descriptors. The file descriptors use the naming convention /dev/fd/0, /dev/fd/1, /dev/fd/2 and so on up to any number. To make the /dev/fd file system known to the operating system, you must create the directory with the correct privileges, then you must mount the file system. The following steps describe how to create the directory, mount the file system both manually and automatically, and how to dismount the file system: Create the directory using the mkdir and chmod commands: mkdir /dev/fd; chmod 777 /dev/fd Mount the file system manually using the mount command: mount -t fdfs /dev/fd /dev/fd Mount the file system automatically by editing either the /etc/fstab file or the /sbin/bcheckrc file. Add the following entry to the /etc/fstab file: /dev/fd /dev/fd fdfs rw 0 0 This entry mounts the pseudodevice /dev/fd on the /dev/fd directory with read/write privileges. The file system type is fdfs and the zeros (0) in the remaining fields specify that the file system is not to be backed up nor can file system checks be performed by the fsck command as this is a virtual file system. Add the following entry to the /sbin/bcheckrc file: # # mount fdfs # echo 'Mounting /dev/fd filesystem' /sbin/mount -a -v -t fdfs Again, the /dev/fd file system should not be mounted in this manner if an entire system is to be backed up starting from the root directory. Dismount the file system using the umount command: umount /dev/fd For correct truncate() behavior on fd files, you must load your program using the -lsys5 flag. RESTRICTIONS
The /dev/fd file descriptors should not be exported. EXAMPLES
The following example show how the open and dup functions have the same effect if file descriptor n is opened: fd = open("/dev/fd/n", mode); fd = dup(n); In the above example, the open function is equal to the creat function and mode is ignored. Using the dup function, subsequent reads or writes on the fd file descriptor files fail unless the original file descriptor enables the operation. ERRORS
The following error condition exists: The file descriptor is not valid. RELATED INFORMATION
Commands: chmod(1), mkdir(1), mount(8). Functions: creat(2), dup(2), open(2). delim off fd(4)

Check Out this Related Man Page

MOUNT_FDESC(8)						    BSD System Manager's Manual 					    MOUNT_FDESC(8)

NAME
mount_fdesc -- mount the file-descriptor file system SYNOPSIS
mount_fdesc [-o options] fdesc mount_point DESCRIPTION
The mount_fdesc command attaches an instance of the per-process file descriptor namespace to the global filesystem namespace. The conven- tional mount point is /dev and the filesystem should be union mounted in order to augment, rather than replace, the existing entries in /dev. The directory specified by mount_point is converted to an absolute path before use. This command is normally executed by mount(8) at boot time. The options are as follows: -o Options are specified with a -o flag followed by a comma separated string of options. See the mount(8) man page for possible options and their meanings. 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 existing 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 equivalent 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 controlling 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
mount(2), unmount(2), tty(4), fstab(5), mount(8) HISTORY
The mount_fdesc utility first appeared in 4.4BSD. BUGS
This filesystem may not be NFS-exported. BSD
March 27, 1994 BSD
Man Page