xref: /freebsd/lib/libc/gen/getfsent.3 (revision fbbd9655e5107c68e4e0146ff22b73d7350475bc)
158f0484fSRodney W. Grimes.\" Copyright (c) 1983, 1991, 1993
258f0484fSRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
358f0484fSRodney W. Grimes.\"
458f0484fSRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
558f0484fSRodney W. Grimes.\" modification, are permitted provided that the following conditions
658f0484fSRodney W. Grimes.\" are met:
758f0484fSRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
858f0484fSRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
958f0484fSRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
1058f0484fSRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
1158f0484fSRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
12*fbbd9655SWarner Losh.\" 3. Neither the name of the University nor the names of its contributors
1358f0484fSRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
1458f0484fSRodney W. Grimes.\"    without specific prior written permission.
1558f0484fSRodney W. Grimes.\"
1658f0484fSRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
1758f0484fSRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1858f0484fSRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1958f0484fSRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2058f0484fSRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2158f0484fSRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2258f0484fSRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2358f0484fSRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2458f0484fSRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2558f0484fSRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2658f0484fSRodney W. Grimes.\" SUCH DAMAGE.
2758f0484fSRodney W. Grimes.\"
2858f0484fSRodney W. Grimes.\"     @(#)getfsent.3	8.1 (Berkeley) 6/4/93
297f3dea24SPeter Wemm.\" $FreeBSD$
3058f0484fSRodney W. Grimes.\"
31196f440aSMatthew N. Dodd.Dd April 7, 2003
3258f0484fSRodney W. Grimes.Dt GETFSENT 3
33a307d598SRuslan Ermilov.Os
3458f0484fSRodney W. Grimes.Sh NAME
3558f0484fSRodney W. Grimes.Nm getfsent ,
3658f0484fSRodney W. Grimes.Nm getfsspec ,
3758f0484fSRodney W. Grimes.Nm getfsfile ,
3858f0484fSRodney W. Grimes.Nm setfsent ,
3958f0484fSRodney W. Grimes.Nm endfsent
4058f0484fSRodney W. Grimes.Nd get file system descriptor file entry
4125bb73e0SAlexey Zelkin.Sh LIBRARY
4225bb73e0SAlexey Zelkin.Lb libc
4358f0484fSRodney W. Grimes.Sh SYNOPSIS
4432eef9aeSRuslan Ermilov.In fstab.h
453a5146d9SRuslan Ermilov.Ft "struct fstab *"
4658f0484fSRodney W. Grimes.Fn getfsent void
473a5146d9SRuslan Ermilov.Ft "struct fstab *"
4858f0484fSRodney W. Grimes.Fn getfsspec "const char *spec"
493a5146d9SRuslan Ermilov.Ft "struct fstab *"
5058f0484fSRodney W. Grimes.Fn getfsfile "const char *file"
5158f0484fSRodney W. Grimes.Ft int
5258f0484fSRodney W. Grimes.Fn setfsent void
5358f0484fSRodney W. Grimes.Ft void
5458f0484fSRodney W. Grimes.Fn endfsent void
55134dbc4cSMatthew N. Dodd.Ft void
56134dbc4cSMatthew N. Dodd.Fn setfstab "const char *file"
573a5146d9SRuslan Ermilov.Ft "const char *"
58134dbc4cSMatthew N. Dodd.Fn getfstab void
5958f0484fSRodney W. Grimes.Sh DESCRIPTION
6058f0484fSRodney W. GrimesThe
6158f0484fSRodney W. Grimes.Fn getfsent ,
6258f0484fSRodney W. Grimes.Fn getfsspec ,
6358f0484fSRodney W. Grimesand
6458f0484fSRodney W. Grimes.Fn getfsfile
6558f0484fSRodney W. Grimesfunctions
6658f0484fSRodney W. Grimeseach return a pointer to an object with the following structure
6758f0484fSRodney W. Grimescontaining the broken-out fields of a line in the file system
6858f0484fSRodney W. Grimesdescription file,
69fe08efe6SRuslan Ermilov.In fstab.h .
7058f0484fSRodney W. Grimes.Bd -literal -offset indent
7158f0484fSRodney W. Grimesstruct fstab {
7258f0484fSRodney W. Grimes	char	*fs_spec;	/* block special device name */
7358f0484fSRodney W. Grimes	char	*fs_file;	/* file system path prefix */
741ffa6450SMike Pritchard	char	*fs_vfstype;	/* File system type, ufs, nfs */
751ffa6450SMike Pritchard	char	*fs_mntops;	/* Mount options ala -o */
761ffa6450SMike Pritchard	char	*fs_type;	/* FSTAB_* from fs_mntops */
7758f0484fSRodney W. Grimes	int	fs_freq;	/* dump frequency, in days */
781ffa6450SMike Pritchard	int	fs_passno;	/* pass number on parallel fsck */
7958f0484fSRodney W. Grimes};
8058f0484fSRodney W. Grimes.Ed
8158f0484fSRodney W. Grimes.Pp
8258f0484fSRodney W. GrimesThe fields have meanings described in
8358f0484fSRodney W. Grimes.Xr fstab 5 .
8458f0484fSRodney W. Grimes.Pp
8558f0484fSRodney W. GrimesThe
8658f0484fSRodney W. Grimes.Fn setfsent
8758f0484fSRodney W. Grimesfunction
8858f0484fSRodney W. Grimesopens the file (closing any previously opened file) or rewinds it
8958f0484fSRodney W. Grimesif it is already open.
9058f0484fSRodney W. Grimes.Pp
9158f0484fSRodney W. GrimesThe
9258f0484fSRodney W. Grimes.Fn endfsent
9358f0484fSRodney W. Grimesfunction
9458f0484fSRodney W. Grimescloses the file.
9558f0484fSRodney W. Grimes.Pp
9658f0484fSRodney W. GrimesThe
97134dbc4cSMatthew N. Dodd.Fn setfstab
98134dbc4cSMatthew N. Doddfunction sets the file to be used by subsequent operations.
99134dbc4cSMatthew N. DoddThe value set by
100134dbc4cSMatthew N. Dodd.Fn setfstab
101134dbc4cSMatthew N. Dodddoes not persist across calls to
1023a5146d9SRuslan Ermilov.Fn endfsent .
103134dbc4cSMatthew N. Dodd.Pp
104134dbc4cSMatthew N. DoddThe
105134dbc4cSMatthew N. Dodd.Fn getfstab
1063a5146d9SRuslan Ermilovfunction returns the name of the file that will be used.
107134dbc4cSMatthew N. Dodd.Pp
108134dbc4cSMatthew N. DoddThe
10958f0484fSRodney W. Grimes.Fn getfsspec
11058f0484fSRodney W. Grimesand
11158f0484fSRodney W. Grimes.Fn getfsfile
11258f0484fSRodney W. Grimesfunctions
11358f0484fSRodney W. Grimessearch the entire file (opening it if necessary) for a matching special
11458f0484fSRodney W. Grimesfile name or file system file name.
11558f0484fSRodney W. Grimes.Pp
11658f0484fSRodney W. GrimesFor programs wishing to read the entire database,
11758f0484fSRodney W. Grimes.Fn getfsent
11858f0484fSRodney W. Grimesreads the next entry (opening the file if necessary).
11958f0484fSRodney W. Grimes.Pp
12058f0484fSRodney W. GrimesAll entries in the file with a type field equivalent to
12158f0484fSRodney W. Grimes.Dv FSTAB_XX
12258f0484fSRodney W. Grimesare ignored.
12358f0484fSRodney W. Grimes.Sh RETURN VALUES
12458f0484fSRodney W. GrimesThe
12558f0484fSRodney W. Grimes.Fn getfsent ,
12658f0484fSRodney W. Grimes.Fn getfsspec ,
12758f0484fSRodney W. Grimesand
12858f0484fSRodney W. Grimes.Fn getfsfile
12958f0484fSRodney W. Grimesfunctions
1301ffa6450SMike Pritchardreturn a
1311ffa6450SMike Pritchard.Dv NULL
1321ffa6450SMike Pritchardpointer on
13358f0484fSRodney W. Grimes.Dv EOF
13458f0484fSRodney W. Grimesor error.
13558f0484fSRodney W. GrimesThe
13658f0484fSRodney W. Grimes.Fn setfsent
13758f0484fSRodney W. Grimesfunction
13858f0484fSRodney W. Grimesreturns 0 on failure, 1 on success.
13958f0484fSRodney W. GrimesThe
14058f0484fSRodney W. Grimes.Fn endfsent
14158f0484fSRodney W. Grimesfunction
14258f0484fSRodney W. Grimesreturns nothing.
143134dbc4cSMatthew N. Dodd.Sh ENVIRONMENT
1443a5146d9SRuslan Ermilov.Bl -tag -width ".Ev PATH_FSTAB"
1453a5146d9SRuslan Ermilov.It Ev PATH_FSTAB
146134dbc4cSMatthew N. DoddIf the environment variable
1473a5146d9SRuslan Ermilov.Ev PATH_FSTAB
1483a5146d9SRuslan Ermilovis set, all operations are performed against the specified file.
1493a5146d9SRuslan Ermilov.Ev PATH_FSTAB
150564b641eSMatthew N. Doddwill not be honored if the process environment or memory address space is
15181181557SMike Pritchardconsidered
152564b641eSMatthew N. Dodd.Dq tainted .
153564b641eSMatthew N. Dodd(See
1543a5146d9SRuslan Ermilov.Xr issetugid 2
155564b641eSMatthew N. Doddfor more information.)
156134dbc4cSMatthew N. Dodd.El
15758f0484fSRodney W. Grimes.Sh FILES
15858f0484fSRodney W. Grimes.Bl -tag -width /etc/fstab -compact
15958f0484fSRodney W. Grimes.It Pa /etc/fstab
16058f0484fSRodney W. Grimes.El
16158f0484fSRodney W. Grimes.Sh SEE ALSO
16258f0484fSRodney W. Grimes.Xr fstab 5
16358f0484fSRodney W. Grimes.Sh HISTORY
16458f0484fSRodney W. GrimesThe
16558f0484fSRodney W. Grimes.Fn getfsent
16658f0484fSRodney W. Grimesfunction appeared in
16758f0484fSRodney W. Grimes.Bx 4.0 ;
16858f0484fSRodney W. Grimesthe
16958f0484fSRodney W. Grimes.Fn endfsent ,
17058f0484fSRodney W. Grimes.Fn getfsfile ,
17158f0484fSRodney W. Grimes.Fn getfsspec ,
17258f0484fSRodney W. Grimesand
17358f0484fSRodney W. Grimes.Fn setfsent
17458f0484fSRodney W. Grimesfunctions appeared in
175134dbc4cSMatthew N. Dodd.Bx 4.3 ;
176134dbc4cSMatthew N. Doddthe
177134dbc4cSMatthew N. Dodd.Fn setfstab
178134dbc4cSMatthew N. Doddand
179134dbc4cSMatthew N. Dodd.Fn getfstab
180134dbc4cSMatthew N. Doddfunctions appeared in
181134dbc4cSMatthew N. Dodd.Fx 5.1 .
18258f0484fSRodney W. Grimes.Sh BUGS
18358f0484fSRodney W. GrimesThese functions use static data storage;
18458f0484fSRodney W. Grimesif the data is needed for future use, it should be
18558f0484fSRodney W. Grimescopied before any subsequent calls overwrite it.
186