coda_venus.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
9 Permission to use, copy, modify and distribute this software and its
10 documentation is hereby granted, provided that both the copyright
11 notice and this permission notice appear in all copies of the
12 software, derivative works or modified versions, and any portions
13 thereof, and that both notices appear in supporting documentation, and
14 that credit is given to Carnegie Mellon University in all documents
15 and publicity pertaining to direct or indirect use of this code or its
16 derivatives.
17
18 CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS KNOWN TO HAVE BUGS,
19 SOME OF WHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON ALLOWS
20 FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON
21 DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER
22 RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE OR OF
23 ANY DERIVATIVE WORK.
24
25 Carnegie Mellon encourages users of this software to return any
26 improvements or extensions that they make, and to grant Carnegie
27 Mellon the rights to redistribute these changes without encumbrance.
28 */
29
30 /* $Header: /tank/opengrok/rsync2/NetBSD/src/sys/coda/coda_venus.h,v 1.1 1998/08/29 21:26:45 rvb Exp $ */
31
32 int
33 venus_root(void *mdp,
34 struct ucred *cred, struct proc *p,
35 /*out*/ ViceFid *VFid);
36
37 int
38 venus_open(void *mdp, ViceFid *fid, int flag,
39 struct ucred *cred, struct proc *p,
40 /*out*/ dev_t *dev, ino_t *inode);
41
42 int
43 venus_close(void *mdp, ViceFid *fid, int flag,
44 struct ucred *cred, struct proc *p);
45
46 void
47 venus_read(void);
48
49 void
50 venus_write(void);
51
52 int
53 venus_ioctl(void *mdp, ViceFid *fid,
54 int com, int flag, caddr_t data,
55 struct ucred *cred, struct proc *p);
56
57 int
58 venus_getattr(void *mdp, ViceFid *fid,
59 struct ucred *cred, struct proc *p,
60 /*out*/ struct vattr *vap);
61
62 int
63 venus_setattr(void *mdp, ViceFid *fid, struct vattr *vap,
64 struct ucred *cred, struct proc *p);
65
66 int
67 venus_access(void *mdp, ViceFid *fid, int mode,
68 struct ucred *cred, struct proc *p);
69
70 int
71 venus_readlink(void *mdp, ViceFid *fid,
72 struct ucred *cred, struct proc *p,
73 /*out*/ char **str, int *len);
74
75 int
76 venus_fsync(void *mdp, ViceFid *fid,
77 struct ucred *cred, struct proc *p);
78
79 int
80 venus_lookup(void *mdp, ViceFid *fid,
81 const char *nm, int len,
82 struct ucred *cred, struct proc *p,
83 /*out*/ ViceFid *VFid, int *vtype);
84
85 int
86 venus_create(void *mdp, ViceFid *fid,
87 const char *nm, int len, int exclusive, int mode, struct vattr *va,
88 struct ucred *cred, struct proc *p,
89 /*out*/ ViceFid *VFid, struct vattr *attr);
90
91 int
92 venus_remove(void *mdp, ViceFid *fid,
93 const char *nm, int len,
94 struct ucred *cred, struct proc *p);
95
96 int
97 venus_link(void *mdp, ViceFid *fid, ViceFid *tfid,
98 const char *nm, int len,
99 struct ucred *cred, struct proc *p);
100
101 int
102 venus_rename(void *mdp, ViceFid *fid, ViceFid *tfid,
103 const char *nm, int len, const char *tnm, int tlen,
104 struct ucred *cred, struct proc *p);
105
106 int
107 venus_mkdir(void *mdp, ViceFid *fid,
108 const char *nm, int len, struct vattr *va,
109 struct ucred *cred, struct proc *p,
110 /*out*/ ViceFid *VFid, struct vattr *ova);
111
112 int
113 venus_rmdir(void *mdp, ViceFid *fid,
114 const char *nm, int len,
115 struct ucred *cred, struct proc *p);
116
117 int
118 venus_symlink(void *mdp, ViceFid *fid,
119 const char *lnm, int llen, const char *nm, int len, struct vattr *va,
120 struct ucred *cred, struct proc *p);
121
122 int
123 venus_readdir(void *mdp, ViceFid *fid,
124 int count, int offset,
125 struct ucred *cred, struct proc *p,
126 /*out*/ char *buffer, int *len);
127
128 int
129 venus_fhtovp(void *mdp, ViceFid *fid,
130 struct ucred *cred, struct proc *p,
131 /*out*/ ViceFid *VFid, int *vtype);
132