1# 2# Copyright (c) 1992 The Regents of the University of California. 3# All rights reserved. 4# 5# %sccs.include.redist.sh% 6# 7# @(#)vnode_if.src 7.5 (Berkeley) 10/07/92 8# 9vop_lookup { 10 IN struct vnode *dvp; 11 INOUT struct vnode **vpp; 12 IN struct componentname *cnp; 13}; 14 15vop_create { 16 IN WILLRELE struct vnode *dvp; 17 OUT struct vnode **vpp; 18 IN struct componentname *cnp; 19 IN struct vattr *vap; 20}; 21 22vop_mknod { 23 IN WILLRELE struct vnode *dvp; 24 OUT WILLRELE struct vnode **vpp; 25 IN struct componentname *cnp; 26 IN struct vattr *vap; 27}; 28 29vop_open { 30 IN struct vnode *vp; 31 IN int mode; 32 IN struct ucred *cred; 33 IN struct proc *p; 34}; 35 36vop_close { 37 IN struct vnode *vp; 38 IN int fflag; 39 IN struct ucred *cred; 40 IN struct proc *p; 41}; 42 43vop_access { 44 IN struct vnode *vp; 45 IN int mode; 46 IN struct ucred *cred; 47 IN struct proc *p; 48}; 49 50vop_getattr { 51 IN struct vnode *vp; 52 IN struct vattr *vap; 53 IN struct ucred *cred; 54 IN struct proc *p; 55}; 56 57vop_setattr { 58 IN struct vnode *vp; 59 IN struct vattr *vap; 60 IN struct ucred *cred; 61 IN struct proc *p; 62}; 63 64vop_read { 65 IN struct vnode *vp; 66 INOUT struct uio *uio; 67 IN int ioflag; 68 IN struct ucred *cred; 69}; 70 71vop_write { 72 IN struct vnode *vp; 73 INOUT struct uio *uio; 74 IN int ioflag; 75 IN struct ucred *cred; 76}; 77 78vop_ioctl { 79 IN struct vnode *vp; 80 IN int command; 81 IN caddr_t data; 82 IN int fflag; 83 IN struct ucred *cred; 84 IN struct proc *p; 85}; 86 87# Needs work? (fflags) 88vop_select { 89 IN struct vnode *vp; 90 IN int which; 91 IN int fflags; 92 IN struct ucred *cred; 93 IN struct proc *p; 94}; 95 96vop_mmap { 97 IN struct vnode *vp; 98 IN int fflags; 99 IN struct ucred *cred; 100 IN struct proc *p; 101}; 102 103vop_fsync { 104 IN struct vnode *vp; 105 IN struct ucred *cred; 106 IN int waitfor; 107 IN struct proc *p; 108}; 109 110# Needs word: Is newoff right? What's it mean? 111vop_seek { 112 IN struct vnode *vp; 113 IN off_t oldoff; 114 IN off_t newoff; 115 IN struct ucred *cred; 116}; 117 118vop_remove { 119 IN WILLRELE struct vnode *dvp; 120 IN WILLRELE struct vnode *vp; 121 IN struct componentname *cnp; 122}; 123 124vop_link { 125 IN WILLRELE struct vnode *vp; 126 IN struct vnode *tdvp; 127 IN struct componentname *cnp; 128}; 129 130vop_rename { 131 IN WILLRELE struct vnode *fdvp; 132 IN WILLRELE struct vnode *fvp; 133 IN struct componentname *fcnp; 134 IN WILLRELE struct vnode *tdvp; 135 IN WILLRELE struct vnode *tvp; 136 IN struct componentname *tcnp; 137}; 138 139vop_mkdir { 140 IN WILLRELE struct vnode *dvp; 141 OUT struct vnode **vpp; 142 IN struct componentname *cnp; 143 IN struct vattr *vap; 144}; 145 146vop_rmdir { 147 IN WILLRELE struct vnode *dvp; 148 IN WILLRELE struct vnode *vp; 149 IN struct componentname *cnp; 150}; 151 152vop_symlink { 153 IN WILLRELE struct vnode *dvp; 154 OUT WILLRELE struct vnode **vpp; 155 IN struct componentname *cnp; 156 IN struct vattr *vap; 157 IN char *target; 158}; 159 160vop_readdir { 161 IN struct vnode *vp; 162 INOUT struct uio *uio; 163 IN struct ucred *cred; 164}; 165 166vop_readlink { 167 IN struct vnode *vp; 168 INOUT struct uio *uio; 169 IN struct ucred *cred; 170}; 171 172vop_abortop { 173 IN struct vnode *dvp; 174 IN struct componentname *cnp; 175}; 176 177vop_inactive { 178 IN struct vnode *vp; 179}; 180 181vop_reclaim { 182 IN struct vnode *vp; 183}; 184 185vop_lock { 186 IN struct vnode *vp; 187}; 188 189vop_unlock { 190 IN struct vnode *vp; 191}; 192 193vop_bmap { 194 IN struct vnode *vp; 195 IN daddr_t bn; 196 OUT struct vnode **vpp; 197 IN daddr_t *bnp; 198 OUT int *runp; 199}; 200 201#vop_strategy { 202# IN struct buf *bp; 203#}; 204 205vop_print { 206 IN struct vnode *vp; 207}; 208 209vop_islocked { 210 IN struct vnode *vp; 211}; 212 213vop_advlock { 214 IN struct vnode *vp; 215 IN caddr_t id; 216 IN int op; 217 IN struct flock *fl; 218 IN int flags; 219}; 220 221vop_blkatoff { 222 IN struct vnode *vp; 223 IN off_t offset; 224 OUT char **res; 225 OUT struct buf **bpp; 226}; 227 228vop_valloc { 229 IN struct vnode *pvp; 230 IN int mode; 231 IN struct ucred *cred; 232 OUT struct vnode **vpp; 233}; 234 235vop_vfree { 236 IN struct vnode *pvp; 237 IN ino_t ino; 238 IN int mode; 239}; 240 241vop_truncate { 242 IN struct vnode *vp; 243 IN off_t length; 244 IN int flags; 245 IN struct ucred *cred; 246 IN struct proc *p; 247}; 248 249vop_update { 250 IN struct vnode *vp; 251 IN struct timeval *ta; 252 IN struct timeval *tm; 253 IN int waitfor; 254}; 255 256# Needs work: no vp? 257#vop_bwrite { 258# IN struct buf *bp; 259#}; 260