SDPD(8) | FreeBSD System Manager's Manual | SDPD(8) |
名称
sdpd — Bluetooth サービス発見プロトコル (Service Discovery Protocol) デーモン書式
sdpd | [ -dh][ -c path][ -g group][ -u user] |
解説
sdpd デーモンは、ホスト上に登録された Bluetooth サービスの経過を追って、リモート Bluetooth デバイスからサービス発見 (Service Discovery) 問い合わせに応答します。なんらかのサービスを使用するためには、リモート Bluetooth デバイスは SDP PSM (0x0001) で Bluetooth L2CAP 接続上で、サービス検索 (Service Search) とサービス属性 (Service Attribute) またはサービス検索属性 (Service Search Attribute) 要求を送信する必要があります。 sdpd デーモンは、サービスデータベース (Service Database) で適合するサービスレコード (Service Record) を見つけようと試み、適切な応答を返送します。リモートデバイスは、次に、応答を処理して、すべての必要な情報を抽出して、サービスを利用するために別々の接続を行います。
ホストで実行している、Bluetooth アプリケーションはローカル sdpd デーモンでサービスを登録します。サービス登録、サービス削除、およびサービス変更のような操作は、制御ソケット上で実行されます。制御ソケット上で browse コマンドを発行することによって sdpcontrol(8) で sdpd サービスデータベース (Service Database) の全体の内容について問い合わせることは可能です。
コマンドラインオプションは次の通りです:
- -d
- 制御端末から、デタッチしません。
- -c path
- 制御ソケットへのパスを指定します。デフォルトのパスは /var/run/sdp です。
- -g group
-
sdpd がその初期化の後に、実行すべきグループを指定します。値はグループ名か数値グループ ID のいずれかで指定できます。
sdpd がルートとして開始された場合にだけ、これは動作します。デフォルトのグループ名は“
nobody
”です。 - -h
- 使用法のメッセージを表示して、終了します。
- -u user
-
sdpd がその初期化の後に、実行すべきユーザを指定します。値はユーザ名か数値ユーザ ID のいずれかで指定できます。
sdpd がルートとして開始された場合にだけ、これは動作します。デフォルトのユーザ名は“
nobody
”です。
警告
sdpd デーモンはワイルドカードの BD_ADDR で着信 L2CAP 接続を listen (接続を受け付け) します。同じホストに接続された複数の Bluetooth デバイスの場合には、どのサービスがどの Bluetooth デバイスに“バインド”されるべきであるかを指定することは可能です。そのような割り当てはサービス登録時に行われるべきです。
サービスを登録するか、削除するか、または変更する要求は、制御ソケットを通してのみ行うことができます。 sdpd デーモンは、ピアの資格証明をチェックして、アプリケーションに“ root
”ユーザ ID と同じ実効ユーザ ID がある場合にだけ、要求を受け付けます。
sdpd デーモンは複製されたサービスレコード (Service Record) をチェックしません。それはサービス登録 (Service Register) 要求で送信されたサービスデータで最小のチェックのみを実行します。サービスを登録する前に、アプリケーションは RFCOMM チャネルなどのようなすべての必要なリソースを取得しなければならないと仮定します。
関連ファイル
- /var/run/sdp
作者
<m_evmenkin@yahoo.com>バグ
たぶんあるでしょう。見つけたなら、報告してください。January 13, 2004 | FreeBSD |