coda_vnops.h revision 1.2
11.2Srvb/*	$NetBSD: coda_vnops.h,v 1.2 1998/09/08 17:12:48 rvb Exp $	*/
21.2Srvb
31.1Srvb/*
41.2Srvb *
51.2Srvb *             Coda: an Experimental Distributed File System
61.2Srvb *                              Release 3.1
71.2Srvb *
81.2Srvb *           Copyright (c) 1987-1998 Carnegie Mellon University
91.2Srvb *                          All Rights Reserved
101.2Srvb *
111.2Srvb * Permission  to  use, copy, modify and distribute this software and its
121.2Srvb * documentation is hereby granted,  provided  that  both  the  copyright
131.2Srvb * notice  and  this  permission  notice  appear  in  all  copies  of the
141.2Srvb * software, derivative works or  modified  versions,  and  any  portions
151.2Srvb * thereof, and that both notices appear in supporting documentation, and
161.2Srvb * that credit is given to Carnegie Mellon University  in  all  documents
171.2Srvb * and publicity pertaining to direct or indirect use of this code or its
181.2Srvb * derivatives.
191.2Srvb *
201.2Srvb * CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS  KNOWN  TO  HAVE  BUGS,
211.2Srvb * SOME  OF  WHICH MAY HAVE SERIOUS CONSEQUENCES.  CARNEGIE MELLON ALLOWS
221.2Srvb * FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION.   CARNEGIE  MELLON
231.2Srvb * DISCLAIMS  ANY  LIABILITY  OF  ANY  KIND  FOR  ANY  DAMAGES WHATSOEVER
241.2Srvb * RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE  OR  OF
251.2Srvb * ANY DERIVATIVE WORK.
261.2Srvb *
271.2Srvb * Carnegie  Mellon  encourages  users  of  this  software  to return any
281.2Srvb * improvements or extensions that  they  make,  and  to  grant  Carnegie
291.2Srvb * Mellon the rights to redistribute these changes without encumbrance.
301.2Srvb *
311.2Srvb * 	@(#) cfs/cfs_vnodeops.h,v 1.1.1.1 1998/08/29 21:26:46 rvb Exp $
321.2Srvb */
331.1Srvb
341.1Srvb/*
351.1Srvb * Mach Operating System
361.1Srvb * Copyright (c) 1990 Carnegie-Mellon University
371.1Srvb * Copyright (c) 1989 Carnegie-Mellon University
381.1Srvb * All rights reserved.  The CMU software License Agreement specifies
391.1Srvb * the terms and conditions for use and redistribution.
401.1Srvb */
411.1Srvb
421.1Srvb/*
431.1Srvb * This code was written for the Coda file system at Carnegie Mellon
441.1Srvb * University.  Contributers include David Steere, James Kistler, and
451.1Srvb * M. Satyanarayanan.
461.1Srvb */
471.1Srvb
481.1Srvb/*
491.1Srvb * HISTORY
501.1Srvb * $Log: coda_vnops.h,v $
511.2Srvb * Revision 1.2  1998/09/08 17:12:48  rvb
521.2Srvb * Pass2 complete
531.2Srvb *
541.1Srvb * Revision 1.1.1.1  1998/08/29 21:26:46  rvb
551.1Srvb * Very Preliminary Coda
561.1Srvb *
571.1Srvb * Revision 1.7  1998/08/28 18:12:24  rvb
581.1Srvb * Now it also works on FreeBSD -current.  This code will be
591.1Srvb * committed to the FreeBSD -current and NetBSD -current
601.1Srvb * trees.  It will then be tailored to the particular platform
611.1Srvb * by flushing conditional code.
621.1Srvb *
631.1Srvb * Revision 1.6  1998/08/18 17:05:22  rvb
641.1Srvb * Don't use __RCSID now
651.1Srvb *
661.1Srvb * Revision 1.5  1998/08/18 16:31:47  rvb
671.1Srvb * Sync the code for NetBSD -current; test on 1.3 later
681.1Srvb *
691.1Srvb * Revision 1.4  98/01/23  11:53:49  rvb
701.1Srvb * Bring RVB_CFS1_1 to HEAD
711.1Srvb *
721.1Srvb * Revision 1.3.2.3  98/01/23  11:21:13  rvb
731.1Srvb * Sync with 2.2.5
741.1Srvb *
751.1Srvb * Revision 1.3.2.2  97/12/16  12:40:20  rvb
761.1Srvb * Sync with 1.3
771.1Srvb *
781.1Srvb * Revision 1.3.2.1  97/12/10  14:08:34  rvb
791.1Srvb * Fix O_ flags; check result in cfscall
801.1Srvb *
811.1Srvb * Revision 1.3  97/12/05  10:39:25  rvb
821.1Srvb * Read CHANGES
831.1Srvb *
841.1Srvb * Revision 1.2.34.2  97/11/20  11:46:54  rvb
851.1Srvb * Capture current cfs_venus
861.1Srvb *
871.1Srvb * Revision 1.2.34.1  97/11/13  22:03:04  rvb
881.1Srvb * pass2 cfs_NetBSD.h mt
891.1Srvb *
901.1Srvb * Revision 1.2  96/01/02  16:57:14  bnoble
911.1Srvb * Added support for Coda MiniCache and raw inode calls (final commit)
921.1Srvb *
931.1Srvb * Revision 1.1.2.1  1995/12/20 01:57:40  bnoble
941.1Srvb * Added CFS-specific files
951.1Srvb *
961.1Srvb */
971.1Srvb
981.1Srvb/* NetBSD interfaces to the vnodeops */
991.1Srvbint cfs_open      __P((void *));
1001.1Srvbint cfs_close     __P((void *));
1011.1Srvbint cfs_read      __P((void *));
1021.1Srvbint cfs_write     __P((void *));
1031.1Srvbint cfs_ioctl     __P((void *));
1041.1Srvb/* 1.3 int cfs_select    __P((void *));*/
1051.1Srvbint cfs_getattr   __P((void *));
1061.1Srvbint cfs_setattr   __P((void *));
1071.1Srvbint cfs_access    __P((void *));
1081.1Srvbint cfs_abortop   __P((void *));
1091.1Srvbint cfs_readlink  __P((void *));
1101.1Srvbint cfs_fsync     __P((void *));
1111.1Srvbint cfs_inactive  __P((void *));
1121.1Srvbint cfs_lookup    __P((void *));
1131.1Srvbint cfs_create    __P((void *));
1141.1Srvbint cfs_remove    __P((void *));
1151.1Srvbint cfs_link      __P((void *));
1161.1Srvbint cfs_rename    __P((void *));
1171.1Srvbint cfs_mkdir     __P((void *));
1181.1Srvbint cfs_rmdir     __P((void *));
1191.1Srvbint cfs_symlink   __P((void *));
1201.1Srvbint cfs_readdir   __P((void *));
1211.1Srvbint cfs_bmap      __P((void *));
1221.1Srvbint cfs_strategy  __P((void *));
1231.1Srvbint cfs_reclaim   __P((void *));
1241.2Srvbint cfs_lock      __P((void *));
1251.2Srvbint cfs_unlock    __P((void *));
1261.1Srvbint cfs_islocked  __P((void *));
1271.1Srvbint cfs_vop_error   __P((void *));
1281.1Srvbint cfs_vop_nop     __P((void *));
1291.1Srvb
1301.1Srvbint (**cfs_vnodeop_p)(void *);
1311.1Srvbint cfs_rdwr(struct vnode *vp, struct uio *uiop, enum uio_rw rw,
1321.1Srvb    int ioflag, struct ucred *cred, struct proc *p);
1331.1Srvb
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