shmem.h 875 B

12345678910111213141516171819202122232425262728293031323334
  1. /**shmem.h*/
  2. #ifndef __SHMEM_H
  3. #define __SHMEM_H
  4. #include <unistd.h>
  5. #include <stdint.h>
  6. #include "shm_api.h"
  7. struct shmem_fd
  8. {
  9. int fd;
  10. int shmem_len;
  11. uint8_t *linux_write;
  12. uint8_t *linux_read;
  13. int linux_write_len, linux_read_len;
  14. int linux_write_data_len, linux_read_data_len;
  15. };
  16. #define max_shmem_wr_len(s) ((s) / 2)
  17. #define max_shmem_rd_len(s) ((s) / 2)
  18. int shm_write_data(uint32_t _ul_addr, uint8_t *_puc_data, uint32_t _ul_len);
  19. int shm_packet_write_v2(uint32_t _ul_addr, uint8_t *_puc_data, uint32_t _ul_len);
  20. int shm_read_data(uint32_t _ul_addr, uint32_t _ul_len, uint8_t *_puc_data_out, uint32_t _uc_data_out_size);
  21. int shm_packet_read_v2(uint32_t _ul_addr, uint32_t _ul_len, uint8_t *_puc_data_out, uint32_t _uc_data_out_size);
  22. int share_mem_init_v2(struct shmem_fd *shmem_fd);
  23. void share_mem_exit_v2(struct shmem_fd *shmem_fd);
  24. #endif // !__SHMEM_H