00001
00002 #define V1_NR_DZONES 7
00003 #define V1_NR_TZONES 9
00004 #define V2_NR_DZONES 7
00005 #define V2_NR_TZONES 10
00006
00007 #define NR_FILPS 256
00008 #define NR_INODES 256
00009 #define NR_SUPERS 12
00010 #define NR_LOCKS 8
00011
00012
00013
00014
00015
00016 #define usizeof(t) ((unsigned) sizeof(t))
00017
00018
00019 #define SUPER_MAGIC 0x137F
00020 #define SUPER_REV 0x7F13
00021 #define SUPER_V2 0x2468
00022 #define SUPER_V2_REV 0x6824
00023 #define SUPER_V3 0x4d5a
00024
00025 #define V1 1
00026 #define V2 2
00027 #define V3 3
00028
00029
00030 #define SU_UID ((uid_t) 0)
00031 #define SERVERS_UID ((uid_t) 11)
00032 #define SYS_UID ((uid_t) 0)
00033 #define SYS_GID ((gid_t) 0)
00034 #define NORMAL 0
00035 #define NO_READ 1
00036 #define PREFETCH 2
00037
00038 #define XPIPE (-NR_TASKS-1)
00039 #define XLOCK (-NR_TASKS-2)
00040 #define XPOPEN (-NR_TASKS-3)
00041 #define XSELECT (-NR_TASKS-4)
00042
00043 #define NO_BIT ((bit_t) 0)
00044
00045 #define DUP_MASK 0100
00046
00047 #define LOOK_UP 0
00048 #define ENTER 1
00049 #define DELETE 2
00050 #define IS_EMPTY 3
00051
00052
00053 #define WMAP_FREE (1 << 0)
00054
00055 #define PATH_TRANSPARENT 000
00056 #define PATH_PENULTIMATE 001
00057 #define PATH_OPAQUE 002
00058 #define PATH_NONSYMBOLIC 004
00059 #define PATH_STRIPDOT 010
00060 #define EAT_PATH PATH_TRANSPARENT
00061 #define EAT_PATH_OPAQUE PATH_OPAQUE
00062 #define LAST_DIR PATH_PENULTIMATE
00063 #define LAST_DIR_NOTDOT PATH_PENULTIMATE | PATH_STRIPDOT
00064 #define LAST_DIR_EATSYM PATH_NONSYMBOLIC
00065 #define SYMLOOP 16
00066
00067 #define CLEAN 0
00068 #define DIRTY 1
00069 #define ATIME 002
00070 #define CTIME 004
00071 #define MTIME 010
00072
00073 #define BYTE_SWAP 0
00074
00075 #define END_OF_FILE (-104)
00076
00077 #define ROOT_INODE 1
00078 #define BOOT_BLOCK ((block_t) 0)
00079 #define SUPER_BLOCK_BYTES (1024)
00080 #define START_BLOCK 2
00081
00082 #define DIR_ENTRY_SIZE usizeof (struct direct)
00083 #define NR_DIR_ENTRIES(b) ((b)/DIR_ENTRY_SIZE)
00084 #define SUPER_SIZE usizeof (struct super_block)
00085 #define PIPE_SIZE(b) (V1_NR_DZONES*(b))
00086
00087 #define FS_BITMAP_CHUNKS(b) ((b)/usizeof (bitchunk_t))
00088 #define FS_BITCHUNK_BITS (usizeof(bitchunk_t) * CHAR_BIT)
00089 #define FS_BITS_PER_BLOCK(b) (FS_BITMAP_CHUNKS(b) * FS_BITCHUNK_BITS)
00090
00091
00092 #define V1_ZONE_NUM_SIZE usizeof (zone1_t)
00093 #define V1_INODE_SIZE usizeof (d1_inode)
00094
00095
00096 #define V1_INDIRECTS (_STATIC_BLOCK_SIZE/V1_ZONE_NUM_SIZE)
00097
00098
00099 #define V1_INODES_PER_BLOCK (_STATIC_BLOCK_SIZE/V1_INODE_SIZE)
00100
00101
00102 #define V2_ZONE_NUM_SIZE usizeof (zone_t)
00103 #define V2_INODE_SIZE usizeof (d2_inode)
00104 #define V2_INDIRECTS(b) ((b)/V2_ZONE_NUM_SIZE)
00105 #define V2_INODES_PER_BLOCK(b) ((b)/V2_INODE_SIZE)