summaryrefslogtreecommitdiffstats
path: root/sys/coda/coda_vnops.h
blob: 697cb9123f049312d64ae002464edac0d8e100f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/*

            Coda: an Experimental Distributed File System
                             Release 3.1

          Copyright (c) 1987-1998 Carnegie Mellon University
                         All Rights Reserved

Permission  to  use, copy, modify and distribute this software and its
documentation is hereby granted,  provided  that  both  the  copyright
notice  and  this  permission  notice  appear  in  all  copies  of the
software, derivative works or  modified  versions,  and  any  portions
thereof, and that both notices appear in supporting documentation, and
that credit is given to Carnegie Mellon University  in  all  documents
and publicity pertaining to direct or indirect use of this code or its
derivatives.

CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS  KNOWN  TO  HAVE  BUGS,
SOME  OF  WHICH MAY HAVE SERIOUS CONSEQUENCES.  CARNEGIE MELLON ALLOWS
FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION.   CARNEGIE  MELLON
DISCLAIMS  ANY  LIABILITY  OF  ANY  KIND  FOR  ANY  DAMAGES WHATSOEVER
RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE  OR  OF
ANY DERIVATIVE WORK.

Carnegie  Mellon  encourages  users  of  this  software  to return any
improvements or extensions that  they  make,  and  to  grant  Carnegie
Mellon the rights to redistribute these changes without encumbrance.
*/

/* $Header: /afs/cs/project/coda-src/cvs/coda/kernel-src/vfs/freebsd/cfs/cfs_vnodeops.h,v 1.7 1998/08/28 18:12:24 rvb Exp $ */

/* 
 * Mach Operating System
 * Copyright (c) 1990 Carnegie-Mellon University
 * Copyright (c) 1989 Carnegie-Mellon University
 * All rights reserved.  The CMU software License Agreement specifies
 * the terms and conditions for use and redistribution.
 */

/*
 * This code was written for the Coda file system at Carnegie Mellon
 * University.  Contributers include David Steere, James Kistler, and
 * M. Satyanarayanan.  
 */

/*
 * HISTORY
 * $Log: cfs_vnodeops.h,v $
 * Revision 1.7  1998/08/28 18:12:24  rvb
 * Now it also works on FreeBSD -current.  This code will be
 * committed to the FreeBSD -current and NetBSD -current
 * trees.  It will then be tailored to the particular platform
 * by flushing conditional code.
 *
 * Revision 1.6  1998/08/18 17:05:22  rvb
 * Don't use __RCSID now
 *
 * Revision 1.5  1998/08/18 16:31:47  rvb
 * Sync the code for NetBSD -current; test on 1.3 later
 *
 * Revision 1.4  98/01/23  11:53:49  rvb
 * Bring RVB_CFS1_1 to HEAD
 * 
 * Revision 1.3.2.3  98/01/23  11:21:13  rvb
 * Sync with 2.2.5
 * 
 * Revision 1.3.2.2  97/12/16  12:40:20  rvb
 * Sync with 1.3
 * 
 * Revision 1.3.2.1  97/12/10  14:08:34  rvb
 * Fix O_ flags; check result in cfscall
 * 
 * Revision 1.3  97/12/05  10:39:25  rvb
 * Read CHANGES
 * 
 * Revision 1.2.34.2  97/11/20  11:46:54  rvb
 * Capture current cfs_venus
 * 
 * Revision 1.2.34.1  97/11/13  22:03:04  rvb
 * pass2 cfs_NetBSD.h mt
 * 
 * Revision 1.2  96/01/02  16:57:14  bnoble
 * Added support for Coda MiniCache and raw inode calls (final commit)
 * 
 * Revision 1.1.2.1  1995/12/20 01:57:40  bnoble
 * Added CFS-specific files
 *
 */


/* NetBSD interfaces to the vnodeops */
int cfs_open      __P((void *));
int cfs_close     __P((void *));
int cfs_read      __P((void *));
int cfs_write     __P((void *));
int cfs_ioctl     __P((void *));
/* 1.3 int cfs_select    __P((void *));*/
int cfs_getattr   __P((void *));
int cfs_setattr   __P((void *));
int cfs_access    __P((void *));
int cfs_abortop   __P((void *));
int cfs_readlink  __P((void *));
int cfs_fsync     __P((void *));
int cfs_inactive  __P((void *));
int cfs_lookup    __P((void *));
int cfs_create    __P((void *));
int cfs_remove    __P((void *));
int cfs_link      __P((void *));
int cfs_rename    __P((void *));
int cfs_mkdir     __P((void *));
int cfs_rmdir     __P((void *));
int cfs_symlink   __P((void *));
int cfs_readdir   __P((void *));
int cfs_bmap      __P((void *));
int cfs_strategy  __P((void *));
int cfs_reclaim   __P((void *));
int cfs_lock      __P((void *));
int cfs_unlock    __P((void *));
int cfs_islocked  __P((void *));
int nbsd_vop_error   __P((void *));
int nbsd_vop_nop     __P((void *));
#ifdef __FreeBSD__
int fbsd_vnotsup  __P((void *ap));
#ifdef	__FreeBSD_version
int cfs_fbsd_getpages	__P((void *));
int cfs_fbsd_putpages	__P((void *));
#endif
#endif

int (**cfs_vnodeop_p)(void *);
int cfs_rdwr(struct vnode *vp, struct uio *uiop, enum uio_rw rw,
    int ioflag, struct ucred *cred, struct proc *p);



int cfs_grab_vnode(dev_t dev, ino_t ino, struct vnode **vpp);
void print_vattr(struct vattr *attr);
void print_cred(struct ucred *cred);
OpenPOWER on IntegriCloud