]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - sys/fs/coda/coda_venus.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.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*/ struct CodaFid *VFid);
38 int     venus_open(void *mdp, struct CodaFid *fid, int flag,
39             struct ucred *cred, struct proc *p, /*out*/ struct vnode **vp);
40 int     venus_close(void *mdp, struct CodaFid *fid, int flag,
41             struct ucred *cred, struct proc *p);
42 void    venus_read(void);
43 void    venus_write(void);
44 int     venus_ioctl(void *mdp, struct CodaFid *fid, int com, int flag,
45             caddr_t data, struct ucred *cred, struct proc *p);
46 int     venus_getattr(void *mdp, struct CodaFid *fid, struct ucred *cred,
47             struct vattr *vap);
48 int     venus_setattr(void *mdp, struct CodaFid *fid, struct vattr *vap,
49             struct ucred *cred);
50 int     venus_access(void *mdp, struct CodaFid *fid, int mode,
51             struct ucred *cred, struct proc *p);
52 int     venus_readlink(void *mdp, struct CodaFid *fid, struct ucred *cred,
53             struct proc *p, /*out*/ char **str, int *len);
54 int     venus_fsync(void *mdp, struct CodaFid *fid, struct proc *p);
55 int     venus_lookup(void *mdp, struct CodaFid *fid, const char *nm, int len,
56             struct ucred *cred, struct proc *p, /*out*/ struct CodaFid *VFid,
57             int *vtype);
58 int     venus_create(void *mdp, struct CodaFid *fid, const char *nm, int len,
59             int exclusive, int mode, struct vattr *va, struct ucred *cred,
60             struct proc *p, /*out*/ struct CodaFid *VFid,
61             struct vattr *attr);
62 int     venus_remove(void *mdp, struct CodaFid *fid, const char *nm, int len,
63             struct ucred *cred, struct proc *p);
64 int     venus_link(void *mdp, struct CodaFid *fid, struct CodaFid *tfid,
65             const char *nm, int len, struct ucred *cred, struct proc *p);
66 int     venus_rename(void *mdp, struct CodaFid *fid, struct CodaFid *tfid,
67             const char *nm, int len, const char *tnm, int tlen,
68             struct ucred *cred, struct proc *p);
69 int     venus_mkdir(void *mdp, struct CodaFid *fid, const char *nm, int len,
70             struct vattr *va, struct ucred *cred, struct proc *p,
71             /*out*/ struct CodaFid *VFid, struct vattr *ova);
72 int     venus_rmdir(void *mdp, struct CodaFid *fid, const char *nm, int len,
73             struct ucred *cred, struct proc *p);
74 int     venus_symlink(void *mdp, struct CodaFid *fid, const char *lnm,
75             int llen, const char *nm, int len, struct vattr *va,
76             struct ucred *cred, struct proc *p);
77 int     venus_readdir(void *mdp, struct CodaFid *fid, int count, int offset,
78             struct ucred *cred, struct proc *p, /*out*/ char *buffer,
79             int *len);
80 int     venus_fhtovp(void *mdp, struct CodaFid *fid, struct ucred *cred,
81             struct proc *p, /*out*/ struct CodaFid *VFid, int *vtype);
82
83 #endif /* !_CODA_VENUS_H_ */