opendir change: refinement
[minix.git] / servers / procfs / mounts.c
blobcfd4f26633fd1cf77d3abf0114b7e20a5db0c293
1 #include "inc.h"
2 #include "vfs/vmnt.h"
4 extern struct mproc mproc[NR_PROCS];
6 /*===========================================================================*
7 * root_mtab *
8 *===========================================================================*/
9 void
10 root_mounts(void)
12 struct vmnt vmnt[NR_MNTS];
13 struct vmnt *vmp;
14 struct mproc *rmp;
15 int slot;
17 if (getsysinfo(VFS_PROC_NR, SI_VMNT_TAB, vmnt, sizeof(vmnt)) != OK)
18 return;
20 for (vmp = &vmnt[0]; vmp < &vmnt[NR_MNTS]; vmp++) {
21 if (vmp->m_dev == NO_DEV)
22 continue;
23 if (vmp->m_fs_e == PFS_PROC_NR)
24 continue; /* Skip (special case) */
26 slot = _ENDPOINT_P(vmp->m_fs_e);
27 if (slot < 0 || slot >= NR_PROCS)
28 continue;
29 rmp = &mproc[slot];
30 buf_printf("%s on %s type %s (%s)\n", vmp->m_mount_dev,
31 vmp->m_mount_path, rmp->mp_name,
32 (vmp->m_flags & VMNT_READONLY) ? "ro" : "rw");