diff --git a/platform/posix/le_device_db_fs.c b/platform/posix/le_device_db_fs.c index f6b20c7c8..193412832 100644 --- a/platform/posix/le_device_db_fs.c +++ b/platform/posix/le_device_db_fs.c @@ -260,6 +260,10 @@ int le_device_db_count(void){ return counter; } +int le_device_db_max_count(void){ + return LE_DEVICE_MEMORY_SIZE; +} + // free device void le_device_db_remove(int index){ le_devices[index].addr_type = INVALID_ENTRY_ADDR_TYPE; diff --git a/platform/wiced/le_device_db_wiced_dct.c b/platform/wiced/le_device_db_wiced_dct.c index c3a75c53c..130b355ee 100644 --- a/platform/wiced/le_device_db_wiced_dct.c +++ b/platform/wiced/le_device_db_wiced_dct.c @@ -191,6 +191,10 @@ int le_device_db_count(void){ return counter; } +int le_device_db_max_count(void){ + return NVM_NUM_LE_DEVICES; +} + // get device information: addr type and address void le_device_db_info(int device_index, int * addr_type, bd_addr_t addr, sm_key_t irk){ int absolute_index = le_device_db_get_absolute_index_for_device_index(device_index); diff --git a/src/ble/le_device_db.h b/src/ble/le_device_db.h index 209524b23..02630a3ed 100644 --- a/src/ble/le_device_db.h +++ b/src/ble/le_device_db.h @@ -84,11 +84,17 @@ void le_device_db_set_local_bd_addr(bd_addr_t bd_addr); int le_device_db_add(int addr_type, bd_addr_t addr, sm_key_t irk); /** - * @brief get number of devices in db for enumeration + * @brief get number of devices in db * @returns number of device in db */ int le_device_db_count(void); +/** + * @brief get max number of devices in db for enumeration + * @returns max number of device in db + */ +int le_device_db_max_count(void); + /** * @brief get device information: addr type and address needed to identify device * @param index diff --git a/src/ble/le_device_db_memory.c b/src/ble/le_device_db_memory.c index bd1cdf852..35dc48e70 100644 --- a/src/ble/le_device_db_memory.c +++ b/src/ble/le_device_db_memory.c @@ -106,6 +106,10 @@ int le_device_db_count(void){ return counter; } +int le_device_db_max_count(void){ + return MAX_NR_LE_DEVICE_DB_ENTRIES; +} + // free device void le_device_db_remove(int index){ le_devices[index].addr_type = INVALID_ENTRY_ADDR_TYPE; diff --git a/src/ble/le_device_db_tlv.c b/src/ble/le_device_db_tlv.c index 9f8810bf7..4af3e38b1 100644 --- a/src/ble/le_device_db_tlv.c +++ b/src/ble/le_device_db_tlv.c @@ -170,6 +170,10 @@ int le_device_db_count(void){ return num_valid_entries; } +int le_device_db_max_count(void){ + return NVM_NUM_DEVICE_DB_ENTRIES; +} + void le_device_db_remove(int index){ // delete entry in TLV le_device_db_tlv_delete(index);