diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index b4f64be060..ca75b693d5 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -1198,6 +1198,7 @@ if $(HAIKU_NO_WERROR) != 1 { EnableWerror src add-ons input_server devices ; # EnableWerror src add-ons input_server filters ; # EnableWerror src add-ons input_server methods ; + EnableWerror src add-ons kernel bluetooth ; # EnableWerror src add-ons kernel bus_managers acpi ; EnableWerror src add-ons kernel bus_managers agp_gart ; EnableWerror src add-ons kernel bus_managers ata ; @@ -1391,23 +1392,7 @@ if $(HAIKU_NO_WERROR) != 1 { # EnableWerror src kits tracker ; EnableWerror src kits translation ; EnableWerror src preferences ; - EnableWerror src servers app ; -# EnableWerror src servers bluetooth ; - EnableWerror src servers cddb_daemon ; - EnableWerror src servers debug ; - EnableWerror src servers input ; - EnableWerror src servers mail ; - EnableWerror src servers media ; - EnableWerror src servers media_addon ; - EnableWerror src servers midi ; - EnableWerror src servers mount ; - EnableWerror src servers net ; - EnableWerror src servers notification ; - EnableWerror src servers power ; - EnableWerror src servers print ; - EnableWerror src servers registrar ; - EnableWerror src servers services_daemon ; - EnableWerror src servers syslog_daemon ; + EnableWerror src servers ; EnableWerror src system kernel ; EnableWerror src system runtime_loader ; } diff --git a/headers/os/bluetooth/bluetooth.h b/headers/os/bluetooth/bluetooth.h index 493af88ada..da0703b036 100644 --- a/headers/os/bluetooth/bluetooth.h +++ b/headers/os/bluetooth/bluetooth.h @@ -24,10 +24,17 @@ typedef struct { uint8 b[6]; } __attribute__((packed)) bdaddr_t; +namespace BPrivate { -#define BDADDR_NULL (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}}) -#define BDADDR_LOCAL (&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff}}) -#define BDADDR_BROADCAST (&(bdaddr_t) {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}) +extern const bdaddr_t kBdNullAddress; +extern const bdaddr_t kBdLocalAddress; +extern const bdaddr_t kBdBroadcastAddress; + +} + +#define BDADDR_NULL (&BPrivate::kBdNullAddress) +#define BDADDR_LOCAL (&BPrivate::kBdLocalAddress) +#define BDADDR_BROADCAST (&BPrivate::kBdBroadcastAddress) #define BDADDR_ANY BDADDR_BROADCAST diff --git a/headers/private/bluetooth/btCoreData.h b/headers/private/bluetooth/btCoreData.h index d037b6eda5..bebac61d77 100644 --- a/headers/private/bluetooth/btCoreData.h +++ b/headers/private/bluetooth/btCoreData.h @@ -138,7 +138,7 @@ struct bluetooth_core_data_module_info { status_t (*PostEvent)(bluetooth_device* ndev, void* event, size_t size); struct HciConnection* (*AddConnection)(uint16 handle, int type, - bdaddr_t* dst, hci_id hid); + const bdaddr_t* dst, hci_id hid); // status_t (*RemoveConnection)(bdaddr_t destination, hci_id hid); status_t (*RemoveConnection)(uint16 handle, hci_id hid); diff --git a/src/add-ons/kernel/bluetooth/btCoreData/ConnectionInterface.cpp b/src/add-ons/kernel/bluetooth/btCoreData/ConnectionInterface.cpp index bc38c6f3d4..ada200778a 100644 --- a/src/add-ons/kernel/bluetooth/btCoreData/ConnectionInterface.cpp +++ b/src/add-ons/kernel/bluetooth/btCoreData/ConnectionInterface.cpp @@ -37,7 +37,7 @@ HciConnection::~HciConnection() HciConnection* -AddConnection(uint16 handle, int type, bdaddr_t* dst, hci_id hid) +AddConnection(uint16 handle, int type, const bdaddr_t* dst, hci_id hid) { // Create connection descriptor diff --git a/src/add-ons/kernel/bluetooth/btCoreData/ConnectionInterface.h b/src/add-ons/kernel/bluetooth/btCoreData/ConnectionInterface.h index a75dbe3e2a..06a4c9c599 100644 --- a/src/add-ons/kernel/bluetooth/btCoreData/ConnectionInterface.h +++ b/src/add-ons/kernel/bluetooth/btCoreData/ConnectionInterface.h @@ -19,7 +19,7 @@ HciConnection* ConnectionByDestination(const bdaddr_t* destination, hci_id hid); -HciConnection* AddConnection(uint16 handle, int type, bdaddr_t* dst, +HciConnection* AddConnection(uint16 handle, int type, const bdaddr_t* dst, hci_id hid); status_t RemoveConnection(bdaddr_t* destination, hci_id hid); status_t RemoveConnection(uint16 handle, hci_id hid); diff --git a/src/add-ons/kernel/bluetooth/hci/bluetooth.cpp b/src/add-ons/kernel/bluetooth/hci/bluetooth.cpp index 4687a87b0c..bd5bff9b89 100644 --- a/src/add-ons/kernel/bluetooth/hci/bluetooth.cpp +++ b/src/add-ons/kernel/bluetooth/hci/bluetooth.cpp @@ -44,6 +44,15 @@ #include "acl.h" +namespace BPrivate { + +const bdaddr_t kBdNullAddress = {{0, 0, 0, 0, 0, 0}}; +const bdaddr_t kBdLocalAddress = {{0, 0, 0, 0xff, 0xff, 0xff}}; +const bdaddr_t kBdBroadcastAddress = {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}; + +} + + typedef PortListener +namespace BPrivate { + +const bdaddr_t kBdNullAddress = {{0, 0, 0, 0, 0, 0}}; +const bdaddr_t kBdLocalAddress = {{0, 0, 0, 0xff, 0xff, 0xff}}; +const bdaddr_t kBdBroadcastAddress = {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}; + +} + + #define L2CAP_CHECKSUM(address) \ (address.b[0] + address.b[1] + address.b[2] + address.b[3] \ + address.b[4] + address.b[5]) diff --git a/src/kits/bluetooth/KitSupport.cpp b/src/kits/bluetooth/KitSupport.cpp index 65f29bedc3..8fa5a8adcb 100644 --- a/src/kits/bluetooth/KitSupport.cpp +++ b/src/kits/bluetooth/KitSupport.cpp @@ -11,6 +11,16 @@ #include "KitSupport.h" + +namespace BPrivate { + +const bdaddr_t kBdNullAddress = {{0, 0, 0, 0, 0, 0}}; +const bdaddr_t kBdLocalAddress = {{0, 0, 0, 0xff, 0xff, 0xff}}; +const bdaddr_t kBdBroadcastAddress = {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}; + +} + + BMessenger* _RetrieveBluetoothMessenger(void) { // Fix/review: leaking memory here