# getfsent

## NAME



           getfsent, getfsspec, getfsfile, setfsent, endfsent - handle fstab
           entries
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <fstab.h>**
    
           **int setfsent(void);**
           **struct fstab *getfsent(void);**
           **void endfsent(void);**
    
           **struct fstab *getfsfile(const char ***_mount_point_**);**
           **struct fstab *getfsspec(const char ***_special_file_**);**
    


## DESCRIPTION



           These functions read from the file _/etc/fstab_.  The _struct fstab_
           is defined by:
    
               struct fstab {
                   char       *fs_spec;       /* block device name */
                   char       *fs_file;       /* mount point */
                   char       *fs_vfstype;    /* filesystem type */
                   char       *fs_mntops;     /* mount options */
                   const char *fs_type;       /* rw/rq/ro/sw/xx option */
                   int         fs_freq;       /* dump frequency, in days */
                   int         fs_passno;     /* pass number on parallel dump */
               };
    
           Here the field _fs_type_ contains (on a *BSD system) one of the five
           strings "rw", "rq", "ro", "sw", "xx" (read-write, read-write with
           quota, read-only, swap, ignore).
    
           The function **setfsent**() opens the file when required and positions
           it at the first line.
    
           The function **getfsent**() parses the next line from the file.
           (After opening it when required.)
    
           The function **endfsent**() closes the file when required.
    
           The function **getfsspec**() searches the file from the start and
           returns the first entry found for which the _fs_spec_ field matches
           the _special_file_ argument.
    
           The function **getfsfile**() searches the file from the start and
           returns the first entry found for which the _fs_file_ field matches
           the _mount_point_ argument.
    


## RETURN VALUE



           Upon success, the functions **getfsent**(), **getfsfile**(), and
           **getfsspec**() return a pointer to a _struct fstab_ , while **setfsent**()
           returns 1.  Upon failure or end-of-file, these functions return
           NULL and 0, respectively.
    


## ATTRIBUTES



           For an explanation of the terms used in this section, see
           attributes(7).
           ┌──────────────┬───────────────┬─────────────────────────────────┐
           │ **Interface** │ **Attribute** │ **Value** │
           ├──────────────┼───────────────┼─────────────────────────────────┤
           │ **endfsent**(),  │ Thread safety │ MT-Unsafe race:fsent            │
           │ **setfsent**()   │               │                                 │
           ├──────────────┼───────────────┼─────────────────────────────────┤
           │ **getfsent**(),  │ Thread safety │ MT-Unsafe race:fsent locale     │
           │ **getfsspec**(), │               │                                 │
           │ **getfsfile**()  │               │                                 │
           └──────────────┴───────────────┴─────────────────────────────────┘
    


## VERSIONS



           Several operating systems have these functions, for example, *BSD,
           SunOS, Digital UNIX, AIX (which also has a **getfstype**()).  HP-UX
           has functions of the same names, that however use a _struct_
           _checklist_ instead of a _struct fstab_ , and calls these functions
           obsolete, superseded by getmntent(3).
    


## STANDARDS



           None.
    


## NOTES



           These functions are not thread-safe.
    
           Since Linux allows mounting a block special device in several
           places, and since several devices can have the same mount point,
           where the last device with a given mount point is the interesting
           one, while **getfsfile**() and **getfsspec**() only return the first
           occurrence, these two functions are not suitable for use under
           Linux.
    


* * *