1 /* $NetBSD: coda_venus.h,v 1.10 2006/05/14 21:24:49 elad Exp $ */
5 * Coda: an Experimental Distributed File System
8 * Copyright (c) 1987-1998 Carnegie Mellon University
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
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.
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.
31 * @(#) coda/coda_venus.h,v 1.1.1.1 1998/08/29 21:26:45 rvb Exp $
36 kauth_cred_t cred
, struct proc
*p
,
37 /*out*/ CodaFid
*VFid
);
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
);
45 venus_close(void *mdp
, CodaFid
*fid
, int flag
,
46 kauth_cred_t cred
, struct lwp
*l
);
55 venus_ioctl(void *mdp
, CodaFid
*fid
,
56 int com
, int flag
, void *data
,
57 kauth_cred_t cred
, struct lwp
*l
);
60 venus_getattr(void *mdp
, CodaFid
*fid
,
61 kauth_cred_t cred
, struct lwp
*l
,
62 /*out*/ struct vattr
*vap
);
65 venus_setattr(void *mdp
, CodaFid
*fid
, struct vattr
*vap
,
66 kauth_cred_t cred
, struct lwp
*l
);
69 venus_access(void *mdp
, CodaFid
*fid
, int mode
,
70 kauth_cred_t cred
, struct lwp
*l
);
73 venus_readlink(void *mdp
, CodaFid
*fid
,
74 kauth_cred_t cred
, struct lwp
*l
,
75 /*out*/ char **str
, int *len
);
78 venus_fsync(void *mdp
, CodaFid
*fid
,
79 kauth_cred_t cred
, struct lwp
*l
);
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
);
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
);
94 venus_remove(void *mdp
, CodaFid
*fid
,
95 const char *nm
, int len
,
96 kauth_cred_t cred
, struct lwp
*l
);
99 venus_link(void *mdp
, CodaFid
*fid
, CodaFid
*tfid
,
100 const char *nm
, int len
,
101 kauth_cred_t cred
, struct lwp
*l
);
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
);
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
);
115 venus_rmdir(void *mdp
, CodaFid
*fid
,
116 const char *nm
, int len
,
117 kauth_cred_t cred
, struct lwp
*l
);
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
);
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
);
131 venus_statfs(void *mdp
, kauth_cred_t cred
, struct lwp
*l
,
132 /*out*/ struct coda_statfs
*fsp
);
135 venus_fhtovp(void *mdp
, CodaFid
*fid
,
136 kauth_cred_t cred
, struct proc
*p
,
137 /*out*/ CodaFid
*VFid
, int *vtype
);