|
Basic Solution File System - BSFS
|
Represents an inode in the BSFS file system. More...
#include <filesystem_bsfs.h>
Public Attributes | |
| uint32_t | inode_number |
| uint32_t | file_size |
| uint8_t | file_type |
| uint32_t | block_count |
| uint16_t | uid |
| uint16_t | gid |
| uint16_t | permissions |
| uint16_t | links_count |
| uint32_t | created_at |
| uint32_t | modified_at |
| uint32_t | accessed_at |
| bspan_t | direct_blocks [16] |
| uint32_t | btree_root |
| uint8_t | padding [34] |
Represents an inode in the BSFS file system.
The inode stores metadata and block mapping information for a file or directory. It has a fixed size of 512 bytes and supports both direct block spans and a B-tree reference for additional data blocks.
| uint32_t inode_t::accessed_at |
Timestamp for last file access (Unix time).
| uint32_t inode_t::block_count |
Number of blocks allocated to this file.
| uint32_t inode_t::btree_root |
Root block number of the B-tree containing additional block spans.
| uint32_t inode_t::created_at |
Timestamp for file creation (Unix time).
| bspan_t inode_t::direct_blocks[16] |
Array of 16 direct block spans for small/medium file access.
| uint32_t inode_t::file_size |
Total size of the file (in bytes).
| uint8_t inode_t::file_type |
File type (e.g., regular file, directory). Value is defined by an enum or constant.
| uint16_t inode_t::gid |
Group ID of the file's owner.
| uint32_t inode_t::inode_number |
Unique identifier for this inode in the file system.
| uint16_t inode_t::links_count |
Number of hard links pointing to this inode.
| uint32_t inode_t::modified_at |
Timestamp for last file modification (Unix time).
| uint8_t inode_t::padding[34] |
Padding bytes to ensure the structure is exactly 256 bytes.
| uint16_t inode_t::permissions |
File permissions (e.g., 0755 format for read/write/execute).
| uint16_t inode_t::uid |
User ID of the file's owner.