blob: 84f0095b24e8b0e280ae529b3be35b0ace297e93 [file] [log] [blame]
Nick Kralevicha67e4de2013-01-14 11:28:26 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
Ben Cheng655a7c02013-10-16 16:09:24 -070019#ifndef _UAPI_LINUX_FCNTL_H
20#define _UAPI_LINUX_FCNTL_H
21#include <asm/fcntl.h>
Christopher Ferrisbb9fcb42020-04-06 11:38:04 -070022#include <linux/openat2.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define F_SETLEASE (F_LINUX_SPECIFIC_BASE + 0)
Ben Cheng655a7c02013-10-16 16:09:24 -070024#define F_GETLEASE (F_LINUX_SPECIFIC_BASE + 1)
25#define F_CANCELLK (F_LINUX_SPECIFIC_BASE + 5)
26#define F_DUPFD_CLOEXEC (F_LINUX_SPECIFIC_BASE + 6)
Tao Baod7db5942015-01-28 10:07:51 -080027#define F_NOTIFY (F_LINUX_SPECIFIC_BASE + 2)
Ben Cheng655a7c02013-10-16 16:09:24 -070028#define F_SETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 7)
29#define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8)
Christopher Ferris82d75042015-01-26 10:57:07 -080030#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
31#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
Christopher Ferris82d75042015-01-26 10:57:07 -080032#define F_SEAL_SEAL 0x0001
33#define F_SEAL_SHRINK 0x0002
34#define F_SEAL_GROW 0x0004
35#define F_SEAL_WRITE 0x0008
Christopher Ferris24f97eb2019-05-20 12:58:13 -070036#define F_SEAL_FUTURE_WRITE 0x0010
Christopher Ferris1308ad32017-11-14 17:32:13 -080037#define F_GET_RW_HINT (F_LINUX_SPECIFIC_BASE + 11)
38#define F_SET_RW_HINT (F_LINUX_SPECIFIC_BASE + 12)
39#define F_GET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 13)
40#define F_SET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 14)
Christopher Ferrisd32ca142020-02-04 16:16:51 -080041#define RWH_WRITE_LIFE_NOT_SET 0
Christopher Ferris1308ad32017-11-14 17:32:13 -080042#define RWH_WRITE_LIFE_NONE 1
43#define RWH_WRITE_LIFE_SHORT 2
44#define RWH_WRITE_LIFE_MEDIUM 3
45#define RWH_WRITE_LIFE_LONG 4
46#define RWH_WRITE_LIFE_EXTREME 5
Christopher Ferrisd32ca142020-02-04 16:16:51 -080047#define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
Ben Cheng655a7c02013-10-16 16:09:24 -070048#define DN_ACCESS 0x00000001
49#define DN_MODIFY 0x00000002
Ben Cheng655a7c02013-10-16 16:09:24 -070050#define DN_CREATE 0x00000004
51#define DN_DELETE 0x00000008
52#define DN_RENAME 0x00000010
53#define DN_ATTRIB 0x00000020
Ben Cheng655a7c02013-10-16 16:09:24 -070054#define DN_MULTISHOT 0x80000000
Tao Baod7db5942015-01-28 10:07:51 -080055#define AT_FDCWD - 100
Ben Cheng655a7c02013-10-16 16:09:24 -070056#define AT_SYMLINK_NOFOLLOW 0x100
57#define AT_REMOVEDIR 0x200
Ben Cheng655a7c02013-10-16 16:09:24 -070058#define AT_SYMLINK_FOLLOW 0x400
59#define AT_NO_AUTOMOUNT 0x800
60#define AT_EMPTY_PATH 0x1000
Christopher Ferris525ce912017-07-26 13:12:53 -070061#define AT_STATX_SYNC_TYPE 0x6000
62#define AT_STATX_SYNC_AS_STAT 0x0000
63#define AT_STATX_FORCE_SYNC 0x2000
64#define AT_STATX_DONT_SYNC 0x4000
Christopher Ferrisaeddbcf2019-07-08 12:45:46 -070065#define AT_RECURSIVE 0x8000
Nick Kralevicha67e4de2013-01-14 11:28:26 -080066#endif