Cordio Stack and Cordio Profiles  r2p3-02rel0
app_db.h File Reference

Application framework device database. More...

#include "wsf_os.h"
#include "dm_api.h"
Include dependency graph for app_db.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define APP_DB_HDL_NONE   NULL
 No device database record handle.
 

Typedefs

typedef void * appDbHdl_t
 Device database record handle type.
 

Functions

App Database

Store known device and security information.

void AppDbInit (void)
 Initialize the device database. More...
 
appDbHdl_t AppDbNewRecord (uint8_t addrType, uint8_t *pAddr)
 Create a new device database record. More...
 
appDbHdl_t AppDbGetNextRecord (appDbHdl_t hdl)
 Get next device database record for a given database record. For the first database record, the function should be called with 'hdl' set to 'APP_DB_HDL_NONE'. More...
 
void AppDbDeleteRecord (appDbHdl_t hdl)
 Delete a new device database record. More...
 
void AppDbValidateRecord (appDbHdl_t hdl, uint8_t keyMask)
 Validate a new device database record. This function is called when pairing is successful and the devices are bonded. More...
 
void AppDbCheckValidRecord (appDbHdl_t hdl)
 Check if a record has been validated. If it has not, delete it. This function is typically called when the connection is closed. More...
 
bool_t AppDbRecordInUse (appDbHdl_t hdl)
 Check if a database record is in use. More...
 
bool_t AppDbCheckBonded (void)
 Check if there is a stored bond with any device. More...
 
void AppDbDeleteAllRecords (void)
 Delete all database records. More...
 
appDbHdl_t AppDbFindByAddr (uint8_t addrType, uint8_t *pAddr)
 Find a device database record by peer address. More...
 
appDbHdl_t AppDbFindByLtkReq (uint16_t encDiversifier, uint8_t *pRandNum)
 Find a device database record from data in an LTK request. More...
 
appDbHdl_t AppDbGetHdl (dmConnId_t connId)
 Get the device database record handle associated with an open connection. More...
 
dmSecKey_tAppDbGetKey (appDbHdl_t hdl, uint8_t type, uint8_t *pSecLevel)
 Get a key from a device database record. More...
 
void AppDbSetKey (appDbHdl_t hdl, dmSecKeyIndEvt_t *pKey)
 Set a key in a device database record. More...
 
uint16_tAppDbGetCccTbl (appDbHdl_t hdl)
 Get the client characteristic configuration descriptor table. More...
 
void AppDbSetCccTblValue (appDbHdl_t hdl, uint16_t idx, uint16_t value)
 Set a value in the client characteristic configuration table. More...
 
uint8_t AppDbGetDiscStatus (appDbHdl_t hdl)
 Get the discovery status. More...
 
void AppDbSetDiscStatus (appDbHdl_t hdl, uint8_t status)
 Set the discovery status. More...
 
uint16_tAppDbGetHdlList (appDbHdl_t hdl)
 Get the cached handle list. More...
 
void AppDbSetHdlList (appDbHdl_t hdl, uint16_t *pHdlList)
 Set the cached handle list. More...
 
char * AppDbGetDevName (uint8_t *pLen)
 Get the device name. More...
 
void AppDbSetDevName (uint8_t len, char *pStr)
 Set the device name. More...
 
bool_t AppDbGetPeerAddrRes (appDbHdl_t hdl)
 Get address resolution attribute value read from a peer device. More...
 
void AppDbSetPeerAddrRes (appDbHdl_t hdl, uint8_t addrRes)
 Set address resolution attribute value for a peer device. More...
 
uint32_t AppDbGetPeerSignCounter (appDbHdl_t hdl)
 Get sign counter for a peer device. More...
 
void AppDbSetPeerSignCounter (appDbHdl_t hdl, uint32_t signCounter)
 Set sign counter for a peer device. More...
 
bool_t AppDbGetPeerAddedToRl (appDbHdl_t hdl)
 Get the peer device added to resolving list flag value. More...
 
void AppDbSetPeerAddedToRl (appDbHdl_t hdl, bool_t peerAddedToRl)
 Set the peer device added to resolving list flag to a given value. More...
 
bool_t AppDbGetPeerRpao (appDbHdl_t hdl)
 Get resolvable private address only attribute present flag for a peer device. More...
 
void AppDbSetPeerRpao (appDbHdl_t hdl, bool_t peerRpao)
 Set resolvable private address only attribute present flag for a peer device. More...
 

Description

Application framework device database.

Copyright (c) 2011-2018 Arm Ltd. All Rights Reserved. ARM Ltd. confidential and proprietary.

IMPORTANT. Your use of this file is governed by a Software License Agreement ("Agreement") that must be accepted in order to download or otherwise receive a copy of this file. You may not use or copy this file for any purpose other than as described in the Agreement. If you do not agree to all of the terms of the Agreement do not use this file and delete all copies in your possession or control; if you do not have a copy of the Agreement, you must contact ARM Ltd. prior to any use, copying or further distribution of this software.

Definition in file app_db.h.