blob: 9f32f9fb14dcd1c03169a0636b7f8c13ba4ee478 [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)
Ben Cheng655a7c02013-10-16 16:09:24 -070015#define F_CANCELLK (F_LINUX_SPECIFIC_BASE + 5)
16#define F_DUPFD_CLOEXEC (F_LINUX_SPECIFIC_BASE + 6)
Ben Cheng655a7c02013-10-16 16:09:24 -070017#define F_SETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 7)
18#define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8)
Christopher Ferris82d75042015-01-26 10:57:07 -080019#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
20#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
Christopher Ferris82d75042015-01-26 10:57:07 -080021#define F_SEAL_SEAL 0x0001
22#define F_SEAL_SHRINK 0x0002
23#define F_SEAL_GROW 0x0004
24#define F_SEAL_WRITE 0x0008
Christopher Ferris24f97eb2019-05-20 12:58:13 -070025#define F_SEAL_FUTURE_WRITE 0x0010
Christopher Ferrisb7cef6d2023-05-09 19:04:15 +000026#define F_SEAL_EXEC 0x0020
Christopher Ferris1308ad32017-11-14 17:32:13 -080027#define F_GET_RW_HINT (F_LINUX_SPECIFIC_BASE + 11)
28#define F_SET_RW_HINT (F_LINUX_SPECIFIC_BASE + 12)
29#define F_GET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 13)
30#define F_SET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 14)
Christopher Ferrisd32ca142020-02-04 16:16:51 -080031#define RWH_WRITE_LIFE_NOT_SET 0
Christopher Ferris1308ad32017-11-14 17:32:13 -080032#define RWH_WRITE_LIFE_NONE 1
33#define RWH_WRITE_LIFE_SHORT 2
34#define RWH_WRITE_LIFE_MEDIUM 3
35#define RWH_WRITE_LIFE_LONG 4
36#define RWH_WRITE_LIFE_EXTREME 5
Christopher Ferrisd32ca142020-02-04 16:16:51 -080037#define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
Ben Cheng655a7c02013-10-16 16:09:24 -070038#define DN_ACCESS 0x00000001
39#define DN_MODIFY 0x00000002
Ben Cheng655a7c02013-10-16 16:09:24 -070040#define DN_CREATE 0x00000004
41#define DN_DELETE 0x00000008
42#define DN_RENAME 0x00000010
43#define DN_ATTRIB 0x00000020
Ben Cheng655a7c02013-10-16 16:09:24 -070044#define DN_MULTISHOT 0x80000000
Tao Baod7db5942015-01-28 10:07:51 -080045#define AT_FDCWD - 100
Ben Cheng655a7c02013-10-16 16:09:24 -070046#define AT_SYMLINK_NOFOLLOW 0x100
Christopher Ferris8177cdf2020-08-03 11:53:55 -070047#define AT_EACCESS 0x200
Ben Cheng655a7c02013-10-16 16:09:24 -070048#define AT_REMOVEDIR 0x200
Ben Cheng655a7c02013-10-16 16:09:24 -070049#define AT_SYMLINK_FOLLOW 0x400
50#define AT_NO_AUTOMOUNT 0x800
51#define AT_EMPTY_PATH 0x1000
Christopher Ferris525ce912017-07-26 13:12:53 -070052#define AT_STATX_SYNC_TYPE 0x6000
53#define AT_STATX_SYNC_AS_STAT 0x0000
54#define AT_STATX_FORCE_SYNC 0x2000
55#define AT_STATX_DONT_SYNC 0x4000
Christopher Ferrisaeddbcf2019-07-08 12:45:46 -070056#define AT_RECURSIVE 0x8000
Christopher Ferris8666d042023-09-06 14:55:31 -070057#define AT_HANDLE_FID AT_REMOVEDIR
Nick Kralevicha67e4de2013-01-14 11:28:26 -080058#endif