fs/befs/befs.h
Source file repositories/reference/linux-study-clean/fs/befs/befs.h
File Facts
- System
- Linux kernel
- Corpus path
fs/befs/befs.h- Extension
.h- Size
- 3089 bytes
- Lines
- 151
- Domain
- Core OS
- Bucket
- VFS And Filesystem Core
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
befs_fs_types.hendian.h
Detected Declarations
struct befs_mount_optionsstruct befs_sb_infostruct befs_inode_infoenum befs_errfunction BEFS_SBfunction BEFS_Ifunction iaddr2blocknofunction blockno2iaddrfunction befs_iaddrs_per_block
Annotated Snippet
struct befs_mount_options {
kgid_t gid;
kuid_t uid;
int use_gid;
int use_uid;
int debug;
char *iocharset;
};
struct befs_sb_info {
u32 magic1;
u32 block_size;
u32 block_shift;
int byte_order;
befs_off_t num_blocks;
befs_off_t used_blocks;
u32 inode_size;
u32 magic2;
/* Allocation group information */
u32 blocks_per_ag;
u32 ag_shift;
u32 num_ags;
/* State of the superblock */
u32 flags;
/* Journal log entry */
befs_block_run log_blocks;
befs_off_t log_start;
befs_off_t log_end;
befs_inode_addr root_dir;
befs_inode_addr indices;
u32 magic3;
struct befs_mount_options mount_opts;
struct nls_table *nls;
};
struct befs_inode_info {
u32 i_flags;
u32 i_type;
befs_inode_addr i_inode_num;
befs_inode_addr i_parent;
befs_inode_addr i_attribute;
union {
befs_data_stream ds;
char symlink[BEFS_SYMLINK_LEN];
} i_data;
struct inode vfs_inode;
};
enum befs_err {
BEFS_OK,
BEFS_ERR,
BEFS_BAD_INODE,
BEFS_BT_END,
BEFS_BT_EMPTY,
BEFS_BT_MATCH,
BEFS_BT_OVERFLOW,
BEFS_BT_NOT_FOUND
};
/****************************/
/* debug.c */
__printf(2, 3)
void befs_error(const struct super_block *sb, const char *fmt, ...);
__printf(2, 3)
void befs_warning(const struct super_block *sb, const char *fmt, ...);
__printf(2, 3)
void befs_debug(const struct super_block *sb, const char *fmt, ...);
void befs_dump_super_block(const struct super_block *sb, befs_super_block *);
void befs_dump_inode(const struct super_block *sb, befs_inode *);
void befs_dump_index_entry(const struct super_block *sb, befs_disk_btree_super *);
void befs_dump_index_node(const struct super_block *sb, befs_btree_nodehead *);
/****************************/
/* Gets a pointer to the private portion of the super_block
* structure from the public part
*/
static inline struct befs_sb_info *
BEFS_SB(const struct super_block *super)
{
Annotation
- Immediate include surface: `befs_fs_types.h`, `endian.h`.
- Detected declarations: `struct befs_mount_options`, `struct befs_sb_info`, `struct befs_inode_info`, `enum befs_err`, `function BEFS_SB`, `function BEFS_I`, `function iaddr2blockno`, `function blockno2iaddr`, `function befs_iaddrs_per_block`.
- Atlas domain: Core OS / VFS And Filesystem Core.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.