coda_vnops.h revision 1.2
1/* $NetBSD: coda_vnops.h,v 1.2 1998/09/08 17:12:48 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.2 1998/09/08 17:12:48 rvb 52 * Pass2 complete 53 * 54 * Revision 1.1.1.1 1998/08/29 21:26:46 rvb 55 * Very Preliminary Coda 56 * 57 * Revision 1.7 1998/08/28 18:12:24 rvb 58 * Now it also works on FreeBSD -current. This code will be 59 * committed to the FreeBSD -current and NetBSD -current 60 * trees. It will then be tailored to the particular platform 61 * by flushing conditional code. 62 * 63 * Revision 1.6 1998/08/18 17:05:22 rvb 64 * Don't use __RCSID now 65 * 66 * Revision 1.5 1998/08/18 16:31:47 rvb 67 * Sync the code for NetBSD -current; test on 1.3 later 68 * 69 * Revision 1.4 98/01/23 11:53:49 rvb 70 * Bring RVB_CFS1_1 to HEAD 71 * 72 * Revision 1.3.2.3 98/01/23 11:21:13 rvb 73 * Sync with 2.2.5 74 * 75 * Revision 1.3.2.2 97/12/16 12:40:20 rvb 76 * Sync with 1.3 77 * 78 * Revision 1.3.2.1 97/12/10 14:08:34 rvb 79 * Fix O_ flags; check result in cfscall 80 * 81 * Revision 1.3 97/12/05 10:39:25 rvb 82 * Read CHANGES 83 * 84 * Revision 1.2.34.2 97/11/20 11:46:54 rvb 85 * Capture current cfs_venus 86 * 87 * Revision 1.2.34.1 97/11/13 22:03:04 rvb 88 * pass2 cfs_NetBSD.h mt 89 * 90 * Revision 1.2 96/01/02 16:57:14 bnoble 91 * Added support for Coda MiniCache and raw inode calls (final commit) 92 * 93 * Revision 1.1.2.1 1995/12/20 01:57:40 bnoble 94 * Added CFS-specific files 95 * 96 */ 97 98/* NetBSD interfaces to the vnodeops */ 99int cfs_open __P((void *)); 100int cfs_close __P((void *)); 101int cfs_read __P((void *)); 102int cfs_write __P((void *)); 103int cfs_ioctl __P((void *)); 104/* 1.3 int cfs_select __P((void *));*/ 105int cfs_getattr __P((void *)); 106int cfs_setattr __P((void *)); 107int cfs_access __P((void *)); 108int cfs_abortop __P((void *)); 109int cfs_readlink __P((void *)); 110int cfs_fsync __P((void *)); 111int cfs_inactive __P((void *)); 112int cfs_lookup __P((void *)); 113int cfs_create __P((void *)); 114int cfs_remove __P((void *)); 115int cfs_link __P((void *)); 116int cfs_rename __P((void *)); 117int cfs_mkdir __P((void *)); 118int cfs_rmdir __P((void *)); 119int cfs_symlink __P((void *)); 120int cfs_readdir __P((void *)); 121int cfs_bmap __P((void *)); 122int cfs_strategy __P((void *)); 123int cfs_reclaim __P((void *)); 124int cfs_lock __P((void *)); 125int cfs_unlock __P((void *)); 126int cfs_islocked __P((void *)); 127int cfs_vop_error __P((void *)); 128int cfs_vop_nop __P((void *)); 129 130int (**cfs_vnodeop_p)(void *); 131int cfs_rdwr(struct vnode *vp, struct uio *uiop, enum uio_rw rw, 132 int ioflag, struct ucred *cred, struct proc *p); 133 134int cfs_grab_vnode(dev_t dev, ino_t ino, struct vnode **vpp); 135void print_vattr(struct vattr *attr); 136void print_cred(struct ucred *cred); 137