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