coda_vnops.h revision 1.1
1/* 2 3 Coda: an Experimental Distributed File System 4 Release 3.1 5 6 Copyright (c) 1987-1998 Carnegie Mellon University 7 All Rights Reserved 8 9Permission to use, copy, modify and distribute this software and its 10documentation is hereby granted, provided that both the copyright 11notice and this permission notice appear in all copies of the 12software, derivative works or modified versions, and any portions 13thereof, and that both notices appear in supporting documentation, and 14that credit is given to Carnegie Mellon University in all documents 15and publicity pertaining to direct or indirect use of this code or its 16derivatives. 17 18CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS KNOWN TO HAVE BUGS, 19SOME OF WHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON ALLOWS 20FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON 21DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER 22RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE OR OF 23ANY DERIVATIVE WORK. 24 25Carnegie Mellon encourages users of this software to return any 26improvements or extensions that they make, and to grant Carnegie 27Mellon the rights to redistribute these changes without encumbrance. 28*/ 29 30/* $Header: /usr/local/opengrok/home/cvs-mirror/mirrors/netbsd/src/sys/coda/coda_vnops.h,v 1.1 1998/08/29 21:26:46 rvb Exp $ */ 31 32/* 33 * Mach Operating System 34 * Copyright (c) 1990 Carnegie-Mellon University 35 * Copyright (c) 1989 Carnegie-Mellon University 36 * All rights reserved. The CMU software License Agreement specifies 37 * the terms and conditions for use and redistribution. 38 */ 39 40/* 41 * This code was written for the Coda file system at Carnegie Mellon 42 * University. Contributers include David Steere, James Kistler, and 43 * M. Satyanarayanan. 44 */ 45 46/* 47 * HISTORY 48 * $Log: coda_vnops.h,v $ 49 * Revision 1.1 1998/08/29 21:26:46 rvb 50 * Initial revision 51 * 52 * Revision 1.7 1998/08/28 18:12:24 rvb 53 * Now it also works on FreeBSD -current. This code will be 54 * committed to the FreeBSD -current and NetBSD -current 55 * trees. It will then be tailored to the particular platform 56 * by flushing conditional code. 57 * 58 * Revision 1.6 1998/08/18 17:05:22 rvb 59 * Don't use __RCSID now 60 * 61 * Revision 1.5 1998/08/18 16:31:47 rvb 62 * Sync the code for NetBSD -current; test on 1.3 later 63 * 64 * Revision 1.4 98/01/23 11:53:49 rvb 65 * Bring RVB_CFS1_1 to HEAD 66 * 67 * Revision 1.3.2.3 98/01/23 11:21:13 rvb 68 * Sync with 2.2.5 69 * 70 * Revision 1.3.2.2 97/12/16 12:40:20 rvb 71 * Sync with 1.3 72 * 73 * Revision 1.3.2.1 97/12/10 14:08:34 rvb 74 * Fix O_ flags; check result in cfscall 75 * 76 * Revision 1.3 97/12/05 10:39:25 rvb 77 * Read CHANGES 78 * 79 * Revision 1.2.34.2 97/11/20 11:46:54 rvb 80 * Capture current cfs_venus 81 * 82 * Revision 1.2.34.1 97/11/13 22:03:04 rvb 83 * pass2 cfs_NetBSD.h mt 84 * 85 * Revision 1.2 96/01/02 16:57:14 bnoble 86 * Added support for Coda MiniCache and raw inode calls (final commit) 87 * 88 * Revision 1.1.2.1 1995/12/20 01:57:40 bnoble 89 * Added CFS-specific files 90 * 91 */ 92 93 94/* NetBSD interfaces to the vnodeops */ 95int cfs_open __P((void *)); 96int cfs_close __P((void *)); 97int cfs_read __P((void *)); 98int cfs_write __P((void *)); 99int cfs_ioctl __P((void *)); 100/* 1.3 int cfs_select __P((void *));*/ 101int cfs_getattr __P((void *)); 102int cfs_setattr __P((void *)); 103int cfs_access __P((void *)); 104int cfs_abortop __P((void *)); 105int cfs_readlink __P((void *)); 106int cfs_fsync __P((void *)); 107int cfs_inactive __P((void *)); 108int cfs_lookup __P((void *)); 109int cfs_create __P((void *)); 110int cfs_remove __P((void *)); 111int cfs_link __P((void *)); 112int cfs_rename __P((void *)); 113int cfs_mkdir __P((void *)); 114int cfs_rmdir __P((void *)); 115int cfs_symlink __P((void *)); 116int cfs_readdir __P((void *)); 117int cfs_bmap __P((void *)); 118int cfs_strategy __P((void *)); 119int cfs_reclaim __P((void *)); 120int cfs_lock __P((void *)); 121int cfs_unlock __P((void *)); 122int cfs_islocked __P((void *)); 123int nbsd_vop_error __P((void *)); 124int nbsd_vop_nop __P((void *)); 125#ifdef __FreeBSD__ 126int fbsd_vnotsup __P((void *ap)); 127#ifdef __FreeBSD_version 128int cfs_fbsd_getpages __P((void *)); 129int cfs_fbsd_putpages __P((void *)); 130#endif 131#endif 132 133int (**cfs_vnodeop_p)(void *); 134int cfs_rdwr(struct vnode *vp, struct uio *uiop, enum uio_rw rw, 135 int ioflag, struct ucred *cred, struct proc *p); 136 137 138 139int cfs_grab_vnode(dev_t dev, ino_t ino, struct vnode **vpp); 140void print_vattr(struct vattr *attr); 141void print_cred(struct ucred *cred); 142