Basic Solution File System - BSFS
Loading...
Searching...
No Matches
inode_t Struct Reference

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]

Detailed Description

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.

Member Data Documentation

◆ accessed_at

uint32_t inode_t::accessed_at

Timestamp for last file access (Unix time).

◆ block_count

uint32_t inode_t::block_count

Number of blocks allocated to this file.

◆ btree_root

uint32_t inode_t::btree_root

Root block number of the B-tree containing additional block spans.

◆ created_at

uint32_t inode_t::created_at

Timestamp for file creation (Unix time).

◆ direct_blocks

bspan_t inode_t::direct_blocks[16]

Array of 16 direct block spans for small/medium file access.

◆ file_size

uint32_t inode_t::file_size

Total size of the file (in bytes).

◆ file_type

uint8_t inode_t::file_type

File type (e.g., regular file, directory). Value is defined by an enum or constant.

◆ gid

uint16_t inode_t::gid

Group ID of the file's owner.

◆ inode_number

uint32_t inode_t::inode_number

Unique identifier for this inode in the file system.

◆ links_count

uint16_t inode_t::links_count

Number of hard links pointing to this inode.

◆ modified_at

uint32_t inode_t::modified_at

Timestamp for last file modification (Unix time).

◆ padding

uint8_t inode_t::padding[34]

Padding bytes to ensure the structure is exactly 256 bytes.

◆ permissions

uint16_t inode_t::permissions

File permissions (e.g., 0755 format for read/write/execute).

◆ uid

uint16_t inode_t::uid

User ID of the file's owner.


The documentation for this struct was generated from the following file: