/* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ /* * $Id: filesys.h,v 1.1 1996/02/03 12:12:58 dm Exp $ * @(#)filesys.h */ #ifndef __filesys_h__ #define __filesys_h__ /* * File System information */ /* * Mount information */ #if FSI_TYPE == FSI_GETMNT # include # include # include # define MOUNTED_FILE "" #endif #if FSI_TYPE == FSI_GETFSSTAT # include # include # define MOUNTED_FILE "" #endif #if FSI_TYPE == FSI_MNTCTL # include # define MOUNTED_FILE "" #endif #if FSI_TYPE == FSI_GETMNTENT # include # define MOUNTED_FILE MOUNTED #endif #if FSI_TYPE == FSI_GETMNTENT2 #if defined(MNTTAB_H) # include MNTTAB_H #endif /* MNTTAB_H */ #if defined(MNTENT_H) # include MNTENT_H #endif /* MNTENT_H */ # define MOUNTED_FILE MNTTAB #endif /* FSI_GETMNTENT2 */ #if !defined(MOUNTED_FILE) && defined(MNT_MNTTAB) /* HPUX */ # define MOUNTED_FILE MNT_MNTTAB #endif /* MNT_MNTTAB */ /* * NCR OS defines bcopy and bzero */ #if defined(NCR) #undef bcopy #undef bzero #endif /* NCR */ /* * Stat Filesystem */ #if defined(STATFS_TYPE) #if defined(ultrix) typedef struct fs_data statfs_t; # define f_bavail fd_req.bfreen # define f_bsize fd_req.bsize # define f_ffree fd_req.gfree #else #if defined(_AIX) || STATFS_TYPE == STATFS_SYSV # include typedef struct statfs statfs_t; # define f_bavail f_bfree #else #if defined(SVR4) # include typedef struct statvfs statfs_t; # define statfs(mp,sb) statvfs(mp,sb) #else #if defined(BSD386) || defined(__bsdi__) || defined(FREEBSD) || STATFS_TYPE == STATFS_OSF1 typedef struct statfs statfs_t; #else # include typedef struct statfs statfs_t; #endif /* BSD386 */ #endif /* SVR4 */ #endif /* _AIX */ #endif /* ultrix */ #endif /* STATFS_TYPE */ /* * Mount Entry definetions */ #ifndef METYPE_OTHER #define METYPE_OTHER "other" #endif #ifndef METYPE_NFS #define METYPE_NFS "nfs" #endif #ifndef MEFLAG_READONLY #define MEFLAG_READONLY 0x01 #endif #ifndef MEFLAG_IGNORE #define MEFLAG_IGNORE 0x02 #endif /* * Our internal mount entry type */ struct _mntent { char *me_path; /* Mounted path */ char *me_type; /* Type of mount */ int me_flags; /* Mount flags */ }; typedef struct _mntent mntent_t; /* * Internal mount information type */ struct mntinfo { mntent_t *mi_mnt; struct stat *mi_statb; struct mntinfo *mi_nxt; }; /* * Declarations */ FILE *setmountent(); mntent_t *getmountent(); mntent_t *newmountent(); void endmountent(); #endif /* __filesys_h__ */