This repository has been archived on 2023-07-17. You can view files and clone it, but cannot push or open issues or pull requests.
bl_mcu_sdk/components/ble/blecontroller/ble_inc/hci_onchip.h
2021-06-04 18:13:33 +08:00

46 lines
1.1 KiB
C

#ifndef HCI_ONCHIP_H_
#define HCI_ONCHIP_H_
enum{
BT_HCI_CMD,
BT_HCI_ACL_DATA,
BT_HCI_CMD_CMP_EVT,
BT_HCI_CMD_STAT_EVT,
BT_HCI_LE_EVT,
BT_HCI_EVT
};
typedef struct{
uint16_t opcode;
uint8_t *params;
uint8_t param_len;
}bl_hci_cmd_struct;
typedef struct {
/// connection handle
uint16_t conhdl;
/// broadcast and packet boundary flag
uint8_t pb_bc_flag;
/// length of the data
uint16_t len;
uint8_t* buffer;
}bl_hci_acl_data_tx;
typedef struct{
union{
bl_hci_cmd_struct hci_cmd;
bl_hci_acl_data_tx acl_data;
}p;
}hci_pkt_struct;
#if defined(OPTIMIZE_DATA_EVT_FLOW_FROM_CONTROLLER)
typedef void (*bt_hci_recv_cb)(uint8_t pkt_type, uint16_t src_id, uint8_t *param, uint8_t param_len, void *rx_buf);
uint8_t bt_onchiphci_hanlde_rx_acl(void *param, uint8_t *host_buf_data);
#else
typedef void (*bt_hci_recv_cb)(uint8_t pkt_type, uint16_t src_id, uint8_t *param, uint8_t param_len);
#endif
uint8_t bt_onchiphci_interface_init(bt_hci_recv_cb cb);
int bt_onchiphci_send(uint8_t pkt_type, uint16_t dest_id, hci_pkt_struct *pkt);
#endif