orangefs-bufmap.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * (C) 2001 Clemson University and The University of Chicago
  3. *
  4. * See COPYING in top-level directory.
  5. */
  6. #ifndef __ORANGEFS_BUFMAP_H
  7. #define __ORANGEFS_BUFMAP_H
  8. struct orangefs_bufmap;
  9. int orangefs_bufmap_size_query(void);
  10. int orangefs_bufmap_shift_query(void);
  11. int orangefs_bufmap_initialize(struct ORANGEFS_dev_map_desc *user_desc);
  12. void orangefs_bufmap_finalize(void);
  13. void orangefs_bufmap_run_down(void);
  14. int orangefs_bufmap_get(struct orangefs_bufmap **mapp, int *buffer_index);
  15. void orangefs_bufmap_put(int buffer_index);
  16. int orangefs_readdir_index_get(struct orangefs_bufmap **mapp, int *buffer_index);
  17. void orangefs_readdir_index_put(int buffer_index);
  18. int orangefs_bufmap_copy_from_iovec(struct orangefs_bufmap *bufmap,
  19. struct iov_iter *iter,
  20. int buffer_index,
  21. size_t size);
  22. int orangefs_bufmap_copy_to_iovec(struct orangefs_bufmap *bufmap,
  23. struct iov_iter *iter,
  24. int buffer_index,
  25. size_t size);
  26. size_t orangefs_bufmap_copy_to_user_task_iovec(struct task_struct *tsk,
  27. struct iovec *iovec,
  28. unsigned long nr_segs,
  29. struct orangefs_bufmap *bufmap,
  30. int buffer_index,
  31. size_t bytes_to_be_copied);
  32. #endif /* __ORANGEFS_BUFMAP_H */