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