4.1cBSD/usr/man/man5/fstab.5

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

.TH FSTAB 5  "15 January 1983"
.SH NAME
fstab \- static information about the filesystems
.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 dump,
.I mount,
.I umount,
.I swapon,
.I fsck
and
.I df.
The order of records in
.I /etc/fstab
is important,
for both
.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.
The
.I fs_passno
field is used by the
.IR fsck (8)
program 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 made avaiable as a piece of swap
space by the
.IR swapon (8)
command at the end of the system reboot procedure.
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)