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$
31 */
32
33 #ifndef _CODA_VENUS_H_
34 #define _CODA_VENUS_H_
35
36 int venus_root(void *mdp, struct ucred *cred, struct proc *p,
37 /*out*/ CodaFid *VFid);
38 int venus_open(void *mdp, CodaFid *fid, int flag, struct ucred *cred,
39 struct proc *p, /*out*/ struct vnode **vp);
40 int venus_close(void *mdp, CodaFid *fid, int flag, struct ucred *cred,
41 struct proc *p);
42 void venus_read(void);
43 void venus_write(void);
44 int venus_ioctl(void *mdp, CodaFid *fid, int com, int flag, caddr_t data,
45 struct ucred *cred, struct proc *p);
46 int venus_getattr(void *mdp, CodaFid *fid, struct ucred *cred,
47 struct proc *p, /*out*/ struct vattr *vap);
48 int venus_setattr(void *mdp, CodaFid *fid, struct vattr *vap,
49 struct ucred *cred, struct proc *p);
50 int venus_access(void *mdp, CodaFid *fid, int mode, struct ucred *cred,
51 struct proc *p);
52 int venus_readlink(void *mdp, CodaFid *fid, struct ucred *cred,
53 struct proc *p, /*out*/ char **str, int *len);
54 int venus_fsync(void *mdp, CodaFid *fid, struct proc *p);
55 int venus_lookup(void *mdp, CodaFid *fid, const char *nm, int len,
56 struct ucred *cred, struct proc *p, /*out*/ CodaFid *VFid,
57 int *vtype);
58 int venus_create(void *mdp, CodaFid *fid, const char *nm, int len,
59 int exclusive, int mode, struct vattr *va, struct ucred *cred,
60 struct proc *p, /*out*/ CodaFid *VFid, struct vattr *attr);
61 int venus_remove(void *mdp, CodaFid *fid, const char *nm, int len,
62 struct ucred *cred, struct proc *p);
63 int venus_link(void *mdp, CodaFid *fid, CodaFid *tfid, const char *nm,
64 int len, struct ucred *cred, struct proc *p);
65 int venus_rename(void *mdp, CodaFid *fid, CodaFid *tfid, const char *nm,
66 int len, const char *tnm, int tlen, struct ucred *cred,
67 struct proc *p);
68 int venus_mkdir(void *mdp, CodaFid *fid, const char *nm, int len,
69 struct vattr *va, struct ucred *cred, struct proc *p,
70 /*out*/ CodaFid *VFid, struct vattr *ova);
71 int venus_rmdir(void *mdp, CodaFid *fid, const char *nm, int len,
72 struct ucred *cred, struct proc *p);
73 int venus_symlink(void *mdp, CodaFid *fid, const char *lnm, int llen,
74 const char *nm, int len, struct vattr *va, struct ucred *cred,
75 struct proc *p);
76 int venus_readdir(void *mdp, CodaFid *fid, int count, int offset,
77 struct ucred *cred, struct proc *p, /*out*/ char *buffer,
78 int *len);
79 int venus_fhtovp(void *mdp, CodaFid *fid, struct ucred *cred,
80 struct proc *p, /*out*/ CodaFid *VFid, int *vtype);
81
82 #endif /* !_CODA_VENUS_H_ */
Cache object: b0f2ed8cd60f04d61f68935fa50ad33b
|