Annotation of src/sys/ufs/ufs/ufs_extern.h, Revision 1.25.4.2
1.25.4.2! thorpej 1: /* $NetBSD: ufs_extern.h,v 1.25.4.1 2001/07/10 13:55:13 lukem Exp $ */
1.2 cgd 2:
1.1 mycroft 3: /*-
4: * Copyright (c) 1991, 1993, 1994
5: * The Regents of the University of California. All rights reserved.
6: *
7: * Redistribution and use in source and binary forms, with or without
8: * modification, are permitted provided that the following conditions
9: * are met:
10: * 1. Redistributions of source code must retain the above copyright
11: * notice, this list of conditions and the following disclaimer.
12: * 2. Redistributions in binary form must reproduce the above copyright
13: * notice, this list of conditions and the following disclaimer in the
14: * documentation and/or other materials provided with the distribution.
15: * 3. All advertising materials mentioning features or use of this software
16: * must display the following acknowledgement:
17: * This product includes software developed by the University of
18: * California, Berkeley and its contributors.
19: * 4. Neither the name of the University nor the names of its contributors
20: * may be used to endorse or promote products derived from this software
21: * without specific prior written permission.
22: *
23: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33: * SUCH DAMAGE.
34: *
1.9 fvdl 35: * @(#)ufs_extern.h 8.10 (Berkeley) 5/14/95
1.1 mycroft 36: */
1.16 thorpej 37:
1.1 mycroft 38: struct buf;
1.5 christos 39: struct componentname;
1.1 mycroft 40: struct direct;
41: struct disklabel;
1.5 christos 42: struct dquot;
1.1 mycroft 43: struct fid;
44: struct flock;
1.5 christos 45: struct indir;
1.1 mycroft 46: struct inode;
47: struct mbuf;
48: struct mount;
49: struct nameidata;
50: struct proc;
51: struct ucred;
1.5 christos 52: struct ufs_args;
53: struct ufsmount;
1.1 mycroft 54: struct uio;
55: struct vattr;
56: struct vnode;
57:
58: __BEGIN_DECLS
1.6 mycroft 59: #define ufs_abortop genfs_abortop
60: int ufs_access __P((void *));
61: int ufs_advlock __P((void *));
62: int ufs_bmap __P((void *));
63: int ufs_close __P((void *));
64: int ufs_create __P((void *));
65: int ufs_getattr __P((void *));
66: int ufs_inactive __P((void *));
1.20 wrstuden 67: #define ufs_fcntl genfs_fcntl
1.15 matthias 68: #define ufs_ioctl genfs_enoioctl
1.18 wrstuden 69: #define ufs_islocked genfs_islocked
1.25.4.1 lukem 70: int ufs_kqfilter __P((void *));
1.14 thorpej 71: #define ufs_lease_check genfs_lease_check
1.6 mycroft 72: int ufs_link __P((void *));
1.18 wrstuden 73: #define ufs_lock genfs_lock
1.6 mycroft 74: int ufs_lookup __P((void *));
75: int ufs_mkdir __P((void *));
76: int ufs_mknod __P((void *));
1.25 chs 77: #define ufs_mmap genfs_mmap
1.9 fvdl 78: #define ufs_revoke genfs_revoke
1.6 mycroft 79: int ufs_open __P((void *));
80: int ufs_pathconf __P((void *));
81: int ufs_print __P((void *));
82: int ufs_readdir __P((void *));
83: int ufs_readlink __P((void *));
84: int ufs_remove __P((void *));
85: int ufs_rename __P((void *));
86: int ufs_rmdir __P((void *));
1.8 kleink 87: #define ufs_seek genfs_seek
1.7 mycroft 88: #define ufs_poll genfs_poll
1.6 mycroft 89: int ufs_setattr __P((void *));
90: int ufs_strategy __P((void *));
91: int ufs_symlink __P((void *));
1.18 wrstuden 92: #define ufs_unlock genfs_unlock
1.6 mycroft 93: int ufs_whiteout __P((void *));
94: int ufsspec_close __P((void *));
95: int ufsspec_read __P((void *));
96: int ufsspec_write __P((void *));
1.1 mycroft 97:
1.5 christos 98: int ufsfifo_read __P((void *));
99: int ufsfifo_write __P((void *));
100: int ufsfifo_close __P((void *));
101:
102: /* ufs_bmap.c */
1.9 fvdl 103: int ufs_bmaparray __P((struct vnode *, ufs_daddr_t, ufs_daddr_t *,
104: struct indir *, int *, int *));
105: int ufs_getlbns __P((struct vnode *, ufs_daddr_t, struct indir *, int *));
1.5 christos 106:
107: /* ufs_ihash.c */
108: void ufs_ihashinit __P((void));
1.25.4.2! thorpej 109: void ufs_ihashreinit __P((void));
1.23 jdolecek 110: void ufs_ihashdone __P((void));
1.5 christos 111: struct vnode *ufs_ihashlookup __P((dev_t, ino_t));
1.21 fvdl 112: struct vnode *ufs_ihashget __P((dev_t, ino_t, int));
1.5 christos 113: void ufs_ihashins __P((struct inode *));
114: void ufs_ihashrem __P((struct inode *));
115:
116: /* ufs_inode.c */
1.9 fvdl 117: int ufs_reclaim __P((struct vnode *, struct proc *));
1.24 chs 118: int ufs_balloc_range __P((struct vnode *, off_t, off_t, struct ucred *, int));
1.5 christos 119:
120: /* ufs_lookup.c */
121: void ufs_dirbad __P((struct inode *, doff_t, char *));
122: int ufs_dirbadentry __P((struct vnode *, struct direct *, int));
1.21 fvdl 123: void ufs_makedirentry __P((struct inode *, struct componentname *,
124: struct direct *));
125: int ufs_direnter __P((struct vnode *, struct vnode *, struct direct *,
126: struct componentname *, struct buf *));
127: int ufs_dirremove __P((struct vnode *, struct inode *, int, int));
128: int ufs_dirrewrite __P((struct inode *, struct inode *, ino_t, int, int));
1.5 christos 129: int ufs_dirempty __P((struct inode *, ino_t, struct ucred *));
130: int ufs_checkpath __P((struct inode *, struct inode *, struct ucred *));
131:
132: /* ufs_quota.c */
133: int getinoquota __P((struct inode *));
134: int chkdq __P((struct inode *, long, struct ucred *, int));
135: int chkdqchg __P((struct inode *, long, struct ucred *, int));
136: int chkiq __P((struct inode *, long, struct ucred *, int));
137: int chkiqchg __P((struct inode *, long, struct ucred *, int));
138: void chkdquot __P((struct inode *));
139: int quotaon __P((struct proc *, struct mount *, int, caddr_t));
140: int quotaoff __P((struct proc *, struct mount *, int));
141: int getquota __P((struct mount *, u_long, int, caddr_t));
142: int setquota __P((struct mount *, u_long, int, caddr_t));
143: int setuse __P((struct mount *, u_long, int, caddr_t));
144: int qsync __P((struct mount *));
145: int dqget __P((struct vnode *, u_long, struct ufsmount *, int,
146: struct dquot **));
147: void dqref __P((struct dquot *));
148: void dqrele __P((struct vnode *, struct dquot *));
149: int dqsync __P((struct vnode *, struct dquot *));
150: void dqflush __P((struct vnode *));
151:
152: /* ufs_vfsops.c */
1.23 jdolecek 153: void ufs_init __P((void));
1.25.4.2! thorpej 154: void ufs_reinit __P((void));
1.23 jdolecek 155: void ufs_done __P((void));
1.5 christos 156: int ufs_start __P((struct mount *, int, struct proc *));
157: int ufs_root __P((struct mount *, struct vnode **));
158: int ufs_quotactl __P((struct mount *, int, uid_t, caddr_t, struct proc *));
1.17 wrstuden 159: int ufs_fhtovp __P((struct mount *, struct ufid *, struct vnode **));
160: int ufs_check_export __P((struct mount *, struct mbuf *, int *,
161: struct ucred **));
1.5 christos 162:
163: /* ufs_vnops.c */
1.25.4.2! thorpej 164: void ufs_vinit __P((struct mount *, int (**) __P((void *)),
! 165: int (**) __P((void *)), struct vnode **));
1.5 christos 166: int ufs_makeinode __P((int, struct vnode *, struct vnode **,
167: struct componentname *));
1.21 fvdl 168:
169: /*
170: * Soft dependency function prototypes.
171: */
1.25.4.2! thorpej 172: int softdep_setup_directory_add __P((struct buf *, struct inode *, off_t,
! 173: long, struct buf *, int));
1.21 fvdl 174: void softdep_change_directoryentry_offset __P((struct inode *, caddr_t,
175: caddr_t, caddr_t, int));
176: void softdep_setup_remove __P((struct buf *,struct inode *, struct inode *,
177: int));
178: void softdep_setup_directory_change __P((struct buf *, struct inode *,
179: struct inode *, long, int));
1.22 fvdl 180: void softdep_change_linkcnt __P((struct inode *));
1.25.4.2! thorpej 181: void softdep_releasefile __P((struct inode *));
1.10 bouyer 182:
1.1 mycroft 183: __END_DECLS
CVSweb <webmaster@jp.NetBSD.org>