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