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.6 (Berkeley) 05/25/93 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_pathconf { 214 IN struct vnode *vp; 215 IN int name; 216 OUT int *retval; 217}; 218 219vop_advlock { 220 IN struct vnode *vp; 221 IN caddr_t id; 222 IN int op; 223 IN struct flock *fl; 224 IN int flags; 225}; 226 227vop_blkatoff { 228 IN struct vnode *vp; 229 IN off_t offset; 230 OUT char **res; 231 OUT struct buf **bpp; 232}; 233 234vop_valloc { 235 IN struct vnode *pvp; 236 IN int mode; 237 IN struct ucred *cred; 238 OUT struct vnode **vpp; 239}; 240 241vop_vfree { 242 IN struct vnode *pvp; 243 IN ino_t ino; 244 IN int mode; 245}; 246 247vop_truncate { 248 IN struct vnode *vp; 249 IN off_t length; 250 IN int flags; 251 IN struct ucred *cred; 252 IN struct proc *p; 253}; 254 255vop_update { 256 IN struct vnode *vp; 257 IN struct timeval *ta; 258 IN struct timeval *tm; 259 IN int waitfor; 260}; 261 262# Needs work: no vp? 263#vop_bwrite { 264# IN struct buf *bp; 265#}; 266