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