* - DARWIN (OSX)
* - IRIX
* - AIX
- * - OSF1 (True64)
+ * - OSF1 (Tru64)
* - Solaris
*
* Currently we only use this code for Linux and OSF1 based fstype determination.
#include <sys/stat.h>
#if defined(HAVE_GETMNTENT)
-#if defined(HAVE_LINUX_OS) || defined(HAVE_HPUX_OS)
+#if defined(HAVE_LINUX_OS) || defined(HAVE_HPUX_OS) || defined(HAVE_AIX_OS)
#include <mntent.h>
#elif defined(HAVE_SUN_OS)
#include <sys/mnttab.h>
#endif /* HAVE_GETMNTENT */
#elif defined(HAVE_GETMNTINFO)
-#if defined(HAVE_DARWIN_OS)
+#if defined(HAVE_OPENBSD_OS)
#include <sys/param.h>
-#include <sys/ucred.h>
-#include <sys/mount.h>
-#else
+#include <sys/mount.h>
+#elif defined(HAVE_NETBSD_OS)
#include <sys/types.h>
#include <sys/statvfs.h>
+#else
+#include <sys/param.h>
+#include <sys/ucred.h>
+#include <sys/mount.h>
#endif
#elif defined(HAVE_AIX_OS)
#include <fshelp.h>
#if defined(HAVE_GETMNTENT)
FILE *fp;
struct stat st;
-#if defined(HAVE_LINUX_OS) || defined(HAVE_HPUX_OS) || defined(HAVE_IRIX_OS)
+#if defined(HAVE_LINUX_OS) || defined(HAVE_HPUX_OS) || defined(HAVE_IRIX_OS) || defined(HAVE_AIX_OS)
struct mntent *mnt;
#if defined(HAVE_LINUX_OS)
if ((fp = setmntent(MOUNTED, "r")) == (FILE *)NULL) {
return;
}
+#elif defined(HAVE_AIX_OS)
+ if ((fp = setmntent(MNTTAB, "r")) == (FILE *)NULL) {
+ return;
+ }
#endif
while ((mnt = getmntent(fp)) != (struct mntent *)NULL) {
#elif defined(HAVE_GETMNTINFO)
int cnt;
struct stat st;
-#if defined(HAVE_DARWIN_OS)
+#if defined(HAVE_NETBSD_OS)
+ struct statvfs *mntinfo;
+#else
struct statfs *mntinfo;
+#endif
+#if defined(ST_NOWAIT)
+ int flags = ST_NOWAIT;
+#elif defined(MNT_NOWAIT)
+ int flags = MNT_NOWAIT;
#else
- struct statvfs *mntinfo;
+ int flags = 0;
#endif
- if ((cnt = getmntinfo(&mntinfo, MNT_NOWAIT)) > 0) {
+ if ((cnt = getmntinfo(&mntinfo, flags)) > 0) {
while (cnt > 0) {
if (stat(mntinfo->f_mntonname, &st) == 0) {
add_mntent_mapping(st.st_dev,