; minix V1 (L) ; uses 30-char filenames BLOCK_SIZE equ 1024 BOOT_BLOCK equ 0 SUPER_BLOCK equ 1 v1 record 0 MAGIC equ $137F DIRSIZE equ 14 NR_DZONES equ 7 ; 7 direct zones NR_TZONES equ 9 ; 9 total zones ; too big... ;MAX_FILE_SIZE equ $10081c00 endr v1_super record 0 __begin equ * ninodes ds.w 1 nzones ds.w 1 imap_blocks ds.w 1 zmap_blocks ds.w 1 firstdatazone ds.w 1 log_zone_size ds.w 1 max_size ds.l 1 magic ds.w 1 __end equ * __sizeof equ __end - __begin endr v1_inode record 0 __begin equ * mode ds.w 1 uid ds.w 1 size ds.l 1 mtime ds.l 1 gid ds.b 1 nlinks ds.b 1 zone ds.w v1.NR_TZONES __end equ * __sizeof equ __end - __begin endr v1_dirent record 0 __begin equ * inode ds.w 1 name ds.b v1.DIRSIZE __end equ * __sizeof equ __end - __begin endr ; v1 (Linux) v1L record 0 MAGIC equ $138F DIRSIZE equ 30 endr v1L_dirent record 0 __begin equ * inode ds.w 1 name ds.b v1L.DIRSIZE __end equ * __sizeof equ __end - __begin endr ; version 2 v2 record 0 NR_DZONES equ 7 NR_TZONES equ 10 MAGIC equ $2468 DIRSIZE equ 14 ;MAX_FILE_SIZE equ $7fffffff endr v2_super record 0 __begin equ * inodes ds.w 1 nzones ds.w 1 imap_blocks ds.w 1 zmap_blocks ds.w 1 firstdatazone ds.w 1 log_zone_size ds.w 1 max_size ds.l 1 magic ds.w 1 ds.w 1 ; padding zones ds.l 1 __end equ * __sizeof equ __end - __begin endr v2_inode record 0 __begin equ * mode ds.w 1 nlinks ds.w 1 uid ds.w 1 gid ds.w 1 size ds.l 1 atime ds.l 1 mtime ds.l 1 ctime ds.l 1 zone ds.l v2.NR_TZONES __end equ * __sizeof equ __end - __begin endr v2_dirent record 0 __begin equ * inode ds.w 1 name ds.b v2.DIRSIZE __end equ * __sizeof equ __end - __begin endr ; v2 (Linux) v2l record 0 MAGIC equ $2478 DIRSIZE equ 30 endr ; sys/stat equates S_IFMT equ $f000 ; type of file S_IFWHT equ $e000 ; union white out. S_IFSOCK equ $c000 ; unix domain socket S_IFLNK equ $a000 ; symbolic link, not implemented S_IFREG equ $8000 ; regular S_IFBLK equ $6000 ; block special S_IFDIR equ $4000 ; directory S_IFCHR equ $2000 ; character special S_IFIFO equ $1000 ; this is a FIFO S_ISUID equ $0800 ; set user id on execution S_ISGID equ $0400 ; set group id on execution S_IRWXU equ $01c0 ; owner: rwx------ S_IRUSR equ $0100 ; owner: r-------- S_IWUSR equ $0080 ; owner: -w------- S_IXUSR equ $0040 ; owner: --x------ S_IRWXG equ $0038 ; group: ---rwx--- S_IRGRP equ $0020 ; group: ---r----- S_IWGRP equ $0010 ; group: ----w---- S_IXGRP equ $0008 ; group: -----x--- S_IRWXO equ $0007 ; others: ------rwx S_IROTH equ $0004 ; others: ------r-- S_IWOTH equ $0002 ; others: -------w- S_IXOTH equ $0001 ; others: --------x