18#ifndef __FILESYSTEM_LINN_INODE_H
19#define __FILESYSTEM_LINN_INODE_H
37#define LINN_INODE_ROOT 0
49#define LINN_INODE_DIR_BLOCKS 4
52#define LINN_INODE_IND_BLOCKS (LINN_INODE_DIR_BLOCKS + 1)
55#define LINN_INODE_DIND_BLOCKS (LINN_INODE_IND_BLOCKS + 1)
58#define LINN_INODE_TIND_BLOCKS (LINN_INODE_DIND_BLOCKS + 1)
61#define LINN_INODE_BLOCKS (LINN_INODE_TIND_BLOCKS + 1)
80#define LINN_INODE_NUM_BLOCKS(super,inode) \
81 ((inode)->size % (super)->blockSize ? \
82 (inode)->size / (super)->blockSize + 1 : \
83 (inode)->size / (super)->blockSize)
u16 BITWISE le16
Unsigned 16-bit little endian number.
u32 BITWISE le32
Unsigned 32-bit little endian number.
#define LINN_INODE_BLOCKS
Total number of block pointers in an LinnInode.
Structure of an inode on the disk in the LinnFS filesystem.
le16 mode
Access permissions, as an FileMode.
le32 accessTime
Access time.
le32 block[LINN_INODE_BLOCKS]
Pointers to blocks.
le32 changeTime
Status change timestamp.
le32 createTime
Creation time.
le32 modifyTime
Modification time.
le16 type
Type of file, as an FileType.