/* SPDX-License-Identifier: GPL-2.0 */ /* * fs/befs/befs_fs_types.h * * Copyright (C) 2001 Will Dyson ([email protected]) * * * * from linux/include/linux/befs_fs.h * * Copyright (C) 1999 Makoto Kato ([email protected]) * */ #ifndef _LINUX_BEFS_FS_TYPES #define _LINUX_BEFS_FS_TYPES #ifdef __KERNEL__ #include <linux/types.h> #endif /*__KERNEL__*/ #define PACKED … /* * Max name lengths of BFS */ #define BEFS_NAME_LEN … #define BEFS_SYMLINK_LEN … #define BEFS_NUM_DIRECT_BLOCKS … #define B_OS_NAME_LENGTH … /* The datastream blocks mapped by the double-indirect * block are always 4 fs blocks long. * This eliminates the need for linear searches among * the potentially huge number of indirect blocks * * Err. Should that be 4 fs blocks or 4k??? * It matters on large blocksize volumes */ #define BEFS_DBLINDIR_BRUN_LEN … /* * Flags of superblock */ enum super_flags { … }; #define BEFS_BYTEORDER_NATIVE … #define BEFS_BYTEORDER_NATIVE_LE … #define BEFS_BYTEORDER_NATIVE_BE … #define BEFS_SUPER_MAGIC … #define BEFS_SUPER_MAGIC1_LE … #define BEFS_SUPER_MAGIC1_BE … /* * Flags of inode */ #define BEFS_INODE_MAGIC1 … enum inode_flags { … }; /* * On-Disk datastructures of BeFS */ fs64; fs32; fs16; befs_off_t; befs_time_t; /* Block runs */ befs_disk_block_run; befs_block_run; befs_disk_inode_addr; befs_inode_addr; /* * The Superblock Structure */ befs_super_block; /* * Note: the indirect and dbl_indir block_runs may * be longer than one block! */ befs_disk_data_stream; befs_data_stream; /* Attribute */ befs_small_data; /* Inode structure */ befs_inode; /* * B+tree superblock */ #define BEFS_BTREE_MAGIC … enum btree_types { … }; befs_disk_btree_super; befs_btree_super; /* * Header structure of each btree node */ befs_btree_nodehead; befs_host_btree_nodehead; #endif /* _LINUX_BEFS_FS_TYPES */