1 /*
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  */
7 #ifndef _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H
8 #define _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H
9 #include <linux/ioctl.h>
10 #include <linux/types.h>
11 enum ssam_cdev_request_flags {
12   SSAM_CDEV_REQUEST_HAS_RESPONSE = 0x01,
13   SSAM_CDEV_REQUEST_UNSEQUENCED = 0x02,
14 };
15 struct ssam_cdev_request {
16   __u8 target_category;
17   __u8 target_id;
18   __u8 command_id;
19   __u8 instance_id;
20   __u16 flags;
21   __s16 status;
22   struct {
23     __u64 data;
24     __u16 length;
25     __u8 __pad[6];
26   } payload;
27   struct {
28     __u64 data;
29     __u16 length;
30     __u8 __pad[6];
31   } response;
32 } __attribute__((__packed__));
33 struct ssam_cdev_notifier_desc {
34   __s32 priority;
35   __u8 target_category;
36 } __attribute__((__packed__));
37 struct ssam_cdev_event_desc {
38   struct {
39     __u8 target_category;
40     __u8 target_id;
41     __u8 cid_enable;
42     __u8 cid_disable;
43   } reg;
44   struct {
45     __u8 target_category;
46     __u8 instance;
47   } id;
48   __u8 flags;
49 } __attribute__((__packed__));
50 struct ssam_cdev_event {
51   __u8 target_category;
52   __u8 target_id;
53   __u8 command_id;
54   __u8 instance_id;
55   __u16 length;
56   __u8 data[];
57 } __attribute__((__packed__));
58 #define SSAM_CDEV_REQUEST _IOWR(0xA5, 1, struct ssam_cdev_request)
59 #define SSAM_CDEV_NOTIF_REGISTER _IOW(0xA5, 2, struct ssam_cdev_notifier_desc)
60 #define SSAM_CDEV_NOTIF_UNREGISTER _IOW(0xA5, 3, struct ssam_cdev_notifier_desc)
61 #define SSAM_CDEV_EVENT_ENABLE _IOW(0xA5, 4, struct ssam_cdev_event_desc)
62 #define SSAM_CDEV_EVENT_DISABLE _IOW(0xA5, 5, struct ssam_cdev_event_desc)
63 #endif
64