esp-idf/components/bt/host/bluedroid/btc/include/btc/btc_main.h

71 lines
1.9 KiB
C

/*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef __BTC_BT_MAIN_H__
#define __BTC_BT_MAIN_H__
#include "osi/future.h"
#include "stack/bt_types.h"
#include "bta/bta_api.h"
#include "btc/btc_main.h"
#include "btc/btc_task.h"
typedef enum {
BTC_MAIN_ACT_INIT = 0,
BTC_MAIN_ACT_DEINIT,
BTC_MAIN_ACT_ENABLE,
BTC_MAIN_ACT_DISABLE,
} btc_main_act_t;
typedef enum {
BTC_MAIN_INIT_FUTURE = 0,
BTC_MAIN_DEINIT_FUTURE,
BTC_MAIN_ENABLE_FUTURE,
BTC_MAIN_DISABLE_FUTURE,
BTC_MAIN_FUTURE_NUM,
} btc_main_future_type_t;
#define BTC_BLE_STATUS_IDLE 0
typedef enum {
BTC_BLE_STATUS_ADV = 0, // Advertising exist
BTC_BLE_STATUS_EXT_ADV, // Extended advertising exist
BTC_BLE_STATUS_SCAN, // Scanning exist
BTC_BLE_STATUS_CONN, // Connection exist
BTC_BLE_STATUS_KEYS, // Device keys record exist
BTC_BLE_STATUS_BOND, // Bond info exist
BTC_BLE_STATUS_GATTC_CACHE, // GATTC cache exist
BTC_BLE_STATUS_GATTC_APP, // GATTC application exist
BTC_BLE_STATUS_GATTS_SRVC, // GATTS service exist
BTC_BLE_STATUS_PRIVACY, // Privacy enabled
} tBTC_BLE_STATUS;
future_t **btc_main_get_future_p(btc_main_future_type_t type);
#if 0
typedef union {
struct btc_main_init_args {
future_t *future;
} init;
struct btc_main_deinit_args {
future_t *future;
} deinit;
struct btc_main_init_args {
future_t *future;
} enable;
struct btc_main_init_args {
future_t *future;
} disable;
} btc_main_args_t;
bt_status_t btc_enable_bluetooth(future_t *future);
void btc_disable_bluetooth(future_t *future);
bt_status_t btc_init_bluetooth(future_t *future);
void btc_deinit_bluetooth(future_t *future);
#endif
void btc_main_call_handler(btc_msg_t *msg);
#endif /* __BTC_BT_MAIN_H__ */