48 #define LINKDB_CONNHANDLE_ALL LL_CONNHANDLE_ALL 50 #define LINKDB_CONNHANDLE_LOOPBACK LL_CONNHANDLE_LOOPBACK 52 #define LINKDB_CONNHANDLE_INVALID LL_CONNHANDLE_INVALID 58 #define INVALID_CONNHANDLE 0xFFFF 59 #define LOOPBACK_CONNHANDLE 0xFFFE 65 #define LINK_NOT_CONNECTED 0x00 66 #define LINK_CONNECTED 0x01 67 #define LINK_AUTHENTICATED 0x02 68 #define LINK_BOUND 0x04 69 #define LINK_ENCRYPTED 0x10 70 #define LINK_SECURE_CONNECTIONS 0x20 71 #define LINK_IN_UPDATE 0x40 74 // Link Database Status callback changeTypes 75 #define LINKDB_STATUS_UPDATE_NEW 0 76 #define LINKDB_STATUS_UPDATE_REMOVED 1 77 #define LINKDB_STATUS_UPDATE_STATEFLAGS 2 80 #define LINKDB_ERR_INSUFFICIENT_AUTHEN 0x05 81 #define LINBDB_ERR_INSUFFICIENT_KEYSIZE 0x0c 82 #define LINKDB_ERR_INSUFFICIENT_ENCRYPTION 0x0f 148 typedef void (*
pfnLinkDBCB_t)( uint16 connectionHandle, uint8 changeType );
161 extern uint8 linkDBNumConns;
207 extern uint8
linkDB_Add( uint8 taskID, uint16 connectionHandle,
208 uint8 stateFlags, uint8 addrType, uint8 *pAddr,
209 uint8 *pAddrPriv, uint8 connRole, uint16 connInterval,
235 extern uint8
linkDB_Update( uint16 connectionHandle, uint8 newState,
273 extern uint16
linkDB_MTU( uint16 connectionHandle );
320 extern uint8
linkDB_State( uint16 connectionHandle, uint8 state );
335 extern uint8
linkDB_Authen( uint16 connectionHandle, uint8 keySize,
336 uint8 mitmRequired );
346 extern uint8
linkDB_Role( uint16 connectionHandle );
377 #define linkDB_Up( connectionHandle ) linkDB_State( (connectionHandle), LINK_CONNECTED ) 387 #define linkDB_Encrypted( connectionHandle ) linkDB_State( (connectionHandle), LINK_ENCRYPTED ) 397 #define linkDB_Authenticated( connectionHandle ) linkDB_State( (connectionHandle), LINK_AUTHENTICATED ) 407 #define linkDB_Bonded( connectionHandle ) linkDB_State( (connectionHandle), LINK_BOUND ) uint8 connRole
Connection formed as Master or Slave.
Definition: linkdb.h:123
uint16 connInterval
The connection's interval (n * 1.23 ms)
Definition: linkdb.h:124
#define B_RANDOM_NUM_SIZE
BLE Random Number Size.
Definition: bcomdef.h:133
uint32 signCounter
Sign Counter.
Definition: linkdb.h:98
encParams_t * pEncParams
pointer to LTK, ediv, rand. if needed.
Definition: linkdb.h:127
uint8 addrType
Address type of connected device.
Definition: linkdb.h:136
uint16 linkDB_MTU(uint16 connectionHandle)
This function is used to get the MTU size of a link.
void linkDB_SecurityModeSCOnly(uint8 state)
Set a device into Secure Connection Only Mode.
uint8 linkDB_Update(uint16 connectionHandle, uint8 newState, uint8 add)
Update the stateFlags of a link record.
uint8 linkDB_Add(uint8 taskID, uint16 connectionHandle, uint8 stateFlags, uint8 addrType, uint8 *pAddr, uint8 *pAddrPriv, uint8 connRole, uint16 connInterval, uint16 MTU)
Adds a record to the link database.
linkDBItem_t * linkDB_FindFirst(uint8 taskID)
Find the first link that matches the taskID.
uint8 linkDB_Authen(uint16 connectionHandle, uint8 keySize, uint8 mitmRequired)
Check to see if the physical link is encrypted and authenticated.
uint8 linkDB_Remove(uint16 connectionHandle)
Remove a record from the link database.
uint8 linkDB_Register(pfnLinkDBCB_t pFunc)
Register with linkDB.
SRK and Sign Counter.
Definition: linkdb.h:95
Encryption Params.
Definition: linkdb.h:104
void(* pfnLinkDBCB_t)(uint16 connectionHandle, uint8 changeType)
function pointer used to register for a status callback
Definition: linkdb.h:149
void(* pfnPerformFuncCB_t)(linkDBItem_t *pLinkItem)
function pointer used to perform specialized link database searches
Definition: linkdb.h:152
void linkDB_PerformFunc(pfnPerformFuncCB_t cb)
Perform a function of each connection in the link database.
uint16 connInterval
The connection's interval (n * 1.23 ms)
Definition: linkdb.h:140
uint8 stateFlags
LINK_CONNECTED, LINK_AUTHENTICATED...
Definition: linkdb.h:119
uint8 linkDB_NumActive(void)
Return the number of active connections.
uint8 stateFlags
LINK_CONNECTED, LINK_AUTHENTICATED...
Definition: linkdb.h:135
uint16 connectionHandle
Controller connection handle.
Definition: linkdb.h:118
uint8 taskID
Application that controls the link.
Definition: linkdb.h:117
linkDB item
Definition: linkdb.h:115
NODOC void linkDB_Init(void)
Initialize the Link Database.
uint16 MTU
The connection's MTU size.
Definition: linkdb.h:141
linkDBItem_t * linkDB_Find(uint16 connectionHandle)
Find the link.
uint8 linkDB_State(uint16 connectionHandle, uint8 state)
Check to see if a physical link is in a specific state.
#define B_ADDR_LEN
Default Public and Random Address Length.
Definition: bcomdef.h:115
uint16 MTU
The connection's MTU size.
Definition: linkdb.h:125
uint16 div
Diversifier.
Definition: linkdb.h:107
uint8 linkDB_GetInfo(uint16 connectionHandle, linkDBInfo_t *pInfo)
Get information about a link.
uint8 addrType
Address type of connected device.
Definition: linkdb.h:120
linkSec_t sec
Connection Security related items.
Definition: linkdb.h:126
linkDB info
Definition: linkdb.h:133
uint8 linkDB_UpdateMTU(uint16 connectionHandle, uint16 newMtu)
update the MTU size of a link or record.
#define KEYLEN
Default key length.
Definition: bcomdef.h:118
uint8 connRole
Connection formed as Master or Slave.
Definition: linkdb.h:139
uint8 linkDB_NumConns(void)
return the maximum number of connections supported.
uint8 keySize
LTK Key Size.
Definition: linkdb.h:109
uint8 linkDB_Role(uint16 connectionHandle)
Get the role of a physical link.