1 /* 2 * xvmalloc memory allocator 3 * 4 * Copyright (C) 2008, 2009, 2010 Nitin Gupta 5 * 6 * This code is released using a dual license strategy: BSD/GPL 7 * You can choose the licence that better fits your requirements. 8 * 9 * Released under the terms of 3-clause BSD License 10 * Released under the terms of GNU General Public License Version 2.0 11 */ 12 13 #ifndef _XV_MALLOC_H_ 14 #define _XV_MALLOC_H_ 15 16 #include <linux/types.h> 17 18 struct xv_pool; 19 20 struct xv_pool *xv_create_pool(void); 21 void xv_destroy_pool(struct xv_pool *pool); 22 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); 26 27 u32 xv_get_object_size(void *obj); 28 u64 xv_get_total_size_bytes(struct xv_pool *pool); 29 30 #endif 31