blob: 7ac0dd1caf0bef744ef6d7b3dc407b8e214d2e69 [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 _UAPICN_PROC_H
8#define _UAPICN_PROC_H
9#include <linux/types.h>
10enum proc_cn_mcast_op {
Tao Baod7db5942015-01-28 10:07:51 -080011 PROC_CN_MCAST_LISTEN = 1,
12 PROC_CN_MCAST_IGNORE = 2
Ben Cheng655a7c02013-10-16 16:09:24 -070013};
Christopher Ferris67d1e5e2023-10-31 13:36:37 -070014#define PROC_EVENT_ALL (PROC_EVENT_FORK | PROC_EVENT_EXEC | PROC_EVENT_UID | PROC_EVENT_GID | PROC_EVENT_SID | PROC_EVENT_PTRACE | PROC_EVENT_COMM | PROC_EVENT_NONZERO_EXIT | PROC_EVENT_COREDUMP | PROC_EVENT_EXIT)
15enum proc_cn_event {
16 PROC_EVENT_NONE = 0x00000000,
17 PROC_EVENT_FORK = 0x00000001,
18 PROC_EVENT_EXEC = 0x00000002,
19 PROC_EVENT_UID = 0x00000004,
20 PROC_EVENT_GID = 0x00000040,
21 PROC_EVENT_SID = 0x00000080,
22 PROC_EVENT_PTRACE = 0x00000100,
23 PROC_EVENT_COMM = 0x00000200,
24 PROC_EVENT_NONZERO_EXIT = 0x20000000,
25 PROC_EVENT_COREDUMP = 0x40000000,
26 PROC_EVENT_EXIT = 0x80000000
27};
28struct proc_input {
29 enum proc_cn_mcast_op mcast_op;
30 enum proc_cn_event event_type;
31};
Ben Cheng655a7c02013-10-16 16:09:24 -070032struct proc_event {
Christopher Ferris67d1e5e2023-10-31 13:36:37 -070033 enum proc_cn_event what;
Tao Baod7db5942015-01-28 10:07:51 -080034 __u32 cpu;
35 __u64 __attribute__((aligned(8))) timestamp_ns;
36 union {
37 struct {
Tao Baod7db5942015-01-28 10:07:51 -080038 __u32 err;
39 } ack;
40 struct fork_proc_event {
41 __kernel_pid_t parent_pid;
Tao Baod7db5942015-01-28 10:07:51 -080042 __kernel_pid_t parent_tgid;
43 __kernel_pid_t child_pid;
44 __kernel_pid_t child_tgid;
45 } fork;
Tao Baod7db5942015-01-28 10:07:51 -080046 struct exec_proc_event {
47 __kernel_pid_t process_pid;
48 __kernel_pid_t process_tgid;
49 } exec;
Tao Baod7db5942015-01-28 10:07:51 -080050 struct id_proc_event {
51 __kernel_pid_t process_pid;
52 __kernel_pid_t process_tgid;
53 union {
Tao Baod7db5942015-01-28 10:07:51 -080054 __u32 ruid;
55 __u32 rgid;
56 } r;
57 union {
Tao Baod7db5942015-01-28 10:07:51 -080058 __u32 euid;
59 __u32 egid;
60 } e;
61 } id;
Tao Baod7db5942015-01-28 10:07:51 -080062 struct sid_proc_event {
63 __kernel_pid_t process_pid;
64 __kernel_pid_t process_tgid;
65 } sid;
Tao Baod7db5942015-01-28 10:07:51 -080066 struct ptrace_proc_event {
67 __kernel_pid_t process_pid;
68 __kernel_pid_t process_tgid;
69 __kernel_pid_t tracer_pid;
Tao Baod7db5942015-01-28 10:07:51 -080070 __kernel_pid_t tracer_tgid;
71 } ptrace;
72 struct comm_proc_event {
73 __kernel_pid_t process_pid;
Tao Baod7db5942015-01-28 10:07:51 -080074 __kernel_pid_t process_tgid;
75 char comm[16];
76 } comm;
77 struct coredump_proc_event {
Tao Baod7db5942015-01-28 10:07:51 -080078 __kernel_pid_t process_pid;
79 __kernel_pid_t process_tgid;
Christopher Ferrisa981e2e2018-10-25 12:11:39 -070080 __kernel_pid_t parent_pid;
81 __kernel_pid_t parent_tgid;
Tao Baod7db5942015-01-28 10:07:51 -080082 } coredump;
83 struct exit_proc_event {
Tao Baod7db5942015-01-28 10:07:51 -080084 __kernel_pid_t process_pid;
85 __kernel_pid_t process_tgid;
86 __u32 exit_code, exit_signal;
Christopher Ferrisa981e2e2018-10-25 12:11:39 -070087 __kernel_pid_t parent_pid;
88 __kernel_pid_t parent_tgid;
Tao Baod7db5942015-01-28 10:07:51 -080089 } exit;
Tao Baod7db5942015-01-28 10:07:51 -080090 } event_data;
Ben Cheng655a7c02013-10-16 16:09:24 -070091};
92#endif