feat: allow MAC spoofing in Bluetooth stack, show paired devices in Bluetooth app

This commit is contained in:
2026-06-16 08:49:06 +02:00
parent 4dc310e616
commit b091af7653
13 changed files with 700 additions and 44 deletions
+13
View File
@@ -145,6 +145,11 @@ namespace Drivers::USB::Bluetooth::Hci {
constexpr int MAX_CONNECTIONS = 4;
// A persisted (bonded/paired) device, as stored in the link-key store.
struct BondInfo {
uint8_t Addr[6];
};
// =========================================================================
// Intel Bluetooth version info
// =========================================================================
@@ -252,6 +257,14 @@ namespace Drivers::USB::Bluetooth::Hci {
void LoadLinkKeys();
void FlushLinkKeys();
// Enumerate the stored bonds (paired devices) into buf; returns the count
// written (<= maxCount). Used to list paired-but-disconnected devices.
int ListBonds(BondInfo* buf, int maxCount);
// Remove a stored bond by BD_ADDR and persist the removal (process context).
// Returns true if a matching bond was found and forgotten.
bool ForgetBond(const uint8_t* addr);
// Non-blocking peek at the most recent 0xFF/0x06 secure-send result without
// consuming it. Returns true if one has arrived since the last
// ClearSecureSendResult(). The payload loop uses this to catch a mid-stream