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

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

.TH FSTAB 5 
.UC 4
.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.
.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)