| /**************************************************************************** | |
| **************************************************************************** | |
| *** | |
| *** This header was automatically generated from a Linux kernel header | |
| *** of the same name, to make information necessary for userspace to | |
| *** call into the kernel available to libc. It contains only constants, | |
| *** structures, and macros generated from the original header, and thus, | |
| *** contains no copyrightable information. | |
| *** | |
| *** To edit the content of this header, modify the corresponding | |
| *** source file (e.g. under external/kernel-headers/original/) then | |
| *** run bionic/libc/kernel/tools/update_all.py | |
| *** | |
| *** Any manual change here will be lost the next time this script will | |
| *** be run. You've been warned! | |
| *** | |
| **************************************************************************** | |
| ****************************************************************************/ | |
| #ifndef _UAPICN_PROC_H | |
| #define _UAPICN_PROC_H | |
| #include <linux/types.h> | |
| enum proc_cn_mcast_op { | |
| PROC_CN_MCAST_LISTEN = 1, | |
| PROC_CN_MCAST_IGNORE = 2 | |
| }; | |
| struct proc_event { | |
| enum what { | |
| PROC_EVENT_NONE = 0x00000000, | |
| PROC_EVENT_FORK = 0x00000001, | |
| PROC_EVENT_EXEC = 0x00000002, | |
| PROC_EVENT_UID = 0x00000004, | |
| PROC_EVENT_GID = 0x00000040, | |
| PROC_EVENT_SID = 0x00000080, | |
| PROC_EVENT_PTRACE = 0x00000100, | |
| PROC_EVENT_COMM = 0x00000200, | |
| PROC_EVENT_COREDUMP = 0x40000000, | |
| PROC_EVENT_EXIT = 0x80000000 | |
| } what; | |
| __u32 cpu; | |
| __u64 __attribute__((aligned(8))) timestamp_ns; | |
| union { | |
| struct { | |
| __u32 err; | |
| } ack; | |
| struct fork_proc_event { | |
| __kernel_pid_t parent_pid; | |
| __kernel_pid_t parent_tgid; | |
| __kernel_pid_t child_pid; | |
| __kernel_pid_t child_tgid; | |
| } fork; | |
| struct exec_proc_event { | |
| __kernel_pid_t process_pid; | |
| __kernel_pid_t process_tgid; | |
| } exec; | |
| struct id_proc_event { | |
| __kernel_pid_t process_pid; | |
| __kernel_pid_t process_tgid; | |
| union { | |
| __u32 ruid; | |
| __u32 rgid; | |
| } r; | |
| union { | |
| __u32 euid; | |
| __u32 egid; | |
| } e; | |
| } id; | |
| struct sid_proc_event { | |
| __kernel_pid_t process_pid; | |
| __kernel_pid_t process_tgid; | |
| } sid; | |
| struct ptrace_proc_event { | |
| __kernel_pid_t process_pid; | |
| __kernel_pid_t process_tgid; | |
| __kernel_pid_t tracer_pid; | |
| __kernel_pid_t tracer_tgid; | |
| } ptrace; | |
| struct comm_proc_event { | |
| __kernel_pid_t process_pid; | |
| __kernel_pid_t process_tgid; | |
| char comm[16]; | |
| } comm; | |
| struct coredump_proc_event { | |
| __kernel_pid_t process_pid; | |
| __kernel_pid_t process_tgid; | |
| __kernel_pid_t parent_pid; | |
| __kernel_pid_t parent_tgid; | |
| } coredump; | |
| struct exit_proc_event { | |
| __kernel_pid_t process_pid; | |
| __kernel_pid_t process_tgid; | |
| __u32 exit_code, exit_signal; | |
| __kernel_pid_t parent_pid; | |
| __kernel_pid_t parent_tgid; | |
| } exit; | |
| } event_data; | |
| }; | |
| #endif |