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