Mistake on this page?
Report an issue in GitHub or email us
Data Structures | Typedefs | Functions | Variables
hci_core.h File Reference

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_thciCoreConnByHandle (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_thciCoreCisByHandle (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...
 

Detailed Description

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 Documentation

typedef void(* hciResetSeq_t) (uint8_t *pMsg, uint16_t opcode)

HCI Reset sequence callback type.

Definition at line 42 of file hci_core.h.

Function Documentation

uint8_t* hciCoreAclReassembly ( uint8_t *  pData)

Reassemble an ACL packet.

Parameters
pDataInput ACL packet.
Returns
pointer to ACL packet to send, or NULL if no packet to send.
hciCoreCis_t* hciCoreCisByHandle ( uint16_t  handle)

Get a CIS connection structure by handle.

Parameters
handleConnection handle.
Returns
Pointer to CIS connection structure or NULL if not found.
void hciCoreCisClose ( uint16_t  handle)

Perform internal processing on HCI CIS connection close.

Parameters
handleConnection handle.
Returns
None.
void hciCoreCisOpen ( uint16_t  handle)

Perform internal processing on HCI CIS connection open.

Parameters
handleConnection handle.
Returns
None.
hciCoreConn_t* hciCoreConnByHandle ( uint16_t  handle)

Get a connection structure by handle.

Parameters
handleConnection handle.
Returns
Pointer to connection structure or NULL if not found.
void hciCoreConnClose ( uint16_t  handle)

Perform internal processing on HCI connection close.

Parameters
handleConnection handle.
Returns
None.
void hciCoreConnOpen ( uint16_t  handle)

Perform internal processing on HCI connection open.

Parameters
handleConnection handle.
Returns
None.
void hciCoreInit ( void  )

HCI core initialization.

Returns
None.
hciCoreResetStart ( void  )

Start the HCI reset sequence.

Returns
None.
void hciCoreSendAclData ( hciCoreConn_t pConn,
uint8_t *  pData 
)

Send ACL data to transport.

Parameters
pConnPointer to connection structure.
pDataWSF buffer containing an ACL packet.
Returns
None.
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.

Parameters
pConnPointer to connection structure.
pDataWSF buffer containing an ACL packet.
Returns
None.
bool_t hciCoreTxAclContinue ( hciCoreConn_t pConn)

Send ACL packets, continuation of fragmented packets.

Parameters
pConnPointer 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.
Returns
TRUE if packet sent, FALSE otherwise.
bool_t hciCoreTxAclDataFragmented ( hciCoreConn_t pConn)

Check if a TX ACL packet is being fragmented.

Parameters
pConnConnection context.
Returns
TRUE if fragmenting a TX ACL packet, FALSE otherwise.
void hciCoreTxAclStart ( hciCoreConn_t pConn,
uint16_t  len,
uint8_t *  pData 
)

Send ACL packets, start of packet.

Parameters
pConnPointer to connection structure.
lenACL packet length.
pDataWSF buffer containing an ACL packet.
Returns
None.
void hciCoreTxReady ( uint8_t  bufs)

Service the TX data path.

Parameters
bufsNumber of new buffers now available.
Returns
None.

Variable Documentation

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.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.