GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#include <sys/statfs.h>
#endif
+#ifdef MOUNTED_LISTMNTENT
+#include <mntent.h>
+#endif
+
#ifdef MOUNTED_GETMNTENT2 /* SVR4. */
#include <sys/mnttab.h>
#endif
{
switch (t)
{
- case MOUNT_UFS:
- return "ufs";
- case MOUNT_NFS:
- return "nfs";
#ifdef MOUNT_PC
case MOUNT_PC:
return "pc";
case MOUNT_TMP:
return "tmp";
#endif
+#ifdef MOUNT_UFS
+ case MOUNT_UFS:
+ return "ufs" ;
+#endif
+#ifdef MOUNT_NFS
+ case MOUNT_NFS:
+ return "nfs" ;
+#endif
+#ifdef MOUNT_MSDOS
+ case MOUNT_MSDOS:
+ return "msdos" ;
+#endif
+#ifdef MOUNT_LFS
+ case MOUNT_LFS:
+ return "lfs" ;
+#endif
+#ifdef MOUNT_LOFS
+ case MOUNT_LOFS:
+ return "lofs" ;
+#endif
+#ifdef MOUNT_FDESC
+ case MOUNT_FDESC:
+ return "fdesc" ;
+#endif
+#ifdef MOUNT_PORTAL
+ case MOUNT_PORTAL:
+ return "portal" ;
+#endif
+#ifdef MOUNT_NULL
+ case MOUNT_NULL:
+ return "null" ;
+#endif
+#ifdef MOUNT_UMAP
+ case MOUNT_UMAP:
+ return "umap" ;
+#endif
+#ifdef MOUNT_KERNFS
+ case MOUNT_KERNFS:
+ return "kernfs" ;
+#endif
+#ifdef MOUNT_PROCFS
+ case MOUNT_PROCFS:
+ return "procfs" ;
+#endif
+#ifdef MOUNT_AFS
+ case MOUNT_AFS:
+ return "afs" ;
+#endif
+#ifdef MOUNT_CD9660
+ case MOUNT_CD9660:
+ return "cd9660" ;
+#endif
+#ifdef MOUNT_UNION
+ case MOUNT_UNION:
+ return "union" ;
+#endif
+#ifdef MOUNT_DEVFS
+ case MOUNT_DEVFS:
+ return "devfs" ;
+#endif
+#ifdef MOUNT_EXT2FS
+ case MOUNT_EXT2FS:
+ return "ext2fs" ;
+#endif
default:
return "?";
}
me->me_next = NULL;
mount_list = mtail = me;
+#ifdef MOUNTED_LISTMNTENT
+ {
+ struct tabmntent *mntlist, *p;
+ struct mntent *mnt;
+ struct mount_entry *me;
+
+ /* the third and fourth arguments could be used to filter mounts,
+ but Crays doesn't seem to have any mounts that we want to
+ remove. Specifically, automount create normal NFS mounts.
+ */
+
+ if(listmntent(&mntlist, KMTAB, NULL, NULL) < 0)
+ return NULL;
+ p = mntlist;
+ while(p){
+ mnt = p->ment;
+ me = (struct mount_entry*) xmalloc(sizeof (struct mount_entry));
+ me->me_devname = xstrdup(mnt->mnt_fsname);
+ me->me_mountdir = xstrdup(mnt->mnt_dir);
+ me->me_type = xstrdup(mnt->mnt_type);
+ me->me_dev = -1;
+ me->me_next = NULL;
+ mtail->me_next = me;
+ mtail = me;
+ p = p->next;
+ }
+ freemntlist(mntlist);
+ }
+#endif
+
#ifdef MOUNTED_GETMNTENT1 /* 4.3BSD, SunOS, HP-UX, Dynix, Irix. */
{
struct mntent *mnt;
me->me_dev = xatoi (devopt + 4);
}
else
- me->me_dev = -1; /* Magic; means not known yet. */
+ me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
me->me_next = NULL;
/* Add to the linked list. */
#else
me->me_type = fstype_to_string (fsp->f_type);
#endif
- me->me_dev = -1; /* Magic; means not known yet. */
+ me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
me->me_next = NULL;
/* Add to the linked list. */
me->me_devname = xstrdup (stats[counter].f_mntfromname);
me->me_mountdir = xstrdup (stats[counter].f_mntonname);
me->me_type = mnt_names[stats[counter].f_type];
- me->me_dev = -1; /* Magic; means not known yet. */
+ me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
me->me_next = NULL;
/* Add to the linked list. */
strcpy (me->me_devname + 5, mnt.mt_dev);
#endif
me->me_mountdir = xstrdup (mnt.mt_filsys);
- me->me_dev = -1; /* Magic; means not known yet. */
+ me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
me->me_type = "";
#ifdef GETFSTYP /* SVR3. */
if (need_fs_type)
me->me_devname = xstrdup ( (*ent)->mt_resource);
me->me_mountdir = xstrdup( (*ent)->mt_directory);
me->me_type = xstrdup ((*ent)->mt_fstype);
- me->me_dev = -1; /* Magic; means not known yet. */
+ me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
me->me_next = NULL;
/* Add to the linked list. */
me->me_devname = xstrdup (mnt.mnt_special);
me->me_mountdir = xstrdup (mnt.mnt_mountp);
me->me_type = xstrdup (mnt.mnt_fstype);
- me->me_dev = -1; /* Magic; means not known yet. */
+ me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
me->me_next = NULL;
/* Add to the linked list. */
}
me->me_mountdir = xstrdup (thisent + vmp->vmt_data[VMT_STUB].vmt_off);
me->me_type = xstrdup (fstype_to_string (vmp->vmt_gfstype));
- me->me_dev = -1; /* vmt_fsid might be the info we want. */
+ me->me_dev = (dev_t) -1; /* vmt_fsid might be the info we want. */
me->me_next = NULL;
/* Add to the linked list. */