BlueZ
読み:ブルーズ
外語:BlueZ

 Linuxで標準的に使われているBluetoothプロトコルスタックの実装。
目次

概要
 LinuxにもBluetoothスタックはいくつかあるが、BlueZはLinux 2.4.6から正式採用となった。
 BlueZはBlueZプロジェクトにより開発されており、GPLv2で提供されている。
 Androidのソースでは、external/bluetooth/bluez 以下にソースが一式存在する。

特徴
 次のような特徴がある。
 以下を提供している。
 カーネルモジュールは、Socketを提供する
 int skt = socket( AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI );

仕様

機能
 BSDソケットインターフェイス準拠のAPIを提供し、UNIXなどの他の実装と同様に、Bluetoothをファイルのように扱うことができる。
 実装は複数のレイヤーに分けられているが、それぞれについて、ソケットを通じ、各層においてbind、connect、send、recvなどの操作が利用でき、また各層に対してioctl、setsockopt、getsockoptなどによる制御が利用できる。

対応
 ハードウェア層から上位層まであるが、概ね次のような環境に対応している。

物理層(HCIとの接続点)

主なプロトコル

対応プロファイル
 BlueZの実装
 Obexdパッケージによる実装
 GATT(LE)プロファイル

再検索