TI BLE5-Stack API Documentation  2.02.05.00
Macros
GAP Bond Manager Parameters

Macros

#define GAPBOND_ALLOW_DEBUG_KEYS   0x416
 
#define GAPBOND_AUTHEN_PAIRING_ONLY   0x41B
 
#define GAPBOND_AUTO_SYNC_WL   0x40D
 
#define GAPBOND_BOND_COUNT   0x40E
 
#define GAPBOND_BOND_FAIL_ACTION   0x40F
 
#define GAPBOND_BONDING_ENABLED   0x406
 
#define GAPBOND_ECC_KEYS   0x413
 
#define GAPBOND_ECCKEY_REGEN_POLICY   0x412
 
#define GAPBOND_ERASE_ALLBONDS   0x409
 
#define GAPBOND_ERASE_BOND_IN_CONN   0x415
 
#define GAPBOND_ERASE_LOCAL_INFO   0x41A
 
#define GAPBOND_ERASE_SINGLEBOND   0x410
 
#define GAPBOND_IO_CAPABILITIES   0x403
 
#define GAPBOND_KEY_DIST_LIST   0x407
 
#define GAPBOND_KEYSIZE   0x40C
 
#define GAPBOND_LRU_BOND_REPLACEMENT   0x418
 
#define GAPBOND_MITM_PROTECTION   0x402
 
#define GAPBOND_OOB_DATA   0x405
 
#define GAPBOND_OOB_ENABLED   0x404
 
#define GAPBOND_PAIRING_MODE   0x400
 
#define GAPBOND_SC_HOST_DEBUG   0x414
 
#define GAPBOND_SECURE_CONNECTION   0x411
 

Detailed Description

Parameters set via GAPBondMgr_SetParameter

Macro Definition Documentation

§ GAPBOND_ALLOW_DEBUG_KEYS

#define GAPBOND_ALLOW_DEBUG_KEYS   0x416

Allows to receive debug keys during pairing, in the public keys exchange phase.

If TRUE, receiving debug keys is allowed. If FALSE, receiving debug keys is not allowed, pairing will fail with invalid paramters code.

Note
if both devices are allowing it, and both are sending debug keys, it will fail due to mirror attack suspicion

size: uint8_t

default: TRUE

range: TRUE (allow receiving debug keys). FALSE(reject debug keys).

§ GAPBOND_AUTHEN_PAIRING_ONLY

#define GAPBOND_AUTHEN_PAIRING_ONLY   0x41B

Whether to enfore authenticated pairing (Read/Write)

size: uint8_t

default: FALSE

range: TRUE (enforce) or FALSE (do not enforce)

§ GAPBOND_AUTO_SYNC_WL

#define GAPBOND_AUTO_SYNC_WL   0x40D

Synchronize the whitelist with bonded devices (Read/Write)

If TRUE, the whitelist will first be cleared. Then, each unique address stored by bonds in SNV will be synched with the whitelist indefinitely or until this is set to FALSE

size: uint8_t

default: FALSE

range: TRUE (sync) or FALSE (don't sync)

§ GAPBOND_BOND_COUNT

#define GAPBOND_BOND_COUNT   0x40E

Gets the total number of bonds stored in NV (Read-only)

size: uint8_t

range: 0 255

§ GAPBOND_BOND_FAIL_ACTION

#define GAPBOND_BOND_FAIL_ACTION   0x40F

The action that the device takes after an unsuccessful bonding attempt (Read / Write)

size: uint8_t

default: GAPBOND_FAIL_TERMINATE_LINK

range: Bonding Failure Actions

§ GAPBOND_BONDING_ENABLED

#define GAPBOND_BONDING_ENABLED   0x406

Whether to bond after pairing (Read/Write)

size: uint8_t

default: FALSE

range: TRUE (request) or FALSE (do not request)

§ GAPBOND_ECC_KEYS

#define GAPBOND_ECC_KEYS   0x413

The private and public keys to use for Secure Connections pairing (Read/Write)

Only applicable for Secure Connections. Allows the application to specify the private and public keys to use pairing. When this is set, the keys are used indefinitely even if a regeneration policy was set with GAPBOND_ECCKEY_REGEN_POLICY. To make the Bond Manager stop using these keys, pass a 1 byte value of 0x00. These keys are stored in RAM and are not retained in non-volatile memory. These keys can be defined by the application, or the application can request them using the SM_GetEccKeys command.

size: gapBondEccKeys_t

default: by default, the keys are generated using GAPBOND_ECCKEY_REGEN_POLICY

range: A valid gapBondEccKeys_t structure
0x00: previously passed keys will no longer be used

§ GAPBOND_ECCKEY_REGEN_POLICY

#define GAPBOND_ECCKEY_REGEN_POLICY   0x412

ECC Key Regeneration Policy (Write Only)

Only applicable for Secure Connections. Define reuse of the private and public ECC keys for multiple pairings.The default is to always regenerate the keys upon each new pairing. This parameter has no effect when the application specifies the keys using the GAPBOND_ECC_KEYS parameter. The behavior is that upon each pairing the number of recycles remaining is decremented by 1, but if the pairing fails the count is decremented by 3. The specification recommends that this value be set to no higher than 10 to avoid an attacker from learning too much about a private key before it is regenerated.

size: uint8_t

default: 2

range: 0 256

§ GAPBOND_ERASE_ALLBONDS

#define GAPBOND_ERASE_ALLBONDS   0x409

Erase all bonds from SNV and remove all bonded devices (Write)

Note
The erase won't happen until there are no active connections.

§ GAPBOND_ERASE_BOND_IN_CONN

#define GAPBOND_ERASE_BOND_IN_CONN   0x415

Allows to erase a bond even if there are active connections

If TRUE, a bond can be erased even if there are active connections. If FALSE, a bond can be erased only when there are no active connections.

Note
Once GAPBOND_ERASE_SINGLEBOND is called the bond would be erased according to the value of the flag and the number of connections.

size: uint8_t

default: FALSE

range: TRUE (erase a bond when there are active connections). FALSE(erase a bond when there are no active connections).

§ GAPBOND_ERASE_LOCAL_INFO

#define GAPBOND_ERASE_LOCAL_INFO   0x41A

Erase Local NV Info (Write-only)

Erase local IRK, CSRK, address mode, LRU list, random address.

Note
The erase won't happen until there are no active connections.

§ GAPBOND_ERASE_SINGLEBOND

#define GAPBOND_ERASE_SINGLEBOND   0x410

Erase a single bonded device (Write-only)

Note
In case GAPBOND_ERASE_BOND_IN_CONN is disabled, The erase won't happen until there are no active connections. In case GAPBOND_ERASE_BOND_IN_CONN is enabled, the bond erase can happen also when if there are active connections.

size: uint8_t[B_ADDR_LEN]

range: A one-byte address type followed by a 6 byte address

§ GAPBOND_IO_CAPABILITIES

#define GAPBOND_IO_CAPABILITIES   0x403

The I/O capabilities of the local device (Read/Write)

size: uint8_t

default: GAPBOND_IO_CAP_DISPLAY_ONLY

range: GAP Bond Manager I/O Capabilities

§ GAPBOND_KEY_DIST_LIST

#define GAPBOND_KEY_DIST_LIST   0x407

Key distribution list for pairing (Read/Write)

Multiple values can be used via bitwise ORing

size: uint8_t

default: GAPBOND_KEYDIST_SENCKEY | GAPBOND_KEYDIST_SIDKEY | GAPBOND_KEYDIST_MIDKEY | GAPBOND_KEYDIST_MSIGN

range: GAP Bond Manager Key Distribution

§ GAPBOND_KEYSIZE

#define GAPBOND_KEYSIZE   0x40C

Key Size used in pairing. (Read/Write)

size: uint8_t

default: 16

range: GAP_PARAM_SM_MIN_KEY_LEN GAP_PARAM_SM_MAX_KEY_LEN

§ GAPBOND_LRU_BOND_REPLACEMENT

#define GAPBOND_LRU_BOND_REPLACEMENT   0x418

Enable / Disable LRU Bond Replacement Scheme (Read/Write)

Whether to enable the least recently used bond scheme so that, when a newly bonded device is added and all the entries are full, the least recently used device’s bond is deleted to make room.

size: uint8_t

default: FALSE

range: TRUE (enable) or FALSE (disable)

§ GAPBOND_MITM_PROTECTION

#define GAPBOND_MITM_PROTECTION   0x402

Whether to use authenticated pairing (Read/Write)

size: uint8_t

default: TRUE

range: TRUE (use) or FALSE (do not use)

§ GAPBOND_OOB_DATA

#define GAPBOND_OOB_DATA   0x405

OOB data to use for pairing (Read/Write)

size: uint8_t[16]

default: 0x00000000000000000000000000000000 -

range: 0x00000000000000000000000000000000 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

§ GAPBOND_OOB_ENABLED

#define GAPBOND_OOB_ENABLED   0x404

Whether to use OOB for pairing (Read/Write)

size: uint8_t

default: FALSE

range: TRUE (use) or FALSE (do not use)

§ GAPBOND_PAIRING_MODE

#define GAPBOND_PAIRING_MODE   0x400

Whether to allow pairing, and if so, whether to initiate pairing. (Read/Write)

size: uint8_t

default: GAPBOND_PAIRING_MODE_WAIT_FOR_REQ

range: GAP Bond Manager Pairing Modes

§ GAPBOND_SC_HOST_DEBUG

#define GAPBOND_SC_HOST_DEBUG   0x414

Whether to enable SC_HOST_DEBUG

size: uint8_t

default: FALSE

range: TRUE (enabled) or FALSE (do not enabled)

§ GAPBOND_SECURE_CONNECTION

#define GAPBOND_SECURE_CONNECTION   0x411

Define Secure Connections Usage during Pairing (Read/Write)

Note
Per ESR 11 E7226, "If LE Secure Connections pairing is supported by the device, then the SC field shall be set to 1, otherwise it shall be set to 0." Therefore, only testmode can choose GAPBOND_SECURE_CONNECTION_NONE.

size: uint8_t

default: GAPBOND_SECURE_CONNECTION_ALLOW

range: GAP Bond Manager Secure Connections options

© Copyright 1995-2022, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale