blob: eee04920bf0ea83eb1efda526829572581041b66 [file] [log] [blame]
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)
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)