]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3/getfsent.3
ioctl_list.2, sched_yield.2, vm86.2, backtrace.3, catopen.3, daemon.3, dl_iterate_phd...
[thirdparty/man-pages.git] / man3 / getfsent.3
CommitLineData
fea681da
MK
1.\" Copyright (C) 2002 Andries Brouwer (aeb@cwi.nl)
2.\"
93015253 3.\" %%%LICENSE_START(VERBATIM)
fea681da
MK
4.\" Permission is granted to make and distribute verbatim copies of this
5.\" manual provided the copyright notice and this permission notice are
6.\" preserved on all copies.
7.\"
8.\" Permission is granted to copy and distribute modified versions of this
9.\" manual under the conditions for verbatim copying, provided that the
10.\" entire resulting derived work is distributed under the terms of a
11.\" permission notice identical to this one.
c13182ef 12.\"
fea681da
MK
13.\" Since the Linux kernel and libraries are constantly changing, this
14.\" manual page may be incorrect or out-of-date. The author(s) assume no
15.\" responsibility for errors or omissions, or for damages resulting from
16.\" the use of the information contained herein. The author(s) may not
17.\" have taken the same level of care in the production of this manual,
18.\" which is licensed free of charge, as they might when working
19.\" professionally.
c13182ef 20.\"
fea681da
MK
21.\" Formatted or processed versions of this manual, if unaccompanied by
22.\" the source, must acknowledge the copyright and authors of this work.
4b72fb64 23.\" %%%LICENSE_END
fea681da
MK
24.\"
25.\" Inspired by a page written by Walter Harms.
26.\"
d9343c5c 27.TH GETFSENT 3 2002-02-28 "GNU" "Linux Programmer's Manual"
fea681da
MK
28.SH NAME
29getfsent, getfsspec, getfsfile, setfsent, endfsent \- handle fstab entries
30.SH SYNOPSIS
31.B #include <fstab.h>
32.sp
0daa9e92 33.B "void endfsent(void);"
fea681da 34.sp
0daa9e92 35.B "struct fstab *getfsent(void);"
fea681da
MK
36.sp
37.BI "struct fstab *getfsfile(const char *" mount_point );
38.sp
39.BI "struct fstab *getfsspec(const char *" special_file );
40.sp
0daa9e92 41.B "int setfsent(void);"
fea681da
MK
42.SH DESCRIPTION
43These functions read from the file
44.IR /etc/fstab .
c9942389
MK
45The
46.IR "struct fstab"
47is defined by:
fea681da 48.LP
088a639b 49.in +4n
fea681da
MK
50.nf
51struct fstab {
296d592b
MK
52 char *fs_spec; /* block device name */
53 char *fs_file; /* mount point */
24d01c53 54 char *fs_vfstype; /* file-sysem type */
296d592b
MK
55 char *fs_mntops; /* mount options */
56 const char *fs_type; /* rw/rq/ro/sw/xx option */
57 int fs_freq; /* dump frequency, in days */
58 int fs_passno; /* pass number on parallel dump */
fea681da
MK
59};
60.fi
296d592b
MK
61.in
62.PP
fea681da
MK
63Here the field
64.I fs_type
65contains (on a *BSD system)
66one of the five strings "rw", "rq", "ro", "sw", "xx"
67(read-write, read-write with quota, read-only, swap, ignore).
68
69The function
63aa9df0 70.BR setfsent ()
fea681da
MK
71opens the file when required and positions it at the first line.
72.LP
73The function
63aa9df0 74.BR getfsent ()
fea681da
MK
75parses the next line from the file.
76(After opening it when required.)
77.LP
78The function
63aa9df0 79.BR endfsent ()
fea681da
MK
80closes the file when required.
81.LP
82The function
63aa9df0 83.BR getfsspec ()
fea681da
MK
84searches the file from the start and returns the first entry found
85for which the
86.I fs_spec
87field matches the
88.I special_file
89argument.
90.LP
91The function
63aa9df0 92.BR getfsfile ()
fea681da
MK
93searches the file from the start and returns the first entry found
94for which the
95.I fs_file
96field matches the
97.I mount_point
98argument.
47297adb 99.SH RETURN VALUE
fea681da 100Upon success, the functions
63aa9df0
MK
101.BR getfsent (),
102.BR getfsfile (),
fea681da 103and
63aa9df0 104.BR getfsspec ()
c9942389
MK
105return a pointer to a
106.IR "struct fstab" ,
107while
63aa9df0 108.BR setfsent ()
fea681da
MK
109returns 1.
110Upon failure or end-of-file, these functions return NULL and 0, respectively.
889829be
MK
111.\" .SH HISTORY
112.\" The
113.\" .BR getfsent ()
114.\" function appeared in 4.0BSD; the other four functions appeared in 4.3BSD.
47297adb 115.SH CONFORMING TO
c13182ef 116These functions are not in POSIX.1-2001.
68e1685c 117Several operating systems have them,
008f1ecc 118e.g., *BSD, SunOS, Digital UNIX, AIX (which also has a
31e9a9ec 119.BR getfstype ()).
0c2ec4f1 120HP-UX has functions of the same names,
c9942389
MK
121that however use a
122.IR "struct checklist"
123instead of a
124.IR "struct fstab" ,
0c2ec4f1 125and calls these functions obsolete, superseded by
fea681da
MK
126.BR getmntent (3).
127.SH NOTES
128These functions are not thread-safe.
129.LP
130Since Linux allows mounting a block special device in several places,
131and since several devices can have the same mount point, where the
132last device with a given mount point is the interesting one,
133while
63aa9df0 134.BR getfsfile ()
fea681da 135and
63aa9df0 136.BR getfsspec ()
fea681da
MK
137only return the first occurrence, these two functions are not suitable
138for use under Linux.
47297adb 139.SH SEE ALSO
fea681da
MK
140.BR getmntent (3),
141.BR fstab (5)