diff --git a/epicardium/ble/bondings.c b/epicardium/ble/bondings.c index 54274859e01001fd5652af4888ef3643a047fc0a..54a774b7c26bd2c03de260e11f7ef20b4d8a2cec 100644 --- a/epicardium/ble/bondings.c +++ b/epicardium/ble/bondings.c @@ -77,21 +77,16 @@ typedef struct uint8_t discStatus; /*! Service discovery and configuration status */ } appDbRec_t; -/*! Database type */ -typedef struct -{ - appDbRec_t rec[APP_DB_NUM_RECS]; /*! Device database records */ -} appDb_t; /************************************************************************************************** Local Variables **************************************************************************************************/ /*! Database */ -static appDb_t appDb; +static appDbRec_t records[APP_DB_NUM_RECS]; /*! When all records are allocated use this index to determine which to overwrite */ -static appDbRec_t *pAppDbNewRec = appDb.rec; +static appDbRec_t *pAppDbNewRec = records; /*************************************************************************************************/ /*! @@ -105,8 +100,8 @@ void AppDbInit(void) int fd = epic_file_open("pairings.bin", "r"); if(fd >= 0) { - if(epic_file_read(fd, &appDb, sizeof(appDb)) != sizeof(appDb)) { - memset(&appDb, 0, sizeof(appDb)); + if(epic_file_read(fd, records, sizeof(records)) != sizeof(records)) { + memset(records, 0, sizeof(records)); } epic_file_close(fd); } @@ -114,11 +109,11 @@ void AppDbInit(void) static void AppDbStore(void) { - LOG_INFO("appDb", "writing to persistent storage"); + LOG_INFO("bondings", "writing to persistent storage"); int fd = epic_file_open("pairings.bin", "w"); if(fd >= 0) { - if(epic_file_write(fd, &appDb, sizeof(appDb)) != sizeof(appDb)) { + if(epic_file_write(fd, records, sizeof(records)) != sizeof(records)) { } epic_file_close(fd); } @@ -136,7 +131,7 @@ static void AppDbStore(void) /*************************************************************************************************/ appDbHdl_t AppDbNewRecord(uint8_t addrType, uint8_t *pAddr) { - appDbRec_t *pRec = appDb.rec; + appDbRec_t *pRec = records; uint8_t i; /* find a free record */ @@ -156,9 +151,9 @@ appDbHdl_t AppDbNewRecord(uint8_t addrType, uint8_t *pAddr) /* get next record to overwrite */ pAppDbNewRec++; - if (pAppDbNewRec == &appDb.rec[APP_DB_NUM_RECS]) + if (pAppDbNewRec == &records[APP_DB_NUM_RECS]) { - pAppDbNewRec = appDb.rec; + pAppDbNewRec = records; } } @@ -190,7 +185,7 @@ appDbHdl_t AppDbGetNextRecord(appDbHdl_t hdl) /* if first record is requested */ if (hdl == APP_DB_HDL_NONE) { - pRec = appDb.rec; + pRec = records; } /* if valid record passed in */ else if (AppDbRecordInUse(hdl)) @@ -205,7 +200,7 @@ appDbHdl_t AppDbGetNextRecord(appDbHdl_t hdl) } /* look for next valid record */ - while (pRec < &appDb.rec[APP_DB_NUM_RECS]) + while (pRec < &records[APP_DB_NUM_RECS]) { /* if record is in use */ if (pRec->inUse && pRec->valid) @@ -283,7 +278,7 @@ void AppDbCheckValidRecord(appDbHdl_t hdl) /*************************************************************************************************/ bool_t AppDbRecordInUse(appDbHdl_t hdl) { - appDbRec_t *pRec = appDb.rec; + appDbRec_t *pRec = records; uint8_t i; /* see if record is in database record list */ @@ -309,7 +304,7 @@ bool_t AppDbRecordInUse(appDbHdl_t hdl) /*************************************************************************************************/ bool_t AppDbCheckBonded(void) { - appDbRec_t *pRec = appDb.rec; + appDbRec_t *pRec = records; uint8_t i; /* find a record */ @@ -333,7 +328,7 @@ bool_t AppDbCheckBonded(void) /*************************************************************************************************/ void AppDbDeleteAllRecords(void) { - appDbRec_t *pRec = appDb.rec; + appDbRec_t *pRec = records; uint8_t i; /* set in use to false for all records */ @@ -355,7 +350,7 @@ void AppDbDeleteAllRecords(void) /*************************************************************************************************/ appDbHdl_t AppDbFindByAddr(uint8_t addrType, uint8_t *pAddr) { - appDbRec_t *pRec = appDb.rec; + appDbRec_t *pRec = records; uint8_t peerAddrType = DmHostAddrType(addrType); uint8_t i; @@ -383,7 +378,7 @@ appDbHdl_t AppDbFindByAddr(uint8_t addrType, uint8_t *pAddr) /*************************************************************************************************/ appDbHdl_t AppDbFindByLtkReq(uint16_t encDiversifier, uint8_t *pRandNum) { - appDbRec_t *pRec = appDb.rec; + appDbRec_t *pRec = records; uint8_t i; /* find matching record */