genfth.cf revision 1.7 1 1.7 eeh # $NetBSD: genfth.cf,v 1.7 2010/02/13 23:38:17 eeh Exp $
2 1.1 mrg
3 1.1 mrg #
4 1.1 mrg # Copyright (c) 1997 The NetBSD Foundation, Inc.
5 1.1 mrg # All rights reserved.
6 1.1 mrg #
7 1.1 mrg # This code is derived from software contributed to The NetBSD Foundation
8 1.1 mrg # by Christos Zoulas.
9 1.1 mrg #
10 1.1 mrg # Redistribution and use in source and binary forms, with or without
11 1.1 mrg # modification, are permitted provided that the following conditions
12 1.1 mrg # are met:
13 1.1 mrg # 1. Redistributions of source code must retain the above copyright
14 1.1 mrg # notice, this list of conditions and the following disclaimer.
15 1.1 mrg # 2. Redistributions in binary form must reproduce the above copyright
16 1.1 mrg # notice, this list of conditions and the following disclaimer in the
17 1.1 mrg # documentation and/or other materials provided with the distribution.
18 1.1 mrg #
19 1.1 mrg # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 1.1 mrg # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 1.1 mrg # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 1.1 mrg # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 1.1 mrg # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 1.1 mrg # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 1.1 mrg # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 1.1 mrg # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 1.1 mrg # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 1.1 mrg # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 1.1 mrg # POSSIBILITY OF SUCH DAMAGE.
30 1.1 mrg #
31 1.1 mrg # Copyright (c) 1992, 1993
32 1.1 mrg # The Regents of the University of California. All rights reserved.
33 1.1 mrg #
34 1.1 mrg # This software was developed by the Computer Systems Engineering group
35 1.1 mrg # at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
36 1.1 mrg # contributed to Berkeley.
37 1.1 mrg #
38 1.1 mrg # All advertising materials mentioning features or use of this software
39 1.1 mrg # must display the following acknowledgement:
40 1.1 mrg # This product includes software developed by the University of
41 1.1 mrg # California, Lawrence Berkeley Laboratory.
42 1.1 mrg #
43 1.1 mrg # Redistribution and use in source and binary forms, with or without
44 1.1 mrg # modification, are permitted provided that the following conditions
45 1.1 mrg # are met:
46 1.1 mrg # 1. Redistributions of source code must retain the above copyright
47 1.1 mrg # notice, this list of conditions and the following disclaimer.
48 1.1 mrg # 2. Redistributions in binary form must reproduce the above copyright
49 1.1 mrg # notice, this list of conditions and the following disclaimer in the
50 1.1 mrg # documentation and/or other materials provided with the distribution.
51 1.1 mrg # 3. All advertising materials mentioning features or use of this software
52 1.1 mrg # must display the following acknowledgement:
53 1.1 mrg # This product includes software developed by the University of
54 1.1 mrg # California, Berkeley and its contributors.
55 1.1 mrg # 4. Neither the name of the University nor the names of its contributors
56 1.1 mrg # may be used to endorse or promote products derived from this software
57 1.1 mrg # without specific prior written permission.
58 1.1 mrg #
59 1.1 mrg # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
60 1.1 mrg # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
61 1.1 mrg # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
62 1.1 mrg # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
63 1.1 mrg # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
64 1.1 mrg # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
65 1.1 mrg # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
66 1.1 mrg # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
67 1.1 mrg # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
68 1.1 mrg # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
69 1.1 mrg # SUCH DAMAGE.
70 1.1 mrg #
71 1.1 mrg # @(#)genassym.c 8.1 (Berkeley) 6/11/93
72 1.1 mrg #
73 1.1 mrg
74 1.1 mrg include <sys/param.h>
75 1.1 mrg include <sys/time.h>
76 1.1 mrg include <ufs/ufs/dinode.h>
77 1.1 mrg include <ufs/ufs/dir.h>
78 1.1 mrg include <ufs/ffs/fs.h>
79 1.4 martin include <dev/raidframe/raidframevar.h>
80 1.1 mrg
81 1.1 mrg #
82 1.1 mrg # ufs sizing constants
83 1.1 mrg #
84 1.1 mrg define dev_bsize DEV_BSIZE
85 1.1 mrg define maxbsize MAXBSIZE
86 1.2 christos define bbsize BBSIZE
87 1.2 christos define sbsize SBLOCKSIZE
88 1.2 christos define bboff BBOFF
89 1.3 he define sboff SBLOCK_UFS1
90 1.2 christos define bblock BBLOCK
91 1.2 christos # XXX: Will not work for UFS2!
92 1.2 christos define sblock SBLOCK_UFS1
93 1.1 mrg
94 1.4 martin # RAID1 boot support
95 1.4 martin define rf_protected RF_PROTECTED_SECTORS
96 1.4 martin
97 1.1 mrg #
98 1.1 mrg # ufs superblock
99 1.1 mrg #
100 1.1 mrg struct fs
101 1.1 mrg member fs_magic
102 1.1 mrg member fs_bsize
103 1.3 he member fs_old_npsect
104 1.3 he member fs_old_nsect
105 1.3 he member fs_old_interleave
106 1.3 he member fs_old_postblformat
107 1.3 he member fs_old_nrpos
108 1.3 he member fs_old_inodefmt
109 1.1 mrg member fs_maxfilesize
110 1.1 mrg member fs_qbmask
111 1.1 mrg member fs_qfmask
112 1.1 mrg member fs_bmask
113 1.1 mrg member fs_fmask
114 1.1 mrg member fs_ipg
115 1.1 mrg member fs_fpg
116 1.1 mrg member fs_inopb
117 1.1 mrg member fs_fragshift
118 1.1 mrg member fs_bshift
119 1.1 mrg member fs_fshift
120 1.3 he member fs_old_cgoffset
121 1.3 he member fs_old_cgmask
122 1.1 mrg member fs_dblkno
123 1.1 mrg member fs_iblkno
124 1.1 mrg member fs_sblkno
125 1.1 mrg member fs_cblkno
126 1.1 mrg member fs_fsbtodb
127 1.1 mrg member fs_nindir
128 1.1 mrg member fs_frag
129 1.1 mrg member fs_maxsymlinklen
130 1.1 mrg
131 1.1 mrg #
132 1.3 he # ufs1 dinode
133 1.1 mrg #
134 1.3 he struct ufs1_dinode
135 1.7 eeh member di1_size di_size
136 1.7 eeh member di1_mode di_mode
137 1.7 eeh member di1_db di_db
138 1.7 eeh member di1_ib di_ib
139 1.7 eeh member di_inumber di_inumber
140 1.7 eeh
141 1.7 eeh #
142 1.7 eeh # ufs2 dinode
143 1.7 eeh #
144 1.7 eeh struct ufs2_dinode
145 1.7 eeh member di2_size di_size
146 1.7 eeh member di2_mode di_mode
147 1.7 eeh member di2_db di_db
148 1.7 eeh member di2_ib di_ib
149 1.1 mrg
150 1.1 mrg #
151 1.1 mrg # ufs direct
152 1.1 mrg #
153 1.1 mrg struct direct
154 1.1 mrg member d_ino
155 1.1 mrg member d_reclen
156 1.1 mrg #member d_type # notused
157 1.1 mrg member d_namlen
158 1.1 mrg member d_name
159 1.1 mrg
160 1.7 eeh define fs1_magic_value FS_UFS1_MAGIC
161 1.7 eeh define fs2_magic_value FS_UFS2_MAGIC
162 1.1 mrg define fs_42postblfmt FS_42POSTBLFMT
163 1.1 mrg define fs_44inodefmt FS_44INODEFMT
164 1.1 mrg define ndaddr NDADDR
165 1.1 mrg define niaddr NIADDR
166 1.1 mrg define rootino ROOTINO
167 1.1 mrg define ifmt IFMT
168 1.1 mrg define ifdir IFDIR
169 1.2 christos define iflnk IFLNK
170