Direct-BT
2.3.1
Direct-BT - Direct Bluetooth Programming.
|
Vol 3, Part H: 3.5.6 Pairing Public Key message. More...
#include <SMPTypes.hpp>
Public Member Functions | |
SMPPairPubKeyMsg (const uint8_t *source, const jau::nsize_t length) | |
SMPPairPubKeyMsg (const jau::uint256_t &pub_key_x, const jau::uint256_t &pub_key_y) | |
constexpr_cxx20 jau::nsize_t | getDataSize () const noexcept override |
Returns the required data size according to the specified packet, which should be within 0-22 or 64 octets. More... | |
constexpr jau::uint256_t | getPubKeyX () const noexcept |
Returns the 256-bit Public Key X value (32 octets) More... | |
constexpr jau::uint256_t | getPubKeyY () const noexcept |
Returns the 256-bit Public Key Y value (32 octets) More... | |
constexpr_cxx20 std::string | getName () const noexcept override |
Public Member Functions inherited from direct_bt::SMPEncKeyByteStream | |
SMPEncKeyByteStream (const uint8_t *source, const jau::nsize_t size) | |
Persistent memory, w/ ownership . More... | |
SMPEncKeyByteStream (const Opcode opc, const jau::nsize_t size) | |
Persistent memory, w/ ownership . More... | |
virtual | ~SMPEncKeyByteStream () noexcept |
Public Member Functions inherited from direct_bt::SMPPDUMsg | |
SMPPDUMsg (const uint8_t *source, const jau::nsize_t size) | |
Persistent memory, w/ ownership . More... | |
SMPPDUMsg (const Opcode opc, const jau::nsize_t size) | |
Persistent memory, w/ ownership . More... | |
virtual | ~SMPPDUMsg () noexcept |
constexpr uint64_t | getTimestamp () const noexcept |
constexpr Opcode | getOpcode () const noexcept |
SMP Command Codes Vol 3, Part H (SM): 3.3. More... | |
constexpr jau::nsize_t | getPDUParamSize () const noexcept |
Returns the actual PDU size less one octet for the opcode, which should result in 0-22 octets or 64 octets. More... | |
constexpr jau::nsize_t | getDataOffset () const noexcept |
Returns the octet offset to the data segment in this PDU including the mandatory opcode, i.e. More... | |
virtual std::string | toString () const noexcept |
Protected Member Functions | |
std::string | valueString () const noexcept override |
Protected Member Functions inherited from direct_bt::SMPPDUMsg | |
void | checkOpcode (const Opcode expected) const |
void | checkOpcode (const Opcode exp1, const Opcode exp2) const |
virtual std::string | baseString () const noexcept |
Additional Inherited Members | |
Public Types inherited from direct_bt::SMPPDUMsg | |
enum | Opcode : uint8_t { Opcode::UNDEFINED = 0x00, Opcode::PAIRING_REQUEST = 0x01, Opcode::PAIRING_RESPONSE = 0x02, Opcode::PAIRING_CONFIRM = 0x03, Opcode::PAIRING_RANDOM = 0x04, Opcode::PAIRING_FAILED = 0x05, Opcode::ENCRYPTION_INFORMATION = 0x06, Opcode::MASTER_IDENTIFICATION = 0x07, Opcode::IDENTITY_INFORMATION = 0x08, Opcode::IDENTITY_ADDRESS_INFORMATION = 0x09, Opcode::SIGNING_INFORMATION = 0x0A, Opcode::SECURITY_REQUEST = 0x0B, Opcode::PAIRING_PUBLIC_KEY = 0x0C, Opcode::PAIRING_DHKEY_CHECK = 0x0D, Opcode::PAIRING_KEYPRESS_NOTIFICATION = 0x0E } |
SMP Command Codes Vol 3, Part H (SM): 3.3. More... | |
Static Public Member Functions inherited from direct_bt::SMPPDUMsg | |
static constexpr uint8_t | number (const Opcode rhs) noexcept |
static std::string | getOpcodeString (const Opcode opc) noexcept |
static std::unique_ptr< const SMPPDUMsg > | getSpecialized (const uint8_t *buffer, jau::nsize_t const buffer_size) noexcept |
Return a newly created specialized instance pointer to base class. More... | |
template<class T > | |
static T * | clone (const T &source) noexcept |
Clone template for convenience, based on derived class's copy-constructor. More... | |
Protected Attributes inherited from direct_bt::SMPPDUMsg | |
POctets | pdu |
actual received PDU More... | |
uint64_t | ts_creation |
creation timestamp in milliseconds More... | |
Vol 3, Part H: 3.5.6 Pairing Public Key message.
Vol 3 (Host), Part H (SM): 3 (SMP), 3.5.6 Pairing Public Key
[uint8_t opcode] jau::uint256_t public_key_x_value jau::uint256_t public_key_y_value
Message is used to transfer the device’s local public key (X and Y coordinates) to the remote device.
This message is used by both the initiator and responder.
This PDU is only used for LE Secure Connections.
Notable: No endian wise conversion shall occur on this data, since the encryption values are interpreted as a byte stream.
Definition at line 1264 of file SMPTypes.hpp.
|
inline |
|
inline |
|
inlineoverridevirtualnoexcept |
Returns the required data size according to the specified packet, which should be within 0-22 or 64 octets.
Reimplemented from direct_bt::SMPPDUMsg.
Definition at line 1280 of file SMPTypes.hpp.
|
inlineoverridevirtualnoexcept |
Reimplemented from direct_bt::SMPPDUMsg.
Definition at line 1294 of file SMPTypes.hpp.
|
inlineconstexprnoexcept |
Returns the 256-bit Public Key X value (32 octets)
Definition at line 1287 of file SMPTypes.hpp.
|
inlineconstexprnoexcept |
Returns the 256-bit Public Key Y value (32 octets)
Definition at line 1292 of file SMPTypes.hpp.
|
inlineoverrideprotectedvirtualnoexcept |
Reimplemented from direct_bt::SMPPDUMsg.
Definition at line 1299 of file SMPTypes.hpp.