]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/basic/missing_fs.h
mkosi: update arch commit reference
[thirdparty/systemd.git] / src / basic / missing_fs.h
CommitLineData
db9ecf05 1/* SPDX-License-Identifier: LGPL-2.1-or-later */
503f480f
YW
2#pragma once
3
bb2e3c90
YW
4#include <linux/types.h>
5
4d6437d3
ZJS
6#include "macro.h"
7
503f480f
YW
8/* linux/fs.h */
9#ifndef RENAME_NOREPLACE /* 0a7c3937a1f23f8cb5fc77ae01661e9968a51d0c (3.15) */
10#define RENAME_NOREPLACE (1 << 0)
11#endif
12
d6f96778 13#ifndef BLKGETDISKSEQ /* 7957d93bf32bc211415827e44fdd9cdf1388df59 (5.15) */
2076612f
YW
14#define BLKGETDISKSEQ _IOR(0x12,128,__u64)
15#endif
16
d6f96778 17#ifndef FICLONE /* 04b38d601239b4d9be641b412cf4b7456a041c67 (4.5) */
b640e274
DDM
18#define FICLONE _IOW(0x94, 9, int)
19#endif
20
d6f96778 21#ifndef FICLONERANGE /* 04b38d601239b4d9be641b412cf4b7456a041c67 (4.5) */
b640e274 22#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range)
8c59feed
YW
23struct file_clone_range {
24 __s64 src_fd;
25 __u64 src_offset;
26 __u64 src_length;
27 __u64 dest_offset;
28};
b640e274
DDM
29#endif
30
503f480f
YW
31/* linux/fs.h or sys/mount.h */
32#ifndef MS_MOVE
4d6437d3
ZJS
33# define MS_MOVE 8192
34#else
35assert_cc(MS_MOVE == 8192);
503f480f
YW
36#endif
37
38#ifndef MS_REC
4d6437d3
ZJS
39# define MS_REC 16384
40#else
41assert_cc(MS_REC == 16384);
503f480f
YW
42#endif
43
44#ifndef MS_PRIVATE
4d6437d3
ZJS
45# define MS_PRIVATE (1<<18)
46#else
47assert_cc(MS_PRIVATE == (1<<18));
503f480f
YW
48#endif
49
50#ifndef MS_SLAVE
4d6437d3
ZJS
51# define MS_SLAVE (1<<19)
52#else
53assert_cc(MS_SLAVE == (1<<19));
503f480f
YW
54#endif
55
56#ifndef MS_SHARED
4d6437d3
ZJS
57# define MS_SHARED (1<<20)
58#else
59assert_cc(MS_SHARED == (1<<20));
503f480f
YW
60#endif
61
62#ifndef MS_RELATIME
4d6437d3
ZJS
63# define MS_RELATIME (1<<21)
64#else
65assert_cc(MS_RELATIME == (1<<21));
503f480f
YW
66#endif
67
68#ifndef MS_KERNMOUNT
4d6437d3
ZJS
69# define MS_KERNMOUNT (1<<22)
70#else
71assert_cc(MS_KERNMOUNT == (1<<22));
503f480f
YW
72#endif
73
74#ifndef MS_I_VERSION
4d6437d3
ZJS
75# define MS_I_VERSION (1<<23)
76#else
77assert_cc(MS_I_VERSION == (1<<23));
503f480f
YW
78#endif
79
80#ifndef MS_STRICTATIME
4d6437d3
ZJS
81# define MS_STRICTATIME (1<<24)
82#else
83assert_cc(MS_STRICTATIME == (1 << 24));
503f480f
YW
84#endif
85
86#ifndef MS_LAZYTIME
4d6437d3
ZJS
87# define MS_LAZYTIME (1<<25)
88#else
89assert_cc(MS_LAZYTIME == (1<<25));
503f480f
YW
90#endif
91
92/* Not exposed yet. Defined at fs/ext4/ext4.h */
93#ifndef EXT4_IOC_RESIZE_FS
94#define EXT4_IOC_RESIZE_FS _IOW('f', 16, __u64)
95#endif
96
503f480f
YW
97/* linux/nsfs.h */
98#ifndef NS_GET_NSTYPE /* d95fa3c76a66b6d76b1e109ea505c55e66360f3c (4.11) */
99#define NS_GET_NSTYPE _IO(0xb7, 0x3)
100#endif
c3272fd4
LP
101
102#ifndef FS_PROJINHERIT_FL
4d6437d3
ZJS
103# define FS_PROJINHERIT_FL 0x20000000
104#else
105assert_cc(FS_PROJINHERIT_FL == 0x20000000);
c3272fd4 106#endif
0a58cd00
YW
107
108/* linux/fscrypt.h */
109#ifndef FS_KEY_DESCRIPTOR_SIZE
4d6437d3
ZJS
110# define FS_KEY_DESCRIPTOR_SIZE 8
111#else
112assert_cc(FS_KEY_DESCRIPTOR_SIZE == 8);
0a58cd00 113#endif
3b287495
LP
114
115/* linux/exportfs.h */
116#ifndef FILEID_KERNFS
117#define FILEID_KERNFS 0xfe
118#endif