blob: 55098f54c9880c98a060e25284a3a5ba1214729b [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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 _LINUX_PRCTL_H
20#define _LINUX_PRCTL_H
Christopher Ferris82d75042015-01-26 10:57:07 -080021#include <linux/types.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070022#define PR_SET_PDEATHSIG 1
Christopher Ferris82d75042015-01-26 10:57:07 -080023#define PR_GET_PDEATHSIG 2
Ben Cheng655a7c02013-10-16 16:09:24 -070024#define PR_GET_DUMPABLE 3
25#define PR_SET_DUMPABLE 4
26#define PR_GET_UNALIGN 5
Christopher Ferris82d75042015-01-26 10:57:07 -080027#define PR_SET_UNALIGN 6
Ben Cheng655a7c02013-10-16 16:09:24 -070028#define PR_UNALIGN_NOPRINT 1
29#define PR_UNALIGN_SIGBUS 2
30#define PR_GET_KEEPCAPS 7
Christopher Ferris82d75042015-01-26 10:57:07 -080031#define PR_SET_KEEPCAPS 8
Ben Cheng655a7c02013-10-16 16:09:24 -070032#define PR_GET_FPEMU 9
33#define PR_SET_FPEMU 10
34#define PR_FPEMU_NOPRINT 1
Christopher Ferris82d75042015-01-26 10:57:07 -080035#define PR_FPEMU_SIGFPE 2
Ben Cheng655a7c02013-10-16 16:09:24 -070036#define PR_GET_FPEXC 11
37#define PR_SET_FPEXC 12
38#define PR_FP_EXC_SW_ENABLE 0x80
Christopher Ferris82d75042015-01-26 10:57:07 -080039#define PR_FP_EXC_DIV 0x010000
Ben Cheng655a7c02013-10-16 16:09:24 -070040#define PR_FP_EXC_OVF 0x020000
41#define PR_FP_EXC_UND 0x040000
42#define PR_FP_EXC_RES 0x080000
Christopher Ferris82d75042015-01-26 10:57:07 -080043#define PR_FP_EXC_INV 0x100000
Ben Cheng655a7c02013-10-16 16:09:24 -070044#define PR_FP_EXC_DISABLED 0
45#define PR_FP_EXC_NONRECOV 1
46#define PR_FP_EXC_ASYNC 2
Christopher Ferris82d75042015-01-26 10:57:07 -080047#define PR_FP_EXC_PRECISE 3
Ben Cheng655a7c02013-10-16 16:09:24 -070048#define PR_GET_TIMING 13
49#define PR_SET_TIMING 14
50#define PR_TIMING_STATISTICAL 0
Christopher Ferris82d75042015-01-26 10:57:07 -080051#define PR_TIMING_TIMESTAMP 1
Ben Cheng655a7c02013-10-16 16:09:24 -070052#define PR_SET_NAME 15
53#define PR_GET_NAME 16
54#define PR_GET_ENDIAN 19
Christopher Ferris82d75042015-01-26 10:57:07 -080055#define PR_SET_ENDIAN 20
Ben Cheng655a7c02013-10-16 16:09:24 -070056#define PR_ENDIAN_BIG 0
57#define PR_ENDIAN_LITTLE 1
58#define PR_ENDIAN_PPC_LITTLE 2
Christopher Ferris82d75042015-01-26 10:57:07 -080059#define PR_GET_SECCOMP 21
Ben Cheng655a7c02013-10-16 16:09:24 -070060#define PR_SET_SECCOMP 22
61#define PR_CAPBSET_READ 23
62#define PR_CAPBSET_DROP 24
Christopher Ferris82d75042015-01-26 10:57:07 -080063#define PR_GET_TSC 25
Ben Cheng655a7c02013-10-16 16:09:24 -070064#define PR_SET_TSC 26
65#define PR_TSC_ENABLE 1
66#define PR_TSC_SIGSEGV 2
Christopher Ferris82d75042015-01-26 10:57:07 -080067#define PR_GET_SECUREBITS 27
Ben Cheng655a7c02013-10-16 16:09:24 -070068#define PR_SET_SECUREBITS 28
69#define PR_SET_TIMERSLACK 29
70#define PR_GET_TIMERSLACK 30
Christopher Ferris82d75042015-01-26 10:57:07 -080071#define PR_TASK_PERF_EVENTS_DISABLE 31
Ben Cheng655a7c02013-10-16 16:09:24 -070072#define PR_TASK_PERF_EVENTS_ENABLE 32
73#define PR_MCE_KILL 33
74#define PR_MCE_KILL_CLEAR 0
Christopher Ferris82d75042015-01-26 10:57:07 -080075#define PR_MCE_KILL_SET 1
Ben Cheng655a7c02013-10-16 16:09:24 -070076#define PR_MCE_KILL_LATE 0
77#define PR_MCE_KILL_EARLY 1
78#define PR_MCE_KILL_DEFAULT 2
Christopher Ferris82d75042015-01-26 10:57:07 -080079#define PR_MCE_KILL_GET 34
Ben Cheng655a7c02013-10-16 16:09:24 -070080#define PR_SET_MM 35
81#define PR_SET_MM_START_CODE 1
82#define PR_SET_MM_END_CODE 2
Christopher Ferris82d75042015-01-26 10:57:07 -080083#define PR_SET_MM_START_DATA 3
Ben Cheng655a7c02013-10-16 16:09:24 -070084#define PR_SET_MM_END_DATA 4
85#define PR_SET_MM_START_STACK 5
86#define PR_SET_MM_START_BRK 6
Christopher Ferris82d75042015-01-26 10:57:07 -080087#define PR_SET_MM_BRK 7
Ben Cheng655a7c02013-10-16 16:09:24 -070088#define PR_SET_MM_ARG_START 8
89#define PR_SET_MM_ARG_END 9
90#define PR_SET_MM_ENV_START 10
Christopher Ferris82d75042015-01-26 10:57:07 -080091#define PR_SET_MM_ENV_END 11
Ben Cheng655a7c02013-10-16 16:09:24 -070092#define PR_SET_MM_AUXV 12
93#define PR_SET_MM_EXE_FILE 13
Christopher Ferris82d75042015-01-26 10:57:07 -080094#define PR_SET_MM_MAP 14
Christopher Ferris82d75042015-01-26 10:57:07 -080095#define PR_SET_MM_MAP_SIZE 15
96struct prctl_mm_map {
Tao Baod7db5942015-01-28 10:07:51 -080097 __u64 start_code;
98 __u64 end_code;
Tao Baod7db5942015-01-28 10:07:51 -080099 __u64 start_data;
100 __u64 end_data;
101 __u64 start_brk;
102 __u64 brk;
Tao Baod7db5942015-01-28 10:07:51 -0800103 __u64 start_stack;
104 __u64 arg_start;
105 __u64 arg_end;
106 __u64 env_start;
Tao Baod7db5942015-01-28 10:07:51 -0800107 __u64 env_end;
108 __u64 * auxv;
109 __u32 auxv_size;
110 __u32 exe_fd;
Christopher Ferris82d75042015-01-26 10:57:07 -0800111};
Ben Cheng655a7c02013-10-16 16:09:24 -0700112#define PR_SET_PTRACER 0x59616d61
Tao Baod7db5942015-01-28 10:07:51 -0800113#define PR_SET_PTRACER_ANY ((unsigned long) - 1)
Ben Cheng655a7c02013-10-16 16:09:24 -0700114#define PR_SET_CHILD_SUBREAPER 36
115#define PR_GET_CHILD_SUBREAPER 37
116#define PR_SET_NO_NEW_PRIVS 38
117#define PR_GET_NO_NEW_PRIVS 39
Ben Cheng655a7c02013-10-16 16:09:24 -0700118#define PR_GET_TID_ADDRESS 40
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700119#define PR_SET_THP_DISABLE 41
120#define PR_GET_THP_DISABLE 42
Christopher Ferris05d08e92016-02-04 13:16:38 -0800121#define PR_MPX_ENABLE_MANAGEMENT 43
122#define PR_MPX_DISABLE_MANAGEMENT 44
Christopher Ferris05d08e92016-02-04 13:16:38 -0800123#define PR_SET_FP_MODE 45
124#define PR_GET_FP_MODE 46
125#define PR_FP_MODE_FR (1 << 0)
126#define PR_FP_MODE_FRE (1 << 1)
Christopher Ferris05d08e92016-02-04 13:16:38 -0800127#define PR_CAP_AMBIENT 47
128#define PR_CAP_AMBIENT_IS_SET 1
129#define PR_CAP_AMBIENT_RAISE 2
130#define PR_CAP_AMBIENT_LOWER 3
Christopher Ferris05d08e92016-02-04 13:16:38 -0800131#define PR_CAP_AMBIENT_CLEAR_ALL 4
Christopher Ferris934ec942018-01-31 15:29:16 -0800132#define PR_SVE_SET_VL 50
133#define PR_SVE_SET_VL_ONEXEC (1 << 18)
134#define PR_SVE_GET_VL 51
135#define PR_SVE_VL_LEN_MASK 0xffff
136#define PR_SVE_VL_INHERIT (1 << 17)
Ruchi Kandoib84926b2014-04-22 19:00:45 -0700137#endif