| 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
| 2 | #ifndef _LINUX_FIEMAP_H |
| 3 | #define _LINUX_FIEMAP_H 1 |
| 4 | |
| 5 | #include <uapi/linux/fiemap.h> |
| 6 | #include <linux/fs.h> |
| 7 | |
| 8 | /** |
| 9 | * struct fiemap_extent_info - fiemap request to a filesystem |
| 10 | * @fi_flags: Flags as passed from user |
| 11 | * @fi_extents_mapped: Number of mapped extents |
| 12 | * @fi_extents_max: Size of fiemap_extent array |
| 13 | * @fi_extents_start: Start of fiemap_extent array |
| 14 | */ |
| 15 | struct fiemap_extent_info { |
| 16 | unsigned int fi_flags; |
| 17 | unsigned int fi_extents_mapped; |
| 18 | unsigned int fi_extents_max; |
| 19 | struct fiemap_extent __user *fi_extents_start; |
| 20 | }; |
| 21 | |
| 22 | int fiemap_prep(struct inode *inode, struct fiemap_extent_info *fieinfo, |
| 23 | u64 start, u64 *len, u32 supported_flags); |
| 24 | int fiemap_fill_next_extent(struct fiemap_extent_info *info, u64 logical, |
| 25 | u64 phys, u64 len, u32 flags); |
| 26 | |
| 27 | #endif /* _LINUX_FIEMAP_H 1 */ |
| 28 | |