Annotation of src/sys/ufs/ufs/ufs_extern.h, Revision 1.20.4.1
1.20.4.1! fvdl 1: /* $NetBSD: ufs_extern.h,v 1.20 1999/08/03 20:19:22 wrstuden 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.14 thorpej 70: #define ufs_lease_check genfs_lease_check
1.6 mycroft 71: int ufs_link __P((void *));
1.18 wrstuden 72: #define ufs_lock genfs_lock
1.6 mycroft 73: int ufs_lookup __P((void *));
74: int ufs_mkdir __P((void *));
75: int ufs_mknod __P((void *));
76: int ufs_mmap __P((void *));
1.9 fvdl 77: #define ufs_revoke genfs_revoke
1.6 mycroft 78: int ufs_open __P((void *));
79: int ufs_pathconf __P((void *));
80: int ufs_print __P((void *));
81: int ufs_readdir __P((void *));
82: int ufs_readlink __P((void *));
83: int ufs_remove __P((void *));
84: int ufs_rename __P((void *));
85: int ufs_rmdir __P((void *));
1.8 kleink 86: #define ufs_seek genfs_seek
1.7 mycroft 87: #define ufs_poll genfs_poll
1.6 mycroft 88: int ufs_setattr __P((void *));
89: int ufs_strategy __P((void *));
90: int ufs_symlink __P((void *));
1.18 wrstuden 91: #define ufs_unlock genfs_unlock
1.6 mycroft 92: int ufs_whiteout __P((void *));
93: int ufsspec_close __P((void *));
94: int ufsspec_read __P((void *));
95: int ufsspec_write __P((void *));
1.1 mycroft 96:
1.5 christos 97: int ufsfifo_read __P((void *));
98: int ufsfifo_write __P((void *));
99: int ufsfifo_close __P((void *));
100:
101: /* ufs_bmap.c */
1.9 fvdl 102: int ufs_bmaparray __P((struct vnode *, ufs_daddr_t, ufs_daddr_t *,
103: struct indir *, int *, int *));
104: int ufs_getlbns __P((struct vnode *, ufs_daddr_t, struct indir *, int *));
1.5 christos 105:
106: /* ufs_ihash.c */
107: void ufs_ihashinit __P((void));
108: struct vnode *ufs_ihashlookup __P((dev_t, ino_t));
109: struct vnode *ufs_ihashget __P((dev_t, ino_t));
110: void ufs_ihashins __P((struct inode *));
111: void ufs_ihashrem __P((struct inode *));
112:
113: /* ufs_inode.c */
114: void ufs_init __P((void));
1.9 fvdl 115: int ufs_reclaim __P((struct vnode *, struct proc *));
1.5 christos 116:
117: /* ufs_lookup.c */
118: void ufs_dirbad __P((struct inode *, doff_t, char *));
119: int ufs_dirbadentry __P((struct vnode *, struct direct *, int));
1.20.4.1! fvdl 120: void ufs_makedirentry __P((struct inode *, struct componentname *,
! 121: struct direct *));
! 122: int ufs_direnter __P((struct vnode *, struct vnode *, struct direct *,
! 123: struct componentname *, struct buf *));
! 124: int ufs_dirremove __P((struct vnode *, struct inode *, int, int));
! 125: int ufs_dirrewrite __P((struct inode *, struct inode *, ino_t, int, int));
1.5 christos 126: int ufs_dirempty __P((struct inode *, ino_t, struct ucred *));
127: int ufs_checkpath __P((struct inode *, struct inode *, struct ucred *));
128:
129: /* ufs_quota.c */
130: int getinoquota __P((struct inode *));
131: int chkdq __P((struct inode *, long, struct ucred *, int));
132: int chkdqchg __P((struct inode *, long, struct ucred *, int));
133: int chkiq __P((struct inode *, long, struct ucred *, int));
134: int chkiqchg __P((struct inode *, long, struct ucred *, int));
135: void chkdquot __P((struct inode *));
136: int quotaon __P((struct proc *, struct mount *, int, caddr_t));
137: int quotaoff __P((struct proc *, struct mount *, int));
138: int getquota __P((struct mount *, u_long, int, caddr_t));
139: int setquota __P((struct mount *, u_long, int, caddr_t));
140: int setuse __P((struct mount *, u_long, int, caddr_t));
141: int qsync __P((struct mount *));
142: int dqget __P((struct vnode *, u_long, struct ufsmount *, int,
143: struct dquot **));
144: void dqref __P((struct dquot *));
145: void dqrele __P((struct vnode *, struct dquot *));
146: int dqsync __P((struct vnode *, struct dquot *));
147: void dqflush __P((struct vnode *));
148:
149: /* ufs_vfsops.c */
150: int ufs_start __P((struct mount *, int, struct proc *));
151: int ufs_root __P((struct mount *, struct vnode **));
152: int ufs_quotactl __P((struct mount *, int, uid_t, caddr_t, struct proc *));
1.17 wrstuden 153: int ufs_fhtovp __P((struct mount *, struct ufid *, struct vnode **));
154: int ufs_check_export __P((struct mount *, struct mbuf *, int *,
155: struct ucred **));
1.5 christos 156:
157: /* ufs_vnops.c */
158: int ufs_vinit __P((struct mount *, int (**) __P((void *)),
159: int (**) __P((void *)), struct vnode **));
160: int ufs_makeinode __P((int, struct vnode *, struct vnode **,
161: struct componentname *));
1.20.4.1! fvdl 162:
! 163: /*
! 164: * Soft dependency function prototypes.
! 165: */
! 166: void softdep_setup_directory_add __P((struct buf *, struct inode *, off_t,
! 167: long, struct buf *));
! 168: void softdep_change_directoryentry_offset __P((struct inode *, caddr_t,
! 169: caddr_t, caddr_t, int));
! 170: void softdep_setup_remove __P((struct buf *,struct inode *, struct inode *,
! 171: int));
! 172: void softdep_setup_directory_change __P((struct buf *, struct inode *,
! 173: struct inode *, long, int));
! 174: void softdep_increase_linkcnt __P((struct inode *));
1.10 bouyer 175:
1.1 mycroft 176: __END_DECLS
CVSweb <webmaster@jp.NetBSD.org>