1
2
3#ifndef __QCOM_FASTRPC_H__
4#define __QCOM_FASTRPC_H__
5
6#include <linux/types.h>
7
8#define FASTRPC_IOCTL_ALLOC_DMA_BUFF _IOWR('R', 1, struct fastrpc_alloc_dma_buf)
9#define FASTRPC_IOCTL_FREE_DMA_BUFF _IOWR('R', 2, __u32)
10#define FASTRPC_IOCTL_INVOKE _IOWR('R', 3, struct fastrpc_invoke)
11#define FASTRPC_IOCTL_INIT_ATTACH _IO('R', 4)
12#define FASTRPC_IOCTL_INIT_CREATE _IOWR('R', 5, struct fastrpc_init_create)
13#define FASTRPC_IOCTL_MMAP _IOWR('R', 6, struct fastrpc_req_mmap)
14#define FASTRPC_IOCTL_MUNMAP _IOWR('R', 7, struct fastrpc_req_munmap)
15#define FASTRPC_IOCTL_INIT_ATTACH_SNS _IO('R', 8)
16
17struct fastrpc_invoke_args {
18 __u64 ptr;
19 __u64 length;
20 __s32 fd;
21 __u32 reserved;
22};
23
24struct fastrpc_invoke {
25 __u32 handle;
26 __u32 sc;
27 __u64 args;
28};
29
30struct fastrpc_init_create {
31 __u32 filelen;
32 __s32 filefd;
33 __u32 attrs;
34 __u32 siglen;
35 __u64 file;
36};
37
38struct fastrpc_alloc_dma_buf {
39 __s32 fd;
40 __u32 flags;
41 __u64 size;
42};
43
44struct fastrpc_req_mmap {
45 __s32 fd;
46 __u32 flags;
47 __u64 vaddrin;
48 __u64 size;
49 __u64 vaddrout;
50};
51
52struct fastrpc_req_munmap {
53 __u64 vaddrout;
54 __u64 size;
55};
56
57#endif
58