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

BT Core Spec v5.2: Vol 4, Part E HCI: 7.7.65.5 LE Long Term Key Request event. More...

#include <HCITypes.hpp>

Inheritance diagram for direct_bt::HCILELTKReqEvent:
Collaboration diagram for direct_bt::HCILELTKReqEvent:

Public Member Functions

 HCILELTKReqEvent (const uint8_t *buffer, const jau::nsize_t buffer_len)
 Passing through preset buffer of this type. More...
 
constexpr uint16_t getEDIV () const noexcept
 Returns the 16-bit EDIV value (2 octets) being distributed. More...
 
constexpr uint16_t getHandle () const noexcept
 
constexpr uint64_t getRand () const noexcept
 Returns the 64-bit Rand value (8 octets) being distributed. More...
 
- Public Member Functions inherited from direct_bt::HCIMetaEvent
 HCIMetaEvent (const HCIMetaEventType mc, const jau::nsize_t meta_param_size)
 Enabling manual construction of event without given value. More...
 
 HCIMetaEvent (const HCIMetaEventType mc, const uint8_t *meta_param, const jau::nsize_t meta_param_size)
 Enabling manual construction of event with given value. More...
 
 HCIMetaEvent (const uint8_t *buffer, const jau::nsize_t buffer_len, const jau::nsize_t exp_meta_param_size)
 Passing through preset buffer of this type. More...
 
HCIMetaEventType getMetaEventType () const noexcept override
 The meta subevent type. More...
 
const uint8_t * getParam () const noexcept override
 
jau::nsize_t getParamSize () const noexcept override
 
- Public Member Functions inherited from direct_bt::HCIEvent
 HCIEvent (const HCIEventType evt, const jau::nsize_t param_size=0)
 Enabling manual construction of event without given value. More...
 
 HCIEvent (const HCIEventType evt, const uint8_t *param, const jau::nsize_t param_size)
 Enabling manual construction of event with given value. More...
 
 HCIEvent (const uint8_t *buffer, const jau::nsize_t buffer_len, const jau::nsize_t exp_param_size)
 Persistent memory, w/ ownership . More...
 
 ~HCIEvent () noexcept override=default
 
constexpr HCIEventType getEventType () const noexcept
 
virtual HCIMetaEventType getMetaEventType () const noexcept
 The meta subevent type. More...
 
virtual const uint8_t * getParam () const noexcept
 
virtual jau::nsize_t getParamSize () const noexcept
 
uint64_t getTimestamp () const noexcept
 
constexpr bool isEvent (HCIEventType t) const noexcept
 
bool isMetaEvent (HCIMetaEventType t) const noexcept
 
virtual bool validate (const HCICommand &cmd) const noexcept
 
- 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::HCIMetaEvent
std::string baseString () const noexcept override
 
std::string nameString () const noexcept override
 
- Protected Member Functions inherited from direct_bt::HCIEvent
std::string baseString () const noexcept override
 
jau::nsize_t getBaseParamSize () const noexcept
 
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::HCIEvent
static std::unique_ptr< HCIEventgetSpecialized (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::HCIMetaEvent
static void checkMetaType (const HCIMetaEventType has, const HCIMetaEventType exp)
 
- Static Protected Member Functions inherited from direct_bt::HCIEvent
static void checkEventType (const HCIEventType has, const HCIEventType exp)
 
static void checkEventType (const HCIEventType has, const HCIEventType min, const HCIEventType max)
 
- Static Protected Member Functions inherited from direct_bt::HCIPacket
static void checkPacketType (const HCIPacketType type)
 
- Protected Attributes inherited from direct_bt::HCIEvent
uint64_t ts_creation
 
- Protected Attributes inherited from direct_bt::HCIPacket
jau::POctets pdu
 

Detailed Description

BT Core Spec v5.2: Vol 4, Part E HCI: 7.7.65.5 LE Long Term Key Request event.

HCIPacket:

This event indicates that the peer device being BTRole::Master, attempts to encrypt or re-encrypt the link and is requesting the LTK from the Host.

This event shall only be generated when the local device’s role is BTRole::Slave (responder, adapter in peripheral mode).

Rand and Ediv belong to the local device having role BTRole::Slave (responder).

Rand and Ediv matches the LTK from SMP messaging in SC mode only!

It shall be replied via HCILELTKReplyAckCmd (HCIOpcode::LE_LTK_REPLY_ACK) or HCILELTKReplyRejCmd (HCIOpcode::LE_LTK_REPLY_REJ)

Definition at line 1426 of file HCITypes.hpp.

Constructor & Destructor Documentation

◆ HCILELTKReqEvent()

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

Passing through preset buffer of this type.

Definition at line 1439 of file HCITypes.hpp.

Member Function Documentation

◆ nameString()

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

Reimplemented from direct_bt::HCIMetaEvent.

Definition at line 1429 of file HCITypes.hpp.

◆ valueString()

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

Reimplemented from direct_bt::HCIEvent.

Definition at line 1431 of file HCITypes.hpp.

◆ getHandle()

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

Definition at line 1446 of file HCITypes.hpp.

Here is the caller graph for this function:

◆ getRand()

constexpr uint64_t direct_bt::HCILELTKReqEvent::getRand ( ) const
inlineconstexprnoexcept

Returns the 64-bit Rand value (8 octets) being distributed.

See Vol 3, Part H, 2.4.2.3 SM - Generation of CSRK - LE legacy pairing - generation of LTK, EDIV and Rand.

Definition at line 1454 of file HCITypes.hpp.

◆ getEDIV()

constexpr uint16_t direct_bt::HCILELTKReqEvent::getEDIV ( ) const
inlineconstexprnoexcept

Returns the 16-bit EDIV value (2 octets) being distributed.

See Vol 3, Part H, 2.4.2.3 SM - Generation of CSRK - LE legacy pairing - generation of LTK, EDIV and Rand.

Definition at line 1462 of file HCITypes.hpp.


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