oops, forgot a mention. Last commit:
[dragonfly.git] / sys / vfs / coda / coda_venus.h
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  *      @(#) src/sys/coda/coda_venus.h,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $ 
30  * $FreeBSD: src/sys/coda/coda_venus.h,v 1.4 1999/08/28 00:40:56 peter Exp $
31  * $DragonFly: src/sys/vfs/coda/Attic/coda_venus.h,v 1.3 2003/06/25 03:55:44 dillon Exp $
32  * 
33  */
34
35 int
36 venus_root(void *mdp,
37         struct ucred *cred, struct thread *td,
38 /*out*/ ViceFid *VFid);
39
40 int
41 venus_open(void *mdp, ViceFid *fid, int flag,
42         struct ucred *cred, struct thread *td,
43 /*out*/ dev_t *dev, ino_t *inode);
44
45 int
46 venus_close(void *mdp, ViceFid *fid, int flag,
47         struct ucred *cred, struct thread *td);
48
49 void
50 venus_read(void);
51
52 void
53 venus_write(void);
54
55 int
56 venus_ioctl(void *mdp, ViceFid *fid,
57         int com, int flag, caddr_t data,
58         struct ucred *cred, struct thread *td);
59
60 int
61 venus_getattr(void *mdp, ViceFid *fid,
62         struct ucred *cred, struct thread *td,
63 /*out*/ struct vattr *vap);
64
65 int
66 venus_setattr(void *mdp, ViceFid *fid, struct vattr *vap,
67         struct ucred *cred, struct thread *td);
68
69 int
70 venus_access(void *mdp, ViceFid *fid, int mode,
71         struct ucred *cred, struct thread *td);
72
73 int
74 venus_readlink(void *mdp, ViceFid *fid,
75         struct ucred *cred, struct thread *td,
76 /*out*/ char **str, int *len);
77
78 int
79 venus_fsync(void *mdp, ViceFid *fid,
80         struct ucred *cred, struct thread *td);
81
82 int
83 venus_lookup(void *mdp, ViceFid *fid,
84         const char *nm, int len,
85         struct ucred *cred, struct thread *td,
86 /*out*/ ViceFid *VFid, int *vtype);
87
88 int
89 venus_create(void *mdp, ViceFid *fid,
90         const char *nm, int len, int exclusive, int mode, struct vattr *va,
91         struct ucred *cred, struct thread *td,
92 /*out*/ ViceFid *VFid, struct vattr *attr);
93
94 int
95 venus_remove(void *mdp, ViceFid *fid,
96         const char *nm, int len,
97         struct ucred *cred, struct thread *td);
98
99 int
100 venus_link(void *mdp, ViceFid *fid, ViceFid *tfid,
101         const char *nm, int len,
102         struct ucred *cred, struct thread *td);
103
104 int
105 venus_rename(void *mdp, ViceFid *fid, ViceFid *tfid,
106         const char *nm, int len, const char *tnm, int tlen,
107         struct ucred *cred, struct thread *td);
108
109 int
110 venus_mkdir(void *mdp, ViceFid *fid,
111         const char *nm, int len, struct vattr *va,
112         struct ucred *cred, struct thread *td,
113 /*out*/ ViceFid *VFid, struct vattr *ova);
114
115 int
116 venus_rmdir(void *mdp, ViceFid *fid,
117         const char *nm, int len,
118         struct ucred *cred, struct thread *td);
119
120 int
121 venus_symlink(void *mdp, ViceFid *fid,
122         const char *lnm, int llen, const char *nm, int len, struct vattr *va,
123         struct ucred *cred, struct thread *td);
124
125 int
126 venus_readdir(void *mdp, ViceFid *fid,
127         int count, int offset,
128         struct ucred *cred, struct thread *td,
129 /*out*/ char *buffer, int *len);
130
131 int
132 venus_fhtovp(void *mdp, ViceFid *fid,
133         struct ucred *cred, struct thread *td,
134 /*out*/ ViceFid *VFid, int *vtype);