Home | History | Annotate | Download | only in linux
      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 _UAPICN_PROC_H
     20 #define _UAPICN_PROC_H
     21 #include <linux/types.h>
     22 enum proc_cn_mcast_op {
     23   PROC_CN_MCAST_LISTEN = 1,
     24   PROC_CN_MCAST_IGNORE = 2
     25 };
     26 struct proc_event {
     27   enum what {
     28     PROC_EVENT_NONE = 0x00000000,
     29     PROC_EVENT_FORK = 0x00000001,
     30     PROC_EVENT_EXEC = 0x00000002,
     31     PROC_EVENT_UID = 0x00000004,
     32     PROC_EVENT_GID = 0x00000040,
     33     PROC_EVENT_SID = 0x00000080,
     34     PROC_EVENT_PTRACE = 0x00000100,
     35     PROC_EVENT_COMM = 0x00000200,
     36     PROC_EVENT_COREDUMP = 0x40000000,
     37     PROC_EVENT_EXIT = 0x80000000
     38   } what;
     39   __u32 cpu;
     40   __u64 __attribute__((aligned(8))) timestamp_ns;
     41   union {
     42     struct {
     43       __u32 err;
     44     } ack;
     45     struct fork_proc_event {
     46       __kernel_pid_t parent_pid;
     47       __kernel_pid_t parent_tgid;
     48       __kernel_pid_t child_pid;
     49       __kernel_pid_t child_tgid;
     50     } fork;
     51     struct exec_proc_event {
     52       __kernel_pid_t process_pid;
     53       __kernel_pid_t process_tgid;
     54     } exec;
     55     struct id_proc_event {
     56       __kernel_pid_t process_pid;
     57       __kernel_pid_t process_tgid;
     58       union {
     59         __u32 ruid;
     60         __u32 rgid;
     61       } r;
     62       union {
     63         __u32 euid;
     64         __u32 egid;
     65       } e;
     66     } id;
     67     struct sid_proc_event {
     68       __kernel_pid_t process_pid;
     69       __kernel_pid_t process_tgid;
     70     } sid;
     71     struct ptrace_proc_event {
     72       __kernel_pid_t process_pid;
     73       __kernel_pid_t process_tgid;
     74       __kernel_pid_t tracer_pid;
     75       __kernel_pid_t tracer_tgid;
     76     } ptrace;
     77     struct comm_proc_event {
     78       __kernel_pid_t process_pid;
     79       __kernel_pid_t process_tgid;
     80       char comm[16];
     81     } comm;
     82     struct coredump_proc_event {
     83       __kernel_pid_t process_pid;
     84       __kernel_pid_t process_tgid;
     85     } coredump;
     86     struct exit_proc_event {
     87       __kernel_pid_t process_pid;
     88       __kernel_pid_t process_tgid;
     89       __u32 exit_code, exit_signal;
     90     } exit;
     91   } event_data;
     92 };
     93 #endif
     94