PebbleOS
Loading...
Searching...
No Matches
Data Structures | Functions
Bonding storage format

On-flash layout of BLE pairing info in the bonding database. More...

Data Structures

struct  BtPersistLEEncryptionInfo
 Stored LE encryption info. More...
 
struct  BtPersistLEPairingInfo
 Stored BLE pairing info. More...
 

Functions

static void bt_persistent_storage_assign_persist_pairing_info (BtPersistLEPairingInfo *out, const struct pbl_bt_sm_pairing_info *in)
 Convert pairing info to its stored form.
 
static void bt_persistent_storage_assign_sm_pairing_info (struct pbl_bt_sm_pairing_info *out, const BtPersistLEPairingInfo *in)
 Convert stored pairing info back to pairing info.
 

Detailed Description

On-flash layout of BLE pairing info in the bonding database.

The layout is persisted: fields may only be added, never changed or removed.


Data Structure Documentation

◆ BtPersistLEEncryptionInfo

struct BtPersistLEEncryptionInfo

Stored LE encryption info.

Data Fields
uint16_t ediv Encrypted diversifier.
struct pbl_bt_sm_key ltk Long term key.
uint64_t rand Random number.

◆ BtPersistLEPairingInfo

struct BtPersistLEPairingInfo

Stored BLE pairing info.

Data Fields
struct pbl_bt_sm_key csrk Remote connection signature resolving key.
struct pbl_bt_device_internal identity Remote identity address.
struct pbl_bt_sm_key irk Remote identity resolving key.
bool is_local_encryption_info_valid: 1 True if local_encryption_info is valid.
bool is_mitm_protection_enabled: 1 True if man-in-the-middle protection was used during pairing.
bool is_remote_encryption_info_valid: 1 True if remote_encryption_info is valid.
bool is_remote_identity_info_valid: 1 True if irk and identity are valid.
bool is_remote_signing_info_valid: 1 True if csrk is valid.
BtPersistLEEncryptionInfo local_encryption_info Encryption info distributed by the watch.
BtPersistLEEncryptionInfo remote_encryption_info Encryption info distributed by the remote device.
uint8_t rsvd: 3 Reserved.

Function Documentation

◆ bt_persistent_storage_assign_persist_pairing_info()

static void bt_persistent_storage_assign_persist_pairing_info ( BtPersistLEPairingInfo *  out,
const struct pbl_bt_sm_pairing_info *  in 
)
inlinestatic

◆ bt_persistent_storage_assign_sm_pairing_info()

static void bt_persistent_storage_assign_sm_pairing_info ( struct pbl_bt_sm_pairing_info *  out,
const BtPersistLEPairingInfo *  in 
)
inlinestatic