1 #ifndef __PFS_CONST_H__
2 #define __PFS_CONST_H__
4 #define NR_INODES 256 /* # slots in "in core" inode table */
6 #define INODE_HASH_LOG2 7 /* 2 based logarithm of the inode hash size */
7 #define INODE_HASH_SIZE ((unsigned long)1<<INODE_HASH_LOG2)
8 #define INODE_HASH_MASK (((unsigned long)1<<INODE_HASH_LOG2)-1)
11 /* The type of sizeof may be (unsigned) long. Use the following macro for
12 * taking the sizes of small objects so that there are no surprises like
13 * (small) long constants being passed to routines expecting an int.
15 #define usizeof(t) ((unsigned) sizeof(t))
17 /* Miscellaneous constants */
18 #define INVAL_UID ((uid_t) -1) /* Invalid user ID */
19 #define INVAL_GID ((gid_t) -1) /* Invalid group ID */
20 #define NORMAL 0 /* forces get_block to do disk read */
21 #define NO_READ 1 /* prevents get_block from doing disk read */
22 #define PREFETCH 2 /* tells get_block not to read or mark dev */
24 #define NO_BIT ((bit_t) 0) /* returned by alloc_bit() to signal failure */
26 #define ATIME 002 /* set if atime field needs updating */
27 #define CTIME 004 /* set if ctime field needs updating */
28 #define MTIME 010 /* set if mtime field needs updating */
30 #define FS_BITMAP_CHUNKS(b) ((b)/usizeof (bitchunk_t))/* # map chunks/blk */
31 #define FS_BITCHUNK_BITS (usizeof(bitchunk_t) * CHAR_BIT)
32 #define FS_BITS_PER_BLOCK(b) (FS_BITMAP_CHUNKS(b) * FS_BITCHUNK_BITS)