| /* |
| ** 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 <voMem.h> |
| |
| //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__ |
| |
| |