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