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