coda_vnops.h revision 1.4
1/* $NetBSD: coda_vnops.h,v 1.4 1998/09/15 02:03:00 rvb Exp $ */ 2 3/* 4 * 5 * Coda: an Experimental Distributed File System 6 * Release 3.1 7 * 8 * Copyright (c) 1987-1998 Carnegie Mellon University 9 * All Rights Reserved 10 * 11 * Permission to use, copy, modify and distribute this software and its 12 * documentation is hereby granted, provided that both the copyright 13 * notice and this permission notice appear in all copies of the 14 * software, derivative works or modified versions, and any portions 15 * thereof, and that both notices appear in supporting documentation, and 16 * that credit is given to Carnegie Mellon University in all documents 17 * and publicity pertaining to direct or indirect use of this code or its 18 * derivatives. 19 * 20 * CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS KNOWN TO HAVE BUGS, 21 * SOME OF WHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON ALLOWS 22 * FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON 23 * DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER 24 * RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE OR OF 25 * ANY DERIVATIVE WORK. 26 * 27 * Carnegie Mellon encourages users of this software to return any 28 * improvements or extensions that they make, and to grant Carnegie 29 * Mellon the rights to redistribute these changes without encumbrance. 30 * 31 * @(#) coda/coda_vnops.h,v 1.1.1.1 1998/08/29 21:26:46 rvb Exp $ 32 */ 33 34/* 35 * Mach Operating System 36 * Copyright (c) 1990 Carnegie-Mellon University 37 * Copyright (c) 1989 Carnegie-Mellon University 38 * All rights reserved. The CMU software License Agreement specifies 39 * the terms and conditions for use and redistribution. 40 */ 41 42/* 43 * This code was written for the Coda file system at Carnegie Mellon 44 * University. Contributers include David Steere, James Kistler, and 45 * M. Satyanarayanan. 46 */ 47 48/* 49 * HISTORY 50 * $Log: coda_vnops.h,v $ 51 * Revision 1.4 1998/09/15 02:03:00 rvb 52 * Final piece of rename cfs->coda 53 * 54 * Revision 1.3 1998/09/12 15:05:49 rvb 55 * Change cfs/CFS in symbols, strings and constants to coda/CODA 56 * to avoid fs conflicts. 57 * 58 * Revision 1.2 1998/09/08 17:12:48 rvb 59 * Pass2 complete 60 * 61 * Revision 1.1.1.1 1998/08/29 21:26:46 rvb 62 * Very Preliminary Coda 63 * 64 * Revision 1.7 1998/08/28 18:12:24 rvb 65 * Now it also works on FreeBSD -current. This code will be 66 * committed to the FreeBSD -current and NetBSD -current 67 * trees. It will then be tailored to the particular platform 68 * by flushing conditional code. 69 * 70 * Revision 1.6 1998/08/18 17:05:22 rvb 71 * Don't use __RCSID now 72 * 73 * Revision 1.5 1998/08/18 16:31:47 rvb 74 * Sync the code for NetBSD -current; test on 1.3 later 75 * 76 * Revision 1.4 98/01/23 11:53:49 rvb 77 * Bring RVB_CODA1_1 to HEAD 78 * 79 * Revision 1.3.2.3 98/01/23 11:21:13 rvb 80 * Sync with 2.2.5 81 * 82 * Revision 1.3.2.2 97/12/16 12:40:20 rvb 83 * Sync with 1.3 84 * 85 * Revision 1.3.2.1 97/12/10 14:08:34 rvb 86 * Fix O_ flags; check result in coda_call 87 * 88 * Revision 1.3 97/12/05 10:39:25 rvb 89 * Read CHANGES 90 * 91 * Revision 1.2.34.2 97/11/20 11:46:54 rvb 92 * Capture current coda_venus 93 * 94 * Revision 1.2.34.1 97/11/13 22:03:04 rvb 95 * pass2 cfs_NetBSD.h mt 96 * 97 * Revision 1.2 96/01/02 16:57:14 bnoble 98 * Added support for Coda MiniCache and raw inode calls (final commit) 99 * 100 * Revision 1.1.2.1 1995/12/20 01:57:40 bnoble 101 * Added Coda-specific files 102 * 103 */ 104 105/* NetBSD interfaces to the vnodeops */ 106int coda_open __P((void *)); 107int coda_close __P((void *)); 108int coda_read __P((void *)); 109int coda_write __P((void *)); 110int coda_ioctl __P((void *)); 111/* 1.3 int coda_select __P((void *));*/ 112int coda_getattr __P((void *)); 113int coda_setattr __P((void *)); 114int coda_access __P((void *)); 115int coda_abortop __P((void *)); 116int coda_readlink __P((void *)); 117int coda_fsync __P((void *)); 118int coda_inactive __P((void *)); 119int coda_lookup __P((void *)); 120int coda_create __P((void *)); 121int coda_remove __P((void *)); 122int coda_link __P((void *)); 123int coda_rename __P((void *)); 124int coda_mkdir __P((void *)); 125int coda_rmdir __P((void *)); 126int coda_symlink __P((void *)); 127int coda_readdir __P((void *)); 128int coda_bmap __P((void *)); 129int coda_strategy __P((void *)); 130int coda_reclaim __P((void *)); 131int coda_lock __P((void *)); 132int coda_unlock __P((void *)); 133int coda_islocked __P((void *)); 134int coda_vop_error __P((void *)); 135int coda_vop_nop __P((void *)); 136 137int (**coda_vnodeop_p)(void *); 138int coda_rdwr(struct vnode *vp, struct uio *uiop, enum uio_rw rw, 139 int ioflag, struct ucred *cred, struct proc *p); 140 141int coda_grab_vnode(dev_t dev, ino_t ino, struct vnode **vpp); 142void print_vattr(struct vattr *attr); 143void print_cred(struct ucred *cred); 144