proc->thread stage 4: rework the VFS and DEVICE subsystems to take thread
[dragonfly.git] / sys / vfs / coda / coda_vfsops.h
1 /*
2  * 
3  *             Coda: an Experimental Distributed File System
4  *                              Release 3.1
5  * 
6  *           Copyright (c) 1987-1998 Carnegie Mellon University
7  *                          All Rights Reserved
8  * 
9  * Permission  to  use, copy, modify and distribute this software and its
10  * documentation is hereby granted,  provided  that  both  the  copyright
11  * notice  and  this  permission  notice  appear  in  all  copies  of the
12  * software, derivative works or  modified  versions,  and  any  portions
13  * thereof, and that both notices appear in supporting documentation, and
14  * that credit is given to Carnegie Mellon University  in  all  documents
15  * and publicity pertaining to direct or indirect use of this code or its
16  * derivatives.
17  * 
18  * CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS  KNOWN  TO  HAVE  BUGS,
19  * SOME  OF  WHICH MAY HAVE SERIOUS CONSEQUENCES.  CARNEGIE MELLON ALLOWS
20  * FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION.   CARNEGIE  MELLON
21  * DISCLAIMS  ANY  LIABILITY  OF  ANY  KIND  FOR  ANY  DAMAGES WHATSOEVER
22  * RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE  OR  OF
23  * ANY DERIVATIVE WORK.
24  * 
25  * Carnegie  Mellon  encourages  users  of  this  software  to return any
26  * improvements or extensions that  they  make,  and  to  grant  Carnegie
27  * Mellon the rights to redistribute these changes without encumbrance.
28  * 
29  *      @(#) src/sys/cfs/coda_vfsops.h,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $ 
30  * $FreeBSD: src/sys/coda/coda_vfsops.h,v 1.4 1999/08/28 00:40:57 peter Exp $
31  * $DragonFly: src/sys/vfs/coda/Attic/coda_vfsops.h,v 1.3 2003/06/25 03:55:44 dillon Exp $
32  * 
33  */
34
35 /*
36  * cfid structure:
37  * This overlays the fid structure (see vfs.h)
38  * Only used below and will probably go away.
39  */
40
41 struct cfid {
42     u_short     cfid_len;
43     u_short     padding;
44     ViceFid     cfid_fid;
45 };
46
47 struct mount;
48
49 int coda_vfsopstats_init(void);
50 int coda_mount(struct mount *, char *, caddr_t, struct nameidata *, 
51                        struct thread *);
52 int coda_start(struct mount *, int, struct thread *);
53 int coda_unmount(struct mount *, int, struct thread *);
54 int coda_root(struct mount *, struct vnode **);
55 int coda_quotactl(struct mount *, int, uid_t, caddr_t, struct thread *);
56 int coda_nb_statfs(struct mount *, struct statfs *, struct thread *);
57 int coda_sync(struct mount *, int, struct ucred *, struct thread *);
58 int coda_vget(struct mount *, ino_t, struct vnode **);
59 int coda_fhtovp(struct mount *, struct fid *, struct mbuf *, struct vnode **,
60                        int *, struct ucred **);
61 int coda_vptofh(struct vnode *, struct fid *);
62 int coda_init(struct vfsconf *vfsp);
63
64 int getNewVnode(struct vnode **vpp);