1 /*
2  * SPDX-FileCopyrightText: 2015-2022 The Apache Software Foundation (ASF)
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * SPDX-FileContributor: 2019-2022 Espressif Systems (Shanghai) CO LTD
7  */
8 
9 #ifndef _NIMBLE_PORT_FREERTOS_H
10 #define _NIMBLE_PORT_FREERTOS_H
11 
12 #include "nimble/nimble_npl.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 
19 /**
20  * @brief esp_nimble_enable - Initialize the NimBLE host task
21  *
22  * @param host_task
23  * @return esp_err_t
24  */
25 esp_err_t esp_nimble_enable(void *host_task);
26 
27 /**
28  * @brief esp_nimble_disable - Disable the NimBLE host task
29  *
30  * @return esp_err_t
31  */
32 esp_err_t esp_nimble_disable(void);
33 
34 void nimble_port_freertos_init(TaskFunction_t host_task_fn);
35 void nimble_port_freertos_deinit(void);
36 void npl_freertos_funcs_init(void);
37 void npl_freertos_funcs_deinit(void);
38 int npl_freertos_mempool_init(void);
39 struct npl_funcs_t * npl_freertos_funcs_get(void);
40 int npl_freertos_set_controller_npl_info(ble_npl_count_info_t *ctrl_npl_info);
41 #ifdef __cplusplus
42 }
43 #endif
44 
45 #endif /* _NIMBLE_PORT_FREERTOS_H */
46