mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-29 23:24:20 +08:00
434 lines
9.4 KiB
Plaintext
434 lines
9.4 KiB
Plaintext
Bluetooth Management API
|
|
*************************
|
|
|
|
Copyright (C) 2008-2009 Marcel Holtmann <marcel@holtmann.org>
|
|
|
|
|
|
Packet Structures
|
|
=================
|
|
|
|
Commands:
|
|
|
|
0 4 8 12 16 202 24 28 31
|
|
+-------------------------------+-----------------------------+
|
|
| Command Code | Parameter Total Length |
|
|
+-------------------------------+-----------------------------+
|
|
| |
|
|
|
|
Events:
|
|
|
|
0 4 8 12 16 202 24 28 31
|
|
+-------------------------------+-----------------------------+
|
|
| Event Code | Parameter Total Length |
|
|
+-------------------------------+-----------------------------+
|
|
| |
|
|
|
|
|
|
Read Management Version Information Command
|
|
===========================================
|
|
|
|
Command Code: 0x0001
|
|
Command Parameters:
|
|
Return Parameters: Version (1 Octets)
|
|
Revision (2 Octets)
|
|
|
|
|
|
Read Management Supported Features Command
|
|
==========================================
|
|
|
|
Command Code: 0x0002
|
|
Command Parameters:
|
|
Return Parameters: Features (8 Octets)
|
|
|
|
Feature Bit 0: Controller Support
|
|
Feature Bit 1: Tracing Support
|
|
|
|
|
|
Read Controller Index List Command
|
|
==================================
|
|
|
|
Command Code: 0x0003
|
|
Command Parameters:
|
|
Return Paramters: Num_Controllers (2 Octets)
|
|
Controller_Index[i] (2 Octets)
|
|
|
|
|
|
Read Controller Information Command
|
|
===================================
|
|
|
|
Command Code: 0x0004
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Return Parameters: Controller_Index (2 Octets)
|
|
Controller_Type (1 Octet)
|
|
Powered (1 octet)
|
|
Connectable (1 octet)
|
|
Discoverable (1 octet)
|
|
Pairable (1 octed)
|
|
Security_Mode (1 octed)
|
|
BD_ADDR (6 Octets)
|
|
Device_Class (3 octets)
|
|
Supported_Features (8 Octets)
|
|
Manufacturer (2 Octets)
|
|
HCI_Version (1 Octet)
|
|
HCI_Revision (2 Octets)
|
|
|
|
Controller_Type:0x00 Reserved
|
|
0x01 Bluetooth (BR/EDR)
|
|
0x02 802.11 (AMP)
|
|
|
|
|
|
Set Powered Command
|
|
===================
|
|
|
|
Command Code: 0x0005
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Powered (1 Octet)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Powered (1 Octet)
|
|
|
|
|
|
Set Discoverable Command
|
|
========================
|
|
|
|
Command Code: 0x0006
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Discoverable (1 Octet)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Discoverable (1 Octet)
|
|
|
|
|
|
Set Connectable Command
|
|
=======================
|
|
|
|
Command Code: 0x0007
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Connectable (1 Octet)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Connectable (1 Octet)
|
|
|
|
|
|
Set Pairable Command
|
|
====================
|
|
|
|
Command Code: 0x0008
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Pairable (1 Octet)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Pairable (1 Octet)
|
|
|
|
Add UUID Command
|
|
================
|
|
|
|
Command Code: 0x0009
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
UUID (16 Octets)
|
|
SVC_Hint (1 octet)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
|
|
|
|
Remove UUID Command
|
|
===================
|
|
|
|
Command Code: 0x000A
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
UUID (16 Octets)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
|
|
|
|
Set Device Class
|
|
================
|
|
|
|
Command Code: 0x000B
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Major_Class (1 octet)
|
|
Minor_Class (1 octed)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
|
|
|
|
Set Service Cache Command
|
|
=========================
|
|
|
|
Command Code: 0x000C
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Enable (1 octet)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
|
|
|
|
Load Keys Command
|
|
=================
|
|
|
|
Command Code: 0x000D
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Debug_Keys (1 Octet)
|
|
Key_Count (2 Octets)
|
|
Key1 {
|
|
Address (6 Octets)
|
|
Type (1 Octet)
|
|
Value (16 Octets)
|
|
PIN_Length (1 Octet)
|
|
}
|
|
Key2 { }
|
|
...
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
|
|
|
|
Remove Key Command
|
|
==================
|
|
|
|
Command Code: 0x000E
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
Disconnect (1 Octet)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
|
|
|
|
Disconnect Command
|
|
==================
|
|
|
|
Command Code: 0x000F
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
|
|
Get Connections Command
|
|
=======================
|
|
|
|
Command Code: 0x0010
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Connection_Count (2 Octets)
|
|
Address1 (6 Octets)
|
|
Address2 (6 Octets)
|
|
...
|
|
|
|
PIN Code Reply Command
|
|
=======================
|
|
|
|
Command Code: 0x0011
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
PIN_Length (1 Octet)
|
|
PIN_Code (16 Octets)
|
|
|
|
|
|
PIN Code Negative Reply Command
|
|
===============================
|
|
|
|
Command Code: 0x0012
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
|
|
|
|
Set IO Capability Command
|
|
=========================
|
|
|
|
Command Code: 0x0013
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
IO_Capability (1 Octet)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
|
|
|
|
Pair Device Command
|
|
===================
|
|
|
|
Command Code: 0x0014
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
IO_Capability (1 Octet)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
Status (1 Octet)
|
|
|
|
|
|
User Confirmation Reply Command
|
|
===============================
|
|
|
|
Command Code: 0x0015
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
Status (1 Octet)
|
|
|
|
|
|
User Confirmation Negative Reply Command
|
|
========================================
|
|
|
|
Command Code: 0x0016
|
|
Command Parameters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
Return Paramters: Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
Status (1 Octet)
|
|
|
|
|
|
Read Tracing Buffer Size Command
|
|
================================
|
|
|
|
Command Code: <not yet assigned>
|
|
Command Parameters:
|
|
Return Parameters: Status (1 Octet)
|
|
Buffer_Size (2 Octets)
|
|
|
|
Buffer Size in Kilobytes
|
|
|
|
|
|
Write Tracing Buffer Size Command
|
|
=================================
|
|
|
|
Command Code: <not yet assigned>
|
|
Command Parameters: Buffer_Size (2 Octets)
|
|
Return Parameters: Status (1 Octet)
|
|
|
|
Buffer Size in Kilobytes
|
|
|
|
|
|
Read Controller Tracing Filter Command
|
|
=======================================
|
|
|
|
Command Code: <not yet assigned>
|
|
Command Parameters: Controller_Index (2 Octects)
|
|
Return Parameters: Status (1 Octet)
|
|
Controller_Index (2 Octets)
|
|
Tracing_Enable (1 Octect)
|
|
Num_Filters (2 Octect)
|
|
Protocol_UUID[i] (16 Octets)
|
|
Protocol_Identifier[i] (16 Octets)
|
|
|
|
Tracing_Enable: 0x00 Tracing disabled
|
|
0x01 Command and Event tracing
|
|
0x02 Command, Event and ACL tracing
|
|
0x03 Command, Event, ACL and SCO tracing
|
|
|
|
|
|
Write Controller Tracing Filter Command
|
|
=======================================
|
|
|
|
Command Code: <not yet assigned>
|
|
Command Parameters: Controller_Index (2 Octects)
|
|
Tracing_Enable (1 Octect)
|
|
Num_Filters (2 Octect)
|
|
Protocol_UUID[i] (16 Octets)
|
|
Protocol_Identifier[i] (16 Octets)
|
|
Return Paramters: Status (1 Octet)
|
|
Controller_Index (2 Octets)
|
|
|
|
|
|
Command Complete Event
|
|
======================
|
|
|
|
Event Code 0x0001
|
|
Event Parameters Command_Opcode (2 Octets)
|
|
Return_Parameters
|
|
|
|
|
|
Command Status Event
|
|
====================
|
|
|
|
Event Code 0x0002
|
|
Event Parameters Status (1 Octet)
|
|
Command_Opcode (2 Octets)
|
|
|
|
|
|
Controller Error Event
|
|
======================
|
|
|
|
Event Code 0x0003
|
|
Event Parameters Error_Code (1 Octet)
|
|
|
|
|
|
Index Added Event
|
|
=================
|
|
|
|
Event Code 0x0004
|
|
Event Parameters Controller_Index (2 Octets)
|
|
|
|
|
|
Index Removed Event
|
|
===================
|
|
|
|
Event Code 0x0005
|
|
Event Parameters Controller_Index (2 Octets)
|
|
|
|
Controller Powered Event
|
|
========================
|
|
|
|
Event Code 0x0006
|
|
Event Parameters Controller_Index (2 Octets)
|
|
Powered (1 Octet)
|
|
|
|
Controller Discoverable Event
|
|
=============================
|
|
|
|
Event Code 0x0007
|
|
Event Parameters Controller_Index (2 Octets)
|
|
Discoverable (1 Octet)
|
|
|
|
Controller Connectable Event
|
|
============================
|
|
|
|
Event Code 0x0008
|
|
Event Parameters Controller_Index (2 Octets)
|
|
Connectable (1 Octet)
|
|
|
|
Controller Pairable Event
|
|
=========================
|
|
|
|
Event Code 0x0009
|
|
Event Parameters Controller_Index (2 Octets)
|
|
Pairable (1 Octet)
|
|
|
|
New Key Event
|
|
=============
|
|
|
|
Event Code 0x000A
|
|
Event Parameters Controller_Index (2 Octets)
|
|
Key {
|
|
Address (6 Octets)
|
|
Type (1 Octet)
|
|
Value (16 Octets)
|
|
PIN_Length (1 Octet)
|
|
}
|
|
Old_Key_Type (1 Octet)
|
|
|
|
Device Connected Event
|
|
======================
|
|
|
|
Event Code 0x000B
|
|
Event Parameters Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
|
|
Device Disconnected Event
|
|
=========================
|
|
|
|
Event Code 0x000C
|
|
Event Parameters Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
|
|
Connect Failed Event
|
|
====================
|
|
|
|
Event Code 0x000D
|
|
Event Parameters Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
Status (1 Octet)
|
|
|
|
PIN Code Request Event
|
|
======================
|
|
|
|
Event Code 0x000E
|
|
Event Parameters Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
|
|
|
|
User Confirmation Request Event
|
|
===============================
|
|
|
|
Event Code 0x000F
|
|
Event Parameters Controller_Index (2 Octets)
|
|
Address (6 Octets)
|
|
Value (4 Octets)
|