1/* 2 * Copyright (c) 2012, The Linux Foundation. All rights reserved. 3 * Permission to use, copy, modify, and/or distribute this software for 4 * any purpose with or without fee is hereby granted, provided that the 5 * above copyright notice and this permission notice appear in all copies. 6 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 7 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 8 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 9 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 11 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 12 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 13 */ 14 15#ifndef _AOS_MEM_PVT_H 16#define _AOS_MEM_PVT_H 17 18#include <linux/slab.h> 19 20static inline void *__aos_mem_alloc(aos_size_t size) 21{ 22 return (kmalloc(size, GFP_KERNEL)); 23} 24 25static inline void __aos_mem_free(void *buf) 26{ 27 kfree(buf); 28} 29 30/* move a memory buffer */ 31static inline void 32__aos_mem_copy(void *dst, void *src, aos_size_t size) 33{ 34 memcpy(dst, src, size); 35} 36 37/* set a memory buffer */ 38static inline void 39__aos_mem_set(void *buf, a_uint8_t b, aos_size_t size) 40{ 41 memset(buf, b, size); 42} 43 44/* zero a memory buffer */ 45static inline void 46__aos_mem_zero(void *buf, aos_size_t size) 47{ 48 memset(buf, 0, size); 49} 50 51/* compare two memory buffers */ 52static inline int 53__aos_mem_cmp(void *buf1, void *buf2, aos_size_t size) 54{ 55 return (memcmp(buf1, buf2, size) == 0) ? 0 : 1; 56} 57 58 59 60#endif /*_AOS_MEM_PVT_H*/ 61