• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This file is part of the openHiTLS project.
3  *
4  * openHiTLS is licensed under the Mulan PSL v2.
5  * You can use this software according to the terms and conditions of the Mulan PSL v2.
6  * You may obtain a copy of Mulan PSL v2 at:
7  *
8  *     http://license.coscl.org.cn/MulanPSL2
9  *
10  * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
11  * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
12  * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
13  * See the Mulan PSL v2 for more details.
14  */
15 
16 #include "hitls_build.h"
17 #include "bsl_errno.h"
18 #include "bsl_sal.h"
19 
20 #ifdef HITLS_BSL_SAL_NET
21 #include "sal_netimpl.h"
22 #endif
23 #ifdef HITLS_BSL_SAL_TIME
24 #include "sal_timeimpl.h"
25 #endif
26 #ifdef HITLS_BSL_SAL_FILE
27 #include "sal_fileimpl.h"
28 #endif
29 #ifdef HITLS_BSL_SAL_DL
30 #include "sal_dlimpl.h"
31 #endif
32 
33 #include "sal_lockimpl.h"
34 #include "sal_memimpl.h"
35 
36 /* The prefix of BSL_SAL_CB_FUNC_TYPE */
37 #define BSL_SAL_MEM_CB      0x0100
38 #define BSL_SAL_THREAD_CB   0x0200
39 
40 #ifdef HITLS_BSL_SAL_NET
41 #define BSL_SAL_NET_CB      0x0300
42 #endif
43 
44 #ifdef HITLS_BSL_SAL_TIME
45 #define BSL_SAL_TIME_CB     0x0400
46 #endif
47 
48 #ifdef HITLS_BSL_SAL_FILE
49 #define BSL_SAL_FILE_CB     0x0500
50 #endif
51 
52 #ifdef HITLS_BSL_SAL_DL
53 #define BSL_SAL_DL_CB       0x0700
54 #endif
55 
BSL_SAL_CallBack_Ctrl(BSL_SAL_CB_FUNC_TYPE funcType,void * funcCb)56 int32_t BSL_SAL_CallBack_Ctrl(BSL_SAL_CB_FUNC_TYPE funcType, void *funcCb)
57 {
58     uint32_t type = (uint32_t)funcType & 0xff00;
59     switch (type) {
60         case BSL_SAL_MEM_CB:
61             return SAL_MemCallBack_Ctrl(funcType, funcCb);
62         case BSL_SAL_THREAD_CB:
63             return SAL_ThreadCallback_Ctrl(funcType, funcCb);
64 #ifdef HITLS_BSL_SAL_NET
65         case BSL_SAL_NET_CB:
66             return SAL_NetCallback_Ctrl(funcType, funcCb);
67 #endif
68 #ifdef HITLS_BSL_SAL_TIME
69         case BSL_SAL_TIME_CB:
70             return SAL_TimeCallback_Ctrl(funcType, funcCb);
71 #endif
72 #ifdef HITLS_BSL_SAL_FILE
73         case BSL_SAL_FILE_CB:
74             return SAL_FileCallback_Ctrl(funcType, funcCb);
75 #endif
76 #ifdef HITLS_BSL_SAL_DL
77         case BSL_SAL_DL_CB:
78             return SAL_DlCallback_Ctrl(funcType, funcCb);
79 #endif
80         default:
81             return BSL_SAL_ERR_BAD_PARAM;
82     }
83 }