Jenkins Software

Windows bluetooth integration

Can be supported in C using sockets and native libraries

Bluetooth support is relatively easy to add.

  1. Include "Ws2bth.h"
  2. Modify socket calls in SocketLayer.cpp, refer to
  3. Source example
  4. There is also an API from Broadcom for Windows although I'm not sure what the difference is between that and the native Windows system calls.

Linux bluetooth integration

Can be supported in C using the BlueZ library

Linux uses the BlueZ library to interface with Bluetooth devices. There is a great resource on BlueZ here:

Mac bluetooth integration

Indirectly send through IOBluetoothL2CAPChannelRef?

Mac Bluetooth support is supported through the IOBluetooth library, written in Objective-C. C equivalents are available by suffixing Ref to the name, for example IOBluetoothObjectRef contains the interface in C. You are expected to create instances of IOBluetoothL2CAPChannel which represent a communication channel. L2CAP is an unreliable communications channel. The equivalent reliable communications channel uses RFCOMM The full framework of methods It doesn't appear to be possible to get direct socket access to Bluetooth on the Mac. However, it may be possible to use RakNet and IOBluetoothL2CAPChannel together by using RakNet's SocketLayer::SetSocketLayerOverride(), and thereby changing RakNet's sendto and recvfrom calls to use IOBluetoothL2CAPChannel instead.

iPhone bluetooth integration

Bluetooth exposed through Gamekit

The only interface for Bluetooth communications is through the higher level framework GameKit. Gamekit uses Objective-C.

Similar to the Mac, it may be possible to indirectly send through RakNet using SocketLayer::SetSocketLayerOverride() through the sendData:toPeers method exposed by GKSession, and sending that data unreliabily.
Android bluetooth integration

BlueZ used for underlying support, however not accessible to implementation

 See Also