blob: 22ca65dc933f27921938a10cd9571ef0e3f70bff [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)
Christopher Ferris7ac54f52024-08-07 21:07:12 +000013#define F_NOTIFY (F_LINUX_SPECIFIC_BASE + 2)
14#define F_DUPFD_QUERY (F_LINUX_SPECIFIC_BASE + 3)
Christopher Ferris65552ba2024-11-20 17:55:06 +000015#define F_CREATED_QUERY (F_LINUX_SPECIFIC_BASE + 4)
Ben Cheng655a7c02013-10-16 16:09:24 -070016#define F_CANCELLK (F_LINUX_SPECIFIC_BASE + 5)
17#define F_DUPFD_CLOEXEC (F_LINUX_SPECIFIC_BASE + 6)
Ben Cheng655a7c02013-10-16 16:09:24 -070018#define F_SETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 7)
19#define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8)
Christopher Ferris82d75042015-01-26 10:57:07 -080020#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
21#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
Christopher Ferris82d75042015-01-26 10:57:07 -080022#define F_SEAL_SEAL 0x0001
23#define F_SEAL_SHRINK 0x0002
24#define F_SEAL_GROW 0x0004
25#define F_SEAL_WRITE 0x0008
Christopher Ferris24f97eb2019-05-20 12:58:13 -070026#define F_SEAL_FUTURE_WRITE 0x0010
Christopher Ferrisb7cef6d2023-05-09 19:04:15 +000027#define F_SEAL_EXEC 0x0020
Christopher Ferris1308ad32017-11-14 17:32:13 -080028#define F_GET_RW_HINT (F_LINUX_SPECIFIC_BASE + 11)
29#define F_SET_RW_HINT (F_LINUX_SPECIFIC_BASE + 12)
30#define F_GET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 13)
31#define F_SET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 14)
Christopher Ferrisd32ca142020-02-04 16:16:51 -080032#define RWH_WRITE_LIFE_NOT_SET 0
Christopher Ferris1308ad32017-11-14 17:32:13 -080033#define RWH_WRITE_LIFE_NONE 1
34#define RWH_WRITE_LIFE_SHORT 2
35#define RWH_WRITE_LIFE_MEDIUM 3
36#define RWH_WRITE_LIFE_LONG 4
37#define RWH_WRITE_LIFE_EXTREME 5
Christopher Ferrisd32ca142020-02-04 16:16:51 -080038#define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
Ben Cheng655a7c02013-10-16 16:09:24 -070039#define DN_ACCESS 0x00000001
40#define DN_MODIFY 0x00000002
Ben Cheng655a7c02013-10-16 16:09:24 -070041#define DN_CREATE 0x00000004
42#define DN_DELETE 0x00000008
43#define DN_RENAME 0x00000010
44#define DN_ATTRIB 0x00000020
Ben Cheng655a7c02013-10-16 16:09:24 -070045#define DN_MULTISHOT 0x80000000
Tao Baod7db5942015-01-28 10:07:51 -080046#define AT_FDCWD - 100
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define AT_SYMLINK_NOFOLLOW 0x100
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 Ferris65552ba2024-11-20 17:55:06 +000056#define AT_RENAME_NOREPLACE 0x0001
57#define AT_RENAME_EXCHANGE 0x0002
58#define AT_RENAME_WHITEOUT 0x0004
59#define AT_EACCESS 0x200
60#define AT_REMOVEDIR 0x200
61#define AT_HANDLE_FID 0x200
62#define AT_HANDLE_MNT_ID_UNIQUE 0x001
Nick Kralevicha67e4de2013-01-14 11:28:26 -080063#endif