HCI core interfaces. More...
#include "hci_core_ps.h"
#include "wsf_queue.h"
#include "wsf_os.h"
#include "hci_api.h"
#include "cfg_stack.h"
Go to the source code of this file.
Data Structures | |
struct | hciCoreConn_t |
Per-connection structure for ACL packet accounting. More... | |
struct | hciCoreCis_t |
Per-connection structure for OSI packet accounting. More... | |
struct | hciCoreCb_t |
Main control block for dual-chip implementation. More... | |
Typedefs | |
typedef void(* | hciResetSeq_t) (uint8_t *pMsg, uint16_t opcode) |
HCI Reset sequence callback type. More... | |
Functions | |
void | hciCoreInit (void) |
HCI core initialization. More... | |
void | hciCoreResetStart (void) |
Start the HCI reset sequence. More... | |
void | hciCoreConnOpen (uint16_t handle) |
Perform internal processing on HCI connection open. More... | |
void | hciCoreConnClose (uint16_t handle) |
Perform internal processing on HCI connection close. More... | |
hciCoreConn_t * | hciCoreConnByHandle (uint16_t handle) |
Get a connection structure by handle. More... | |
void | hciCoreCisOpen (uint16_t handle) |
Perform internal processing on HCI CIS connection open. More... | |
void | hciCoreCisClose (uint16_t handle) |
Perform internal processing on HCI CIS connection close. More... | |
hciCoreCis_t * | hciCoreCisByHandle (uint16_t handle) |
Get a CIS connection structure by handle. More... | |
void | hciCoreSendAclData (hciCoreConn_t *pConn, uint8_t *pData) |
Send ACL data to transport. More... | |
void | hciCoreTxReady (uint8_t bufs) |
Service the TX data path. More... | |
void | hciCoreTxAclStart (hciCoreConn_t *pConn, uint16_t len, uint8_t *pData) |
Send ACL packets, start of packet. More... | |
bool_t | hciCoreTxAclContinue (hciCoreConn_t *pConn) |
Send ACL packets, continuation of fragmented packets. More... | |
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. More... | |
uint8_t * | hciCoreAclReassembly (uint8_t *pData) |
Reassemble an ACL packet. More... | |
bool_t | hciCoreTxAclDataFragmented (hciCoreConn_t *pConn) |
Check if a TX ACL packet is being fragmented. More... | |
Variables | |
hciCoreCb_t | hciCoreCb |
Control block. More... | |
const uint8_t | hciEventMask [HCI_EVT_MASK_LEN] |
Event mask. More... | |
const uint8_t | hciLeEventMask [HCI_LE_EVT_MASK_LEN] |
LE event mask. More... | |
const uint8_t | hciEventMaskPage2 [HCI_EVT_MASK_LEN] |
Event mask page 2. More... | |
uint64_t | hciLeSupFeatCfg |
LE supported features configuration mask. More... | |
HCI core interfaces.
Copyright (c) 2009-2018 Arm Ltd. All Rights Reserved.
Copyright (c) 2019 Packetcraft, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Definition in file hci_core.h.
typedef void(* hciResetSeq_t) (uint8_t *pMsg, uint16_t opcode) |
HCI Reset sequence callback type.
Definition at line 42 of file hci_core.h.
uint8_t* hciCoreAclReassembly | ( | uint8_t * | pData | ) |
Reassemble an ACL packet.
pData | Input ACL packet. |
hciCoreCis_t* hciCoreCisByHandle | ( | uint16_t | handle | ) |
Get a CIS connection structure by handle.
handle | Connection handle. |
void hciCoreCisClose | ( | uint16_t | handle | ) |
Perform internal processing on HCI CIS connection close.
handle | Connection handle. |
void hciCoreCisOpen | ( | uint16_t | handle | ) |
Perform internal processing on HCI CIS connection open.
handle | Connection handle. |
hciCoreConn_t* hciCoreConnByHandle | ( | uint16_t | handle | ) |
Get a connection structure by handle.
handle | Connection handle. |
void hciCoreConnClose | ( | uint16_t | handle | ) |
Perform internal processing on HCI connection close.
handle | Connection handle. |
void hciCoreConnOpen | ( | uint16_t | handle | ) |
Perform internal processing on HCI connection open.
handle | Connection handle. |
void hciCoreInit | ( | void | ) |
HCI core initialization.
hciCoreResetStart | ( | void | ) |
Start the HCI reset sequence.
void hciCoreSendAclData | ( | hciCoreConn_t * | pConn, |
uint8_t * | pData | ||
) |
Send ACL data to transport.
pConn | Pointer to connection structure. |
pData | WSF buffer containing an ACL packet. |
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.
pConn | Pointer to connection structure. |
pData | WSF buffer containing an ACL packet. |
bool_t hciCoreTxAclContinue | ( | hciCoreConn_t * | pConn | ) |
Send ACL packets, continuation of fragmented packets.
pConn | Pointer to connection structure. If set non-NULL, then a fragment is sent from this connection structure. If NULL the function finds the next connection structure with a fragment to be sent. |
bool_t hciCoreTxAclDataFragmented | ( | hciCoreConn_t * | pConn | ) |
Check if a TX ACL packet is being fragmented.
pConn | Connection context. |
void hciCoreTxAclStart | ( | hciCoreConn_t * | pConn, |
uint16_t | len, | ||
uint8_t * | pData | ||
) |
Send ACL packets, start of packet.
pConn | Pointer to connection structure. |
len | ACL packet length. |
pData | WSF buffer containing an ACL packet. |
void hciCoreTxReady | ( | uint8_t | bufs | ) |
Service the TX data path.
bufs | Number of new buffers now available. |
hciCoreCb_t hciCoreCb |
Control block.
const uint8_t hciEventMask[HCI_EVT_MASK_LEN] |
Event mask.
const uint8_t hciEventMaskPage2[HCI_EVT_MASK_LEN] |
Event mask page 2.
const uint8_t hciLeEventMask[HCI_LE_EVT_MASK_LEN] |
LE event mask.
uint64_t hciLeSupFeatCfg |
LE supported features configuration mask.