xref: /openbsd-src/sbin/newfs_ext2fs/extern.h (revision bed75cd5a866a35a2c3e7b4e613c5bbd19b22006)
1*bed75cd5Snatano /* $OpenBSD: extern.h,v 1.4 2016/03/14 20:30:34 natano Exp $ */
2b2753aa5Sotto /*	$NetBSD: extern.h,v 1.4 2009/10/21 01:07:46 snj Exp $	*/
3b2753aa5Sotto 
4b2753aa5Sotto /*
5b2753aa5Sotto  * Copyright (c) 1997 Christos Zoulas.  All rights reserved.
6b2753aa5Sotto  *
7b2753aa5Sotto  * Redistribution and use in source and binary forms, with or without
8b2753aa5Sotto  * modification, are permitted provided that the following conditions
9b2753aa5Sotto  * are met:
10b2753aa5Sotto  * 1. Redistributions of source code must retain the above copyright
11b2753aa5Sotto  *    notice, this list of conditions and the following disclaimer.
12b2753aa5Sotto  * 2. Redistributions in binary form must reproduce the above copyright
13b2753aa5Sotto  *    notice, this list of conditions and the following disclaimer in the
14b2753aa5Sotto  *    documentation and/or other materials provided with the distribution.
15b2753aa5Sotto  *
16b2753aa5Sotto  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17b2753aa5Sotto  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18b2753aa5Sotto  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19b2753aa5Sotto  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20b2753aa5Sotto  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21b2753aa5Sotto  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22b2753aa5Sotto  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23b2753aa5Sotto  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24b2753aa5Sotto  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25b2753aa5Sotto  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26b2753aa5Sotto  */
27b2753aa5Sotto 
28b2753aa5Sotto /* XXX should be in <sys/ufs/ext2fs.h> */
29b2753aa5Sotto #define EXT2_LOG_MAXBSIZE	12
30b2753aa5Sotto #define EXT2_MAXBSIZE		(1 << EXT2_LOG_MAXBSIZE)
31b2753aa5Sotto 
32477ac106Sderaadt #ifndef nitems
33477ac106Sderaadt #define nitems(_a)   (sizeof((_a)) / sizeof((_a)[0]))
34477ac106Sderaadt #endif
35477ac106Sderaadt 
36b2753aa5Sotto /* prototypes */
37*bed75cd5Snatano void mke2fs(const char *, int);
38b2753aa5Sotto 
39b2753aa5Sotto /* variables set up by front end. */
40b2753aa5Sotto extern int	Nflag;		/* run mkfs without writing file system */
41b2753aa5Sotto extern int	Oflag;		/* format as an 4.3BSD file system */
42b2753aa5Sotto extern int	verbosity;	/* amount of printf() output */
43b2753aa5Sotto extern int64_t	fssize;		/* file system size */
44b2753aa5Sotto extern uint16_t	inodesize;	/* bytes per inode */
45b2753aa5Sotto extern uint	sectorsize;	/* sector size */
46b2753aa5Sotto extern uint	fsize;		/* fragment size */
47b2753aa5Sotto extern uint	bsize;		/* block size */
48b2753aa5Sotto extern uint	minfree;	/* free space threshold */
49b2753aa5Sotto extern uint	num_inodes;	/* number of inodes (overrides density) */
50b2753aa5Sotto extern char	*volname;	/* volume name */
51