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