coda_vnops.h revision 1.3
1/* $NetBSD: coda_vnops.h,v 1.3 1998/09/12 15:05:49 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 * @(#) cfs/cfs_vnodeops.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.3 1998/09/12 15:05:49 rvb 52 * Change cfs/CFS in symbols, strings and constants to coda/CODA 53 * to avoid fs conflicts. 54 * 55 * Revision 1.2 1998/09/08 17:12:48 rvb 56 * Pass2 complete 57 * 58 * Revision 1.1.1.1 1998/08/29 21:26:46 rvb 59 * Very Preliminary Coda 60 * 61 * Revision 1.7 1998/08/28 18:12:24 rvb 62 * Now it also works on FreeBSD -current. This code will be 63 * committed to the FreeBSD -current and NetBSD -current 64 * trees. It will then be tailored to the particular platform 65 * by flushing conditional code. 66 * 67 * Revision 1.6 1998/08/18 17:05:22 rvb 68 * Don't use __RCSID now 69 * 70 * Revision 1.5 1998/08/18 16:31:47 rvb 71 * Sync the code for NetBSD -current; test on 1.3 later 72 * 73 * Revision 1.4 98/01/23 11:53:49 rvb 74 * Bring RVB_CODA1_1 to HEAD 75 * 76 * Revision 1.3.2.3 98/01/23 11:21:13 rvb 77 * Sync with 2.2.5 78 * 79 * Revision 1.3.2.2 97/12/16 12:40:20 rvb 80 * Sync with 1.3 81 * 82 * Revision 1.3.2.1 97/12/10 14:08:34 rvb 83 * Fix O_ flags; check result in coda_call 84 * 85 * Revision 1.3 97/12/05 10:39:25 rvb 86 * Read CHANGES 87 * 88 * Revision 1.2.34.2 97/11/20 11:46:54 rvb 89 * Capture current coda_venus 90 * 91 * Revision 1.2.34.1 97/11/13 22:03:04 rvb 92 * pass2 cfs_NetBSD.h mt 93 * 94 * Revision 1.2 96/01/02 16:57:14 bnoble 95 * Added support for Coda MiniCache and raw inode calls (final commit) 96 * 97 * Revision 1.1.2.1 1995/12/20 01:57:40 bnoble 98 * Added Coda-specific files 99 * 100 */ 101 102/* NetBSD interfaces to the vnodeops */ 103int coda_open __P((void *)); 104int coda_close __P((void *)); 105int coda_read __P((void *)); 106int coda_write __P((void *)); 107int coda_ioctl __P((void *)); 108/* 1.3 int coda_select __P((void *));*/ 109int coda_getattr __P((void *)); 110int coda_setattr __P((void *)); 111int coda_access __P((void *)); 112int coda_abortop __P((void *)); 113int coda_readlink __P((void *)); 114int coda_fsync __P((void *)); 115int coda_inactive __P((void *)); 116int coda_lookup __P((void *)); 117int coda_create __P((void *)); 118int coda_remove __P((void *)); 119int coda_link __P((void *)); 120int coda_rename __P((void *)); 121int coda_mkdir __P((void *)); 122int coda_rmdir __P((void *)); 123int coda_symlink __P((void *)); 124int coda_readdir __P((void *)); 125int coda_bmap __P((void *)); 126int coda_strategy __P((void *)); 127int coda_reclaim __P((void *)); 128int coda_lock __P((void *)); 129int coda_unlock __P((void *)); 130int coda_islocked __P((void *)); 131int coda_vop_error __P((void *)); 132int coda_vop_nop __P((void *)); 133 134int (**coda_vnodeop_p)(void *); 135int coda_rdwr(struct vnode *vp, struct uio *uiop, enum uio_rw rw, 136 int ioflag, struct ucred *cred, struct proc *p); 137 138int coda_grab_vnode(dev_t dev, ino_t ino, struct vnode **vpp); 139void print_vattr(struct vattr *attr); 140void print_cred(struct ucred *cred); 141