xref: /minix3/usr.sbin/makefs/ffs.h (revision 9f988b79349f9b89ecc822458c30ec8897558560)
1*9f988b79SJean-Baptiste Boric /*	$NetBSD: ffs.h,v 1.2 2011/10/09 21:33:43 christos Exp $	*/
2*9f988b79SJean-Baptiste Boric 
3*9f988b79SJean-Baptiste Boric /*
4*9f988b79SJean-Baptiste Boric  * Copyright (c) 2001-2003 Wasabi Systems, Inc.
5*9f988b79SJean-Baptiste Boric  * All rights reserved.
6*9f988b79SJean-Baptiste Boric  *
7*9f988b79SJean-Baptiste Boric  * Written by Luke Mewburn for Wasabi Systems, Inc.
8*9f988b79SJean-Baptiste Boric  *
9*9f988b79SJean-Baptiste Boric  * Redistribution and use in source and binary forms, with or without
10*9f988b79SJean-Baptiste Boric  * modification, are permitted provided that the following conditions
11*9f988b79SJean-Baptiste Boric  * are met:
12*9f988b79SJean-Baptiste Boric  * 1. Redistributions of source code must retain the above copyright
13*9f988b79SJean-Baptiste Boric  *    notice, this list of conditions and the following disclaimer.
14*9f988b79SJean-Baptiste Boric  * 2. Redistributions in binary form must reproduce the above copyright
15*9f988b79SJean-Baptiste Boric  *    notice, this list of conditions and the following disclaimer in the
16*9f988b79SJean-Baptiste Boric  *    documentation and/or other materials provided with the distribution.
17*9f988b79SJean-Baptiste Boric  * 3. All advertising materials mentioning features or use of this software
18*9f988b79SJean-Baptiste Boric  *    must display the following acknowledgement:
19*9f988b79SJean-Baptiste Boric  *      This product includes software developed for the NetBSD Project by
20*9f988b79SJean-Baptiste Boric  *      Wasabi Systems, Inc.
21*9f988b79SJean-Baptiste Boric  * 4. The name of Wasabi Systems, Inc. may not be used to endorse
22*9f988b79SJean-Baptiste Boric  *    or promote products derived from this software without specific prior
23*9f988b79SJean-Baptiste Boric  *    written permission.
24*9f988b79SJean-Baptiste Boric  *
25*9f988b79SJean-Baptiste Boric  * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND
26*9f988b79SJean-Baptiste Boric  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
27*9f988b79SJean-Baptiste Boric  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28*9f988b79SJean-Baptiste Boric  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL WASABI SYSTEMS, INC
29*9f988b79SJean-Baptiste Boric  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30*9f988b79SJean-Baptiste Boric  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31*9f988b79SJean-Baptiste Boric  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32*9f988b79SJean-Baptiste Boric  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33*9f988b79SJean-Baptiste Boric  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34*9f988b79SJean-Baptiste Boric  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35*9f988b79SJean-Baptiste Boric  * POSSIBILITY OF SUCH DAMAGE.
36*9f988b79SJean-Baptiste Boric  */
37*9f988b79SJean-Baptiste Boric 
38*9f988b79SJean-Baptiste Boric #ifndef _FFS_H
39*9f988b79SJean-Baptiste Boric #define _FFS_H
40*9f988b79SJean-Baptiste Boric 
41*9f988b79SJean-Baptiste Boric #include <ufs/ufs/dinode.h>
42*9f988b79SJean-Baptiste Boric #include <ufs/ffs/fs.h>
43*9f988b79SJean-Baptiste Boric 
44*9f988b79SJean-Baptiste Boric typedef struct {
45*9f988b79SJean-Baptiste Boric 	char	label[MAXVOLLEN];	/* volume name/label */
46*9f988b79SJean-Baptiste Boric 	int	bsize;		/* block size */
47*9f988b79SJean-Baptiste Boric 	int	fsize;		/* fragment size */
48*9f988b79SJean-Baptiste Boric 	int	cpg;		/* cylinders per group */
49*9f988b79SJean-Baptiste Boric 	int	cpgflg;		/* cpg was specified by user */
50*9f988b79SJean-Baptiste Boric 	int	density;	/* bytes per inode */
51*9f988b79SJean-Baptiste Boric 	int	ntracks;	/* number of tracks */
52*9f988b79SJean-Baptiste Boric 	int	nsectors;	/* number of sectors */
53*9f988b79SJean-Baptiste Boric 	int	rpm;		/* rpm */
54*9f988b79SJean-Baptiste Boric 	int	minfree;	/* free space threshold */
55*9f988b79SJean-Baptiste Boric 	int	optimization;	/* optimization (space or time) */
56*9f988b79SJean-Baptiste Boric 	int	maxcontig;	/* max contiguous blocks to allocate */
57*9f988b79SJean-Baptiste Boric 	int	rotdelay;	/* rotational delay between blocks */
58*9f988b79SJean-Baptiste Boric 	int	maxbpg;		/* maximum blocks per file in a cyl group */
59*9f988b79SJean-Baptiste Boric 	int	nrpos;		/* # of distinguished rotational positions */
60*9f988b79SJean-Baptiste Boric 	int	avgfilesize;	/* expected average file size */
61*9f988b79SJean-Baptiste Boric 	int	avgfpdir;	/* expected # of files per directory */
62*9f988b79SJean-Baptiste Boric 	int	version;	/* filesystem version (1 = FFS, 2 = UFS2) */
63*9f988b79SJean-Baptiste Boric 	int	maxbsize;	/* maximum extent size */
64*9f988b79SJean-Baptiste Boric 	int	maxblkspercg;	/* max # of blocks per cylinder group */
65*9f988b79SJean-Baptiste Boric 		/* XXX: support `old' file systems ? */
66*9f988b79SJean-Baptiste Boric } ffs_opt_t;
67*9f988b79SJean-Baptiste Boric 
68*9f988b79SJean-Baptiste Boric #endif /* _FFS_H */
69