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