1/****************************************************************************
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 ****************************************************************************/
19#ifndef _UAPI_LINUX_SECUREBITS_H
20#define _UAPI_LINUX_SECUREBITS_H
21#define issecure_mask(X) (1 << (X))
22#define SECUREBITS_DEFAULT 0x00000000
23#define SECURE_NOROOT 0
24#define SECURE_NOROOT_LOCKED 1
25#define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT))
26#define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED))
27#define SECURE_NO_SETUID_FIXUP 2
28#define SECURE_NO_SETUID_FIXUP_LOCKED 3
29#define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP))
30#define SECBIT_NO_SETUID_FIXUP_LOCKED (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED))
31#define SECURE_KEEP_CAPS 4
32#define SECURE_KEEP_CAPS_LOCKED 5
33#define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS))
34#define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED))
35#define SECURE_NO_CAP_AMBIENT_RAISE 6
36#define SECURE_NO_CAP_AMBIENT_RAISE_LOCKED 7
37#define SECBIT_NO_CAP_AMBIENT_RAISE (issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE))
38#define SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED (issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE_LOCKED))
39#define SECURE_ALL_BITS (issecure_mask(SECURE_NOROOT) | issecure_mask(SECURE_NO_SETUID_FIXUP) | issecure_mask(SECURE_KEEP_CAPS) | issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE))
40#define SECURE_ALL_LOCKS (SECURE_ALL_BITS << 1)
41#endif
42