Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux...
[linux-btrfs-devel.git] / drivers / staging / zram / xvmalloc.h
blob5b1a81aa5faf320bf057acd759768b9a276ca05c
1 /*
2 * xvmalloc memory allocator
4 * Copyright (C) 2008, 2009, 2010 Nitin Gupta
6 * This code is released using a dual license strategy: BSD/GPL
7 * You can choose the licence that better fits your requirements.
9 * Released under the terms of 3-clause BSD License
10 * Released under the terms of GNU General Public License Version 2.0
13 #ifndef _XV_MALLOC_H_
14 #define _XV_MALLOC_H_
16 #include <linux/types.h>
18 struct xv_pool;
20 struct xv_pool *xv_create_pool(void);
21 void xv_destroy_pool(struct xv_pool *pool);
23 int xv_malloc(struct xv_pool *pool, u32 size, struct page **page,
24 u32 *offset, gfp_t flags);
25 void xv_free(struct xv_pool *pool, struct page *page, u32 offset);
27 u32 xv_get_object_size(void *obj);
28 u64 xv_get_total_size_bytes(struct xv_pool *pool);
30 #endif