18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef _LINUX_FIEMAP_H 38c2ecf20Sopenharmony_ci#define _LINUX_FIEMAP_H 1 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <uapi/linux/fiemap.h> 68c2ecf20Sopenharmony_ci#include <linux/fs.h> 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cistruct fiemap_extent_info { 98c2ecf20Sopenharmony_ci unsigned int fi_flags; /* Flags as passed from user */ 108c2ecf20Sopenharmony_ci unsigned int fi_extents_mapped; /* Number of mapped extents */ 118c2ecf20Sopenharmony_ci unsigned int fi_extents_max; /* Size of fiemap_extent array */ 128c2ecf20Sopenharmony_ci struct fiemap_extent __user *fi_extents_start; /* Start of 138c2ecf20Sopenharmony_ci fiemap_extent array */ 148c2ecf20Sopenharmony_ci}; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciint fiemap_prep(struct inode *inode, struct fiemap_extent_info *fieinfo, 178c2ecf20Sopenharmony_ci u64 start, u64 *len, u32 supported_flags); 188c2ecf20Sopenharmony_ciint fiemap_fill_next_extent(struct fiemap_extent_info *info, u64 logical, 198c2ecf20Sopenharmony_ci u64 phys, u64 len, u32 flags); 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciint generic_block_fiemap(struct inode *inode, 228c2ecf20Sopenharmony_ci struct fiemap_extent_info *fieinfo, u64 start, u64 len, 238c2ecf20Sopenharmony_ci get_block_t *get_block); 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci#endif /* _LINUX_FIEMAP_H 1 */ 26