2016-08-15 18:22:59 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2016 Nordic Semiconductor ASA
|
|
|
|
* Copyright (c) 2016 Vinayak Kariappa Chettimada
|
|
|
|
*
|
2017-01-19 09:01:01 +08:00
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
2016-08-15 18:22:59 +08:00
|
|
|
*/
|
|
|
|
|
2016-09-15 16:07:56 +08:00
|
|
|
#ifndef _HCI_CONTROLLER_H_
|
|
|
|
#define _HCI_CONTROLLER_H_
|
2016-08-15 18:22:59 +08:00
|
|
|
|
2017-05-04 22:09:53 +08:00
|
|
|
#if defined(CONFIG_BLUETOOTH_HCI_ACL_FLOW_CONTROL)
|
2017-04-07 15:53:02 +08:00
|
|
|
extern s32_t hci_hbuf_total;
|
|
|
|
extern u32_t hci_hbuf_sent;
|
|
|
|
extern u32_t hci_hbuf_acked;
|
|
|
|
extern atomic_t hci_state_mask;
|
|
|
|
|
|
|
|
#define HCI_STATE_BIT_RESET 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define HCI_CLASS_EVT_REQUIRED 0
|
|
|
|
#define HCI_CLASS_EVT_DISCARDABLE 1
|
|
|
|
#define HCI_CLASS_EVT_CONNECTION 2
|
|
|
|
#define HCI_CLASS_ACL_DATA 3
|
|
|
|
|
|
|
|
void hci_init(struct k_poll_signal *signal_host_buf);
|
2017-02-01 23:32:29 +08:00
|
|
|
struct net_buf *hci_cmd_handle(struct net_buf *cmd);
|
2016-09-22 22:46:21 +08:00
|
|
|
void hci_evt_encode(struct radio_pdu_node_rx *node_rx, struct net_buf *buf);
|
2017-04-07 15:53:02 +08:00
|
|
|
s8_t hci_get_class(struct radio_pdu_node_rx *node_rx);
|
|
|
|
#if defined(CONFIG_BLUETOOTH_CONN)
|
|
|
|
int hci_acl_handle(struct net_buf *acl);
|
2016-09-22 22:46:21 +08:00
|
|
|
void hci_acl_encode(struct radio_pdu_node_rx *node_rx, struct net_buf *buf);
|
2017-04-21 01:00:29 +08:00
|
|
|
void hci_num_cmplt_encode(struct net_buf *buf, u16_t handle, u8_t num);
|
2017-04-07 15:53:02 +08:00
|
|
|
#endif
|
2016-09-15 16:07:56 +08:00
|
|
|
#endif /* _HCI_CONTROLLER_H_ */
|