Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
direct_bt::HCIACLData::l2cap_frame Struct Reference

Representing ACL Datas' L2CAP Frame. More...

#include <HCITypes.hpp>

Collaboration diagram for direct_bt::HCIACLData::l2cap_frame:

Public Types

enum class  PBFlag : uint8_t { START_NON_AUTOFLUSH_HOST = 0b00 , CONTINUING_FRAGMENT = 0b01 , START_AUTOFLUSH = 0b10 , COMPLETE_L2CAP_AUTOFLUSH = 0b11 }
 The Packet_Boundary_Flag. More...
 

Public Member Functions

 l2cap_frame (const uint16_t handle_, const PBFlag pb_flag_, const uint8_t bc_flag_, const L2CAP_CID cid_, const L2CAP_PSM psm_, const uint16_t len_)
 Oly for manual injection, usually using casted pointer. More...
 
constexpr bool isGATT () const noexcept
 
constexpr bool isSMP () const noexcept
 
std::string toString () const noexcept
 
std::string toString (const uint8_t *l2cap_data) const noexcept
 

Static Public Member Functions

static constexpr uint8_t number (const PBFlag v) noexcept
 
static std::string toString (const PBFlag v) noexcept
 

Public Attributes

const uint8_t bc_flag
 The Broadcast_Flag. More...
 
const L2CAP_CID cid
 
const uint16_t handle
 The connection handle. More...
 
const uint16_t len
 
const PBFlag pb_flag
 
const L2CAP_PSM psm
 

Detailed Description

Representing ACL Datas' L2CAP Frame.

BT Core Spec v5.2: Vol 4, Part E HCI: 5.4.2 HCI ACL Data packets

Definition at line 977 of file HCITypes.hpp.

Member Enumeration Documentation

◆ PBFlag

enum class direct_bt::HCIACLData::l2cap_frame::PBFlag : uint8_t
strong

The Packet_Boundary_Flag.

BT Core Spec v5.2: Vol 4, Part E HCI: 5.4.2 HCI ACL Data packets

Enumerator
START_NON_AUTOFLUSH_HOST 

0b00: Start of a non-automatically-flushable PDU from Host to Controller.

Value 0b00.

CONTINUING_FRAGMENT 

0b01: Continuing fragment.

Value 0b01.

START_AUTOFLUSH 

0b10: Start of an automatically flushable PDU.

Value 0b10.

COMPLETE_L2CAP_AUTOFLUSH 

A complete L2CAP PDU.

Automatically flushable. Value 0b11.

Definition at line 984 of file HCITypes.hpp.

Constructor & Destructor Documentation

◆ l2cap_frame()

direct_bt::HCIACLData::l2cap_frame::l2cap_frame ( const uint16_t  handle_,
const PBFlag  pb_flag_,
const uint8_t  bc_flag_,
const L2CAP_CID  cid_,
const L2CAP_PSM  psm_,
const uint16_t  len_ 
)
inline

Oly for manual injection, usually using casted pointer.

Definition at line 1007 of file HCITypes.hpp.

Member Function Documentation

◆ number()

static constexpr uint8_t direct_bt::HCIACLData::l2cap_frame::number ( const PBFlag  v)
inlinestaticconstexprnoexcept

Definition at line 994 of file HCITypes.hpp.

◆ toString() [1/3]

std::string direct_bt::HCIACLData::l2cap_frame::toString ( const PBFlag  v)
staticnoexcept

Definition at line 394 of file HCITypes.cpp.

Here is the caller graph for this function:

◆ isSMP()

constexpr bool direct_bt::HCIACLData::l2cap_frame::isSMP ( ) const
inlineconstexprnoexcept

Definition at line 1012 of file HCITypes.hpp.

◆ isGATT()

constexpr bool direct_bt::HCIACLData::l2cap_frame::isGATT ( ) const
inlineconstexprnoexcept

Definition at line 1014 of file HCITypes.hpp.

◆ toString() [2/3]

std::string direct_bt::HCIACLData::l2cap_frame::toString ( ) const
inlinenoexcept

Definition at line 1016 of file HCITypes.hpp.

Here is the caller graph for this function:

◆ toString() [3/3]

std::string direct_bt::HCIACLData::l2cap_frame::toString ( const uint8_t *  l2cap_data) const
inlinenoexcept

Definition at line 1021 of file HCITypes.hpp.

Member Data Documentation

◆ handle

const uint16_t direct_bt::HCIACLData::l2cap_frame::handle

The connection handle.

Definition at line 998 of file HCITypes.hpp.

◆ pb_flag

const PBFlag direct_bt::HCIACLData::l2cap_frame::pb_flag

Definition at line 999 of file HCITypes.hpp.

◆ bc_flag

const uint8_t direct_bt::HCIACLData::l2cap_frame::bc_flag

The Broadcast_Flag.

Definition at line 1001 of file HCITypes.hpp.

◆ cid

const L2CAP_CID direct_bt::HCIACLData::l2cap_frame::cid

Definition at line 1002 of file HCITypes.hpp.

◆ psm

const L2CAP_PSM direct_bt::HCIACLData::l2cap_frame::psm

Definition at line 1003 of file HCITypes.hpp.

◆ len

const uint16_t direct_bt::HCIACLData::l2cap_frame::len

Definition at line 1004 of file HCITypes.hpp.


The documentation for this struct was generated from the following files: