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 __QCOM_FASTRPC_H__ 8*8d67ca89SAndroid Build Coastguard Worker #define __QCOM_FASTRPC_H__ 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_ALLOC_DMA_BUFF _IOWR('R', 1, struct fastrpc_alloc_dma_buf) 11*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_FREE_DMA_BUFF _IOWR('R', 2, __u32) 12*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_INVOKE _IOWR('R', 3, struct fastrpc_invoke) 13*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_INIT_ATTACH _IO('R', 4) 14*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_INIT_CREATE _IOWR('R', 5, struct fastrpc_init_create) 15*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_MMAP _IOWR('R', 6, struct fastrpc_req_mmap) 16*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_MUNMAP _IOWR('R', 7, struct fastrpc_req_munmap) 17*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_INIT_ATTACH_SNS _IO('R', 8) 18*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_INIT_CREATE_STATIC _IOWR('R', 9, struct fastrpc_init_create_static) 19*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_MEM_MAP _IOWR('R', 10, struct fastrpc_mem_map) 20*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_MEM_UNMAP _IOWR('R', 11, struct fastrpc_mem_unmap) 21*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_IOCTL_GET_DSP_INFO _IOWR('R', 13, struct fastrpc_ioctl_capability) 22*8d67ca89SAndroid Build Coastguard Worker enum fastrpc_map_flags { 23*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MAP_STATIC = 0, 24*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MAP_RESERVED, 25*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MAP_FD = 2, 26*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MAP_FD_DELAYED, 27*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MAP_FD_NOMAP = 16, 28*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MAP_MAX, 29*8d67ca89SAndroid Build Coastguard Worker }; 30*8d67ca89SAndroid Build Coastguard Worker enum fastrpc_proc_attr { 31*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MODE_DEBUG = (1 << 0), 32*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MODE_PTRACE = (1 << 1), 33*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MODE_CRC = (1 << 2), 34*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MODE_UNSIGNED_MODULE = (1 << 3), 35*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MODE_ADAPTIVE_QOS = (1 << 4), 36*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MODE_SYSTEM_PROCESS = (1 << 5), 37*8d67ca89SAndroid Build Coastguard Worker FASTRPC_MODE_PRIVILEGED = (1 << 6), 38*8d67ca89SAndroid Build Coastguard Worker }; 39*8d67ca89SAndroid Build Coastguard Worker #define FASTRPC_ATTR_SECUREMAP (1) 40*8d67ca89SAndroid Build Coastguard Worker struct fastrpc_invoke_args { 41*8d67ca89SAndroid Build Coastguard Worker __u64 ptr; 42*8d67ca89SAndroid Build Coastguard Worker __u64 length; 43*8d67ca89SAndroid Build Coastguard Worker __s32 fd; 44*8d67ca89SAndroid Build Coastguard Worker __u32 attr; 45*8d67ca89SAndroid Build Coastguard Worker }; 46*8d67ca89SAndroid Build Coastguard Worker struct fastrpc_invoke { 47*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 48*8d67ca89SAndroid Build Coastguard Worker __u32 sc; 49*8d67ca89SAndroid Build Coastguard Worker __u64 args; 50*8d67ca89SAndroid Build Coastguard Worker }; 51*8d67ca89SAndroid Build Coastguard Worker struct fastrpc_init_create { 52*8d67ca89SAndroid Build Coastguard Worker __u32 filelen; 53*8d67ca89SAndroid Build Coastguard Worker __s32 filefd; 54*8d67ca89SAndroid Build Coastguard Worker __u32 attrs; 55*8d67ca89SAndroid Build Coastguard Worker __u32 siglen; 56*8d67ca89SAndroid Build Coastguard Worker __u64 file; 57*8d67ca89SAndroid Build Coastguard Worker }; 58*8d67ca89SAndroid Build Coastguard Worker struct fastrpc_init_create_static { 59*8d67ca89SAndroid Build Coastguard Worker __u32 namelen; 60*8d67ca89SAndroid Build Coastguard Worker __u32 memlen; 61*8d67ca89SAndroid Build Coastguard Worker __u64 name; 62*8d67ca89SAndroid Build Coastguard Worker }; 63*8d67ca89SAndroid Build Coastguard Worker struct fastrpc_alloc_dma_buf { 64*8d67ca89SAndroid Build Coastguard Worker __s32 fd; 65*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 66*8d67ca89SAndroid Build Coastguard Worker __u64 size; 67*8d67ca89SAndroid Build Coastguard Worker }; 68*8d67ca89SAndroid Build Coastguard Worker struct fastrpc_req_mmap { 69*8d67ca89SAndroid Build Coastguard Worker __s32 fd; 70*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 71*8d67ca89SAndroid Build Coastguard Worker __u64 vaddrin; 72*8d67ca89SAndroid Build Coastguard Worker __u64 size; 73*8d67ca89SAndroid Build Coastguard Worker __u64 vaddrout; 74*8d67ca89SAndroid Build Coastguard Worker }; 75*8d67ca89SAndroid Build Coastguard Worker struct fastrpc_mem_map { 76*8d67ca89SAndroid Build Coastguard Worker __s32 version; 77*8d67ca89SAndroid Build Coastguard Worker __s32 fd; 78*8d67ca89SAndroid Build Coastguard Worker __s32 offset; 79*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 80*8d67ca89SAndroid Build Coastguard Worker __u64 vaddrin; 81*8d67ca89SAndroid Build Coastguard Worker __u64 length; 82*8d67ca89SAndroid Build Coastguard Worker __u64 vaddrout; 83*8d67ca89SAndroid Build Coastguard Worker __s32 attrs; 84*8d67ca89SAndroid Build Coastguard Worker __s32 reserved[4]; 85*8d67ca89SAndroid Build Coastguard Worker }; 86*8d67ca89SAndroid Build Coastguard Worker struct fastrpc_req_munmap { 87*8d67ca89SAndroid Build Coastguard Worker __u64 vaddrout; 88*8d67ca89SAndroid Build Coastguard Worker __u64 size; 89*8d67ca89SAndroid Build Coastguard Worker }; 90*8d67ca89SAndroid Build Coastguard Worker struct fastrpc_mem_unmap { 91*8d67ca89SAndroid Build Coastguard Worker __s32 vesion; 92*8d67ca89SAndroid Build Coastguard Worker __s32 fd; 93*8d67ca89SAndroid Build Coastguard Worker __u64 vaddr; 94*8d67ca89SAndroid Build Coastguard Worker __u64 length; 95*8d67ca89SAndroid Build Coastguard Worker __s32 reserved[5]; 96*8d67ca89SAndroid Build Coastguard Worker }; 97*8d67ca89SAndroid Build Coastguard Worker struct fastrpc_ioctl_capability { 98*8d67ca89SAndroid Build Coastguard Worker __u32 domain; 99*8d67ca89SAndroid Build Coastguard Worker __u32 attribute_id; 100*8d67ca89SAndroid Build Coastguard Worker __u32 capability; 101*8d67ca89SAndroid Build Coastguard Worker __u32 reserved[4]; 102*8d67ca89SAndroid Build Coastguard Worker }; 103*8d67ca89SAndroid Build Coastguard Worker #endif 104