]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - 6/sys/coda/coda_venus.h
merge fix for boot-time hang on centos' xen
[FreeBSD/FreeBSD.git] / 6 / sys / 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
34 int
35 venus_root(void *mdp,
36         struct ucred *cred, struct proc *p,
37 /*out*/ CodaFid *VFid);
38
39 int
40 venus_open(void *mdp, CodaFid *fid, int flag,
41         struct ucred *cred, struct proc *p,
42 /*out*/ struct cdev **dev, ino_t *inode);
43
44 int
45 venus_close(void *mdp, CodaFid *fid, int flag,
46         struct ucred *cred, struct proc *p);
47
48 void
49 venus_read(void);
50
51 void
52 venus_write(void);
53
54 int
55 venus_ioctl(void *mdp, CodaFid *fid,
56         int com, int flag, caddr_t data,
57         struct ucred *cred, struct proc *p);
58
59 int
60 venus_getattr(void *mdp, CodaFid *fid,
61         struct ucred *cred, struct proc *p,
62 /*out*/ struct vattr *vap);
63
64 int
65 venus_setattr(void *mdp, CodaFid *fid, struct vattr *vap,
66         struct ucred *cred, struct proc *p);
67
68 int
69 venus_access(void *mdp, CodaFid *fid, int mode,
70         struct ucred *cred, struct proc *p);
71
72 int
73 venus_readlink(void *mdp, CodaFid *fid,
74         struct ucred *cred, struct proc *p,
75 /*out*/ char **str, int *len);
76
77 int
78 venus_fsync(void *mdp, CodaFid *fid, struct proc *p);
79
80 int
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);
85
86 int
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);
91
92 int
93 venus_remove(void *mdp, CodaFid *fid,
94         const char *nm, int len,
95         struct ucred *cred, struct proc *p);
96
97 int
98 venus_link(void *mdp, CodaFid *fid, CodaFid *tfid,
99         const char *nm, int len,
100         struct ucred *cred, struct proc *p);
101
102 int
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);
106
107 int
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);
112
113 int
114 venus_rmdir(void *mdp, CodaFid *fid,
115         const char *nm, int len,
116         struct ucred *cred, struct proc *p);
117
118 int
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);
122
123 int
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);
128
129 int
130 venus_fhtovp(void *mdp, CodaFid *fid,
131         struct ucred *cred, struct proc *p,
132 /*out*/ CodaFid *VFid, int *vtype);