/* ** Copyright 2003-2010, VisualOn, Inc. ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ /******************************************************************************* File: cmnMemory.h Content: memory operator implementation header file *******************************************************************************/ #ifndef __cmnMemory_H__ #define __cmnMemory_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #include //extern VO_MEM_OPERATOR g_memOP; /** * Allocate memory * \param uID [in] module ID * \param uSize [in] size of memory * \return value is the allocated memory address. NULL is failed. */ VO_U32 cmnMemAlloc (VO_S32 uID, VO_MEM_INFO * pMemInfo); /** * Free up memory * \param uID [in] module ID * \param pMem [in] address of memory * \return value 0, if succeeded. */ VO_U32 cmnMemFree (VO_S32 uID, VO_PTR pBuffer); /** * memory set function * \param uID [in] module ID * \param pBuff [in/out] address of memory * \param uValue [in] the value to be set * \param uSize [in] the size to be set * \return value 0, if succeeded. */ VO_U32 cmnMemSet (VO_S32 uID, VO_PTR pBuff, VO_U8 uValue, VO_U32 uSize); /** * memory copy function * \param uID [in] module ID * \param pDest [in/out] address of destination memory * \param pSource [in] address of source memory * \param uSize [in] the size to be copied * \return value 0, if succeeded. */ VO_U32 cmnMemCopy (VO_S32 uID, VO_PTR pDest, VO_PTR pSource, VO_U32 uSize); /** * memory check function * \param uID [in] module ID * \param pBuff [in] address of buffer to be checked * \param uSize [in] the size to be checked * \return value 0, if succeeded. */ VO_U32 cmnMemCheck (VO_S32 uID, VO_PTR pBuffer, VO_U32 uSize); /** * memory compare function * \param uID [in] module ID * \param pBuffer1 [in] address of buffer 1 to be compared * \param pBuffer2 [in] address of buffer 2 to be compared * \param uSize [in] the size to be compared * \return value: same as standard C run-time memcmp() function. */ VO_S32 cmnMemCompare (VO_S32 uID, VO_PTR pBuffer1, VO_PTR pBuffer2, VO_U32 uSize); /** * memory move function * \param uID [in] module ID * \param pDest [in/out] address of destination memory * \param pSource [in] address of source memory * \param uSize [in] the size to be moved * \return value 0, if succeeded. */ VO_U32 cmnMemMove (VO_S32 uID, VO_PTR pDest, VO_PTR pSource, VO_U32 uSize); #ifdef __cplusplus } #endif /* __cplusplus */ #endif // __cmnMemory_H__