blob: e5e6a3175c8cc29d1b47a2bbe6c23546c7e0839e [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
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 */
Christopher Ferris525ce912017-07-26 13:12:53 -07007#ifndef _LINUX_FSMAP_H
8#define _LINUX_FSMAP_H
9#include <linux/types.h>
10struct 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};
19struct 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