xref: /netbsd/sys/coda/coda_venus.h (revision 6550d01e)
1 /*	$NetBSD: coda_venus.h,v 1.11 2007/03/04 06:01:12 christos Exp $	*/
2 
3 /*
4  *
5  *             Coda: an Experimental Distributed File System
6  *                              Release 3.1
7  *
8  *           Copyright (c) 1987-1998 Carnegie Mellon University
9  *                          All Rights Reserved
10  *
11  * Permission  to  use, copy, modify and distribute this software and its
12  * documentation is hereby granted,  provided  that  both  the  copyright
13  * notice  and  this  permission  notice  appear  in  all  copies  of the
14  * software, derivative works or  modified  versions,  and  any  portions
15  * thereof, and that both notices appear in supporting documentation, and
16  * that credit is given to Carnegie Mellon University  in  all  documents
17  * and publicity pertaining to direct or indirect use of this code or its
18  * derivatives.
19  *
20  * CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS  KNOWN  TO  HAVE  BUGS,
21  * SOME  OF  WHICH MAY HAVE SERIOUS CONSEQUENCES.  CARNEGIE MELLON ALLOWS
22  * FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION.   CARNEGIE  MELLON
23  * DISCLAIMS  ANY  LIABILITY  OF  ANY  KIND  FOR  ANY  DAMAGES WHATSOEVER
24  * RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE  OR  OF
25  * ANY DERIVATIVE WORK.
26  *
27  * Carnegie  Mellon  encourages  users  of  this  software  to return any
28  * improvements or extensions that  they  make,  and  to  grant  Carnegie
29  * Mellon the rights to redistribute these changes without encumbrance.
30  *
31  * 	@(#) coda/coda_venus.h,v 1.1.1.1 1998/08/29 21:26:45 rvb Exp $
32  */
33 
34 int
35 venus_root(void *mdp,
36 	kauth_cred_t cred, struct proc *p,
37 /*out*/	CodaFid *VFid);
38 
39 int
40 venus_open(void *mdp, CodaFid *fid, int flag,
41 	kauth_cred_t cred, struct lwp *l,
42 /*out*/	dev_t *dev, ino_t *inode);
43 
44 int
45 venus_close(void *mdp, CodaFid *fid, int flag,
46 	kauth_cred_t cred, struct lwp *l);
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, void *data,
57 	kauth_cred_t cred, struct lwp *l);
58 
59 int
60 venus_getattr(void *mdp, CodaFid *fid,
61 	kauth_cred_t cred, struct lwp *l,
62 /*out*/	struct vattr *vap);
63 
64 int
65 venus_setattr(void *mdp, CodaFid *fid, struct vattr *vap,
66 	kauth_cred_t cred, struct lwp *l);
67 
68 int
69 venus_access(void *mdp, CodaFid *fid, int mode,
70 	kauth_cred_t cred, struct lwp *l);
71 
72 int
73 venus_readlink(void *mdp, CodaFid *fid,
74 	kauth_cred_t cred, struct lwp *l,
75 /*out*/	char **str, int *len);
76 
77 int
78 venus_fsync(void *mdp, CodaFid *fid,
79 	kauth_cred_t cred, struct lwp *l);
80 
81 int
82 venus_lookup(void *mdp, CodaFid *fid,
83     	const char *nm, int len,
84 	kauth_cred_t cred, struct lwp *l,
85 /*out*/	CodaFid *VFid, int *vtype);
86 
87 int
88 venus_create(void *mdp, CodaFid *fid,
89     	const char *nm, int len, int exclusive, int mode, struct vattr *va,
90 	kauth_cred_t cred, struct lwp *l,
91 /*out*/	CodaFid *VFid, struct vattr *attr);
92 
93 int
94 venus_remove(void *mdp, CodaFid *fid,
95         const char *nm, int len,
96 	kauth_cred_t cred, struct lwp *l);
97 
98 int
99 venus_link(void *mdp, CodaFid *fid, CodaFid *tfid,
100         const char *nm, int len,
101 	kauth_cred_t cred, struct lwp *l);
102 
103 int
104 venus_rename(void *mdp, CodaFid *fid, CodaFid *tfid,
105         const char *nm, int len, const char *tnm, int tlen,
106 	kauth_cred_t cred, struct lwp *l);
107 
108 int
109 venus_mkdir(void *mdp, CodaFid *fid,
110     	const char *nm, int len, struct vattr *va,
111 	kauth_cred_t cred, struct lwp *l,
112 /*out*/	CodaFid *VFid, struct vattr *ova);
113 
114 int
115 venus_rmdir(void *mdp, CodaFid *fid,
116     	const char *nm, int len,
117 	kauth_cred_t cred, struct lwp *l);
118 
119 int
120 venus_symlink(void *mdp, CodaFid *fid,
121         const char *lnm, int llen, const char *nm, int len, struct vattr *va,
122 	kauth_cred_t cred, struct lwp *l);
123 
124 int
125 venus_readdir(void *mdp, CodaFid *fid,
126     	int count, int offset,
127 	kauth_cred_t cred, struct lwp *l,
128 /*out*/	char *buffer, int *len);
129 
130 int
131 venus_statfs(void *mdp, kauth_cred_t cred, struct lwp *l,
132    /*out*/   struct coda_statfs *fsp);
133 
134 int
135 venus_fhtovp(void *mdp, CodaFid *fid,
136 	kauth_cred_t cred, struct proc *p,
137 /*out*/	CodaFid *VFid, int *vtype);
138