diff lib/mountlist.c @ 39905:c3122bb580fe

mountlist: Modernize platform lists. * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which platforms, deemphasizing the obsolete ones. * lib/mountlist.c: Likewise.
author Bruno Haible <bruno@clisp.org>
date Thu, 11 Oct 2018 23:29:28 +0200
parents 10eb9086bea0
children 5b41872be9d7
line wrap: on
line diff
--- a/lib/mountlist.c	Thu Oct 11 20:07:00 2018 +0200
+++ b/lib/mountlist.c	Thu Oct 11 23:29:28 2018 +0200
@@ -43,7 +43,7 @@
 # include <sys/sysmacros.h>
 #endif
 
-#if defined MOUNTED_GETFSSTAT   /* OSF_1 and Darwin1.3.x */
+#if defined MOUNTED_GETFSSTAT   /* OSF/1, also (obsolete) Apple Darwin 1.3 */
 # if HAVE_SYS_UCRED_H
 #  include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS,
                       NGROUPS is used as an array dimension in ucred.h */
@@ -62,7 +62,8 @@
 # endif
 #endif /* MOUNTED_GETFSSTAT */
 
-#ifdef MOUNTED_GETMNTENT1       /* 4.3BSD, SunOS, HP-UX, Dynix, Irix.  */
+#ifdef MOUNTED_GETMNTENT1       /* glibc, HP-UX, IRIX, Cygwin, Android,
+                                   also (obsolete) 4.3BSD, SunOS, Dynix */
 # include <mntent.h>
 # include <sys/types.h>
 # if !defined MOUNTED
@@ -78,48 +79,48 @@
 # endif
 #endif
 
-#ifdef MOUNTED_GETMNTINFO       /* 4.4BSD.  */
+#ifdef MOUNTED_GETMNTINFO       /* Mac OS X, FreeBSD, OpenBSD, also (obsolete) 4.4BSD */
 # include <sys/mount.h>
 #endif
 
-#ifdef MOUNTED_GETMNTINFO2      /* NetBSD 3.0.  */
+#ifdef MOUNTED_GETMNTINFO2      /* NetBSD */
 # include <sys/statvfs.h>
 #endif
 
-#ifdef MOUNTED_GETMNT           /* Ultrix.  */
+#ifdef MOUNTED_GETMNT           /* (obsolete) Ultrix */
 # include <sys/mount.h>
 # include <sys/fs_types.h>
 #endif
 
-#ifdef MOUNTED_FS_STAT_DEV      /* BeOS.  */
+#ifdef MOUNTED_FS_STAT_DEV      /* Haiku, also (obsolete) BeOS */
 # include <fs_info.h>
 # include <dirent.h>
 #endif
 
-#ifdef MOUNTED_FREAD            /* SVR2.  */
+#ifdef MOUNTED_FREAD            /* (obsolete) SVR2 */
 # include <mnttab.h>
 #endif
 
-#ifdef MOUNTED_FREAD_FSTYP      /* SVR3.  */
+#ifdef MOUNTED_FREAD_FSTYP      /* (obsolete) SVR3 */
 # include <mnttab.h>
 # include <sys/fstyp.h>
 # include <sys/statfs.h>
 #endif
 
-#ifdef MOUNTED_LISTMNTENT
+#ifdef MOUNTED_LISTMNTENT       /* (obsolete) Cray UNICOS 9 */
 # include <mntent.h>
 #endif
 
-#ifdef MOUNTED_GETMNTENT2       /* SVR4.  */
+#ifdef MOUNTED_GETMNTENT2       /* Solaris, also (obsolete) SVR4 */
 # include <sys/mnttab.h>
 #endif
 
-#ifdef MOUNTED_VMOUNT           /* AIX.  */
+#ifdef MOUNTED_VMOUNT           /* AIX */
 # include <fshelp.h>
 # include <sys/vfs.h>
 #endif
 
-#ifdef MOUNTED_INTERIX_STATVFS  /* Interix. */
+#ifdef MOUNTED_INTERIX_STATVFS  /* Interix */
 # include <sys/statvfs.h>
 # include <dirent.h>
 #endif
@@ -234,7 +235,7 @@
      || (strcmp("-hosts", Fs_name) == 0))
 #endif
 
-#if MOUNTED_GETMNTINFO
+#if MOUNTED_GETMNTINFO          /* Mac OS X, FreeBSD, OpenBSD, also (obsolete) 4.4BSD */
 
 # if ! HAVE_STRUCT_STATFS_F_FSTYPENAME
 static char *
@@ -344,7 +345,7 @@
 
 #endif /* MOUNTED_GETMNTINFO */
 
-#ifdef MOUNTED_VMOUNT           /* AIX.  */
+#ifdef MOUNTED_VMOUNT           /* AIX */
 static char *
 fstype_to_string (int t)
 {
@@ -395,7 +396,7 @@
 
 #endif
 
-#if defined MOUNTED_GETMNTENT1 && defined __linux__
+#if defined MOUNTED_GETMNTENT1 && defined __linux__ /* GNU/Linux, Android */
 
 /* Unescape the paths in mount tables.
    STR is updated in place.  */
@@ -436,7 +437,7 @@
   struct mount_entry **mtail = &mount_list;
   (void) need_fs_type;
 
-#ifdef MOUNTED_LISTMNTENT
+#ifdef MOUNTED_LISTMNTENT       /* (obsolete) Cray UNICOS 9 */
   {
     struct tabmntent *mntlist, *p;
     struct mntent *mnt;
@@ -467,11 +468,12 @@
   }
 #endif
 
-#ifdef MOUNTED_GETMNTENT1 /* GNU/Linux, 4.3BSD, SunOS, HP-UX, Dynix, Irix.  */
+#ifdef MOUNTED_GETMNTENT1       /* glibc, HP-UX, IRIX, Cygwin, Android,
+                                   also (obsolete) 4.3BSD, SunOS, Dynix */
   {
     FILE *fp;
 
-#ifdef __linux__
+# ifdef __linux__
     /* Try parsing mountinfo first, as that make device IDs available.
        Note we could use libmount routines to simplify this parsing a little
        (and that code is in previous versions of this function), however
@@ -564,7 +566,7 @@
           goto free_then_fail;
       }
     else /* fallback to /proc/self/mounts (/etc/mtab).  */
-#endif /* __linux __ */
+# endif /* __linux __ */
       {
         struct mntent *mnt;
         char const *table = MOUNTED;
@@ -598,7 +600,7 @@
   }
 #endif /* MOUNTED_GETMNTENT1. */
 
-#ifdef MOUNTED_GETMNTINFO       /* 4.4BSD.  */
+#ifdef MOUNTED_GETMNTINFO       /* Mac OS X, FreeBSD, OpenBSD, also (obsolete) 4.4BSD */
   {
     struct statfs *fsp;
     int entries;
@@ -627,7 +629,7 @@
   }
 #endif /* MOUNTED_GETMNTINFO */
 
-#ifdef MOUNTED_GETMNTINFO2      /* NetBSD 3.0.  */
+#ifdef MOUNTED_GETMNTINFO2      /* NetBSD */
   {
     struct statvfs *fsp;
     int entries;
@@ -654,7 +656,7 @@
   }
 #endif /* MOUNTED_GETMNTINFO2 */
 
-#ifdef MOUNTED_GETMNT           /* Ultrix.  */
+#ifdef MOUNTED_GETMNT           /* (obsolete) Ultrix */
   {
     int offset = 0;
     int val;
@@ -683,7 +685,7 @@
   }
 #endif /* MOUNTED_GETMNT. */
 
-#if defined MOUNTED_FS_STAT_DEV /* BeOS */
+#if defined MOUNTED_FS_STAT_DEV /* Haiku, also (obsolete) BeOS */
   {
     /* The next_dev() and fs_stat_dev() system calls give the list of
        all file systems, including the information returned by statvfs()
@@ -789,7 +791,7 @@
   }
 #endif /* MOUNTED_FS_STAT_DEV */
 
-#if defined MOUNTED_GETFSSTAT   /* __alpha running OSF_1 */
+#if defined MOUNTED_GETFSSTAT   /* OSF/1, also (obsolete) Apple Darwin 1.3 */
   {
     int numsys, counter;
     size_t bufsize;
@@ -832,7 +834,7 @@
   }
 #endif /* MOUNTED_GETFSSTAT */
 
-#if defined MOUNTED_FREAD || defined MOUNTED_FREAD_FSTYP /* SVR[23].  */
+#if defined MOUNTED_FREAD || defined MOUNTED_FREAD_FSTYP /* (obsolete) SVR3, SVR2 */
   {
     struct mnttab mnt;
     char *table = "/etc/mnttab";
@@ -893,7 +895,7 @@
   }
 #endif /* MOUNTED_FREAD || MOUNTED_FREAD_FSTYP.  */
 
-#ifdef MOUNTED_GETMNTTBL        /* DolphinOS goes its own way.  */
+#ifdef MOUNTED_GETMNTTBL        /* (obsolete) DolphinOS */
   {
     struct mntent **mnttbl = getmnttbl (), **ent;
     for (ent = mnttbl; *ent; ent++)
@@ -914,9 +916,9 @@
       }
     endmnttbl ();
   }
-#endif
+#endif /* MOUNTED_GETMNTTBL */
 
-#ifdef MOUNTED_GETMNTENT2       /* SVR4.  */
+#ifdef MOUNTED_GETMNTENT2       /* Solaris, also (obsolete) SVR4 */
   {
     struct mnttab mnt;
     char *table = MNTTAB;
@@ -990,7 +992,7 @@
   }
 #endif /* MOUNTED_GETMNTENT2.  */
 
-#ifdef MOUNTED_VMOUNT           /* AIX.  */
+#ifdef MOUNTED_VMOUNT           /* AIX */
   {
     int bufsize;
     void *entries;
@@ -1062,7 +1064,7 @@
   }
 #endif /* MOUNTED_VMOUNT. */
 
-#ifdef MOUNTED_INTERIX_STATVFS
+#ifdef MOUNTED_INTERIX_STATVFS  /* Interix */
   {
     DIR *dirp = opendir ("/dev/fs");
     char node[9 + NAME_MAX];