![]() |
![]() |
|
TI BLE5-Stack API Documentation
9.14.00
|
GAPBondMgr layer interface
Go to the source code of this file.
Data Structures | |
| struct | gapBondCBs_t |
| struct | gapBondCharCfg_t |
| Structure of NV data for the connected device's characteristic configuration. More... | |
| struct | gapBondEccKeys_t |
| Public and Private ECC Keys. More... | |
| struct | gapBondLTK_t |
| Structure of NV data for the connected device's encryption information. More... | |
| struct | gapBondNvRecord_t |
| Aggregation of values relevant for reading a bond from NV. More... | |
| struct | gapBondOOBData |
| struct | gapBondParams_t |
| Contains part of the GAP Bond Manager Parameters values. More... | |
| struct | gapBondRec_t |
| Structure of NV data for the connected device's address information. More... | |
Macros | |
| #define | ECC_KEYLEN 32 |
| ECC Key Length: 256 bit keys. More... | |
| #define | GAP_BOND_DEV_CSRK_OFFSET 4 |
| NV ID for the bonding records' device CSRK. More... | |
| #define | GAP_BOND_DEV_IRK_OFFSET 3 |
| NV ID for the bonding records' device IRK. More... | |
| #define | GAP_BOND_DEV_LTK_OFFSET 2 |
| NV ID for the bonding records' device LTK information. More... | |
| #define | GAP_BOND_DEV_SIGN_COUNTER_OFFSET 5 |
| NV ID for the bonding records' device Sign Counter. More... | |
| #define | GAP_BOND_LOCAL_LTK_OFFSET 1 |
| NV ID for the bonding record's local LTK information. More... | |
| #define | GAP_BOND_REC_ID_OFFSET 0 |
| NV ID for the main bonding record. More... | |
| #define | GAP_BOND_REC_IDS 6 |
| #define | GAP_BONDED_STATE_AUTHENTICATED 0x01 |
| #define | GAP_BONDED_STATE_CAR 0x04 |
| #define | GAP_BONDED_STATE_NO_RECORD 0xFF |
| #define | GAP_BONDED_STATE_RPA_ONLY 0x10 |
| #define | GAP_BONDED_STATE_SECURECONNECTION 0x08 |
| #define | GAP_BONDED_STATE_SERVICE_CHANGED 0x02 |
| #define | GAP_BONDED_STATE_UNAUTHENTICATED 0x00 |
| #define | GAP_BONDINGS_MAX 10 |
| Maximum number of bonds that can be saved in NV. More... | |
| #define | GAP_CHAR_CFG_MAX 4 |
| Maximum number of characteristic configuration that can be saved in NV. More... | |
| #define | GAPBOND_ALLOW_DEBUG_KEYS 0x416 |
| #define | GAPBOND_AUTHEN_PAIRING_ONLY 0x41B |
| #define | GAPBOND_AUTO_SYNC_AL 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_BONDS_ON_ADDRESS_CHANGE 0x41D |
| #define | GAPBOND_ERASE_LOCAL_INFO 0x41A |
| #define | GAPBOND_ERASE_SINGLEBOND 0x410 |
| #define | GAPBOND_FAIL_INITIATE_PAIRING 0x01 |
| Initiate pairing upon unsuccessful bonding. More... | |
| #define | GAPBOND_FAIL_NO_ACTION 0x00 |
| Take no action upon unsuccessful bonding. More... | |
| #define | GAPBOND_FAIL_TERMINATE_ERASE_BONDS 0x03 |
| #define | GAPBOND_FAIL_TERMINATE_ERASE_SINGLE_BOND 0x04 |
| #define | GAPBOND_FAIL_TERMINATE_LINK 0x02 |
| Terminate link upon unsuccessful bonding. More... | |
| #define | GAPBOND_GENERATE_ECC_DONE 0x06 |
| Get ECC keys done. More... | |
| #define | GAPBOND_IO_CAP_DISPLAY_ONLY 0x00 |
| Display Only Device. More... | |
| #define | GAPBOND_IO_CAP_DISPLAY_YES_NO 0x01 |
| Display and Yes and No Capable. More... | |
| #define | GAPBOND_IO_CAP_KEYBOARD_DISPLAY 0x04 |
| Both Keyboard and Display Capable. More... | |
| #define | GAPBOND_IO_CAP_KEYBOARD_ONLY 0x02 |
| Keyboard Only. More... | |
| #define | GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT 0x03 |
| No Display or Input Device. More... | |
| #define | GAPBOND_IO_CAPABILITIES 0x403 |
| #define | GAPBOND_KEY_DIST_LIST 0x407 |
| #define | GAPBOND_KEYDIST_CENCKEY 0x10 |
| Central Encryption Key. More... | |
| #define | GAPBOND_KEYDIST_CIDKEY 0x20 |
| Central IRK and ID information. More... | |
| #define | GAPBOND_KEYDIST_CLINK 0x80 |
| Central Link Key. More... | |
| #define | GAPBOND_KEYDIST_CSIGN 0x40 |
| Central CSRK. More... | |
| #define | GAPBOND_KEYDIST_PENCKEY 0x01 |
| Peripheral Encryption Key. More... | |
| #define | GAPBOND_KEYDIST_PIDKEY 0x02 |
| Peripheral IRK and ID information. More... | |
| #define | GAPBOND_KEYDIST_PLINK 0x08 |
| Peripheral Link Key. More... | |
| #define | GAPBOND_KEYDIST_PSIGN 0x04 |
| Peripheral CSRK. More... | |
| #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_PAIRING_MODE_INITIATE 0x02 |
| Don't wait, initiate a pairing request or peripheral security request. More... | |
| #define | GAPBOND_PAIRING_MODE_NO_PAIRING 0x00 |
| Pairing is not allowed. More... | |
| #define | GAPBOND_PAIRING_MODE_WAIT_FOR_REQ 0x01 |
| Wait for a pairing request or peripheral security request. More... | |
| #define | GAPBOND_PAIRING_STATE_BOND_SAVED 0x03 |
| Bonding record saved in NV. More... | |
| #define | GAPBOND_PAIRING_STATE_CAR_READ 0x04 |
| Central Address Resolution Characteristic Read. More... | |
| #define | GAPBOND_PAIRING_STATE_COMPLETE 0x01 |
| #define | GAPBOND_PAIRING_STATE_ENCRYPTED 0x02 |
| #define | GAPBOND_PAIRING_STATE_RPAO_READ 0x05 |
| Resolvable Private Address Only Characteristic Read. More... | |
| #define | GAPBOND_PAIRING_STATE_STARTED 0x00 |
| #define | GAPBOND_READ_BY_ADDR 0 |
| Read by address mode. More... | |
| #define | GAPBOND_READ_BY_IDX 1 |
| Read by index mode. More... | |
| #define | GAPBOND_REGENERATE_ALWAYS 0x00 |
| Regenerate after each usage. More... | |
| #define | GAPBOND_REGENERATE_NEVER 0xFF |
| Never regenerate, always use the same pair. More... | |
| #define | GAPBOND_SAME_IRK_OPTION 0x41C |
| #define | GAPBOND_SAME_IRK_TERMINATE_LINK 0x01 |
| Terminate link with HCI_DISCONNECT_AUTH_FAILURE error code. More... | |
| #define | GAPBOND_SAME_IRK_UPDATE_BOND_REC 0x00 |
| Update the relevant bond record. More... | |
| #define | GAPBOND_SC_HOST_DEBUG 0x414 |
| #define | GAPBOND_SECURE_CONNECTION 0x411 |
| #define | GAPBOND_SECURE_CONNECTION_ALLOW 0x01 |
| Secure Connections are supported. More... | |
| #define | GAPBOND_SECURE_CONNECTION_NONE 0x00 |
| Secure Connections not supported. More... | |
| #define | GAPBOND_SECURE_CONNECTION_ONLY 0x02 |
| Secure Connections Only Mode. More... | |
| #define | SMP_PAIRING_FAILED_AUTH_REQ 0x03 |
| #define | SMP_PAIRING_FAILED_CMD_NOT_SUPPORTED 0x07 |
| The SMP command received is not supported on this device. More... | |
| #define | SMP_PAIRING_FAILED_CONFIRM_VALUE 0x04 |
| The confirm value doesn't match the calculated compare value. More... | |
| #define | SMP_PAIRING_FAILED_DHKEY_CHECK_FAILED 0x0B |
| #define | SMP_PAIRING_FAILED_ENC_KEY_SIZE 0x06 |
| #define | SMP_PAIRING_FAILED_INVALID_PARAMETERS 0x0A |
| #define | SMP_PAIRING_FAILED_NOT_SUPPORTED 0x05 |
| Pairing isn't supported by the device. More... | |
| #define | SMP_PAIRING_FAILED_NUM_COMPARISON_FAILED 0x0C |
| #define | SMP_PAIRING_FAILED_OOB_NOT_AVAIL 0x02 |
| The OOB data is not available. More... | |
| #define | SMP_PAIRING_FAILED_PASSKEY_ENTRY_FAILED 0x01 |
| #define | SMP_PAIRING_FAILED_REPEATED_ATTEMPTS 0x09 |
| #define | SMP_PAIRING_FAILED_UNSPECIFIED 0x08 |
| Pairing failed due to an unspecified reason. More... | |
Typedefs | |
| typedef struct gapBondOOBData | gapBondOOBData_t |
| typedef void(* | pfnPairStateCB_t) (uint16_t connectionHandle, uint8_t state, uint8_t status) |
| typedef void(* | pfnPasscodeCB_t) (uint8_t *deviceAddr, uint16_t connectionHandle, uint8_t uiInputs, uint8_t uiOutputs, uint32_t numComparison) |
Functions | |
| 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, attempt to resolve the random address against all IRK's in bonding table. As output parameters, return the following: More... | |
| bStatus_t | GAPBondMgr_GenerateEccKeys (void) |
| Generates ECC keys. More... | |
| uint8_t | GAPBondMgr_GetAuthTaskID (void) |
| Retrieves the Task ID associated with the GAP Bond Manager for authentication purposes. More... | |
| bStatus_t | GAPBondMgr_GetParameter (uint16_t param, void *pValue) |
| uint8_t | GapBondMgr_GetPrevAuth (uint16_t connHandle, uint8_t *pMitmReq, uint8_t *pKeySize) |
| bool | GAPBondMgr_isEnable (void) |
| bStatus_t | GAPBondMgr_Pair (uint16_t connHandle) |
| bStatus_t | GAPBondMgr_PasscodeRsp (uint16_t connectionHandle, uint8_t status, uint32_t passcode) |
| uint8_t | GapBondMgr_readBondFromNV (uint8_t mode, uint8_t *pIdentifier, GAP_Peer_Addr_Types_t addrType, gapBondNvRecord_t *pBondRecord) |
| void | GAPBondMgr_ReadCSRKFromNV (uint8_t *keyBuff) |
| Reads the stored CSRK (Connection Signature Resolving Key) from non-volatile memory into the provided buffer. More... | |
| void | GAPBondMgr_ReadIRKFromNV (uint8_t *keyBuff) |
| Reads the Identity Resolving Key (IRK) from non-volatile storage. More... | |
| bStatus_t | GAPBondMgr_ReadLocalLTK (GAP_Peer_Addr_Types_t addrType, uint8_t *pDevAddr, gapBondLTK_t *pLocalLtk) |
| void | GAPBondMgr_Register (gapBondCBs_t *pCB) |
| bStatus_t | GAPBondMgr_SCGetLocalOOBParameters (gapBondOOBData_t *localOobData) |
| Get local Random number and confirm value for secure connection. More... | |
| bStatus_t | GAPBondMgr_SCSetRemoteOOBParameters (gapBondOOBData_t *remoteOobData, uint8 OOBDataFlag) |
| Set remote's OOB parameters for secure connection. More... | |
| bStatus_t | GAPBondMgr_ServiceChangeInd (uint16_t connectionHandle, uint8_t setParam) |
| bStatus_t | GAPBondMgr_SetParameter (uint16_t param, uint8_t len, void *pValue) |
| uint8_t | GapBondMgr_StartEnc (uint16_t connHandle) |
| 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. More... | |