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
34int
35venus_root(void *mdp,
36 kauth_cred_t cred, struct proc *p,
37/*out*/ CodaFid *VFid);
38
39int
40venus_open(void *mdp, CodaFid *fid, int flag,
41 kauth_cred_t cred, struct lwp *l,
42/*out*/ dev_t *dev, ino_t *inode);
43
44int
45venus_close(void *mdp, CodaFid *fid, int flag,
46 kauth_cred_t cred, struct lwp *l);
47
48void
49venus_read(void);
50
51void
52venus_write(void);
53
54int
55venus_ioctl(void *mdp, CodaFid *fid,
56 int com, int flag, void *data,
57 kauth_cred_t cred, struct lwp *l);
58
59int
60venus_getattr(void *mdp, CodaFid *fid,
61 kauth_cred_t cred, struct lwp *l,
62/*out*/ struct vattr *vap);
63
64int
65venus_setattr(void *mdp, CodaFid *fid, struct vattr *vap,
66 kauth_cred_t cred, struct lwp *l);
67
68int
69venus_access(void *mdp, CodaFid *fid, int mode,
70 kauth_cred_t cred, struct lwp *l);
71
72int
73venus_readlink(void *mdp, CodaFid *fid,
74 kauth_cred_t cred, struct lwp *l,
75/*out*/ char **str, int *len);
76
77int
78venus_fsync(void *mdp, CodaFid *fid,
79 kauth_cred_t cred, struct lwp *l);
80
81int
82venus_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
87int
88venus_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
93int
94venus_remove(void *mdp, CodaFid *fid,
95 const char *nm, int len,
96 kauth_cred_t cred, struct lwp *l);
97
98int
99venus_link(void *mdp, CodaFid *fid, CodaFid *tfid,
100 const char *nm, int len,
101 kauth_cred_t cred, struct lwp *l);
102
103int
104venus_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
108int
109venus_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
114int
115venus_rmdir(void *mdp, CodaFid *fid,
116 const char *nm, int len,
117 kauth_cred_t cred, struct lwp *l);
118
119int
120venus_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
124int
125venus_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
130int
131venus_statfs(void *mdp, kauth_cred_t cred, struct lwp *l,
132 /*out*/ struct coda_statfs *fsp);
133
134int
135venus_fhtovp(void *mdp, CodaFid *fid,
136 kauth_cred_t cred, struct proc *p,
137/*out*/ CodaFid *VFid, int *vtype);
138