1*cda5da8dSAndroid Build Coastguard Worker /* 2*cda5da8dSAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*cda5da8dSAndroid Build Coastguard Worker * 4*cda5da8dSAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*cda5da8dSAndroid Build Coastguard Worker * for more information. 6*cda5da8dSAndroid Build Coastguard Worker */ 7*cda5da8dSAndroid Build Coastguard Worker #ifndef __LINUX_PUBLIC_GNTDEV_H__ 8*cda5da8dSAndroid Build Coastguard Worker #define __LINUX_PUBLIC_GNTDEV_H__ 9*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h> 10*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_grant_ref { 11*cda5da8dSAndroid Build Coastguard Worker __u32 domid; 12*cda5da8dSAndroid Build Coastguard Worker __u32 ref; 13*cda5da8dSAndroid Build Coastguard Worker }; 14*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_MAP_GRANT_REF _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref)) 15*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_map_grant_ref { 16*cda5da8dSAndroid Build Coastguard Worker __u32 count; 17*cda5da8dSAndroid Build Coastguard Worker __u32 pad; 18*cda5da8dSAndroid Build Coastguard Worker __u64 index; 19*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_grant_ref refs[1]; 20*cda5da8dSAndroid Build Coastguard Worker }; 21*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_UNMAP_GRANT_REF _IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref)) 22*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_unmap_grant_ref { 23*cda5da8dSAndroid Build Coastguard Worker __u64 index; 24*cda5da8dSAndroid Build Coastguard Worker __u32 count; 25*cda5da8dSAndroid Build Coastguard Worker __u32 pad; 26*cda5da8dSAndroid Build Coastguard Worker }; 27*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR _IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr)) 28*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_get_offset_for_vaddr { 29*cda5da8dSAndroid Build Coastguard Worker __u64 vaddr; 30*cda5da8dSAndroid Build Coastguard Worker __u64 offset; 31*cda5da8dSAndroid Build Coastguard Worker __u32 count; 32*cda5da8dSAndroid Build Coastguard Worker __u32 pad; 33*cda5da8dSAndroid Build Coastguard Worker }; 34*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_SET_MAX_GRANTS _IOC(_IOC_NONE, 'G', 3, sizeof(struct ioctl_gntdev_set_max_grants)) 35*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_set_max_grants { 36*cda5da8dSAndroid Build Coastguard Worker __u32 count; 37*cda5da8dSAndroid Build Coastguard Worker }; 38*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_SET_UNMAP_NOTIFY _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntdev_unmap_notify)) 39*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_unmap_notify { 40*cda5da8dSAndroid Build Coastguard Worker __u64 index; 41*cda5da8dSAndroid Build Coastguard Worker __u32 action; 42*cda5da8dSAndroid Build Coastguard Worker __u32 event_channel_port; 43*cda5da8dSAndroid Build Coastguard Worker }; 44*cda5da8dSAndroid Build Coastguard Worker struct gntdev_grant_copy_segment { 45*cda5da8dSAndroid Build Coastguard Worker union { 46*cda5da8dSAndroid Build Coastguard Worker void * virt; 47*cda5da8dSAndroid Build Coastguard Worker struct { 48*cda5da8dSAndroid Build Coastguard Worker grant_ref_t ref; 49*cda5da8dSAndroid Build Coastguard Worker __u16 offset; 50*cda5da8dSAndroid Build Coastguard Worker domid_t domid; 51*cda5da8dSAndroid Build Coastguard Worker } foreign; 52*cda5da8dSAndroid Build Coastguard Worker } source, dest; 53*cda5da8dSAndroid Build Coastguard Worker __u16 len; 54*cda5da8dSAndroid Build Coastguard Worker __u16 flags; 55*cda5da8dSAndroid Build Coastguard Worker __s16 status; 56*cda5da8dSAndroid Build Coastguard Worker }; 57*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_GRANT_COPY _IOC(_IOC_NONE, 'G', 8, sizeof(struct ioctl_gntdev_grant_copy)) 58*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_grant_copy { 59*cda5da8dSAndroid Build Coastguard Worker unsigned int count; 60*cda5da8dSAndroid Build Coastguard Worker struct gntdev_grant_copy_segment * segments; 61*cda5da8dSAndroid Build Coastguard Worker }; 62*cda5da8dSAndroid Build Coastguard Worker #define UNMAP_NOTIFY_CLEAR_BYTE 0x1 63*cda5da8dSAndroid Build Coastguard Worker #define UNMAP_NOTIFY_SEND_EVENT 0x2 64*cda5da8dSAndroid Build Coastguard Worker #define GNTDEV_DMA_FLAG_WC (1 << 0) 65*cda5da8dSAndroid Build Coastguard Worker #define GNTDEV_DMA_FLAG_COHERENT (1 << 1) 66*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_EXP_FROM_REFS _IOC(_IOC_NONE, 'G', 9, sizeof(struct ioctl_gntdev_dmabuf_exp_from_refs)) 67*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_exp_from_refs { 68*cda5da8dSAndroid Build Coastguard Worker __u32 flags; 69*cda5da8dSAndroid Build Coastguard Worker __u32 count; 70*cda5da8dSAndroid Build Coastguard Worker __u32 fd; 71*cda5da8dSAndroid Build Coastguard Worker __u32 domid; 72*cda5da8dSAndroid Build Coastguard Worker __u32 refs[1]; 73*cda5da8dSAndroid Build Coastguard Worker }; 74*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_EXP_WAIT_RELEASED _IOC(_IOC_NONE, 'G', 10, sizeof(struct ioctl_gntdev_dmabuf_exp_wait_released)) 75*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_exp_wait_released { 76*cda5da8dSAndroid Build Coastguard Worker __u32 fd; 77*cda5da8dSAndroid Build Coastguard Worker __u32 wait_to_ms; 78*cda5da8dSAndroid Build Coastguard Worker }; 79*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_IMP_TO_REFS _IOC(_IOC_NONE, 'G', 11, sizeof(struct ioctl_gntdev_dmabuf_imp_to_refs)) 80*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_imp_to_refs { 81*cda5da8dSAndroid Build Coastguard Worker __u32 fd; 82*cda5da8dSAndroid Build Coastguard Worker __u32 count; 83*cda5da8dSAndroid Build Coastguard Worker __u32 domid; 84*cda5da8dSAndroid Build Coastguard Worker __u32 reserved; 85*cda5da8dSAndroid Build Coastguard Worker __u32 refs[1]; 86*cda5da8dSAndroid Build Coastguard Worker }; 87*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_IMP_RELEASE _IOC(_IOC_NONE, 'G', 12, sizeof(struct ioctl_gntdev_dmabuf_imp_release)) 88*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_imp_release { 89*cda5da8dSAndroid Build Coastguard Worker __u32 fd; 90*cda5da8dSAndroid Build Coastguard Worker __u32 reserved; 91*cda5da8dSAndroid Build Coastguard Worker }; 92*cda5da8dSAndroid Build Coastguard Worker #endif 93