Replace linux-style getmntent and co. with solaris-style functions
[kopensolaris-gnu/glibc.git] / sysdeps / unix / sysv / solaris2 / kopensolaris-gnu / sys / mnttab.h
1 /* Copyright (C) 2008 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3    Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, write to the Free
17    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18    02111-1307 USA.  */
19
20 #ifndef _SYS_MNTTAB_H
21 #define _SYS_MNTTAB_H
22
23 #include <features.h>
24 #include <stdio.h>
25 #include <stddef.h>
26 #include <paths.h>
27
28 #define MNTTAB  _PATH_MOUNTED
29 #define MNT_LINE_MAX    1024
30
31 #define MNT_TOOLONG     1
32 #define MNT_TOOMANY     2
33 #define MNT_TOOFEW      3
34
35 #define mntnull(mp)     ((mp)->mnt_special = (mp)->mnt_mountp = \
36         (mp)->mnt_fstype = (mp)->mnt_mntopts = (mp)->mnt_time = NULL)
37 #define putmntent(fd, mp)       (-1)
38
39 struct mnttab
40   {
41         char *mnt_special;
42         char *mnt_mountp;
43         char *mnt_fstype;
44         char *mnt_mntopts;
45         char *mnt_time;
46   };
47
48 struct extmnttab
49   {
50         char *mnt_special;
51         char *mnt_mountp;
52         char *mnt_fstype;
53         char *mnt_mntopts;
54         char *mnt_time;
55         unsigned int mnt_major;
56         unsigned int mnt_minor;
57   };
58
59 __BEGIN_DECLS
60
61 extern void resetmnttab (FILE *);
62 extern int getmntent (FILE *, struct mnttab *);
63 extern int getextmntent (FILE *, struct extmnttab *, size_t);
64 extern int getmntany (FILE *, struct mnttab *, struct mnttab *);
65 extern char * hasmntopt (struct mnttab *, char *);
66 extern char * mntopt (char **);
67
68 __END_DECLS
69
70 #endif /* _SYS_MNTTAB_H */