Radikant-BLE-C
Radikant BLE is a, cross-platform C BLE library that abstracts away complex system/os API’s into one of much simpeler nature.
For OSX there is a small shim around system Objective-C API’s, Windows, Linux are still the be implemented. This is mainly a desktop api.
Example
ble_init();
// Register all callbacks
ble_set_connection_callback(on_connected);
ble_set_data_callback(on_data);
ble_set_service_discovery_callback(on_service);
ble_set_status_callback(on_status);
ble_set_rssi_callback(on_rssi);
ble_set_mtu_callback(on_mtu);
23:32:00 [INFO] Application started (/Users/charrlie/Desktop/Radikant-Log-C/test/test_log.c:87)
23:32:00 [SUCCESS] Database connected (/Users/charrlie/Desktop/Radikant-Log-C/test/test_log.c:88)
23:32:00 [ERROR] Failed to load configuration file (/Users/charrlie/Desktop/Radikant-Log-C/test/test_log.c:89)
23:32:00 [FAILURE] Unhandled exception occurred (/Users/charrlie/Desktop/Radikant-Log-C/test/test_log.c:90)
23:32:00 [ALERT] System resources critically low (/Users/charrlie/Desktop/Radikant-Log-C/test/test_log.c:91)
23:32:00 [WARN] Deprecated API usage detected (/Users/charrlie/Desktop/Radikant-Log-C/test/test_log.c:92)