summaryrefslogtreecommitdiffstats
path: root/cryptodev_int.h
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2010-07-21 14:03:58 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2010-07-21 16:40:01 +0200
commite7828004e40592c8cffc9235f72440c802905e16 (patch)
treec46f4aba9a4f1e8014492cd835fce81d7e07017e /cryptodev_int.h
parent56eb45f752baa978a9ea3573faee44857678597d (diff)
downloadkernel-crypto-e7828004e40592c8cffc9235f72440c802905e16.tar.gz
kernel-crypto-e7828004e40592c8cffc9235f72440c802905e16.tar.xz
kernel-crypto-e7828004e40592c8cffc9235f72440c802905e16.zip
initial support for userspace data.
Diffstat (limited to 'cryptodev_int.h')
-rw-r--r--cryptodev_int.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/cryptodev_int.h b/cryptodev_int.h
index a0d30731d40..d12fd4f80e7 100644
--- a/cryptodev_int.h
+++ b/cryptodev_int.h
@@ -24,6 +24,17 @@
extern int cryptodev_verbosity;
+/* For zero copy */
+int __get_userbuf(uint8_t *addr, uint32_t len, int write,
+ int pgcount, struct page **pg, struct scatterlist *sg);
+void release_user_pages(struct page **pg, int pagecount);
+
+/* last page - first page + 1 */
+#define PAGECOUNT(buf, buflen) \
+ ((((unsigned long)(buf + buflen - 1) & PAGE_MASK) >> PAGE_SHIFT) - \
+ (((unsigned long) buf & PAGE_MASK) >> PAGE_SHIFT) + 1)
+
+
struct cipher_data
{
int init; /* 0 uninitialized */