#ifndef _LINUX_F2FS_FS_H
#define _LINUX_F2FS_FS_H
#include <linux/pagemap.h>
#include <linux/types.h>
#define F2FS_SUPER_OFFSET …
#define F2FS_MIN_LOG_SECTOR_SIZE …
#define F2FS_MAX_LOG_SECTOR_SIZE …
#define F2FS_LOG_SECTORS_PER_BLOCK …
#define F2FS_BLKSIZE …
#define F2FS_BLKSIZE_BITS …
#define F2FS_MAX_EXTENSION …
#define F2FS_EXTENSION_LEN …
#define NULL_ADDR …
#define NEW_ADDR …
#define COMPRESS_ADDR …
#define F2FS_BYTES_TO_BLK(bytes) …
#define F2FS_BLK_TO_BYTES(blk) …
#define F2FS_BLK_END_BYTES(blk) …
#define F2FS_BLK_ALIGN(x) …
#define F2FS_RESERVED_NODE_NUM …
#define F2FS_ROOT_INO(sbi) …
#define F2FS_NODE_INO(sbi) …
#define F2FS_META_INO(sbi) …
#define F2FS_COMPRESS_INO(sbi) …
#define F2FS_MAX_QUOTAS …
#define F2FS_ENC_UTF8_12_1 …
#define GFP_F2FS_ZERO …
#define MAX_ACTIVE_LOGS …
#define MAX_ACTIVE_NODE_LOGS …
#define MAX_ACTIVE_DATA_LOGS …
#define VERSION_LEN …
#define MAX_VOLUME_NAME …
#define MAX_PATH_LEN …
#define MAX_DEVICES …
struct f2fs_device { … } __packed;
enum stop_cp_reason { … };
#define MAX_STOP_REASON …
enum f2fs_error { … };
#define MAX_F2FS_ERRORS …
struct f2fs_super_block { … } __packed;
#define CP_RESIZEFS_FLAG …
#define CP_DISABLED_QUICK_FLAG …
#define CP_DISABLED_FLAG …
#define CP_QUOTA_NEED_FSCK_FLAG …
#define CP_LARGE_NAT_BITMAP_FLAG …
#define CP_NOCRC_RECOVERY_FLAG …
#define CP_TRIMMED_FLAG …
#define CP_NAT_BITS_FLAG …
#define CP_CRC_RECOVERY_FLAG …
#define CP_FASTBOOT_FLAG …
#define CP_FSCK_FLAG …
#define CP_ERROR_FLAG …
#define CP_COMPACT_SUM_FLAG …
#define CP_ORPHAN_PRESENT_FLAG …
#define CP_UMOUNT_FLAG …
#define F2FS_CP_PACKS …
struct f2fs_checkpoint { … } __packed;
#define CP_CHKSUM_OFFSET …
#define CP_MIN_CHKSUM_OFFSET …
#define F2FS_ORPHANS_PER_BLOCK …
#define GET_ORPHAN_BLOCKS(n) …
struct f2fs_orphan_block { … } __packed;
struct f2fs_extent { … } __packed;
#define F2FS_NAME_LEN …
#define DEFAULT_INLINE_XATTR_ADDRS …
#define OFFSET_OF_END_OF_I_EXT …
#define SIZE_OF_I_NID …
struct node_footer { … } __packed;
#define DEF_ADDRS_PER_INODE …
#define CUR_ADDRS_PER_INODE(inode) …
#define DEF_NIDS_PER_INODE …
#define ADDRS_PER_INODE(inode) …
#define DEF_ADDRS_PER_BLOCK …
#define ADDRS_PER_BLOCK(inode) …
#define NIDS_PER_BLOCK …
#define ADDRS_PER_PAGE(page, inode) …
#define NODE_DIR1_BLOCK …
#define NODE_DIR2_BLOCK …
#define NODE_IND1_BLOCK …
#define NODE_IND2_BLOCK …
#define NODE_DIND_BLOCK …
#define F2FS_INLINE_XATTR …
#define F2FS_INLINE_DATA …
#define F2FS_INLINE_DENTRY …
#define F2FS_DATA_EXIST …
#define F2FS_INLINE_DOTS …
#define F2FS_EXTRA_ATTR …
#define F2FS_PIN_FILE …
#define F2FS_COMPRESS_RELEASED …
struct f2fs_inode { … } __packed;
struct direct_node { … } __packed;
struct indirect_node { … } __packed;
enum { … };
#define OFFSET_BIT_MASK …
struct f2fs_node { … } __packed;
#define NAT_ENTRY_PER_BLOCK …
struct f2fs_nat_entry { … } __packed;
struct f2fs_nat_block { … } __packed;
#define SIT_VBLOCK_MAP_SIZE …
#define SIT_ENTRY_PER_BLOCK …
#define F2FS_MAX_SEGMENT …
#define SIT_VBLOCKS_SHIFT …
#define SIT_VBLOCKS_MASK …
#define GET_SIT_VBLOCKS(raw_sit) …
#define GET_SIT_TYPE(raw_sit) …
struct f2fs_sit_entry { … } __packed;
struct f2fs_sit_block { … } __packed;
#define ENTRIES_IN_SUM …
#define SUMMARY_SIZE …
#define SUM_FOOTER_SIZE …
#define SUM_ENTRY_SIZE …
struct f2fs_summary { … } __packed;
#define SUM_TYPE_NODE …
#define SUM_TYPE_DATA …
struct summary_footer { … } __packed;
#define SUM_JOURNAL_SIZE …
#define NAT_JOURNAL_ENTRIES …
#define NAT_JOURNAL_RESERVED …
#define SIT_JOURNAL_ENTRIES …
#define SIT_JOURNAL_RESERVED …
#define EXTRA_INFO_RESERVED …
enum { … };
struct nat_journal_entry { … } __packed;
struct nat_journal { … } __packed;
struct sit_journal_entry { … } __packed;
struct sit_journal { … } __packed;
struct f2fs_extra_info { … } __packed;
struct f2fs_journal { … } __packed;
struct f2fs_summary_block { … } __packed;
#define F2FS_DOT_HASH …
#define F2FS_DDOT_HASH …
#define F2FS_MAX_HASH …
#define F2FS_HASH_COL_BIT …
f2fs_hash_t;
#define F2FS_SLOT_LEN …
#define F2FS_SLOT_LEN_BITS …
#define GET_DENTRY_SLOTS(x) …
#define MAX_DIR_HASH_DEPTH …
#define MAX_DIR_BUCKETS …
#define NR_DENTRY_IN_BLOCK …
#define SIZE_OF_DIR_ENTRY …
#define SIZE_OF_DENTRY_BITMAP …
#define SIZE_OF_RESERVED …
#define MIN_INLINE_DENTRY_SIZE …
struct f2fs_dir_entry { … } __packed;
struct f2fs_dentry_block { … } __packed;
#define F2FS_DEF_PROJID …
#endif