/* file: getmntent.c purpose: shell utility implementing getmntent() functionality created: pasha jan 3 1999 usage: getmntent; prints on stdout a list of mounted dirs notes: works on Solaris */ #include #include int main (int argc, char* argv[]) { int rval; FILE f; struct mnttab mt; while (1) { switch (rval = getmntent (&f, &mt)) { case 0: /* ok */ printf ("%s %s %s %s %s\n", mt.mnt_special, mt.mnt_mountp, mt.mnt_fstype, mt.mnt_mntopts, mt.mnt_time); break; case -1: /* EOF */ printf ("EOF\n"); return (0); break; case MNT_TOOLONG: fprintf (stderr, "%s: MNT_TOOLONG error when reading /etc/mnttab\n", argv[0]); return (rval); break; case MNT_TOOMANY: case MNT_TOOFEW: fprintf (stderr, "%s: incorrect syntax in /etc/mnttab\n", argv[0]); return (rval); break; default: fprintf (stderr, "%s: unexpected error when reading /etc/mnttab\n", argv[0]); return (-1); } } /* never reach here */ exit (0); }