* This file is part of the openHiTLS project.
*
* openHiTLS is licensed under the Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
*
* http://license.coscl.org.cn/MulanPSL2
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
#include "hitls_build.h"
#include "bsl_errno.h"
#include "bsl_sal.h"
#ifdef HITLS_BSL_SAL_NET
#include "sal_netimpl.h"
#endif
#ifdef HITLS_BSL_SAL_TIME
#include "sal_timeimpl.h"
#endif
#ifdef HITLS_BSL_SAL_FILE
#include "sal_fileimpl.h"
#endif
#ifdef HITLS_BSL_SAL_DL
#include "sal_dlimpl.h"
#endif
#include "sal_lockimpl.h"
#include "sal_memimpl.h"
#define BSL_SAL_MEM_CB 0x0100
#define BSL_SAL_THREAD_CB 0x0200
#ifdef HITLS_BSL_SAL_NET
#define BSL_SAL_NET_CB 0x0300
#endif
#ifdef HITLS_BSL_SAL_TIME
#define BSL_SAL_TIME_CB 0x0400
#endif
#ifdef HITLS_BSL_SAL_FILE
#define BSL_SAL_FILE_CB 0x0500
#endif
#ifdef HITLS_BSL_SAL_DL
#define BSL_SAL_DL_CB 0x0700
#endif
#ifdef HITLS_BSL_SAL_PID
#define BSL_SAL_PID_CB 0x0800
#endif
int32_t BSL_SAL_CallBack_Ctrl(BSL_SAL_CB_FUNC_TYPE funcType, void *funcCb)
{
uint32_t type = (uint32_t)funcType & 0xff00;
switch (type) {
case BSL_SAL_MEM_CB:
return SAL_MemCallBack_Ctrl(funcType, funcCb);
case BSL_SAL_THREAD_CB:
return SAL_ThreadCallBack_Ctrl(funcType, funcCb);
#ifdef HITLS_BSL_SAL_PID
case BSL_SAL_PID_CB:
return SAL_PidCallBack_Ctrl(funcType, funcCb);
#endif
#ifdef HITLS_BSL_SAL_NET
case BSL_SAL_NET_CB:
return SAL_NetCallBack_Ctrl(funcType, funcCb);
#endif
#ifdef HITLS_BSL_SAL_TIME
case BSL_SAL_TIME_CB:
return SAL_TimeCallBack_Ctrl(funcType, funcCb);
#endif
#ifdef HITLS_BSL_SAL_FILE
case BSL_SAL_FILE_CB:
return SAL_FileCallBack_Ctrl(funcType, funcCb);
#endif
#ifdef HITLS_BSL_SAL_DL
case BSL_SAL_DL_CB:
return SAL_DlCallBack_Ctrl(funcType, funcCb);
#endif
default:
return BSL_SAL_ERR_BAD_PARAM;
}
}