blob: 0e5c84d4b4a2b99c31f63ace25a617b989a412c5 [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 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _UAPI_LINUX_FCNTL_H
8#define _UAPI_LINUX_FCNTL_H
9#include <asm/fcntl.h>
Christopher Ferrisbb9fcb42020-04-06 11:38:04 -070010#include <linux/openat2.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070011#define F_SETLEASE (F_LINUX_SPECIFIC_BASE + 0)
Ben Cheng655a7c02013-10-16 16:09:24 -070012#define F_GETLEASE (F_LINUX_SPECIFIC_BASE + 1)
13#define F_CANCELLK (F_LINUX_SPECIFIC_BASE + 5)
14#define F_DUPFD_CLOEXEC (F_LINUX_SPECIFIC_BASE + 6)
Tao Baod7db5942015-01-28 10:07:51 -080015#define F_NOTIFY (F_LINUX_SPECIFIC_BASE + 2)
Ben Cheng655a7c02013-10-16 16:09:24 -070016#define F_SETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 7)
17#define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8)
Christopher Ferris82d75042015-01-26 10:57:07 -080018#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
19#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
Christopher Ferris82d75042015-01-26 10:57:07 -080020#define F_SEAL_SEAL 0x0001
21#define F_SEAL_SHRINK 0x0002
22#define F_SEAL_GROW 0x0004
23#define F_SEAL_WRITE 0x0008
Christopher Ferris24f97eb2019-05-20 12:58:13 -070024#define F_SEAL_FUTURE_WRITE 0x0010
Christopher Ferrisb7cef6d2023-05-09 19:04:15 +000025#define F_SEAL_EXEC 0x0020
Christopher Ferris1308ad32017-11-14 17:32:13 -080026#define F_GET_RW_HINT (F_LINUX_SPECIFIC_BASE + 11)
27#define F_SET_RW_HINT (F_LINUX_SPECIFIC_BASE + 12)
28#define F_GET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 13)
29#define F_SET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 14)
Christopher Ferrisd32ca142020-02-04 16:16:51 -080030#define RWH_WRITE_LIFE_NOT_SET 0
Christopher Ferris1308ad32017-11-14 17:32:13 -080031#define RWH_WRITE_LIFE_NONE 1
32#define RWH_WRITE_LIFE_SHORT 2
33#define RWH_WRITE_LIFE_MEDIUM 3
34#define RWH_WRITE_LIFE_LONG 4
35#define RWH_WRITE_LIFE_EXTREME 5
Christopher Ferrisd32ca142020-02-04 16:16:51 -080036#define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
Ben Cheng655a7c02013-10-16 16:09:24 -070037#define DN_ACCESS 0x00000001
38#define DN_MODIFY 0x00000002
Ben Cheng655a7c02013-10-16 16:09:24 -070039#define DN_CREATE 0x00000004
40#define DN_DELETE 0x00000008
41#define DN_RENAME 0x00000010
42#define DN_ATTRIB 0x00000020
Ben Cheng655a7c02013-10-16 16:09:24 -070043#define DN_MULTISHOT 0x80000000
Tao Baod7db5942015-01-28 10:07:51 -080044#define AT_FDCWD - 100
Ben Cheng655a7c02013-10-16 16:09:24 -070045#define AT_SYMLINK_NOFOLLOW 0x100
Christopher Ferris8177cdf2020-08-03 11:53:55 -070046#define AT_EACCESS 0x200
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define AT_REMOVEDIR 0x200
Ben Cheng655a7c02013-10-16 16:09:24 -070048#define AT_SYMLINK_FOLLOW 0x400
49#define AT_NO_AUTOMOUNT 0x800
50#define AT_EMPTY_PATH 0x1000
Christopher Ferris525ce912017-07-26 13:12:53 -070051#define AT_STATX_SYNC_TYPE 0x6000
52#define AT_STATX_SYNC_AS_STAT 0x0000
53#define AT_STATX_FORCE_SYNC 0x2000
54#define AT_STATX_DONT_SYNC 0x4000
Christopher Ferrisaeddbcf2019-07-08 12:45:46 -070055#define AT_RECURSIVE 0x8000
Christopher Ferris8666d042023-09-06 14:55:31 -070056#define AT_HANDLE_FID AT_REMOVEDIR
Nick Kralevicha67e4de2013-01-14 11:28:26 -080057#endif