2.9BSD/usr/man/man5/fstab.5

Compare this file to the similar file:
Show the results in this format:

.TH FSTAB 5
.UC
.SH NAME
fstab \- static information about the file systems
.SH SYNOPSIS
.B #include <fstab.h>
.SH DESCRIPTION
The file
.I /etc/fstab
contains descriptive information about the various file
systems.
.I /etc/fstab
is only
.I read
by programs, and not written;
it is the duty of the system administrator to properly create 
and maintain this file.
.PP
These programs use
.I /etc/fstab:
.I mount,
.I umount,
.I fsck
and
.I df.
The order of records in
.I /etc/fstab
is important,
for
.I fsck,
.I mount,
and
.I umount
sequentially iterate through
.I /etc/fstab
doing their thing.
.PP
The special file name is the 
.B block
special file name, 
and not the character special file name.
If a program needs the character special file name,
the program must create it by appending a ``r'' after the
last ``/'' in the special file name.
.PP
If
.I fs_type
is ``rw'' or ``ro'' then the file system whose name is given in the
.I fs_file
field is normally mounted read-write or read-only on the specified special
file.
The
.I fs_freq
field is used for these file systems by the
.IR dump (8)
command to determine which file systems need to be dumped
(this feature is not currently available
on all PDP11s due to size restrictions).
The
.I fs_passno
field is used by the
.IR fsck (8)
program (with the \-p option)
to determine the order in which file system checks are done
at reboot time.
The root file system should be specified with a
.I fs_passno
of 1, and other file systems should have larger numbers.  File systems
within a drive should have distinct numbers, but file systems on different
drives can be checked on the same pass to utilize parallelism available in
the hardware.
.PP
If
.I fs_type
is ``sw'' then the special file is assumed to be used for swapping.
The fields other than
.I fs_spec
and
.I fs_type
are not used in this case.
.PP
.I Fs_type
may be specified as ``xx'' to cause an entry to be ignored.
This is useful to show disk partitions which are currently not
used but will be used later.
.sp 1
.nf
.ta \w'#define 'u +\w'FSTABARG(p) 'u \w'#define 'u+\w'char\ \ 'u+\w'fs_spec[FSNMLG]; 'u
#define	FSTAB		"/etc/fstab"
#define	FSNMLG		16

#define	FSTABFMT	"%16s:%16s:%2s:%d:%d\en"
#define	FSTABARG(p)	(p)\->fs_spec, (p)\->fs_file, \e
		(p)\->fs_type, &(p)\->fs_freq, &(p)\->fs_passno
#define	FSTABNARGS	5

#define	FSTAB_RW	"rw"		/* read write device */
#define	FSTAB_RO	"ro"		/* read only device */
#define	FSTAB_SW	"sw"		/* swap device */
#define	FSTAB_XX	"xx"		/* ignore totally */

.ta \w'#define 'u +\w'char\ \ 'u +\w'fs_spec[FSNMLG]; 'u
struct fstab {
	char	fs_spec[FSNMLG];	/* block special device name */
	char	fs_file[FSNMLG];	/* file system path prefix */
	char	fs_type[3];		/* rw,ro,sw or xx */
	int	fs_freq;		/* dump frequency, in days */
	int	fs_passno;		/* pass number on parallel dump */
};
.fi

.PP
The proper way to read records from
.I /etc/fstab
is to use the routines getfsent(), getfsspec() or getfsfile().
.SH FILES
/etc/fstab
.SH SEE ALSO
getfsent(3)