]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - sys/fs/coda/coda_venus.h
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / sys / fs / 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$
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_ */