3 * Coda: an Experimental Distributed File System
6 * Copyright (c) 1987-1998 Carnegie Mellon University
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
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.
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.
29 * @(#) src/sys/coda/coda_venus.h,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $
36 struct ucred *cred, struct proc *p,
37 /*out*/ CodaFid *VFid);
40 venus_open(void *mdp, CodaFid *fid, int flag,
41 struct ucred *cred, struct proc *p,
42 /*out*/ struct cdev **dev, ino_t *inode);
45 venus_close(void *mdp, CodaFid *fid, int flag,
46 struct ucred *cred, struct proc *p);
55 venus_ioctl(void *mdp, CodaFid *fid,
56 int com, int flag, caddr_t data,
57 struct ucred *cred, struct proc *p);
60 venus_getattr(void *mdp, CodaFid *fid,
61 struct ucred *cred, struct proc *p,
62 /*out*/ struct vattr *vap);
65 venus_setattr(void *mdp, CodaFid *fid, struct vattr *vap,
66 struct ucred *cred, struct proc *p);
69 venus_access(void *mdp, CodaFid *fid, int mode,
70 struct ucred *cred, struct proc *p);
73 venus_readlink(void *mdp, CodaFid *fid,
74 struct ucred *cred, struct proc *p,
75 /*out*/ char **str, int *len);
78 venus_fsync(void *mdp, CodaFid *fid, struct proc *p);
81 venus_lookup(void *mdp, CodaFid *fid,
82 const char *nm, int len,
83 struct ucred *cred, struct proc *p,
84 /*out*/ CodaFid *VFid, int *vtype);
87 venus_create(void *mdp, CodaFid *fid,
88 const char *nm, int len, int exclusive, int mode, struct vattr *va,
89 struct ucred *cred, struct proc *p,
90 /*out*/ CodaFid *VFid, struct vattr *attr);
93 venus_remove(void *mdp, CodaFid *fid,
94 const char *nm, int len,
95 struct ucred *cred, struct proc *p);
98 venus_link(void *mdp, CodaFid *fid, CodaFid *tfid,
99 const char *nm, int len,
100 struct ucred *cred, struct proc *p);
103 venus_rename(void *mdp, CodaFid *fid, CodaFid *tfid,
104 const char *nm, int len, const char *tnm, int tlen,
105 struct ucred *cred, struct proc *p);
108 venus_mkdir(void *mdp, CodaFid *fid,
109 const char *nm, int len, struct vattr *va,
110 struct ucred *cred, struct proc *p,
111 /*out*/ CodaFid *VFid, struct vattr *ova);
114 venus_rmdir(void *mdp, CodaFid *fid,
115 const char *nm, int len,
116 struct ucred *cred, struct proc *p);
119 venus_symlink(void *mdp, CodaFid *fid,
120 const char *lnm, int llen, const char *nm, int len, struct vattr *va,
121 struct ucred *cred, struct proc *p);
124 venus_readdir(void *mdp, CodaFid *fid,
125 int count, int offset,
126 struct ucred *cred, struct proc *p,
127 /*out*/ char *buffer, int *len);
130 venus_fhtovp(void *mdp, CodaFid *fid,
131 struct ucred *cred, struct proc *p,
132 /*out*/ CodaFid *VFid, int *vtype);