fastrpc.h 953 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef __QCOM_FASTRPC_H__
  3. #define __QCOM_FASTRPC_H__
  4. #include <linux/types.h>
  5. #define FASTRPC_IOCTL_ALLOC_DMA_BUFF _IOWR('R', 1, struct fastrpc_alloc_dma_buf)
  6. #define FASTRPC_IOCTL_FREE_DMA_BUFF _IOWR('R', 2, __u32)
  7. #define FASTRPC_IOCTL_INVOKE _IOWR('R', 3, struct fastrpc_invoke)
  8. #define FASTRPC_IOCTL_INIT_ATTACH _IO('R', 4)
  9. #define FASTRPC_IOCTL_INIT_CREATE _IOWR('R', 5, struct fastrpc_init_create)
  10. struct fastrpc_invoke_args {
  11. __u64 ptr;
  12. __u64 length;
  13. __s32 fd;
  14. __u32 reserved;
  15. };
  16. struct fastrpc_invoke {
  17. __u32 handle;
  18. __u32 sc;
  19. __u64 args;
  20. };
  21. struct fastrpc_init_create {
  22. __u32 filelen; /* elf file length */
  23. __s32 filefd; /* fd for the file */
  24. __u32 attrs;
  25. __u32 siglen;
  26. __u64 file; /* pointer to elf file */
  27. };
  28. struct fastrpc_alloc_dma_buf {
  29. __s32 fd; /* fd */
  30. __u32 flags; /* flags to map with */
  31. __u64 size; /* size */
  32. };
  33. #endif /* __QCOM_FASTRPC_H__ */