48 #if !defined ( GAP_BONDINGS_MAX ) 51 #define GAP_BONDINGS_MAX 5 53 #define GAP_BONDINGS_MAX 10 57 #if GAP_BONDINGS_MAX < 1 58 #error "GAP_BONDINGS_MAX must be greater than 0" 62 #if !defined ( GAP_CHAR_CFG_MAX ) 63 #define GAP_CHAR_CFG_MAX 4 87 #define GAPBOND_PAIRING_MODE 0x400 98 #define GAPBOND_MITM_PROTECTION 0x402 109 #define GAPBOND_IO_CAPABILITIES 0x403 120 #define GAPBOND_OOB_ENABLED 0x404 132 #define GAPBOND_OOB_DATA 0x405 143 #define GAPBOND_BONDING_ENABLED 0x406 157 #define GAPBOND_KEY_DIST_LIST 0x407 164 #define GAPBOND_ERASE_ALLBONDS 0x409 167 #define GAPBOND_AUTO_FAIL_PAIRING 0x40A 168 #define GAPBOND_AUTO_FAIL_REASON 0x40B 180 #define GAPBOND_KEYSIZE 0x40C 195 #define GAPBOND_AUTO_SYNC_AL 0x40D 204 #define GAPBOND_BOND_COUNT 0x40E 216 #define GAPBOND_BOND_FAIL_ACTION 0x40F 230 #define GAPBOND_ERASE_SINGLEBOND 0x410 245 #define GAPBOND_SECURE_CONNECTION 0x411 265 #define GAPBOND_ECCKEY_REGEN_POLICY 0x412 288 #define GAPBOND_ECC_KEYS 0x413 299 #define GAPBOND_SC_HOST_DEBUG 0x414 317 #define GAPBOND_ERASE_BOND_IN_CONN 0x415 336 #define GAPBOND_ALLOW_DEBUG_KEYS 0x416 351 #define GAPBOND_LRU_BOND_REPLACEMENT 0x418 361 #define GAPBOND_ERASE_LOCAL_INFO 0x41A 372 #define GAPBOND_AUTHEN_PAIRING_ONLY 0x41B 384 #define GAPBOND_SAME_IRK_OPTION 0x41C 395 #define GAPBOND_ERASE_BONDS_ON_ADDRESS_CHANGE 0x41D 408 #define GAPBOND_PAIRING_MODE_NO_PAIRING 0x00 410 #define GAPBOND_PAIRING_MODE_WAIT_FOR_REQ 0x01 412 #define GAPBOND_PAIRING_MODE_INITIATE 0x02 420 #define GAPBOND_IO_CAP_DISPLAY_ONLY 0x00 422 #define GAPBOND_IO_CAP_DISPLAY_YES_NO 0x01 424 #define GAPBOND_IO_CAP_KEYBOARD_ONLY 0x02 426 #define GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT 0x03 428 #define GAPBOND_IO_CAP_KEYBOARD_DISPLAY 0x04 436 #define GAPBOND_KEYDIST_PENCKEY 0x01 438 #define GAPBOND_KEYDIST_PIDKEY 0x02 440 #define GAPBOND_KEYDIST_PSIGN 0x04 442 #define GAPBOND_KEYDIST_PLINK 0x08 444 #define GAPBOND_KEYDIST_CENCKEY 0x10 446 #define GAPBOND_KEYDIST_CIDKEY 0x20 448 #define GAPBOND_KEYDIST_CSIGN 0x40 450 #define GAPBOND_KEYDIST_CLINK 0x80 458 #define GAPBOND_SAME_IRK_UPDATE_BOND_REC 0x00 460 #define GAPBOND_SAME_IRK_TERMINATE_LINK 0x01 498 #define GAP_BOND_REC_ID_OFFSET 0 499 #define GAP_BOND_LOCAL_LTK_OFFSET 1 500 #define GAP_BOND_DEV_LTK_OFFSET 2 501 #define GAP_BOND_DEV_IRK_OFFSET 3 502 #define GAP_BOND_DEV_CSRK_OFFSET 4 503 #define GAP_BOND_DEV_SIGN_COUNTER_OFFSET 5 504 #define GAP_BOND_REC_IDS 6 507 #define GAP_BONDED_STATE_NO_RECORD 0xFF 508 #define GAP_BONDED_STATE_UNAUTHENTICATED 0x00 509 #define GAP_BONDED_STATE_AUTHENTICATED 0x01 510 #define GAP_BONDED_STATE_SERVICE_CHANGED 0x02 511 #define GAP_BONDED_STATE_CAR 0x04 512 #define GAP_BONDED_STATE_SECURECONNECTION 0x08 513 #define GAP_BONDED_STATE_RPA_ONLY 0x10 532 #define GAPBOND_PAIRING_STATE_STARTED 0x00 553 #define GAPBOND_PAIRING_STATE_COMPLETE 0x01 572 #define GAPBOND_PAIRING_STATE_ENCRYPTED 0x02 573 #define GAPBOND_PAIRING_STATE_BOND_SAVED 0x03 575 #define GAPBOND_PAIRING_STATE_CAR_READ 0x04 577 #define GAPBOND_PAIRING_STATE_RPAO_READ 0x05 579 #define GAPBOND_GENERATE_ECC_DONE 0x06 596 #define SMP_PAIRING_FAILED_PASSKEY_ENTRY_FAILED 0x01 597 #define SMP_PAIRING_FAILED_OOB_NOT_AVAIL 0x02 603 #define SMP_PAIRING_FAILED_AUTH_REQ 0x03 604 #define SMP_PAIRING_FAILED_CONFIRM_VALUE 0x04 606 #define SMP_PAIRING_FAILED_NOT_SUPPORTED 0x05 612 #define SMP_PAIRING_FAILED_ENC_KEY_SIZE 0x06 613 #define SMP_PAIRING_FAILED_CMD_NOT_SUPPORTED 0x07 615 #define SMP_PAIRING_FAILED_UNSPECIFIED 0x08 621 #define SMP_PAIRING_FAILED_REPEATED_ATTEMPTS 0x09 626 #define SMP_PAIRING_FAILED_INVALID_PARAMETERS 0x0A 631 #define SMP_PAIRING_FAILED_DHKEY_CHECK_FAILED 0x0B 636 #define SMP_PAIRING_FAILED_NUM_COMPARISON_FAILED 0x0C 643 #define GAPBOND_FAIL_NO_ACTION 0x00 645 #define GAPBOND_FAIL_INITIATE_PAIRING 0x01 647 #define GAPBOND_FAIL_TERMINATE_LINK 0x02 653 #define GAPBOND_FAIL_TERMINATE_ERASE_BONDS 0x03 658 #define GAPBOND_FAIL_TERMINATE_ERASE_SINGLE_BOND 0x04 665 #define GAPBOND_SECURE_CONNECTION_NONE 0x00 667 #define GAPBOND_SECURE_CONNECTION_ALLOW 0x01 669 #define GAPBOND_SECURE_CONNECTION_ONLY 0x02 681 #define GAPBOND_REGENERATE_ALWAYS 0x00 683 #define GAPBOND_REGENERATE_NEVER 0xFF 687 #define ECC_KEYLEN 32 695 #define GAPBOND_READ_BY_ADDR 0 697 #define GAPBOND_READ_BY_IDX 1 733 uint16_t connectionHandle,
736 uint32_t numComparison
752 uint16_t connectionHandle,
993 uint8_t *pIdentityAddr);
1025 uint8_t status, uint32_t passcode);
1097 uint8_t *pIdentifier,
GAP_Peer_Addr_Types_t
Address types used for specifying peer address type.
Definition: gap.h:745
Public and Private ECC Keys.
Definition: gapbondmgr.h:777
bStatus_t GAPBondMgr_Pair(uint16_t connHandle)
uint8_t mitm
Definition: gapbondmgr.h:833
#define B_RANDOM_NUM_SIZE
BLE Random Number Size.
Definition: bcomdef.h:98
uint8_t bondFailAction
Definition: gapbondmgr.h:845
uint8_t autoSyncAL
Definition: gapbondmgr.h:838
uint8_t removeLRUBond
Definition: gapbondmgr.h:841
gapBondLTK_t * pLocalLtk
Definition: gapbondmgr.h:853
Structure of NV data for the connected device's encryption information.
Definition: gapbondmgr.h:792
bStatus_t GAPBondMgr_GenerateEccKeys(void)
Generates ECC keys.
uint8_t GapBondMgr_StartEnc(uint16_t connHandle)
uint8_t pairMode
Definition: gapbondmgr.h:832
bStatus_t GAPBondMgr_GetParameter(uint16_t param, void *pValue)
bStatus_t GAPBondMgr_PasscodeRsp(uint16_t connectionHandle, uint8_t status, uint32_t passcode)
void(* pfnPairStateCB_t)(uint16_t connectionHandle, uint8_t state, uint8_t status)
Definition: gapbondmgr.h:751
bStatus_t GAPBondMgr_SCGetLocalOOBParameters(gapBondOOBData_t *localOobData)
Get local Random number and confirm value for secure connection.
uint8_t secureConnection
Definition: gapbondmgr.h:836
uint8_t GAPBondMgr_GetAuthTaskID(void)
Retrieves the Task ID associated with the GAP Bond Manager for authentication purposes.
uint16_t div
Definition: gapbondmgr.h:795
Structure of NV data for the connected device's address information.
Definition: gapbondmgr.h:801
uint8_t eccReGenPolicy
Definition: gapbondmgr.h:839
uint8_t bonding
Definition: gapbondmgr.h:835
uint8_t KeySize
Definition: gapbondmgr.h:840
void GAPBondMgr_ReadCSRKFromNV(uint8_t *keyBuff)
Reads the stored CSRK (Connection Signature Resolving Key) from non-volatile memory into the provided...
gapBondLTK_t * pDevLtk
Definition: gapbondmgr.h:854
uint8_t eccDebugKeys
Definition: gapbondmgr.h:843
uint8 confirm[KEYLEN]
Definition: gapbondmgr.h:787
pfnPasscodeCB_t passcodeCB
Passcode callback.
Definition: gapbondmgr.h:765
bStatus_t GAPBondMgr_FindAddr(uint8_t *pDevAddr, GAP_Peer_Addr_Types_t addrType, uint8_t *pIdx, GAP_Peer_Addr_Types_t *pIdentityAddrType, uint8_t *pIdentityAddr)
Search for an address in the bonding table. If the address is a random private resolvable address...
void GAPBondMgr_Register(gapBondCBs_t *pCB)
Definition: gapbondmgr.h:763
uint32_t * pSignCount
Definition: gapbondmgr.h:857
uint8_t eraseBondWhileInConn
Definition: gapbondmgr.h:844
uint8_t * pSRK
Definition: gapbondmgr.h:856
void(* pfnPasscodeCB_t)(uint8_t *deviceAddr, uint16_t connectionHandle, uint8_t uiInputs, uint8_t uiOutputs, uint32_t numComparison)
Definition: gapbondmgr.h:731
uint8_t GapBondMgr_readBondFromNV(uint8_t mode, uint8_t *pIdentifier, GAP_Peer_Addr_Types_t addrType, gapBondNvRecord_t *pBondRecord)
uint8_t keySize
Definition: gapbondmgr.h:797
Aggregation of values relevant for reading a bond from NV.
Definition: gapbondmgr.h:850
gapBondCharCfg_t * pCharCfg
Definition: gapbondmgr.h:858
uint16_t attrHandle
Definition: gapbondmgr.h:825
Contains part of the GAP Bond Manager Parameters values.
Definition: gapbondmgr.h:830
struct gapBondOOBData gapBondOOBData_t
uint8_t value
Definition: gapbondmgr.h:826
uint8_t GapBondMgr_GetPrevAuth(uint16_t connHandle, uint8_t *pMitmReq, uint8_t *pKeySize)
uint8_t stateFlags
Definition: gapbondmgr.h:819
bStatus_t GAPBondMgr_ServiceChangeInd(uint16_t connectionHandle, uint8_t setParam)
void GAPBondMgr_ReadIRKFromNV(uint8_t *keyBuff)
Reads the Identity Resolving Key (IRK) from non-volatile storage.
GAP_Peer_Addr_Types_t addrType
Definition: gapbondmgr.h:813
#define B_ADDR_LEN
Default Public and Random Address Length.
Definition: bcomdef.h:73
bStatus_t GAPBondMgr_SetParameter(uint16_t param, uint8_t len, void *pValue)
gapBondRec_t * pBondRec
Definition: gapbondmgr.h:852
uint8_t GapBondMgr_writeBondToNv(gapBondRec_t *pBondRec, gapBondLTK_t *pLocalLtk, gapBondLTK_t *pDevLtk, uint8_t *pIRK, uint8_t *pSRK, uint32_t signCount, gapBondCharCfg_t *charCfg)
Write bond record to NV.
uint8_t sameIrkAction
Definition: gapbondmgr.h:846
uint8_t KeyDistList
Definition: gapbondmgr.h:842
uint8_t authenPairingOnly
Definition: gapbondmgr.h:837
#define ECC_KEYLEN
ECC Key Length: 256 bit keys.
Definition: gapbondmgr.h:688
bool GAPBondMgr_isEnable(void)
uint8_t bStatus_t
BLE Generic Status return.
Definition: bcomdef.h:220
uint8 rand[KEYLEN]
Definition: gapbondmgr.h:788
Definition: gapbondmgr.h:785
bStatus_t GAPBondMgr_SCSetRemoteOOBParameters(gapBondOOBData_t *remoteOobData, uint8 OOBDataFlag)
Set remote's OOB parameters for secure connection.
uint8_t ioCap
Definition: gapbondmgr.h:834
bStatus_t GAPBondMgr_ReadLocalLTK(GAP_Peer_Addr_Types_t addrType, uint8_t *pDevAddr, gapBondLTK_t *pLocalLtk)
uint8_t * pIRK
Definition: gapbondmgr.h:855
#define KEYLEN
Default key length.
Definition: bcomdef.h:76
pfnPairStateCB_t pairStateCB
Pairing state callback.
Definition: gapbondmgr.h:766
Structure of NV data for the connected device's characteristic configuration.
Definition: gapbondmgr.h:823