• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  *
15  * Description: Functions of all external interfaces of the application and HiLinkSDK. \n
16  *
17  * History: \n
18  * 2024-01-27, Create file. \n
19  */
20 
21 #ifndef FUNC_CALL_LIST_H
22 #define FUNC_CALL_LIST_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 typedef enum {
29     APP_CALL_BASE = 0,
30     /* hilink_kv_adapter.c */
31     APP_CALL_HILINK_KV_STORE_INIT,
32     APP_CALL_HILINK_SET_VALUE,
33     APP_CALL_HILINK_GET_VALUE,
34     APP_CALL_HILINK_DELETE_VALUE,
35     APP_CALL_HILINK_GET_FILE_NAME,
36 
37     /* hilink_mem_adapter.c */
38     APP_CALL_HILINK_MALLOC,
39     APP_CALL_HILINK_FREE,
40     APP_CALL_HILINK_MEMCMP,
41 
42     /* hilink_socket_adapter.c */
43     APP_CALL_HILINK_GET_ADDR_INFO,
44     APP_CALL_HILINK_FREE_ADDR_INFO,
45     APP_CALL_HILINK_SOCKET,
46     APP_CALL_HILINK_CLOSE,
47     APP_CALL_HILINK_SET_SOCKET_OPT,
48     APP_CALL_HILINK_BIND,
49     APP_CALL_HILINK_CONNECT,
50     APP_CALL_HILINK_RECV,
51     APP_CALL_HILINK_SEND,
52     APP_CALL_HILINK_RECV_FROM,
53     APP_CALL_HILINK_SEND_TO,
54     APP_CALL_HILINK_SELECT,
55     APP_CALL_HILINK_GET_SOCKET_ERRNO,
56     APP_CALL_HILINK_HTONL,
57     APP_CALL_HILINK_NTOHL,
58     APP_CALL_HILINK_HTONS,
59     APP_CALL_HILINK_NTOHS,
60     APP_CALL_HILINK_INET_ATON,
61     APP_CALL_HILINK_INET_ADDR,
62     APP_CALL_HILINK_INET_NTOA,
63 
64     /* hilink_stdio_adapter.c */
65     APP_CALL_HILINK_VPRINTF,
66     APP_CALL_HILINK_PRINTF,
67     APP_CALL_HILINK_RAND,
68     APP_CALL_HILINK_TRNG,
69 
70     /* hilink_str_adapter.c */
71     APP_CALL_HILINK_STRLEN,
72     APP_CALL_HILINK_STRCHR,
73     APP_CALL_HILINK_STRRCHR,
74     APP_CALL_HILINK_ATOI,
75     APP_CALL_HILINK_STRSTR,
76     APP_CALL_HILINK_STRCMP,
77     APP_CALL_HILINK_STRNCMP,
78 
79     /* hilink_thread_adapter.c */
80     APP_CALL_HILINK_CREATE_TASK,
81     APP_CALL_HILINK_THREAD_SUSPEND,
82     APP_CALL_HILINK_THREAD_RESUME,
83     APP_CALL_HILINK_DELETE_TASK,
84     APP_CALL_HILINK_GET_CURRENT_TASK_ID,
85     APP_CALL_HILINK_MUTEX_CREATE,
86     APP_CALL_HILINK_MUTEX_LOCK,
87     APP_CALL_HILINK_MUTEX_UNLOCK,
88     APP_CALL_HILINK_MUTEX_DESTROY,
89     APP_CALL_HILINK_SEM_CREATE,
90     APP_CALL_HILINK_SEM_WAIT,
91     APP_CALL_HILINK_SEM_POST,
92     APP_CALL_HILINK_SEM_DESTROY,
93     APP_CALL_HILINK_MILLI_SLEEP,
94     APP_CALL_HILINK_SCHED_YIELD,
95 
96     /* hilink_time_adapter.c */
97     APP_CALL_HILINK_GET_OS_TIME,
98     APP_CALL_HILINK_GET_UTC_TIME,
99 
100     /* hilink_open_ota_adapter.c */
101     APP_CALL_HILINK_OTA_ADAPTER_FLASH_INIT,
102     APP_CALL_HILINK_OTA_ADAPTER_GET_UPDATE_INDEX,
103     APP_CALL_HILINK_OTA_ADAPTER_FLASH_ERASE,
104     APP_CALL_HILINK_OTA_ADAPTER_FLASH_WRITE,
105     APP_CALL_HILINK_OTA_ADAPTER_FLASH_READ,
106     APP_CALL_HILINK_OTA_ADAPTER_FLASH_FINISH,
107     APP_CALL_HILINK_OTA_ADAPTER_FLASH_MAX_SIZE,
108     APP_CALL_HILINK_OTA_ADAPTER_RESTART,
109     APP_CALL_HILINK_OTA_START_PROCESS,
110     APP_CALL_HILINK_OTA_END_PROCESS,
111     APP_CALL_HILINK_GET_REBOOT_FLAG,
112 
113     /* hilink_open_ota_mcu_adapter.c */
114     APP_CALL_HILINK_GET_MCU_VERSION,
115     APP_CALL_HILINK_NOTIFY_OTA_STATUS,
116     APP_CALL_HILINK_NOTIFY_OTA_DATA,
117 
118     /* hilink_sys_adapter.c */
119     APP_CALL_HILINK_RESTART,
120     APP_CALL_HILINK_GET_SYSTEM_BOOT_REASON,
121 
122     /* hilink_sal_rsa.c */
123     APP_CALL_HILINK_SAL_RSA_INIT,
124     APP_CALL_HILINK_SAL_RSA_FREE,
125     APP_CALL_HILINK_SAL_RSA_PARAM_IMPORT,
126     APP_CALL_HILINK_RSA_PKCS1_VERIFY,
127     APP_CALL_HILINK_RSA_PKCS1_DECRYPT,
128     APP_CALL_HILINK_RSA_PKCS1_ENCRYPT,
129 
130     /* hilink_tls_client.c */
131     APP_CALL_HILINK_TLS_CLIENT_CREATE,
132     APP_CALL_HILINK_SET_TLS_CLIENT_OPTION,
133     APP_CALL_HILINK_TLS_CLIENT_CONNECT,
134     APP_CALL_HILINK_TLS_CLIENT_GET_CONTEXT_FD,
135     APP_CALL_HILINK_TLS_CLIENT_READ,
136     APP_CALL_HILINK_TLS_CLIENT_WRITE,
137     APP_CALL_HILINK_TLS_CLIENT_IS_VALID_CERT,
138     APP_CALL_HILINK_TLS_CLIENT_FREE_RESOURCE,
139 
140     /* hilink_sal_aes.c */
141     APP_CALL_HILINK_SAL_AES_GCM_ENCRYPT,
142     APP_CALL_HILINK_SAL_AES_GCM_DECRYPT,
143     APP_CALL_HILINK_SAL_ADD_PADDING,
144     APP_CALL_HILINK_SAL_GET_PADDING,
145     APP_CALL_HILINK_SAL_AES_CBC_ENCRYPT,
146     APP_CALL_HILINK_SAL_AES_CBC_DECRYPT,
147     APP_CALL_HILINK_SAL_AES_CCM_ENCRYPT,
148     APP_CALL_HILINK_SAL_AES_CCM_DECRYPT,
149 
150     /* hilink_sal_base64.c */
151     APP_CALL_HILINK_SAL_BASE64_ENCODE,
152     APP_CALL_HILINK_SAL_BASE64_DECODE,
153 
154     /* hilink_sal_drbg.c */
155     APP_CALL_HILINK_SAL_DRBG_INIT,
156     APP_CALL_HILINK_SAL_DRBG_DEINIT,
157     APP_CALL_HILINK_SAL_DRBG_RANDOM,
158 
159     /* hilink_sal_kdf.c */
160     APP_CALL_HILINK_SAL_HKDF,
161     APP_CALL_HILINK_SAL_PKCS5_PBKDF2_HMAC,
162 
163     /* hilink_sal_md.c */
164     APP_CALL_HILINK_SAL_MD_CALC,
165     APP_CALL_HILINK_SAL_HMAC_CALC,
166     APP_CALL_HILINK_SAL_MD_INIT,
167     APP_CALL_HILINK_SAL_MD_UPDATE,
168     APP_CALL_HILINK_SAL_MD_FINISH,
169     APP_CALL_HILINK_SAL_MD_FREE,
170 
171     /* hilink_sal_mpi.c */
172     APP_CALL_HILINK_SAL_MPI_INIT,
173     APP_CALL_HILINK_SAL_MPI_FREE,
174     APP_CALL_HILINK_SAL_MPI_EXP_MOD,
175     APP_CALL_HILINK_SAL_MPI_CMP_INT,
176     APP_CALL_HILINK_SAL_MPI_SUB_INT,
177     APP_CALL_HILINK_SAL_MPI_CMP_MPI,
178     APP_CALL_HILINK_SAL_MPI_READ_STRING,
179     APP_CALL_HILINK_SAL_MPI_WRITE_STRING,
180     APP_CALL_HILINK_SAL_MPI_READ_BINARY,
181     APP_CALL_HILINK_SAL_MPI_WRITE_BINARY,
182 
183     /* hilink_network_adapter.c */
184     APP_CALL_HILINK_GET_LOCAL_IP,
185     APP_CALL_HILINK_GET_MAC_ADDR,
186     APP_CALL_HILINK_GET_WIFI_SSID,
187     APP_CALL_HILINK_SET_WIFI_INFO,
188     APP_CALL_HILINK_RECONNECT_WIFI,
189     APP_CALL_HILINK_CONNECT_WIFI,
190     APP_CALL_HILINK_GET_NETWORK_STATE,
191     APP_CALL_HILINK_GET_WIFI_BSSID,
192     APP_CALL_HILINK_GET_WIFI_RSSI,
193 
194     /* hilink_softap_adapter.c */
195     APP_CALL_HILINK_START_SOFT_AP,
196     APP_CALL_HILINK_STOP_SOFT_AP,
197 
198     /* hilink_device.c */
199     APP_CALL_HILINK_GET_DEV_INFO,
200     APP_CALL_HILINK_GET_SVC_INFO,
201     APP_CALL_HILINK_GET_AUTO_AC,
202     APP_CALL_HILINK_PUT_CHAR_STATE,
203     APP_CALL_HILINK_CONTROL_CHAR_STATE,
204     APP_CALL_HILINK_GET_CHAR_STATE,
205     APP_CALL_HILINK_GET_PIN_CODE,
206     APP_CALL_HILINK_NOTIFY_DEV_STATUS,
207     APP_CALL_HILINK_PROCESS_BEFORE_RESTART,
208 
209     /* hichain.h */
210     APP_CALL_REGISTE_LOG,
211     APP_CALL_GET_INSTANCE,
212     APP_CALL_DESTROY,
213     APP_CALL_SET_CONTEXT,
214     APP_CALL_RECEIVE_DATA,
215     APP_CALL_RECEIVE_DATA_WITH_JSON_OBJECT,
216     APP_CALL_INIT_CENTER,
217     APP_CALL_START_PAKE,
218     APP_CALL_AUTHENTICATE_PEER,
219     APP_CALL_DELETE_LOCAL_AUTH_INFO,
220     APP_CALL_IMPORT_AUTH_INFO,
221     APP_CALL_ADD_AUTH_INFO,
222     APP_CALL_REMOVE_AUTH_INFO,
223     APP_CALL_IS_TRUST_PEER,
224     APP_CALL_LIST_TRUST_PEERS,
225     APP_CALL_SET_SELF_AUTH_ID,
226 
227     /* hilink_ble_adapter.c */
228     APP_CALL_GET_LOCAL_ADDRESS,
229     APP_CALL_GET_LOCAL_NAME,
230     APP_CALL_SET_LOCAL_NAME,
231     APP_CALL_BLUETOOTH_FACTORY_RESET,
232     APP_CALL_GET_BT_SCAN_MODE,
233     APP_CALL_SET_BT_SCAN_MODE,
234     APP_CALL_READ_BT_MAC_ADDR,
235     APP_CALL_GET_PARIED_DEVICES_NUM,
236     APP_CALL_GET_PAIR_STATE,
237     APP_CALL_REMOVE_PAIR,
238     APP_CALL_REMOVE_ALL_PAIRS,
239     APP_CALL_READ_REMOTE_RSSI_VALUE,
240     APP_CALL_IS_ACL_CONNECTED,
241     APP_CALL_DISCONNECT_REMOTE_DEVICE,
242     APP_CALL_CONNECT_REMOTE_DEVICE,
243     APP_CALL_INIT_BT_STACK,
244     APP_CALL_ENABLE_BT_STACK,
245     APP_CALL_DISABLE_BT_STACK,
246     APP_CALL_SET_DEVICE_NAME,
247     APP_CALL_BLE_SET_ADV_DATA,
248     APP_CALL_BLE_START_ADV,
249     APP_CALL_BLE_STOP_ADV,
250     APP_CALL_BLE_UPDATE_ADV,
251     APP_CALL_BLE_SET_SECURITY_IO_CAP,
252     APP_CALL_BLE_SET_SECURITY_AUTH_REQ,
253     APP_CALL_BLE_GATT_SECURITY_RSP,
254     APP_CALL_BLE_SCAN_FILTER_PARAM_SETUP,
255     APP_CALL_BLE_SCAN_FILTER_ADD_REMOVE,
256     APP_CALL_BLE_SCAN_FILTER_CLEAR,
257     APP_CALL_BLE_SCAN_FILTER_ENABLE,
258     APP_CALL_BLE_SET_SCAN_PARAMETERS,
259     APP_CALL_BLE_START_SCAN,
260     APP_CALL_BLE_STOP_SCAN,
261     APP_CALL_BLE_GATT_REGISTER_CALLBACKS,
262     APP_CALL_BLE_START_ADV_EX,
263     APP_CALL_BLE_GATTS_REGISTER,
264     APP_CALL_BLE_GATTS_UN_REGISTER,
265     APP_CALL_BLE_GATTS_DISCONNECT,
266     APP_CALL_BLE_GATTS_ADD_SERVICE,
267     APP_CALL_BLE_GATTS_ADD_CHARACTERISTIC,
268     APP_CALL_BLE_GATTS_ADD_DESCRIPTOR,
269     APP_CALL_BLE_GATTS_START_SERVICE,
270     APP_CALL_BLE_GATTS_STOP_SERVICE,
271     APP_CALL_BLE_GATTS_DELETE_SERVICE,
272     APP_CALL_BLE_GATTS_CLEAR_SERVICES,
273     APP_CALL_BLE_GATTS_SEND_RESPONSE,
274     APP_CALL_BLE_GATTS_SEND_INDICATION,
275     APP_CALL_BLE_GATTS_SET_ENCRYPTION,
276     APP_CALL_BLE_GATTS_REGISTER_CALLBACKS,
277     APP_CALL_BLE_GATTS_START_SERVICE_EX,
278     APP_CALL_BLE_GATTS_STOP_SERVICE_EX,
279 
280     /* hilink_ble_main.c */
281     APP_CALL_HILINK_GET_DEVICE_SN,
282     APP_CALL_HILINK_GET_SUB_PROD_ID,
283     APP_CALL_HILINK_BT_GET_DEV_SURFACE_POWER,
284     APP_CALL_HILINK_BT_GET_DEV_INFO,
285     APP_CALL_HILINK_GET_CUSTOM_INFO,
286     APP_CALL_HILINK_GET_MANU_ID,
287     APP_CALL_HILINK_BT_GET_MAC_ADDR,
288     APP_CALL_GET_DEVICE_VERSION,
289 
290     /* cmsis_liteos2.c */
291     APP_CALL_OS_KERNEL_GET_TICK_COUNT,
292     APP_CALL_OS_KERNEL_GET_TICK_FREQ,
293     APP_CALL_OS_DELAY,
294     APP_CALL_OS_THREAD_NEW,
295     APP_CALL_OS_THREAD_TERMINATE,
296     APP_CALL_OS_THREAD_GET_ID,
297     APP_CALL_OS_MUTEX_NEW,
298     APP_CALL_OS_MUTEX_DELETE,
299     APP_CALL_OS_MUTEX_ACQUIRE,
300     APP_CALL_OS_MUTEX_RELEASE,
301     APP_CALL_OS_SEMAPHORE_NEW,
302     APP_CALL_OS_SEMAPHORE_ACQUIRE,
303     APP_CALL_OS_SEMAPHORE_RELEASE,
304     APP_CALL_OS_SEMAPHORE_DELETE,
305     APP_CALL_OS_THREAD_SUSPEND,
306     APP_CALL_OS_THREAD_RESUME,
307 
308     APP_CALL_MAX
309 } app_call_func_list;
310 
311 typedef enum {
312     HILINK_CALL_BASE = 0,
313     /* hilink.h */
314     HILINK_CALL_HILINK_REGISTER_BASE_CALLBACK,
315     HILINK_CALL_HILINK_MAIN,
316     HILINK_CALL_HILINK_RESET,
317     HILINK_CALL_HILINK_SET_SDK_ATTR,
318     HILINK_CALL_HILINK_GET_SDK_ATTR,
319     HILINK_CALL_HILINK_RESTORE_FACTORY_SETTINGS,
320     HILINK_CALL_HILINK_GET_DEV_STATUS,
321     HILINK_CALL_HILINK_GET_SDK_VERSION,
322     HILINK_CALL_HILINK_REPORT_CHAR_STATE,
323     HILINK_CALL_HILINK_IS_REGISTER,
324     HILINK_CALL_HILINK_GET_NETWORKING_MODE,
325     HILINK_CALL_HILINK_GET_REGISTER_STATUS,
326     HILINK_CALL_HILINK_SET_SCHEDULE_INTERVAL,
327     HILINK_CALL_HILINK_SET_MONITOR_SCHEDULE_INTERVAL,
328     HILINK_CALL_HILINK_SET_NET_CONFIG_MODE,
329     HILINK_CALL_HILINK_GET_NET_CONFIG_MODE,
330     HILINK_CALL_HILINK_SET_NET_CONFIG_TIMEOUT,
331     HILINK_CALL_HILINK_SET_OTA_BOOT_TIME,
332     HILINK_CALL_HILINK_ENABLE_KITFRAMEWORK,
333     HILINK_CALL_HILINK_ENABLE_BATCH_CONTROL,
334     HILINK_CALL_HILINK_ENABLE_PROCESS_DEL_ERR_CODE,
335     HILINK_CALL_HILINK_UNBIND_DEVICE,
336     HILINK_CALL_HILINK_SET_DEVICE_INSTALL_TYPE,
337     HILINK_CALL_HILINK_GET_DEV_SETUP_TYPE,
338     HILINK_CALL_HILINK_ENABLE_DEV_ID_INHERIT,
339     HILINK_CALL_HILINK_NOTIFY_NETWORK_AVAILABLE,
340 
341     /* hilink_log_manage.h */
342     HILINK_CALL_HILINK_SET_LOG_LEVEL,
343     HILINK_CALL_HILINK_GET_LOG_LEVEL,
344 
345     /* hilink_device.h */
346     HILINK_CALL_HILINK_REGISTER_GET_AC_V2_FUNC,
347 
348     /* ble_cfg_net_api.h */
349     HILINK_CALL_BLE_CFG_NET_INIT,
350     HILINK_CALL_BLE_CFG_NET_DE_INIT,
351     HILINK_CALL_BLE_CFG_NET_ADV_CTRL,
352     HILINK_CALL_BLE_CFG_NET_ADV_UPDATE,
353     HILINK_CALL_BLE_CFG_NET_DIS_CONNECT,
354     HILINK_CALL_BLE_SEND_CUSTOM_DATA,
355     HILINK_CALL_BLE_GET_ADV_TYPE,
356     HILINK_CALL_BLE_SET_ADV_TYPE,
357     HILINK_CALL_BLE_SET_ADV_NAME_MPP,
358     HILINK_CALL_BLE_NEAR_DISCOVERY_INIT,
359     HILINK_CALL_BLE_NEAR_DISCOVERY_ENABLE,
360     HILINK_CALL_HILINK_BT_GET_TASK_STACK_SIZE,
361     HILINK_CALL_HILINK_BT_SET_TASK_STACK_SIZE,
362 
363     /* hilink_bt_function.h */
364     HILINK_CALL_HILINK_BT_SET_SDK_EVENT_CALLBACK,
365 
366     /* hilink_network_adapter.h */
367     HILINK_CALL_HILINK_REG_WIFI_RECOVERY_CALLBACK,
368     /* hilink_socket_adapter.h */
369     HILINK_CALL_HILINK_REG_ERRNO_CALLBACK,
370 
371     HILINK_CALL_MAX
372 } hilink_call_func_list;
373 
374 struct hilink_info_stru {
375     void (*entry)(void **hilink_call_tbl, void *app_call_tbl);
376 };
377 
378 #ifdef __cplusplus
379 }
380 #endif
381 #endif
382