memmap.h 921 B

12345678910111213141516171819202122232425
  1. #ifndef IO_URING_MEMMAP_H
  2. #define IO_URING_MEMMAP_H
  3. struct page **io_pin_pages(unsigned long ubuf, unsigned long len, int *npages);
  4. void io_pages_free(struct page ***pages, int npages);
  5. int io_uring_mmap_pages(struct io_ring_ctx *ctx, struct vm_area_struct *vma,
  6. struct page **pages, int npages);
  7. void *io_pages_map(struct page ***out_pages, unsigned short *npages,
  8. size_t size);
  9. void io_pages_unmap(void *ptr, struct page ***pages, unsigned short *npages,
  10. bool put_pages);
  11. void *__io_uaddr_map(struct page ***pages, unsigned short *npages,
  12. unsigned long uaddr, size_t size);
  13. #ifndef CONFIG_MMU
  14. unsigned int io_uring_nommu_mmap_capabilities(struct file *file);
  15. #endif
  16. unsigned long io_uring_get_unmapped_area(struct file *file, unsigned long addr,
  17. unsigned long len, unsigned long pgoff,
  18. unsigned long flags);
  19. int io_uring_mmap(struct file *file, struct vm_area_struct *vma);
  20. #endif