2 * (C) 2001 Clemson University and The University of Chicago
4 * See COPYING in top-level directory.
7 #ifndef __ORANGEFS_BUFMAP_H
8 #define __ORANGEFS_BUFMAP_H
10 struct orangefs_bufmap;
12 int orangefs_bufmap_size_query(void);
14 int orangefs_bufmap_shift_query(void);
16 int orangefs_bufmap_initialize(struct ORANGEFS_dev_map_desc *user_desc);
18 int orangefs_get_bufmap_init(void);
20 void orangefs_bufmap_finalize(void);
22 int orangefs_bufmap_get(struct orangefs_bufmap **mapp, int *buffer_index);
24 void orangefs_bufmap_put(struct orangefs_bufmap *bufmap, int buffer_index);
26 int orangefs_readdir_index_get(struct orangefs_bufmap **mapp, int *buffer_index);
28 void orangefs_readdir_index_put(struct orangefs_bufmap *bufmap, int buffer_index);
30 int orangefs_bufmap_copy_from_iovec(struct orangefs_bufmap *bufmap,
31 struct iov_iter *iter,
35 int orangefs_bufmap_copy_to_iovec(struct orangefs_bufmap *bufmap,
36 struct iov_iter *iter,
40 size_t orangefs_bufmap_copy_to_user_task_iovec(struct task_struct *tsk,
42 unsigned long nr_segs,
43 struct orangefs_bufmap *bufmap,
45 size_t bytes_to_be_copied);
47 #endif /* __ORANGEFS_BUFMAP_H */