1 /* 2 * Copyright (c) 2010, Texas Instruments Incorporated 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * * Neither the name of Texas Instruments Incorporated nor the names of 17 * its contributors may be used to endorse or promote products derived 18 * from this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33 /* 34 * @file timm_osal_memory.h 35 * The osal header file defines 36 * @path 37 * 38 */ 39 /* -------------------------------------------------------------------------- */ 40 /* ========================================================================= 41 *! 42 *! Revision History 43 *! =================================== 44 *! 0.1: Created the first draft version, ksrini (at) ti.com 45 * ========================================================================= */ 46 47 #ifndef _TIMM_OSAL_MEMORY_H_ 48 #define _TIMM_OSAL_MEMORY_H_ 49 50 #ifdef __cplusplus 51 extern "C" 52 { 53 #endif /* __cplusplus */ 54 55 /******************************************************************************* 56 * Includes 57 *******************************************************************************/ 58 59 #include "timm_osal_types.h" 60 #include "timm_osal_error.h" 61 62 63 /* Enumeration Flag for Memory Segmenation Id */ 64 typedef enum TIMMOSAL_MEM_SEGMENTID 65 { 66 67 TIMMOSAL_MEM_SEGMENT_EXT = 0, 68 TIMMOSAL_MEM_SEGMENT_INT, 69 TIMMOSAL_MEM_SEGMENT_UNCACHED 70 } TIMMOSAL_MEM_SEGMENTID; 71 72 73 /******************************************************************************* 74 * External interface 75 *******************************************************************************/ 76 77 TIMM_OSAL_ERRORTYPE TIMM_OSAL_CreateMemoryPool(void); 78 79 TIMM_OSAL_ERRORTYPE TIMM_OSAL_DeleteMemoryPool(void); 80 81 TIMM_OSAL_PTR TIMM_OSAL_Malloc(TIMM_OSAL_U32 size, 82 TIMM_OSAL_BOOL bBlockContiguous, TIMM_OSAL_U32 unBlockAlignment, 83 TIMMOSAL_MEM_SEGMENTID tMemSegId); 84 85 void TIMM_OSAL_Free(TIMM_OSAL_PTR pData); 86 87 TIMM_OSAL_ERRORTYPE TIMM_OSAL_Memset(TIMM_OSAL_PTR pBuffer, 88 TIMM_OSAL_U8 uValue, TIMM_OSAL_U32 uSize); 89 90 TIMM_OSAL_S32 TIMM_OSAL_Memcmp(TIMM_OSAL_PTR pBuffer1, 91 TIMM_OSAL_PTR pBuffer2, TIMM_OSAL_U32 uSize); 92 93 TIMM_OSAL_ERRORTYPE TIMM_OSAL_Memcpy(TIMM_OSAL_PTR pBufDst, 94 TIMM_OSAL_PTR pBufSrc, TIMM_OSAL_U32 uSize); 95 96 TIMM_OSAL_U32 TIMM_OSAL_GetMemCounter(void); 97 98 #define TIMM_OSAL_MallocExtn(size, bBlockContiguous, unBlockAlignment, tMemSegId, hHeap) \ 99 TIMM_OSAL_Malloc(size, bBlockContiguous, unBlockAlignment, tMemSegId ) 100 101 #ifdef __cplusplus 102 } 103 #endif /* __cplusplus */ 104 105 #endif /* _TIMM_OSAL_DEFINES_H_ */ 106