1 /*
   2  * CDDL HEADER START
   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License, Version 1.0 only
   6  * (the "License").  You may not use this file except in compliance
   7  * with the License.
   8  *
   9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10  * or http://www.opensolaris.org/os/licensing.
  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  */
  22 /*      Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T     */
  23 /*        All Rights Reserved   */
  24 
  25 
  26 #ifndef _SYS_VFSTAB_H
  27 #define _SYS_VFSTAB_H
  28 
  29 #pragma ident   "%Z%%M% %I%     %E% SMI"        /* SVr4.0 1.2 */
  30 
  31 #ifdef  __cplusplus
  32 extern "C" {
  33 #endif
  34 
  35 #define VFSTAB  "/etc/vfstab"
  36 #define VFS_LINE_MAX    1024
  37 
  38 #define VFS_TOOLONG     1       /* entry exceeds VFS_LINE_MAX */
  39 #define VFS_TOOMANY     2       /* too many fields in line */
  40 #define VFS_TOOFEW      3       /* too few fields in line */
  41 
  42 #define vfsnull(vp)     ((vp)->vfs_special = (vp)->vfs_fsckdev = \
  43                             (vp)->vfs_mountp = (vp)->vfs_fstype = \
  44                             (vp)->vfs_fsckpass = (vp)->vfs_automnt = \
  45                             (vp)->vfs_mntopts = NULL)
  46 
  47 #define putvfsent(fd, vp)\
  48         fprintf((fd), "%s\t%s\t%s\t%s\t%s\t%s\t%s\n", \
  49                 (vp)->vfs_special ? (vp)->vfs_special : "-", \
  50                 (vp)->vfs_fsckdev ? (vp)->vfs_fsckdev : "-", \
  51                 (vp)->vfs_mountp ? (vp)->vfs_mountp : "-", \
  52                 (vp)->vfs_fstype ? (vp)->vfs_fstype : "-", \
  53                 (vp)->vfs_fsckpass ? (vp)->vfs_fsckpass : "-", \
  54                 (vp)->vfs_automnt ? (vp)->vfs_automnt : "-", \
  55                 (vp)->vfs_mntopts ? (vp)->vfs_mntopts : "-")
  56 
  57 struct vfstab {
  58         char    *vfs_special;
  59         char    *vfs_fsckdev;
  60         char    *vfs_mountp;
  61         char    *vfs_fstype;
  62         char    *vfs_fsckpass;
  63         char    *vfs_automnt;
  64         char    *vfs_mntopts;
  65 };
  66 
  67 #ifdef __STDC__
  68 extern int      getvfsent(FILE *, struct vfstab *);
  69 extern int      getvfsspec(FILE *, struct vfstab *, char *);
  70 extern int      getvfsfile(FILE *, struct vfstab *, char *);
  71 extern int      getvfsany(FILE *, struct vfstab *, struct vfstab *);
  72 #else
  73 extern int      getvfsent();
  74 extern int      getvfsspec();
  75 extern int      getvfsfile();
  76 extern int      getvfsany();
  77 #endif
  78 
  79 #ifdef  __cplusplus
  80 }
  81 #endif
  82 
  83 #endif  /* _SYS_VFSTAB_H */