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

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:  *
                     33:  *     @(#)mfsnode.h   7.3 (Berkeley) 4/16/91
                     34:  */
                     35: 
                     36: /*
                     37:  * This structure defines the control data for the memory
                     38:  * based file system.
                     39:  */
                     40: 
                     41: struct mfsnode {
                     42:        struct  vnode *mfs_vnode;       /* vnode associated with this mfsnode */
                     43:        caddr_t mfs_baseoff;            /* base of file system in memory */
                     44:        long    mfs_size;               /* size of memory file system */
                     45:        pid_t   mfs_pid;                /* supporting process pid */
                     46:        struct  buf *mfs_buflist;       /* list of I/O requests */
                     47:        long    mfs_spare[4];
                     48: };
                     49: 
                     50: /*
                     51:  * Convert between mfsnode pointers and vnode pointers
                     52:  */
                     53: #define VTOMFS(vp)     ((struct mfsnode *)(vp)->v_data)
                     54: #define MFSTOV(mfsp)   ((mfsp)->mfs_vnode)
                     55: 
                     56: /*
                     57:  * Prototypes for MFS operations on vnodes.
                     58:  */
                     59: int    mfs_badop();
                     60: #define mfs_lookup ((int (*) __P(( \
                     61:                struct vnode *vp, \
                     62:                struct nameidata *ndp, \
                     63:                struct proc *p))) mfs_badop)
                     64: #define mfs_create ((int (*) __P(( \
                     65:                struct nameidata *ndp, \
                     66:                struct vattr *vap, \
                     67:                struct proc *p))) mfs_badop)
                     68: #define mfs_mknod ((int (*) __P(( \
                     69:                struct nameidata *ndp, \
                     70:                struct vattr *vap, \
                     71:                struct ucred *cred, \
                     72:                struct proc *p))) mfs_badop)
                     73: int    mfs_open __P((
                     74:                struct vnode *vp,
                     75:                int mode,
                     76:                struct ucred *cred,
                     77:                struct proc *p));
                     78: int    mfs_close __P((
                     79:                struct vnode *vp,
                     80:                int fflag,
                     81:                struct ucred *cred,
                     82:                struct proc *p));
                     83: #define mfs_access ((int (*) __P(( \
                     84:                struct vnode *vp, \
                     85:                int mode, \
                     86:                struct ucred *cred, \
                     87:                struct proc *p))) mfs_badop)
                     88: #define mfs_getattr ((int (*) __P(( \
                     89:                struct vnode *vp, \
                     90:                struct vattr *vap, \
                     91:                struct ucred *cred, \
                     92:                struct proc *p))) mfs_badop)
                     93: #define mfs_setattr ((int (*) __P(( \
                     94:                struct vnode *vp, \
                     95:                struct vattr *vap, \
                     96:                struct ucred *cred, \
                     97:                struct proc *p))) mfs_badop)
                     98: #define mfs_read ((int (*) __P(( \
                     99:                struct vnode *vp, \
                    100:                struct uio *uio, \
                    101:                int ioflag, \
                    102:                struct ucred *cred))) mfs_badop)
                    103: #define mfs_write ((int (*) __P(( \
                    104:                struct vnode *vp, \
                    105:                struct uio *uio, \
                    106:                int ioflag, \
                    107:                struct ucred *cred))) mfs_badop)
                    108: int    mfs_ioctl __P((
                    109:                struct vnode *vp,
                    110:                int command,
                    111:                caddr_t data,
                    112:                int fflag,
                    113:                struct ucred *cred,
                    114:                struct proc *p));
                    115: #define mfs_select ((int (*) __P(( \
                    116:                struct vnode *vp, \
                    117:                int which, \
                    118:                int fflags, \
                    119:                struct ucred *cred, \
                    120:                struct proc *p))) mfs_badop)
                    121: #define mfs_mmap ((int (*) __P(( \
                    122:                struct vnode *vp, \
                    123:                int fflags, \
                    124:                struct ucred *cred, \
                    125:                struct proc *p))) mfs_badop)
                    126: #define mfs_fsync ((int (*) __P(( \
                    127:                struct vnode *vp, \
                    128:                int fflags, \
                    129:                struct ucred *cred, \
                    130:                int waitfor, \
                    131:                struct proc *p))) mfs_badop)
                    132: #define mfs_seek ((int (*) __P(( \
                    133:                struct vnode *vp, \
                    134:                off_t oldoff, \
                    135:                off_t newoff, \
                    136:                struct ucred *cred))) mfs_badop)
                    137: #define mfs_remove ((int (*) __P(( \
                    138:                struct nameidata *ndp, \
                    139:                struct proc *p))) mfs_badop)
                    140: #define mfs_link ((int (*) __P(( \
                    141:                struct vnode *vp, \
                    142:                struct nameidata *ndp, \
                    143:                struct proc *p))) mfs_badop)
                    144: #define mfs_rename ((int (*) __P(( \
                    145:                struct nameidata *fndp, \
                    146:                struct nameidata *tdnp, \
                    147:                struct proc *p))) mfs_badop)
                    148: #define mfs_mkdir ((int (*) __P(( \
                    149:                struct nameidata *ndp, \
                    150:                struct vattr *vap, \
                    151:                struct proc *p))) mfs_badop)
                    152: #define mfs_rmdir ((int (*) __P(( \
                    153:                struct nameidata *ndp, \
                    154:                struct proc *p))) mfs_badop)
                    155: #define mfs_symlink ((int (*) __P(( \
                    156:                struct nameidata *ndp, \
                    157:                struct vattr *vap, \
                    158:                char *target, \
                    159:                struct proc *p))) mfs_badop)
                    160: #define mfs_readdir ((int (*) __P(( \
                    161:                struct vnode *vp, \
                    162:                struct uio *uio, \
                    163:                struct ucred *cred, \
                    164:                int *eofflagp))) mfs_badop)
                    165: #define mfs_readlink ((int (*) __P(( \
                    166:                struct vnode *vp, \
                    167:                struct uio *uio, \
                    168:                struct ucred *cred))) mfs_badop)
                    169: #define mfs_abortop ((int (*) __P(( \
                    170:                struct nameidata *ndp))) mfs_badop)
                    171: int    mfs_inactive __P((
                    172:                struct vnode *vp,
                    173:                struct proc *p));
                    174: #define mfs_reclaim ((int (*) __P(( \
                    175:                struct vnode *vp))) nullop)
                    176: #define mfs_lock ((int (*) __P(( \
                    177:                struct vnode *vp))) nullop)
                    178: #define mfs_unlock ((int (*) __P(( \
                    179:                struct vnode *vp))) nullop)
                    180: int    mfs_bmap __P((
                    181:                struct vnode *vp,
                    182:                daddr_t bn,
                    183:                struct vnode **vpp,
                    184:                daddr_t *bnp));
                    185: int    mfs_strategy __P((
                    186:                struct buf *bp));
                    187: int    mfs_print __P((
                    188:                struct vnode *vp));
                    189: #define mfs_islocked ((int (*) __P(( \
                    190:                struct vnode *vp))) nullop)
                    191: #define mfs_advlock ((int (*) __P(( \
                    192:                struct vnode *vp, \
                    193:                caddr_t id, \
                    194:                int op, \
                    195:                struct flock *fl, \
                    196:                int flags))) mfs_badop)

unix.superglobalmegacorp.com

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