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