Use the COP_FLAG_UPDATE/FINAL flags. Patch by Glenn Schmottlach.
[cryptodev-linux.git] / zc.h
blobb52616ead1ffafe5c361e039c3c30167eeb4539d
1 #ifndef ZC_H
2 # define ZC_H
4 #include "cryptodev_int.h"
6 /* For zero copy */
7 int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
8 unsigned int pgcount, struct page **pg, struct scatterlist *sg,
9 struct task_struct *task, struct mm_struct *mm);
10 void release_user_pages(struct csession* ses);
12 int get_userbuf(struct csession *ses,
13 void* __user src, unsigned int src_len,
14 void* __user dst, unsigned int dst_len,
15 struct task_struct *task, struct mm_struct *mm,
16 struct scatterlist **src_sg,
17 struct scatterlist **dst_sg);
19 /* buflen ? (last page - first page + 1) : 0 */
20 #define PAGECOUNT(buf, buflen) ((buflen) \
21 ? ((((unsigned long)(buf + buflen - 1)) >> PAGE_SHIFT) - \
22 (((unsigned long)(buf )) >> PAGE_SHIFT) + 1) \
23 : 0)
25 #define DEFAULT_PREALLOC_PAGES 32
27 #endif