1881e506bSEd Maste /* $NetBSD: ffs.h,v 1.2 2004/12/20 20:51:42 jmc Exp $ */ 201a0f853SOlivier Houchard 301a0f853SOlivier Houchard /* 401a0f853SOlivier Houchard * Copyright (c) 2001-2003 Wasabi Systems, Inc. 501a0f853SOlivier Houchard * All rights reserved. 601a0f853SOlivier Houchard * 701a0f853SOlivier Houchard * Written by Luke Mewburn for Wasabi Systems, Inc. 801a0f853SOlivier Houchard * 901a0f853SOlivier Houchard * Redistribution and use in source and binary forms, with or without 1001a0f853SOlivier Houchard * modification, are permitted provided that the following conditions 1101a0f853SOlivier Houchard * are met: 1201a0f853SOlivier Houchard * 1. Redistributions of source code must retain the above copyright 1301a0f853SOlivier Houchard * notice, this list of conditions and the following disclaimer. 1401a0f853SOlivier Houchard * 2. Redistributions in binary form must reproduce the above copyright 1501a0f853SOlivier Houchard * notice, this list of conditions and the following disclaimer in the 1601a0f853SOlivier Houchard * documentation and/or other materials provided with the distribution. 1701a0f853SOlivier Houchard * 3. All advertising materials mentioning features or use of this software 1801a0f853SOlivier Houchard * must display the following acknowledgement: 1901a0f853SOlivier Houchard * This product includes software developed for the NetBSD Project by 2001a0f853SOlivier Houchard * Wasabi Systems, Inc. 2101a0f853SOlivier Houchard * 4. The name of Wasabi Systems, Inc. may not be used to endorse 2201a0f853SOlivier Houchard * or promote products derived from this software without specific prior 2301a0f853SOlivier Houchard * written permission. 2401a0f853SOlivier Houchard * 2501a0f853SOlivier Houchard * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND 2601a0f853SOlivier Houchard * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 2701a0f853SOlivier Houchard * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 2801a0f853SOlivier Houchard * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC 2901a0f853SOlivier Houchard * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 3001a0f853SOlivier Houchard * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 3101a0f853SOlivier Houchard * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 3201a0f853SOlivier Houchard * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 3301a0f853SOlivier Houchard * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 3401a0f853SOlivier Houchard * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 3501a0f853SOlivier Houchard * POSSIBILITY OF SUCH DAMAGE. 3601a0f853SOlivier Houchard * 3701a0f853SOlivier Houchard * $FreeBSD$ 3801a0f853SOlivier Houchard */ 3901a0f853SOlivier Houchard 4001a0f853SOlivier Houchard #ifndef _FFS_H 4101a0f853SOlivier Houchard #define _FFS_H 4201a0f853SOlivier Houchard 43703d6e3eSNathan Whitehorn #include <ufs/ufs/dinode.h> 44703d6e3eSNathan Whitehorn #include <ufs/ffs/fs.h> 45703d6e3eSNathan Whitehorn 4601a0f853SOlivier Houchard typedef struct { 47703d6e3eSNathan Whitehorn char label[MAXVOLLEN]; /* volume name/label */ 4801a0f853SOlivier Houchard int bsize; /* block size */ 4901a0f853SOlivier Houchard int fsize; /* fragment size */ 5001a0f853SOlivier Houchard int cpg; /* cylinders per group */ 5101a0f853SOlivier Houchard int cpgflg; /* cpg was specified by user */ 5201a0f853SOlivier Houchard int density; /* bytes per inode */ 5301a0f853SOlivier Houchard int ntracks; /* number of tracks */ 5401a0f853SOlivier Houchard int nsectors; /* number of sectors */ 5501a0f853SOlivier Houchard int rpm; /* rpm */ 5601a0f853SOlivier Houchard int minfree; /* free space threshold */ 5701a0f853SOlivier Houchard int optimization; /* optimization (space or time) */ 5801a0f853SOlivier Houchard int maxcontig; /* max contiguous blocks to allocate */ 5901a0f853SOlivier Houchard int rotdelay; /* rotational delay between blocks */ 6001a0f853SOlivier Houchard int maxbpg; /* maximum blocks per file in a cyl group */ 6101a0f853SOlivier Houchard int nrpos; /* # of distinguished rotational positions */ 6201a0f853SOlivier Houchard int avgfilesize; /* expected average file size */ 6301a0f853SOlivier Houchard int avgfpdir; /* expected # of files per directory */ 6401a0f853SOlivier Houchard int version; /* filesystem version (1 = FFS, 2 = UFS2) */ 6501a0f853SOlivier Houchard int maxbsize; /* maximum extent size */ 6601a0f853SOlivier Houchard int maxblkspercg; /* max # of blocks per cylinder group */ 67*d91e6117SEmmanuel Vadot int softupdates; /* soft updates */ 6801a0f853SOlivier Houchard /* XXX: support `old' file systems ? */ 6901a0f853SOlivier Houchard } ffs_opt_t; 7001a0f853SOlivier Houchard 7101a0f853SOlivier Houchard #endif /* _FFS_H */ 72