Remove building with NOCRYPTO option
[minix3.git] / minix / usr.sbin / mkfs.mfs / v2 / const.h
blob2a76de9f1a4790e88c80c8bd9ff692f956a3567a
1 #ifndef _MKFS_MFS_CONST_H__
2 #define _MKFS_MFS_CONST_H__
4 /* Tables sizes */
5 #define NR_DZONES 7 /* # direct zone numbers in a V2 inode */
6 #define NR_TZONES 10 /* total # zone numbers in a V2 inode */
8 /* Blocks are of a fixed size */
9 #define MFS_STATIC_BLOCK_SIZE 1024
11 #define SUPER_BLOCK_BYTES MFS_STATIC_BLOCK_SIZE /* 1 block */
13 /* The type of sizeof may be (unsigned) long. Use the following macro for
14 * taking the sizes of small objects so that there are no surprises like
15 * (small) long constants being passed to routines expecting an int.
17 #define usizeof(t) ((unsigned) sizeof(t))
19 /* File system types: magic number contained in super-block. */
20 #define SUPER_V2 0x2468 /* magic # for V2 file systems */
21 #define SUPER_MAGIC SUPER_V2
23 /* Miscellaneous constants */
24 #define SU_UID ((uid_t) 0) /* super_user's uid_t */
25 #define SECTOR_SIZE 512
27 #define BOOT_BLOCK ((block_t) 0) /* block number of boot block */
28 #define SUPER_BLOCK ((block_t) 1) /* block number of super block */
29 #define START_BLOCK ((block_t) 2) /* first block of FS (not counting SB) */
31 #define ROOT_INODE ((ino_t) 1) /* inode number for root directory */
33 /* Derived sizes pertaining to the file system. */
34 #define FS_BITMAP_CHUNKS(b) ((b)/usizeof (uint32_t))/* # map chunks/blk */
35 #define FS_BITCHUNK_BITS (usizeof(uint32_t) * CHAR_BIT)
36 #define FS_BITS_PER_BLOCK(b) (FS_BITMAP_CHUNKS(b) * FS_BITCHUNK_BITS)
38 #define ZONE_NUM_SIZE usizeof (zone_t) /* # bytes in zone */
39 #define INODE_SIZE usizeof (struct inode) /* bytes in dsk ino */
40 #define INODES_PER_BLOCK(b) ((b)/INODE_SIZE) /* # V2 dsk inodes/blk */
41 #define INDIRECTS(b) ((b)/ZONE_NUM_SIZE) /* # zones/indir block */
43 #define DIR_ENTRY_SIZE usizeof(struct direct) /* # bytes/dir entry */
44 #define NR_DIR_ENTRIES(b) ((b)/DIR_ENTRY_SIZE) /* # dir entries/blk */
45 #endif