1 /* $NetBSD: coda_vfsops.h,v 1.5 2000/03/16 18:08:21 jdolecek 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_vfsops.h,v 1.1.1.1 1998/08/29 21:26:46 rvb Exp $ 32 */ 33 34 /* 35 * cfid structure: 36 * This overlays the fid structure (see vfs.h) 37 * Only used below and will probably go away. 38 */ 39 40 struct cfid { 41 u_short cfid_len; 42 u_short padding; 43 ViceFid cfid_fid; 44 }; 45 46 struct mount; 47 48 int coda_vfsopstats_init(void); 49 int coda_mount(struct mount *, const char *, void *, struct nameidata *, 50 struct proc *); 51 int coda_start(struct mount *, int, struct proc *); 52 int coda_unmount(struct mount *, int, struct proc *); 53 int coda_root(struct mount *, struct vnode **); 54 int coda_quotactl(struct mount *, int, uid_t, caddr_t, struct proc *); 55 int coda_nb_statfs(struct mount *, struct statfs *, struct proc *); 56 int coda_sync(struct mount *, int, struct ucred *, struct proc *); 57 int coda_vget(struct mount *, ino_t, struct vnode **); 58 int coda_fhtovp(struct mount *, struct fid *, struct mbuf *, struct vnode **, 59 int *, struct ucred **); 60 int coda_vptofh(struct vnode *, struct fid *); 61 void coda_init(void); 62 void coda_done(void); 63 int coda_sysctl(int *, u_int, void *, size_t *, void *, size_t, 64 struct proc *); 65 int getNewVnode(struct vnode **vpp); 66