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::SMPIdentityResolvingKey Struct Reference

SMP Identity Resolving Key, used for platform agnostic persistence. More...

#include <SMPTypes.hpp>

Collaboration diagram for direct_bt::SMPIdentityResolvingKey:

Public Types

enum class  Property : uint8_t { NONE = 0x00 RESPONDER = 0x01 , AUTH = 0x02 }
 

Public Member Functions

void clear () noexcept
 
bool isResponder () const noexcept
 
bool matches (const EUI48 &rpa) noexcept
 Returns true if this IRK matches the given random private address (RPA). More...
 
std::string toString () const noexcept
 

Static Public Member Functions

static std::string getPropertyString (const Property mask) noexcept
 
static bool matches (const jau::uint128dp_t &irk, const EUI48 &rpa) noexcept
 Returns true if the given IRK matches the given random private address (RPA). More...
 
static constexpr uint8_t number (const Property rhs) noexcept
 

Public Attributes

EUI48 id_address
 Identity Address for the IRK. More...
 
jau::uint128dp_t irk
 Identity Resolving Key (IRK) More...
 
Property properties
 SMPIdentityResolvingKey::Property bit mask. More...
 

Detailed Description

SMP Identity Resolving Key, used for platform agnostic persistence.

Notable: No endian wise conversion shall occur on this data, since the encryption values are interpreted as little-endian or as a byte stream.

Byte layout must be synchronized with java org.tinyb.SMPIdentityResolvingKey

Definition at line 636 of file SMPTypes.hpp.

Member Enumeration Documentation

◆ Property

enum class direct_bt::SMPIdentityResolvingKey::Property : uint8_t
strong
Enumerator
NONE 

No specific property.

AUTH 

Authentication used.

Definition at line 636 of file SMPTypes.hpp.

Member Function Documentation

◆ number()

static constexpr uint8_t direct_bt::SMPIdentityResolvingKey::number ( const Property  rhs)
inlinestaticconstexprnoexcept

Definition at line 636 of file SMPTypes.hpp.

◆ getPropertyString()

std::string SMPIdentityResolvingKey::getPropertyString ( const Property  mask)
staticnoexcept

Definition at line 302 of file SMPTypes.cpp.

◆ isResponder()

bool SMPIdentityResolvingKey::isResponder ( ) const
noexcept

Definition at line 310 of file SMPTypes.cpp.

◆ matches() [1/2]

bool SMPIdentityResolvingKey::matches ( const EUI48 rpa)
noexcept

Returns true if this IRK matches the given random private address (RPA).

Definition at line 314 of file SMPTypes.cpp.

Here is the caller graph for this function:

◆ matches() [2/2]

bool SMPIdentityResolvingKey::matches ( const jau::uint128dp_t irk,
const EUI48 rpa 
)
staticnoexcept

Returns true if the given IRK matches the given random private address (RPA).

This static variant is a helper for the Java binding, use matches().

Definition at line 318 of file SMPTypes.cpp.

◆ clear()

void direct_bt::SMPIdentityResolvingKey::clear ( )
inlinenoexcept

Definition at line 636 of file SMPTypes.hpp.

◆ toString()

std::string direct_bt::SMPIdentityResolvingKey::toString ( ) const
inlinenoexcept

Definition at line 636 of file SMPTypes.hpp.

Here is the caller graph for this function:

Member Data Documentation

◆ properties

Property direct_bt::SMPIdentityResolvingKey::properties

SMPIdentityResolvingKey::Property bit mask.

Definition at line 636 of file SMPTypes.hpp.

◆ irk

jau::uint128dp_t direct_bt::SMPIdentityResolvingKey::irk

Identity Resolving Key (IRK)

Definition at line 636 of file SMPTypes.hpp.

◆ id_address

EUI48 direct_bt::SMPIdentityResolvingKey::id_address

Identity Address for the IRK.

Definition at line 636 of file SMPTypes.hpp.


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