summaryrefslogtreecommitdiff
path: root/usr/src/lib/libbc/inc/include/sys/vfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libbc/inc/include/sys/vfs.h')
-rw-r--r--usr/src/lib/libbc/inc/include/sys/vfs.h164
1 files changed, 0 insertions, 164 deletions
diff --git a/usr/src/lib/libbc/inc/include/sys/vfs.h b/usr/src/lib/libbc/inc/include/sys/vfs.h
deleted file mode 100644
index b593914bfe..0000000000
--- a/usr/src/lib/libbc/inc/include/sys/vfs.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 1988 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-/*
- * File system identifier. Should be unique (at least per machine).
- */
-
-#ifndef _sys_vfs_h
-#define _sys_vfs_h
-
-typedef struct {
- long val[2]; /* file system id type */
-} fsid_t;
-
-/*
- * File identifier. Should be unique per filesystem on a single machine.
- */
-#define MAXFIDSZ 16
-#define freefid(fidp) \
- kmem_free((caddr_t)(fidp), sizeof (struct fid) - MAXFIDSZ + (fidp)->fid_len)
-
-struct fid {
- u_short fid_len; /* length of data in bytes */
- char fid_data[MAXFIDSZ]; /* data (variable length) */
-};
-
-/*
- * Structure per mounted file system.
- * Each mounted file system has an array of
- * operations and an instance record.
- * The file systems are put on a singly linked list.
- * If vfs_stats is non-NULL statistics are gathered, see vfs_stat.h
- */
-struct vfs {
- struct vfs *vfs_next; /* next vfs in vfs list */
- struct vfsops *vfs_op; /* operations on vfs */
- struct vnode *vfs_vnodecovered; /* vnode we mounted on */
- int vfs_flag; /* flags */
- int vfs_bsize; /* native block size */
- fsid_t vfs_fsid; /* file system id */
- caddr_t vfs_stats; /* filesystem statistics */
- caddr_t vfs_data; /* private data */
-};
-
-/*
- * vfs flags.
- * VFS_MLOCK lock the vfs so that name lookup cannot proceed past the vfs.
- * This keeps the subtree stable during mounts and unmounts.
- */
-#define VFS_RDONLY 0x01 /* read only vfs */
-#define VFS_MLOCK 0x02 /* lock vfs so that subtree is stable */
-#define VFS_MWAIT 0x04 /* someone is waiting for lock */
-#define VFS_NOSUID 0x08 /* turn off set-uid on exec */
-#define VFS_GRPID 0x10 /* Old BSD group-id on create */
-#define VFS_NOSUB 0x20 /* No mounts allowed beneath this fs */
-#define VFS_REMOUNT 0x40 /* modify mount otions only */
-#define VFS_MULTI 0x80 /* Do multi-component lookup on files */
-
-/*
- * Operations supported on virtual file system.
- */
-struct vfsops {
- int (*vfs_mount)(); /* mount file system */
- int (*vfs_unmount)(); /* unmount file system */
- int (*vfs_root)(); /* get root vnode */
- int (*vfs_statfs)(); /* get fs statistics */
- int (*vfs_sync)(); /* flush fs buffers */
- int (*vfs_vget)(); /* get vnode from fid */
- int (*vfs_mountroot)(); /* mount the root filesystem */
- int (*vfs_swapvp)(); /* return vnode for swap */
-};
-
-#define VFS_MOUNT(VFSP, PATH, DATA) \
- (*(VFSP)->vfs_op->vfs_mount)(VFSP, PATH, DATA)
-#define VFS_UNMOUNT(VFSP) (*(VFSP)->vfs_op->vfs_unmount)(VFSP)
-#define VFS_ROOT(VFSP, VPP) (*(VFSP)->vfs_op->vfs_root)(VFSP,VPP)
-#define VFS_STATFS(VFSP, SBP) (*(VFSP)->vfs_op->vfs_statfs)(VFSP,SBP)
-#define VFS_SYNC(VFSP) (*(VFSP)->vfs_op->vfs_sync)(VFSP)
-#define VFS_VGET(VFSP, VPP, FIDP) (*(VFSP)->vfs_op->vfs_vget)(VFSP, VPP, FIDP)
-#define VFS_MOUNTROOT(VFSP, VPP, NM) \
- (*(VFSP)->vfs_op->vfs_mountroot)(VFSP, VPP, NM)
-#define VFS_SWAPVP(VFSP, VPP, NM) (*(VFSP)->vfs_op->vfs_swapvp)(VFSP, VPP, NM)
-
-/*
- * file system statistics
- */
-struct statfs {
- long f_type; /* type of info, zero for now */
- long f_bsize; /* fundamental file system block size */
- long f_blocks; /* total blocks in file system */
- long f_bfree; /* free block in fs */
- long f_bavail; /* free blocks avail to non-superuser */
- long f_files; /* total file nodes in file system */
- long f_ffree; /* free file nodes in fs */
- fsid_t f_fsid; /* file system id */
- long f_spare[7]; /* spare for later */
-};
-
-#ifdef KERNEL
-/*
- * Filesystem type switch table
- */
-struct vfssw {
- char *vsw_name; /* type name string */
- struct vfsops *vsw_ops; /* filesystem operations vector */
-};
-
-/*
- * public operations
- */
-extern void vfs_mountroot(); /* mount the root */
-extern int vfs_add(); /* add a new vfs to mounted vfs list */
-extern void vfs_remove(); /* remove a vfs from mounted vfs list */
-extern int vfs_lock(); /* lock a vfs */
-extern void vfs_unlock(); /* unlock a vfs */
-extern struct vfs *getvfs(); /* return vfs given fsid */
-extern struct vfssw *getfstype(); /* find default filesystem type */
-extern int vfs_getmajor(); /* get major device # for an fs type */
-extern void vfs_putmajor(); /* free major device # for an fs type */
-extern int vfs_getnum(); /* get device # for an fs type */
-extern void vfs_putnum(); /* release device # for an fs type */
-
-#define VFS_INIT(VFSP, OP, DATA) { \
- (VFSP)->vfs_next = (struct vfs *)0; \
- (VFSP)->vfs_op = (OP); \
- (VFSP)->vfs_flag = 0; \
- (VFSP)->vfs_stats = NULL; \
- (VFSP)->vfs_data = (DATA); \
-}
-
-/*
- * globals
- */
-extern struct vfs *rootvfs; /* ptr to root vfs structure */
-extern struct vfssw vfssw[]; /* table of filesystem types */
-extern struct vfssw *vfsNVFS; /* vfs switch table end marker */
-#endif
-
-#endif /*!_sys_vfs_h*/