xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/user_events.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_USER_EVENTS_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_USER_EVENTS_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/ioctl.h>
11*8d67ca89SAndroid Build Coastguard Worker #define USER_EVENTS_SYSTEM "user_events"
12*8d67ca89SAndroid Build Coastguard Worker #define USER_EVENTS_MULTI_SYSTEM "user_events_multi"
13*8d67ca89SAndroid Build Coastguard Worker #define USER_EVENTS_PREFIX "u:"
14*8d67ca89SAndroid Build Coastguard Worker #define DYN_LOC(offset,size) ((size) << 16 | (offset))
15*8d67ca89SAndroid Build Coastguard Worker enum user_reg_flag {
16*8d67ca89SAndroid Build Coastguard Worker   USER_EVENT_REG_PERSIST = 1U << 0,
17*8d67ca89SAndroid Build Coastguard Worker   USER_EVENT_REG_MULTI_FORMAT = 1U << 1,
18*8d67ca89SAndroid Build Coastguard Worker   USER_EVENT_REG_MAX = 1U << 2,
19*8d67ca89SAndroid Build Coastguard Worker };
20*8d67ca89SAndroid Build Coastguard Worker struct user_reg {
21*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
22*8d67ca89SAndroid Build Coastguard Worker   __u8 enable_bit;
23*8d67ca89SAndroid Build Coastguard Worker   __u8 enable_size;
24*8d67ca89SAndroid Build Coastguard Worker   __u16 flags;
25*8d67ca89SAndroid Build Coastguard Worker   __u64 enable_addr;
26*8d67ca89SAndroid Build Coastguard Worker   __u64 name_args;
27*8d67ca89SAndroid Build Coastguard Worker   __u32 write_index;
28*8d67ca89SAndroid Build Coastguard Worker } __attribute__((__packed__));
29*8d67ca89SAndroid Build Coastguard Worker struct user_unreg {
30*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
31*8d67ca89SAndroid Build Coastguard Worker   __u8 disable_bit;
32*8d67ca89SAndroid Build Coastguard Worker   __u8 __reserved;
33*8d67ca89SAndroid Build Coastguard Worker   __u16 __reserved2;
34*8d67ca89SAndroid Build Coastguard Worker   __u64 disable_addr;
35*8d67ca89SAndroid Build Coastguard Worker } __attribute__((__packed__));
36*8d67ca89SAndroid Build Coastguard Worker #define DIAG_IOC_MAGIC '*'
37*8d67ca89SAndroid Build Coastguard Worker #define DIAG_IOCSREG _IOWR(DIAG_IOC_MAGIC, 0, struct user_reg *)
38*8d67ca89SAndroid Build Coastguard Worker #define DIAG_IOCSDEL _IOW(DIAG_IOC_MAGIC, 1, char *)
39*8d67ca89SAndroid Build Coastguard Worker #define DIAG_IOCSUNREG _IOW(DIAG_IOC_MAGIC, 2, struct user_unreg *)
40*8d67ca89SAndroid Build Coastguard Worker #endif
41