Annotation of Net2/ufs/mfsnode.h, revision 1.1.1.2

1.1       root        1: /*
                      2:  * Copyright (c) 1989 The Regents of the University of California.
                      3:  * All rights reserved.
                      4:  *
                      5:  * Redistribution and use in source and binary forms, with or without
                      6:  * modification, are permitted provided that the following conditions
                      7:  * are met:
                      8:  * 1. Redistributions of source code must retain the above copyright
                      9:  *    notice, this list of conditions and the following disclaimer.
                     10:  * 2. Redistributions in binary form must reproduce the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer in the
                     12:  *    documentation and/or other materials provided with the distribution.
                     13:  * 3. All advertising materials mentioning features or use of this software
                     14:  *    must display the following acknowledgement:
                     15:  *     This product includes software developed by the University of
                     16:  *     California, Berkeley and its contributors.
                     17:  * 4. Neither the name of the University nor the names of its contributors
                     18:  *    may be used to endorse or promote products derived from this software
                     19:  *    without specific prior written permission.
                     20:  *
                     21:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     22:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     23:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     24:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     25:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     26:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     27:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     28:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     29:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     30:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     31:  * SUCH DAMAGE.
                     32:  *
1.1.1.2 ! root       33:  *     from: @(#)mfsnode.h     7.3 (Berkeley) 4/16/91
        !            34:  *     mfsnode.h,v 1.3 1993/05/20 03:53:29 cgd Exp
1.1       root       35:  */
                     36: 
1.1.1.2 ! root       37: #ifndef _UFS_MFSNODE_H_
        !            38: #define _UFS_MFSNODE_H_
        !            39: 
1.1       root       40: /*
                     41:  * This structure defines the control data for the memory
                     42:  * based file system.
                     43:  */
                     44: 
                     45: struct mfsnode {
                     46:        struct  vnode *mfs_vnode;       /* vnode associated with this mfsnode */
                     47:        caddr_t mfs_baseoff;            /* base of file system in memory */
                     48:        long    mfs_size;               /* size of memory file system */
                     49:        pid_t   mfs_pid;                /* supporting process pid */
                     50:        struct  buf *mfs_buflist;       /* list of I/O requests */
                     51:        long    mfs_spare[4];
                     52: };
                     53: 
                     54: /*
                     55:  * Convert between mfsnode pointers and vnode pointers
                     56:  */
                     57: #define VTOMFS(vp)     ((struct mfsnode *)(vp)->v_data)
                     58: #define MFSTOV(mfsp)   ((mfsp)->mfs_vnode)
                     59: 
                     60: /*
                     61:  * Prototypes for MFS operations on vnodes.
                     62:  */
                     63: int    mfs_badop();
                     64: #define mfs_lookup ((int (*) __P(( \
                     65:                struct vnode *vp, \
                     66:                struct nameidata *ndp, \
                     67:                struct proc *p))) mfs_badop)
                     68: #define mfs_create ((int (*) __P(( \
                     69:                struct nameidata *ndp, \
                     70:                struct vattr *vap, \
                     71:                struct proc *p))) mfs_badop)
                     72: #define mfs_mknod ((int (*) __P(( \
                     73:                struct nameidata *ndp, \
                     74:                struct vattr *vap, \
                     75:                struct ucred *cred, \
                     76:                struct proc *p))) mfs_badop)
                     77: int    mfs_open __P((
                     78:                struct vnode *vp,
                     79:                int mode,
                     80:                struct ucred *cred,
                     81:                struct proc *p));
                     82: int    mfs_close __P((
                     83:                struct vnode *vp,
                     84:                int fflag,
                     85:                struct ucred *cred,
                     86:                struct proc *p));
                     87: #define mfs_access ((int (*) __P(( \
                     88:                struct vnode *vp, \
                     89:                int mode, \
                     90:                struct ucred *cred, \
                     91:                struct proc *p))) mfs_badop)
                     92: #define mfs_getattr ((int (*) __P(( \
                     93:                struct vnode *vp, \
                     94:                struct vattr *vap, \
                     95:                struct ucred *cred, \
                     96:                struct proc *p))) mfs_badop)
                     97: #define mfs_setattr ((int (*) __P(( \
                     98:                struct vnode *vp, \
                     99:                struct vattr *vap, \
                    100:                struct ucred *cred, \
                    101:                struct proc *p))) mfs_badop)
                    102: #define mfs_read ((int (*) __P(( \
                    103:                struct vnode *vp, \
                    104:                struct uio *uio, \
                    105:                int ioflag, \
                    106:                struct ucred *cred))) mfs_badop)
                    107: #define mfs_write ((int (*) __P(( \
                    108:                struct vnode *vp, \
                    109:                struct uio *uio, \
                    110:                int ioflag, \
                    111:                struct ucred *cred))) mfs_badop)
                    112: int    mfs_ioctl __P((
                    113:                struct vnode *vp,
                    114:                int command,
                    115:                caddr_t data,
                    116:                int fflag,
                    117:                struct ucred *cred,
                    118:                struct proc *p));
                    119: #define mfs_select ((int (*) __P(( \
                    120:                struct vnode *vp, \
                    121:                int which, \
                    122:                int fflags, \
                    123:                struct ucred *cred, \
                    124:                struct proc *p))) mfs_badop)
                    125: #define mfs_mmap ((int (*) __P(( \
                    126:                struct vnode *vp, \
                    127:                int fflags, \
                    128:                struct ucred *cred, \
                    129:                struct proc *p))) mfs_badop)
                    130: #define mfs_fsync ((int (*) __P(( \
                    131:                struct vnode *vp, \
                    132:                int fflags, \
                    133:                struct ucred *cred, \
                    134:                int waitfor, \
                    135:                struct proc *p))) mfs_badop)
                    136: #define mfs_seek ((int (*) __P(( \
                    137:                struct vnode *vp, \
                    138:                off_t oldoff, \
                    139:                off_t newoff, \
                    140:                struct ucred *cred))) mfs_badop)
                    141: #define mfs_remove ((int (*) __P(( \
                    142:                struct nameidata *ndp, \
                    143:                struct proc *p))) mfs_badop)
                    144: #define mfs_link ((int (*) __P(( \
                    145:                struct vnode *vp, \
                    146:                struct nameidata *ndp, \
                    147:                struct proc *p))) mfs_badop)
                    148: #define mfs_rename ((int (*) __P(( \
                    149:                struct nameidata *fndp, \
                    150:                struct nameidata *tdnp, \
                    151:                struct proc *p))) mfs_badop)
                    152: #define mfs_mkdir ((int (*) __P(( \
                    153:                struct nameidata *ndp, \
                    154:                struct vattr *vap, \
                    155:                struct proc *p))) mfs_badop)
                    156: #define mfs_rmdir ((int (*) __P(( \
                    157:                struct nameidata *ndp, \
                    158:                struct proc *p))) mfs_badop)
                    159: #define mfs_symlink ((int (*) __P(( \
                    160:                struct nameidata *ndp, \
                    161:                struct vattr *vap, \
                    162:                char *target, \
                    163:                struct proc *p))) mfs_badop)
                    164: #define mfs_readdir ((int (*) __P(( \
                    165:                struct vnode *vp, \
                    166:                struct uio *uio, \
                    167:                struct ucred *cred, \
                    168:                int *eofflagp))) mfs_badop)
                    169: #define mfs_readlink ((int (*) __P(( \
                    170:                struct vnode *vp, \
                    171:                struct uio *uio, \
                    172:                struct ucred *cred))) mfs_badop)
                    173: #define mfs_abortop ((int (*) __P(( \
                    174:                struct nameidata *ndp))) mfs_badop)
                    175: int    mfs_inactive __P((
                    176:                struct vnode *vp,
                    177:                struct proc *p));
                    178: #define mfs_reclaim ((int (*) __P(( \
                    179:                struct vnode *vp))) nullop)
                    180: #define mfs_lock ((int (*) __P(( \
                    181:                struct vnode *vp))) nullop)
                    182: #define mfs_unlock ((int (*) __P(( \
                    183:                struct vnode *vp))) nullop)
                    184: int    mfs_bmap __P((
                    185:                struct vnode *vp,
                    186:                daddr_t bn,
                    187:                struct vnode **vpp,
                    188:                daddr_t *bnp));
                    189: int    mfs_strategy __P((
                    190:                struct buf *bp));
                    191: int    mfs_print __P((
                    192:                struct vnode *vp));
                    193: #define mfs_islocked ((int (*) __P(( \
                    194:                struct vnode *vp))) nullop)
                    195: #define mfs_advlock ((int (*) __P(( \
                    196:                struct vnode *vp, \
                    197:                caddr_t id, \
                    198:                int op, \
                    199:                struct flock *fl, \
                    200:                int flags))) mfs_badop)
1.1.1.2 ! root      201: 
        !           202: #endif /* !_UFS_MFSNODE_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.