4.4BSD snapshot (revision 8.1); add 1993 to copyright
[unix-history] / usr / src / lib / libc / gen / getfsent.3
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" %sccs.include.redist.man%
.\"
.\" @(#)getfsent.3 8.1 (Berkeley) %G%
.\"
.Dd
.Dt GETFSENT 3
.Os BSD 4
.Sh NAME
.Nm getfsent ,
.Nm getfsspec ,
.Nm getfsfile ,
.Nm setfsent ,
.Nm endfsent
.Nd get file system descriptor file entry
.Sh SYNOPSIS
.Fd #include <fstab.h>
.Ft fstab *
.Fn getfsent void
.Ft struct fstab *
.Fn getfsspec "const char *spec"
.Ft struct fstab *
.Fn getfsfile "const char *file"
.Ft int
.Fn setfsent void
.Ft void
.Fn endfsent void
.Sh DESCRIPTION
The
.Fn getfsent ,
.Fn getfsspec ,
and
.Fn getfsfile
functions
each return a pointer to an object with the following structure
containing the broken-out fields of a line in the file system
description file,
.Aq Pa fstab.h .
.Bd -literal -offset indent
struct fstab {
char *fs_spec; /* block special device name */
char *fs_file; /* file system path prefix */
char *fs_vfstype; /* type of file system */
char *fs_mntops; /* comma separated mount options */
char *fs_type; /* rw, ro, sw, or xx */
int fs_freq; /* dump frequency, in days */
int fs_passno; /* pass number on parallel dump */
};
.Ed
.Pp
The fields have meanings described in
.Xr fstab 5 .
.Pp
The
.Fn setfsent
function
opens the file (closing any previously opened file) or rewinds it
if it is already open.
.Pp
The
.Fn endfsent
function
closes the file.
.Pp
The
.Fn getfsspec
and
.Fn getfsfile
functions
search the entire file (opening it if necessary) for a matching special
file name or file system file name.
.Pp
For programs wishing to read the entire database,
.Fn getfsent
reads the next entry (opening the file if necessary).
.Pp
All entries in the file with a type field equivalent to
.Dv FSTAB_XX
are ignored.
.Sh RETURN VALUES
The
.Fn getfsent ,
.Fn getfsspec ,
and
.Fn getfsfile
functions
return a null pointer (0) on
.Dv EOF
or error.
The
.Fn setfsent
function
returns 0 on failure, 1 on success.
The
.Fn endfsent
function
returns nothing.
.Sh FILES
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
.El
.Sh SEE ALSO
.Xr fstab 5
.Sh HISTORY
The
.Fn getfsent
function appeared in
.Bx 4.0 ;
the
.Fn endfsent ,
.Fn getfsfile ,
.Fn getfsspec ,
and
.Fn setfsent
functions appeared in
.Bx 4.3 .
.Sh BUGS
These functions use static data storage;
if the data is needed for future use, it should be
copied before any subsequent calls overwrite it.