Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
Public Member Functions | Protected Member Functions | List of all members
direct_bt::HCILELTKReplyAckCmd Class Reference

BT Core Spec v5.2: Vol 4, Part E HCI: 7.8.25 LE Long Term Key Request Reply command. More...

#include <HCITypes.hpp>

Inheritance diagram for direct_bt::HCILELTKReplyAckCmd:
Collaboration diagram for direct_bt::HCILELTKReplyAckCmd:

Public Member Functions

 HCILELTKReplyAckCmd (const uint16_t handle, const jau::uint128dp_t ltk)
 
 HCILELTKReplyAckCmd (const uint8_t *buffer, const jau::nsize_t buffer_len)
 
constexpr uint16_t getHandle () const noexcept
 
constexpr jau::uint128dp_t getLTK () const noexcept
 Returns the 128-bit Long Term Key (16 octets) More...
 
- Public Member Functions inherited from direct_bt::HCICommand
 HCICommand (const HCIOpcode opc, const jau::nsize_t param_size)
 Enabling manual construction of command without given value. More...
 
 HCICommand (const HCIOpcode opc, const uint8_t *param, const jau::nsize_t param_size)
 Enabling manual construction of command with given value. More...
 
 HCICommand (const uint8_t *buffer, const jau::nsize_t buffer_len, const jau::nsize_t exp_param_size)
 Persistent memory, w/ ownership . More...
 
 ~HCICommand () noexcept override=default
 
HCIOpcode getOpcode () const noexcept
 
const uint8_t * getParam () const noexcept
 
jau::nsize_t getParamSize () const noexcept
 
void trimParamSize (const jau::nsize_t param_size)
 
- Public Member Functions inherited from direct_bt::HCIPacket
 HCIPacket (const HCIPacketType type, const jau::nsize_t total_packet_size)
 
 HCIPacket (const uint8_t *packet_data, const jau::nsize_t total_packet_size)
 Persistent memory, w/ ownership . More...
 
virtual ~HCIPacket () noexcept=default
 
HCIPacketType getPacketType () noexcept
 
jau::TROOctetsgetPDU () noexcept
 Return the underlying octets read only. More...
 
constexpr jau::nsize_t getTotalSize () const noexcept
 
std::string toString () const noexcept
 

Protected Member Functions

std::string nameString () const noexcept override
 
std::string valueString () const noexcept override
 
- Protected Member Functions inherited from direct_bt::HCICommand
std::string baseString () const noexcept override
 
std::string nameString () const noexcept override
 
std::string valueString () const noexcept override
 
virtual std::string baseString () const noexcept
 
virtual std::string nameString () const noexcept
 
virtual std::string valueString () const noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from direct_bt::HCICommand
static std::unique_ptr< HCICommandgetSpecialized (const uint8_t *buffer, jau::nsize_t const buffer_size) noexcept
 Return a newly created specialized instance pointer to base class. More...
 
- Static Public Member Functions inherited from direct_bt::HCIPacket
template<class T >
static T * clone (const T &source) noexcept
 Clone template for convenience, based on derived class's copy-constructor. More...
 
- Static Protected Member Functions inherited from direct_bt::HCICommand
static void checkOpcode (const HCIOpcode has, const HCIOpcode exp)
 
static void checkOpcode (const HCIOpcode has, const HCIOpcode min, const HCIOpcode max)
 
- Static Protected Member Functions inherited from direct_bt::HCIPacket
static void checkPacketType (const HCIPacketType type)
 
- Protected Attributes inherited from direct_bt::HCIPacket
jau::POctets pdu
 

Detailed Description

BT Core Spec v5.2: Vol 4, Part E HCI: 7.8.25 LE Long Term Key Request Reply command.

HCIPacket:

This command shall only be used when the local device’s role is BTRole::Slave (responder).

LTK belongs to the local device having role BTRole::Slave (responder).

The LTK matches the LTK from SMP messaging in SC mode only!

Definition at line 849 of file HCITypes.hpp.

Constructor & Destructor Documentation

◆ HCILELTKReplyAckCmd() [1/2]

direct_bt::HCILELTKReplyAckCmd::HCILELTKReplyAckCmd ( const uint8_t *  buffer,
const jau::nsize_t  buffer_len 
)
inline

Definition at line 860 of file HCITypes.hpp.

◆ HCILELTKReplyAckCmd() [2/2]

direct_bt::HCILELTKReplyAckCmd::HCILELTKReplyAckCmd ( const uint16_t  handle,
const jau::uint128dp_t  ltk 
)
inline

Definition at line 866 of file HCITypes.hpp.

Member Function Documentation

◆ nameString()

std::string direct_bt::HCILELTKReplyAckCmd::nameString ( ) const
inlineoverrideprotectedvirtualnoexcept

Reimplemented from direct_bt::HCICommand.

Definition at line 852 of file HCITypes.hpp.

◆ valueString()

std::string direct_bt::HCILELTKReplyAckCmd::valueString ( ) const
inlineoverrideprotectedvirtualnoexcept

Reimplemented from direct_bt::HCICommand.

Definition at line 854 of file HCITypes.hpp.

◆ getHandle()

constexpr uint16_t direct_bt::HCILELTKReplyAckCmd::getHandle ( ) const
inlineconstexprnoexcept

Definition at line 873 of file HCITypes.hpp.

Here is the caller graph for this function:

◆ getLTK()

constexpr jau::uint128dp_t direct_bt::HCILELTKReplyAckCmd::getLTK ( ) const
inlineconstexprnoexcept

Returns the 128-bit Long Term Key (16 octets)

The generated LTK value being distributed, see Vol 3, Part H, 2.4.2.3 SM - LE legacy pairing - generation of LTK, EDIV and Rand.

Definition at line 882 of file HCITypes.hpp.


The documentation for this class was generated from the following file: