22 #include "hci_core_ps.h" uint8_t outBufs
Outstanding ACL buffers sent to controller.
uint8_t perAdvListSize
Controller periodic advertising list size.
hciCoreConn_t * hciCoreConnByHandle(uint16_t handle)
Get a connection structure by handle.
uint16_t handle
Connection handle.
uint16_t leSupFeat
Controller LE supported features.
uint16_t hciLeSupFeatCfg
LE supported features configuration mask.
uint16_t rxAclRemLen
Fragmented RX ACL packet remaining length.
const uint8_t hciEventMask[HCI_EVT_MASK_LEN]
Event mask.
uint8_t bool_t
Boolean data type.
uint16_t maxAdvDataLen
Controller maximum advertisement (or scan response) data length.
uint8_t * pNextRxFrag
Next RX ACL packet fragment.
void hciCoreInit(void)
HCI core initialization.
bdAddr_t bdAddr
Bluetooth device address.
void hciCoreTxAclComplete(hciCoreConn_t *pConn, uint8_t *pData)
This function is called from the HCI transport layer when transmission of an ACL packet is complete...
uint8_t * pNextTxFrag
Next TX ACL packet fragment.
#define HCI_LE_STATES_LEN
Length of LE states byte array.
bool_t hciCoreTxAclDataFragmented(hciCoreConn_t *pConn)
Check if a TX ACL packet is being fragmented.
const uint8_t hciLeEventMask[HCI_LE_EVT_MASK_LEN]
LE event mask.
bool_t hciCoreTxAclContinue(hciCoreConn_t *pConn)
Send ACL packets, continuation of fragmented packets.
uint8_t aclQueueLo
Enable flow when this many ACL buffers queued.
Main control block for dual-chip implementation.
void hciCoreSendAclData(hciCoreConn_t *pConn, uint8_t *pData)
Send ACL data to transport.
#define HCI_LE_EVT_MASK_LEN
Length of LE event mask byte array.
uint8_t numCmdPkts
Controller command packed count.
bool_t flowDisabled
TRUE if data flow disabled.
bool_t fragmenting
TRUE if fragmenting a TX ACL packet.
uint16_t maxRxAclLen
Maximum reassembled RX ACL packet length.
void hciCoreTxAclStart(hciCoreConn_t *pConn, uint16_t len, uint8_t *pData)
Send ACL packets, start of packet.
uint8_t numBufs
Controller number of ACL data buffers.
void(* hciResetSeq_t)(uint8_t *pMsg, uint16_t opcode)
HCI Reset sequence callback type.
hciCoreCb_t hciCoreCb
Control block.
wsfQueue_t aclQueue
HCI ACL TX queue.
uint8_t aclQueueHi
Disable flow when this many ACL buffers queued.
const uint8_t hciEventMaskPage2[HCI_EVT_MASK_LEN]
Event mask page 2.
hciCoreConn_t * pConnRx
Connection struct for current transport RX packet.
#define HCI_EVT_MASK_LEN
Length of event mask byte array.
uint8_t * hciCoreAclReassembly(uint8_t *pData)
Reassemble an ACL packet.
uint8_t bdAddr_t[BDA_ADDR_LEN]
BD address data type.
uint8_t numSupAdvSets
Controller maximum number of advertising sets.
uint16_t bufSize
Controller ACL data buffer size.
void hciCoreConnOpen(uint16_t handle)
Perform internal processing on HCI connection open.
hciResetSeq_t extResetSeq
HCI extended reset sequence callback.
uint8_t availBufs
Current avail ACL data buffers.
uint8_t * pRxAclPkt
RX ACL packet pointer.
void hciCoreTxReady(uint8_t bufs)
Service the TX data path.
int8_t advTxPwr
Controller advertising TX power.
uint8_t * pTxAclPkt
Fragmenting TX ACL packet pointer.
unsigned short uint16_t
Unsigned 16-bit value.
General purpose queue service.
#define DM_CONN_MAX
Maximum number of connections.
uint8_t whiteListSize
Controller white list size.
uint8_t resListSize
Controller resolving list size.
void hciCoreResetStart(void)
Start the HCI reset sequence.
Software foundation OS API.
uint16_t txAclRemLen
Fragmenting TX ACL packet remaining length.
uint8_t queuedBufs
Queued ACL buffers on this connection.
Per-connection structure for ACL packet accounting.
void hciCoreConnClose(uint16_t handle)
Perform internal processing on HCI connection close.
unsigned char uint8_t
Unsigned 8-bit value.
signed char int8_t
Signed 8-bit value.