xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/fsmap.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _LINUX_FSMAP_H
8 #define _LINUX_FSMAP_H
9 #include <linux/types.h>
10 struct fsmap {
11   __u32 fmr_device;
12   __u32 fmr_flags;
13   __u64 fmr_physical;
14   __u64 fmr_owner;
15   __u64 fmr_offset;
16   __u64 fmr_length;
17   __u64 fmr_reserved[3];
18 };
19 struct fsmap_head {
20   __u32 fmh_iflags;
21   __u32 fmh_oflags;
22   __u32 fmh_count;
23   __u32 fmh_entries;
24   __u64 fmh_reserved[6];
25   struct fsmap fmh_keys[2];
26   struct fsmap fmh_recs[];
27 };
28 #define FMH_IF_VALID 0
29 #define FMH_OF_DEV_T 0x1
30 #define FMR_OF_PREALLOC 0x1
31 #define FMR_OF_ATTR_FORK 0x2
32 #define FMR_OF_EXTENT_MAP 0x4
33 #define FMR_OF_SHARED 0x8
34 #define FMR_OF_SPECIAL_OWNER 0x10
35 #define FMR_OF_LAST 0x20
36 #define FMR_OWNER(type,code) (((__u64) type << 32) | ((__u64) code & 0xFFFFFFFFULL))
37 #define FMR_OWNER_TYPE(owner) ((__u32) ((__u64) owner >> 32))
38 #define FMR_OWNER_CODE(owner) ((__u32) (((__u64) owner & 0xFFFFFFFFULL)))
39 #define FMR_OWN_FREE FMR_OWNER(0, 1)
40 #define FMR_OWN_UNKNOWN FMR_OWNER(0, 2)
41 #define FMR_OWN_METADATA FMR_OWNER(0, 3)
42 #define FS_IOC_GETFSMAP _IOWR('X', 59, struct fsmap_head)
43 #endif
44