xref: /btstack/src/btstack_defines.h (revision b3f90e251f745db390d72f71665dd25f1ef59d1d)
1941b3855SMatthias Ringwald /*
2941b3855SMatthias Ringwald  * Copyright (C) 2015 BlueKitchen GmbH
3941b3855SMatthias Ringwald  *
4941b3855SMatthias Ringwald  * Redistribution and use in source and binary forms, with or without
5941b3855SMatthias Ringwald  * modification, are permitted provided that the following conditions
6941b3855SMatthias Ringwald  * are met:
7941b3855SMatthias Ringwald  *
8941b3855SMatthias Ringwald  * 1. Redistributions of source code must retain the above copyright
9941b3855SMatthias Ringwald  *    notice, this list of conditions and the following disclaimer.
10941b3855SMatthias Ringwald  * 2. Redistributions in binary form must reproduce the above copyright
11941b3855SMatthias Ringwald  *    notice, this list of conditions and the following disclaimer in the
12941b3855SMatthias Ringwald  *    documentation and/or other materials provided with the distribution.
13941b3855SMatthias Ringwald  * 3. Neither the name of the copyright holders nor the names of
14941b3855SMatthias Ringwald  *    contributors may be used to endorse or promote products derived
15941b3855SMatthias Ringwald  *    from this software without specific prior written permission.
16941b3855SMatthias Ringwald  * 4. Any redistribution, use, or modification is done solely for
17941b3855SMatthias Ringwald  *    personal benefit and not for any commercial purpose or for
18941b3855SMatthias Ringwald  *    monetary gain.
19941b3855SMatthias Ringwald  *
20941b3855SMatthias Ringwald  * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS
21941b3855SMatthias Ringwald  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22941b3855SMatthias Ringwald  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23941b3855SMatthias Ringwald  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS
24941b3855SMatthias Ringwald  * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25941b3855SMatthias Ringwald  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26941b3855SMatthias Ringwald  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
27941b3855SMatthias Ringwald  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28941b3855SMatthias Ringwald  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29941b3855SMatthias Ringwald  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
30941b3855SMatthias Ringwald  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31941b3855SMatthias Ringwald  * SUCH DAMAGE.
32941b3855SMatthias Ringwald  *
33941b3855SMatthias Ringwald  * Please inquire about commercial licensing options at
34941b3855SMatthias Ringwald  * [email protected]
35941b3855SMatthias Ringwald  *
36941b3855SMatthias Ringwald  */
37941b3855SMatthias Ringwald 
38941b3855SMatthias Ringwald /*
39941b3855SMatthias Ringwald  * btstack-defines.h
40941b3855SMatthias Ringwald  *
41941b3855SMatthias Ringwald  * BTstack definitions, events, and error codes */
42941b3855SMatthias Ringwald 
43941b3855SMatthias Ringwald #ifndef __BTSTACK_DEFINES_H
44941b3855SMatthias Ringwald #define __BTSTACK_DEFINES_H
45941b3855SMatthias Ringwald 
46941b3855SMatthias Ringwald // DEFINES
47941b3855SMatthias Ringwald 
48941b3855SMatthias Ringwald #define DAEMON_EVENT_PACKET     0x05
49941b3855SMatthias Ringwald 
50941b3855SMatthias Ringwald // L2CAP data
51941b3855SMatthias Ringwald #define L2CAP_DATA_PACKET       0x06
52941b3855SMatthias Ringwald 
53941b3855SMatthias Ringwald // RFCOMM data
54941b3855SMatthias Ringwald #define RFCOMM_DATA_PACKET      0x07
55941b3855SMatthias Ringwald 
56941b3855SMatthias Ringwald // Attribute protocol data
57941b3855SMatthias Ringwald #define ATT_DATA_PACKET         0x08
58941b3855SMatthias Ringwald 
59941b3855SMatthias Ringwald // Security Manager protocol data
60941b3855SMatthias Ringwald #define SM_DATA_PACKET          0x09
61941b3855SMatthias Ringwald 
62941b3855SMatthias Ringwald // SDP query result
63941b3855SMatthias Ringwald // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k)
64941b3855SMatthias Ringwald #define SDP_CLIENT_PACKET       0x0a
65941b3855SMatthias Ringwald 
66941b3855SMatthias Ringwald // BNEP data
67941b3855SMatthias Ringwald #define BNEP_DATA_PACKET        0x0b
68941b3855SMatthias Ringwald 
69941b3855SMatthias Ringwald // Unicast Connectionless Data
70941b3855SMatthias Ringwald #define UCD_DATA_PACKET         0x0c
71941b3855SMatthias Ringwald 
72941b3855SMatthias Ringwald // debug log messages
73941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET      0xfc
74941b3855SMatthias Ringwald 
75941b3855SMatthias Ringwald 
76941b3855SMatthias Ringwald // ERRORS
77941b3855SMatthias Ringwald 
78941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors
79941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED              0x50
80941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH         0x51
81941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED                  0x52
82941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN                  0x53
83941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED                              0x54
84941b3855SMatthias Ringwald #define BTSTACK_BUSY                                       0x55
85941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED                        0x56
86941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL                           0x57
87941b3855SMatthias Ringwald 
88941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them
89941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60
90941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61
91941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62
92941b3855SMatthias Ringwald 
93941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL        0x63
94941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING           0x64
95941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM       0x65
96941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY  0x66
97941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67
98941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT       0x68
99941b3855SMatthias Ringwald 
100941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED                   0x69
101941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU                  0x6A
102941b3855SMatthias Ringwald 
103941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED                         0x70
104941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED                  0x71
105941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS                         0x72
106941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF                          0x73
107941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU                        0x74
108941b3855SMatthias Ringwald 
109941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED                      0x80
110941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE                               0x81
111941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND                              0x82
112941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID                                 0x83
113941b3855SMatthias Ringwald 
114941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS            0x90
115941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT                0x91
116941b3855SMatthias Ringwald 
117941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED                          0x93
118941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY                                   0x94
119941b3855SMatthias Ringwald 
120941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED                    0xA0
121941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED                         0xA1
122941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU                          0xA2
123941b3855SMatthias Ringwald 
124941b3855SMatthias Ringwald typedef enum {
125941b3855SMatthias Ringwald     BLE_PERIPHERAL_OK = 0xA0,
126941b3855SMatthias Ringwald     BLE_PERIPHERAL_IN_WRONG_STATE,
127941b3855SMatthias Ringwald     BLE_PERIPHERAL_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS,
128941b3855SMatthias Ringwald     BLE_PERIPHERAL_NOT_CONNECTED,
129941b3855SMatthias Ringwald     BLE_VALUE_TOO_LONG,
130941b3855SMatthias Ringwald     BLE_PERIPHERAL_BUSY,
131941b3855SMatthias Ringwald     BLE_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED,
132941b3855SMatthias Ringwald     BLE_CHARACTERISTIC_INDICATION_NOT_SUPPORTED
133941b3855SMatthias Ringwald } le_command_status_t;
134941b3855SMatthias Ringwald 
135*b3f90e25SMatthias Ringwald // COMMANDS
136*b3f90e25SMatthias Ringwald 
137*b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d
138*b3f90e25SMatthias Ringwald 
139*b3f90e25SMatthias Ringwald // cmds for BTstack
140*b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE
141*b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE                                  0x01
142*b3f90e25SMatthias Ringwald 
143*b3f90e25SMatthias Ringwald // set power mode: @param HCI_POWER_MODE
144*b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE                             0x02
145*b3f90e25SMatthias Ringwald 
146*b3f90e25SMatthias Ringwald // set capture mode: @param on
147*b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE                       0x03
148*b3f90e25SMatthias Ringwald 
149*b3f90e25SMatthias Ringwald // get BTstack version
150*b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION                                0x04
151*b3f90e25SMatthias Ringwald 
152*b3f90e25SMatthias Ringwald // get system Bluetooth state
153*b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED               0x05
154*b3f90e25SMatthias Ringwald 
155*b3f90e25SMatthias Ringwald // set system Bluetooth state
156*b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED               0x06
157*b3f90e25SMatthias Ringwald 
158*b3f90e25SMatthias Ringwald // enable inquiry scan for this client
159*b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE                           0x07
160*b3f90e25SMatthias Ringwald 
161*b3f90e25SMatthias Ringwald // set global Bluetooth state
162*b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED                      0x08
163*b3f90e25SMatthias Ringwald 
164*b3f90e25SMatthias Ringwald // create l2cap channel: @param bd_addr(48), psm (16)
165*b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL                               0x20
166*b3f90e25SMatthias Ringwald 
167*b3f90e25SMatthias Ringwald // disconnect l2cap disconnect, @param channel(16), reason(8)
168*b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT                                   0x21
169*b3f90e25SMatthias Ringwald 
170*b3f90e25SMatthias Ringwald // register l2cap service: @param psm(16), mtu (16)
171*b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE                             0x22
172*b3f90e25SMatthias Ringwald 
173*b3f90e25SMatthias Ringwald // unregister l2cap disconnect, @param psm(16)
174*b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE                           0x23
175*b3f90e25SMatthias Ringwald 
176*b3f90e25SMatthias Ringwald // accept connection @param bd_addr(48), dest cid (16)
177*b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION                            0x24
178*b3f90e25SMatthias Ringwald 
179*b3f90e25SMatthias Ringwald // decline l2cap disconnect,@param bd_addr(48), dest cid (16), reason(8)
180*b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION                           0x25
181*b3f90e25SMatthias Ringwald 
182*b3f90e25SMatthias Ringwald // create l2cap channel: @param bd_addr(48), psm (16), mtu (16)
183*b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU                           0x26
184*b3f90e25SMatthias Ringwald 
185*b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size)
186*b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD                        0x30
187*b3f90e25SMatthias Ringwald 
188*b3f90e25SMatthias Ringwald // unregister SDP Service Record
189*b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD                      0x31
190*b3f90e25SMatthias Ringwald 
191*b3f90e25SMatthias Ringwald // Get remote RFCOMM services
192*b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES                   0x32
193*b3f90e25SMatthias Ringwald 
194*b3f90e25SMatthias Ringwald // Get remote SDP services
195*b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES                          0x33
196*b3f90e25SMatthias Ringwald 
197*b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands
198*b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL       0x40
199*b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT     0x41
200*b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE     0x42
201*b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE   0x43
202*b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION    0x44
203*b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION   0x45
204*b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL   0x46
205*b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS   0x47
206*b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48
207*b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS                 0x49
208*b3f90e25SMatthias Ringwald 
209*b3f90e25SMatthias Ringwald // GAP Classic 0x50
210*b3f90e25SMatthias Ringwald #define GAP_DISCONNECT              0x50
211*b3f90e25SMatthias Ringwald 
212*b3f90e25SMatthias Ringwald // GAP LE      0x60
213*b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START           0x60
214*b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP            0x61
215*b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT              0x62
216*b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL       0x63
217*b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS  0x64
218*b3f90e25SMatthias Ringwald 
219*b3f90e25SMatthias Ringwald // GATT (Client) 0x70
220*b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES                       0x70
221*b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16                 0x71
222*b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128                0x72
223*b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE                  0x73
224*b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE                0x74
225*b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128     0x75
226*b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS                 0x76
227*b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC                        0x77
228*b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC                   0x78
229*b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE      0x79
230*b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC                       0x7A
231*b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC                  0x7B
232*b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC         0x7C
233*b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR                      0X7D
234*b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR                 0X7E
235*b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR                     0X7F
236*b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR                0X80
237*b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION           0X81
238*b3f90e25SMatthias Ringwald #define GATT_GET_MTU                                             0x82
239*b3f90e25SMatthias Ringwald 
240941b3855SMatthias Ringwald 
241941b3855SMatthias Ringwald // EVENTS
242941b3855SMatthias Ringwald 
243941b3855SMatthias Ringwald /**
244941b3855SMatthias Ringwald  * @format 1
245941b3855SMatthias Ringwald  * @param state
246941b3855SMatthias Ringwald  */
247941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE                                0x60
248941b3855SMatthias Ringwald 
249941b3855SMatthias Ringwald // data: event(8), len(8), nr hci connections
250941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED               0x61
251941b3855SMatthias Ringwald 
252941b3855SMatthias Ringwald /**
253941b3855SMatthias Ringwald  * @format
254941b3855SMatthias Ringwald  */
255941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED                       0x62
256941b3855SMatthias Ringwald 
257941b3855SMatthias Ringwald /**
258941b3855SMatthias Ringwald  * @format 112
259941b3855SMatthias Ringwald  * @param major
260941b3855SMatthias Ringwald  * @param minor
261941b3855SMatthias Ringwald  @ @param revision
262941b3855SMatthias Ringwald  */
263941b3855SMatthias Ringwald #define BTSTACK_EVENT_VERSION                              0x63
264941b3855SMatthias Ringwald 
265941b3855SMatthias Ringwald // data: system bluetooth on/off (bool)
266941b3855SMatthias Ringwald #define BTSTACK_EVENT_SYSTEM_BLUETOOTH_ENABLED             0x64
267941b3855SMatthias Ringwald 
268941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes)
269941b3855SMatthias Ringwald #define BTSTACK_EVENT_REMOTE_NAME_CACHED                   0x65
270941b3855SMatthias Ringwald 
271941b3855SMatthias Ringwald // data: discoverable enabled (bool)
272941b3855SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED                 0x66
273941b3855SMatthias Ringwald 
274941b3855SMatthias Ringwald // Daemon Events used internally
275941b3855SMatthias Ringwald 
276941b3855SMatthias Ringwald // data: event(8)
277941b3855SMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED                     0x68
278941b3855SMatthias Ringwald 
279941b3855SMatthias Ringwald // data: event(8)
280941b3855SMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED                     0x69
281941b3855SMatthias Ringwald 
282941b3855SMatthias Ringwald // data: event(8), nr_connections(8)
283941b3855SMatthias Ringwald #define DAEMON_NR_CONNECTIONS_CHANGED                      0x6A
284941b3855SMatthias Ringwald 
285941b3855SMatthias Ringwald // data: event(8)
286941b3855SMatthias Ringwald #define DAEMON_EVENT_NEW_RFCOMM_CREDITS                    0x6B
287941b3855SMatthias Ringwald 
288941b3855SMatthias Ringwald // data: event(8)
289941b3855SMatthias Ringwald #define DAEMON_EVENT_HCI_PACKET_SENT                       0x6C
290941b3855SMatthias Ringwald 
291941b3855SMatthias Ringwald // L2CAP EVENTS
292941b3855SMatthias Ringwald 
293941b3855SMatthias Ringwald // data: event (8), len(8), status (8), address(48), handle (16), psm (16), local_cid(16), remote_cid (16), local_mtu(16), remote_mtu(16), flush_timeout(16)
294941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED                         0x70
295941b3855SMatthias Ringwald 
296941b3855SMatthias Ringwald // data: event (8), len(8), channel (16)
297941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED                         0x71
298941b3855SMatthias Ringwald 
299941b3855SMatthias Ringwald // data: event (8), len(8), address(48), handle (16), psm (16), local_cid(16), remote_cid (16)
300941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION                    0x72
301941b3855SMatthias Ringwald 
302941b3855SMatthias Ringwald // data: event(8), len(8), handle(16)
303941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK                          0x73
304941b3855SMatthias Ringwald 
305941b3855SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8)
306941b3855SMatthias Ringwald #define L2CAP_EVENT_CREDITS                                0x74
307941b3855SMatthias Ringwald 
308941b3855SMatthias Ringwald // data: event(8), len(8), status (8), psm (16)
309941b3855SMatthias Ringwald #define L2CAP_EVENT_SERVICE_REGISTERED                     0x75
310941b3855SMatthias Ringwald 
311941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), interval min(16), interval max(16), latency(16), timeout multiplier(16)
312941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST    0x76
313941b3855SMatthias Ringwald 
314941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail)
315941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE   0x77
316941b3855SMatthias Ringwald 
317941b3855SMatthias Ringwald // RFCOMM EVENTS
318941b3855SMatthias Ringwald /**
319941b3855SMatthias Ringwald  * @format 1B2122
320941b3855SMatthias Ringwald  * @param status
321941b3855SMatthias Ringwald  * @param bd_addr
322941b3855SMatthias Ringwald  * @param con_handle
323941b3855SMatthias Ringwald  * @param server_channel
324941b3855SMatthias Ringwald  * @param rfcomm_cid
325941b3855SMatthias Ringwald  * @param max_frame_size
326941b3855SMatthias Ringwald  */
327941b3855SMatthias Ringwald #define RFCOMM_EVENT_OPEN_CHANNEL_COMPLETE                 0x80
328941b3855SMatthias Ringwald 
329941b3855SMatthias Ringwald /**
330941b3855SMatthias Ringwald  * @format 2
331941b3855SMatthias Ringwald  * @param rfcomm_cid
332941b3855SMatthias Ringwald  */
333941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED                        0x81
334941b3855SMatthias Ringwald 
335941b3855SMatthias Ringwald /**
336941b3855SMatthias Ringwald  * @format B12
337941b3855SMatthias Ringwald  * @param bd_addr
338941b3855SMatthias Ringwald  * @param server_channel
339941b3855SMatthias Ringwald  * @param rfcomm_cid
340941b3855SMatthias Ringwald  */
341941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION                   0x82
342941b3855SMatthias Ringwald 
343941b3855SMatthias Ringwald /**
344941b3855SMatthias Ringwald  * @format 21
345941b3855SMatthias Ringwald  * @param rfcomm_cid
346941b3855SMatthias Ringwald  * @param line_status
347941b3855SMatthias Ringwald  */
348941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS                    0x83
349941b3855SMatthias Ringwald 
350941b3855SMatthias Ringwald /**
351941b3855SMatthias Ringwald  * @format 21
352941b3855SMatthias Ringwald  * @param rfcomm_cid
353941b3855SMatthias Ringwald  * @param credits
354941b3855SMatthias Ringwald  */
355941b3855SMatthias Ringwald #define RFCOMM_EVENT_CREDITS                               0x84
356941b3855SMatthias Ringwald 
357941b3855SMatthias Ringwald /**
358941b3855SMatthias Ringwald  * @format 11
359941b3855SMatthias Ringwald  * @param status
360941b3855SMatthias Ringwald  * @param channel_id
361941b3855SMatthias Ringwald  */
362941b3855SMatthias Ringwald #define RFCOMM_EVENT_SERVICE_REGISTERED                    0x85
363941b3855SMatthias Ringwald 
364941b3855SMatthias Ringwald /**
365941b3855SMatthias Ringwald  * @format 11
366941b3855SMatthias Ringwald  * @param status
367941b3855SMatthias Ringwald  * @param server_channel_id
368941b3855SMatthias Ringwald  */
369941b3855SMatthias Ringwald #define RFCOMM_EVENT_PERSISTENT_CHANNEL                    0x86
370941b3855SMatthias Ringwald 
371941b3855SMatthias Ringwald // data: event (8), len(8), rfcomm_cid (16), modem status (8)
372941b3855SMatthias Ringwald 
373941b3855SMatthias Ringwald /**
374941b3855SMatthias Ringwald  * @format 21
375941b3855SMatthias Ringwald  * @param rfcomm_cid
376941b3855SMatthias Ringwald  * @param modem_status
377941b3855SMatthias Ringwald  */
378941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS                   0x87
379941b3855SMatthias Ringwald 
380941b3855SMatthias Ringwald // data: event (8), len(8), rfcomm_cid (16), rpn_data_t (67)
381941b3855SMatthias Ringwald  /**
382941b3855SMatthias Ringwald   * TODO: format for variable data
383941b3855SMatthias Ringwald   * @param rfcomm_cid
384941b3855SMatthias Ringwald   * @param rpn_data
385941b3855SMatthias Ringwald   */
386941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION                    0x88
387941b3855SMatthias Ringwald 
388941b3855SMatthias Ringwald 
389941b3855SMatthias Ringwald // data: event(8), len(8), status(8), service_record_handle(32)
390941b3855SMatthias Ringwald  /**
391941b3855SMatthias Ringwald   * @format 14
392941b3855SMatthias Ringwald   * @param status
393941b3855SMatthias Ringwald   * @param service_record_handle
394941b3855SMatthias Ringwald   */
395941b3855SMatthias Ringwald #define SDP_SERVICE_REGISTERED                             0x90
396941b3855SMatthias Ringwald 
397941b3855SMatthias Ringwald // data: event(8), len(8), status(8)
398941b3855SMatthias Ringwald /**
399941b3855SMatthias Ringwald  * @format 1
400941b3855SMatthias Ringwald  * @param status
401941b3855SMatthias Ringwald  */
402941b3855SMatthias Ringwald #define SDP_QUERY_COMPLETE                                 0x91
403941b3855SMatthias Ringwald 
404941b3855SMatthias Ringwald // data: event(8), len(8), rfcomm channel(8), name(var)
405941b3855SMatthias Ringwald /**
406941b3855SMatthias Ringwald  * @format 1T
407941b3855SMatthias Ringwald  * @param rfcomm_channel
408941b3855SMatthias Ringwald  * @param name
409941b3855SMatthias Ringwald  * @brief SDP_QUERY_RFCOMM_SERVICE 0x92
410941b3855SMatthias Ringwald  */
411941b3855SMatthias Ringwald #define SDP_QUERY_RFCOMM_SERVICE                           0x92
412941b3855SMatthias Ringwald 
413941b3855SMatthias Ringwald // data: event(8), len(8), record nr(16), attribute id(16), attribute value(var)
414941b3855SMatthias Ringwald /**
415941b3855SMatthias Ringwald  * TODO: format for variable data
416941b3855SMatthias Ringwald  * @param record_nr
417941b3855SMatthias Ringwald  * @param attribute_id
418941b3855SMatthias Ringwald  * @param attribute_value
419941b3855SMatthias Ringwald  */
420941b3855SMatthias Ringwald #define SDP_QUERY_ATTRIBUTE_VALUE                          0x93
421941b3855SMatthias Ringwald 
422941b3855SMatthias Ringwald // not provided by daemon, only used for internal testing
423941b3855SMatthias Ringwald #define SDP_QUERY_SERVICE_RECORD_HANDLE                    0x94
424941b3855SMatthias Ringwald 
425941b3855SMatthias Ringwald /**
426941b3855SMatthias Ringwald  * @format H1
427941b3855SMatthias Ringwald  * @param handle
428941b3855SMatthias Ringwald  * @param status
429941b3855SMatthias Ringwald  */
430941b3855SMatthias Ringwald #define GATT_QUERY_COMPLETE                                0xA0
431941b3855SMatthias Ringwald 
432941b3855SMatthias Ringwald /**
433941b3855SMatthias Ringwald  * @format HX
434941b3855SMatthias Ringwald  * @param handle
435941b3855SMatthias Ringwald  * @param service
436941b3855SMatthias Ringwald  */
437941b3855SMatthias Ringwald #define GATT_SERVICE_QUERY_RESULT                          0xA1
438941b3855SMatthias Ringwald 
439941b3855SMatthias Ringwald /**
440941b3855SMatthias Ringwald  * @format HY
441941b3855SMatthias Ringwald  * @param handle
442941b3855SMatthias Ringwald  * @param characteristic
443941b3855SMatthias Ringwald  */
444941b3855SMatthias Ringwald #define GATT_CHARACTERISTIC_QUERY_RESULT                   0xA2
445941b3855SMatthias Ringwald 
446941b3855SMatthias Ringwald /**
447941b3855SMatthias Ringwald  * @format H2X
448941b3855SMatthias Ringwald  * @param handle
449941b3855SMatthias Ringwald  * @param include_handle
450941b3855SMatthias Ringwald  * @param service
451941b3855SMatthias Ringwald  */
452941b3855SMatthias Ringwald #define GATT_INCLUDED_SERVICE_QUERY_RESULT                 0xA3
453941b3855SMatthias Ringwald 
454941b3855SMatthias Ringwald /**
455941b3855SMatthias Ringwald  * @format HZ
456941b3855SMatthias Ringwald  * @param handle
457941b3855SMatthias Ringwald  * @param characteristic_descriptor
458941b3855SMatthias Ringwald  */
459941b3855SMatthias Ringwald #define GATT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT   0xA4
460941b3855SMatthias Ringwald 
461941b3855SMatthias Ringwald /**
462941b3855SMatthias Ringwald  * @format H2LV
463941b3855SMatthias Ringwald  * @param handle
464941b3855SMatthias Ringwald  * @param value_handle
465941b3855SMatthias Ringwald  * @param value_length
466941b3855SMatthias Ringwald  * @param value
467941b3855SMatthias Ringwald  */
468941b3855SMatthias Ringwald #define GATT_CHARACTERISTIC_VALUE_QUERY_RESULT             0xA5
469941b3855SMatthias Ringwald 
470941b3855SMatthias Ringwald /**
471941b3855SMatthias Ringwald  * @format H22LV
472941b3855SMatthias Ringwald  * @param handle
473941b3855SMatthias Ringwald  * @param value_handle
474941b3855SMatthias Ringwald  * @param value_offset
475941b3855SMatthias Ringwald  * @param value_length
476941b3855SMatthias Ringwald  * @param value
477941b3855SMatthias Ringwald  */
478941b3855SMatthias Ringwald #define GATT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT        0xA6
479941b3855SMatthias Ringwald 
480941b3855SMatthias Ringwald /**
481941b3855SMatthias Ringwald  * @format H2LV
482941b3855SMatthias Ringwald  * @param handle
483941b3855SMatthias Ringwald  * @param value_handle
484941b3855SMatthias Ringwald  * @param value_length
485941b3855SMatthias Ringwald  * @param value
486941b3855SMatthias Ringwald  */
487941b3855SMatthias Ringwald #define GATT_NOTIFICATION                                  0xA7
488941b3855SMatthias Ringwald 
489941b3855SMatthias Ringwald /**
490941b3855SMatthias Ringwald  * @format H2LV
491941b3855SMatthias Ringwald  * @param handle
492941b3855SMatthias Ringwald  * @param value_handle
493941b3855SMatthias Ringwald  * @param value_length
494941b3855SMatthias Ringwald  * @param value
495941b3855SMatthias Ringwald  */
496941b3855SMatthias Ringwald #define GATT_INDICATION                                    0xA8
497941b3855SMatthias Ringwald 
498941b3855SMatthias Ringwald /**
499941b3855SMatthias Ringwald  * @format H2LV
500941b3855SMatthias Ringwald  * @param descriptor_handle
501941b3855SMatthias Ringwald  * @param descriptor_length
502941b3855SMatthias Ringwald  * @param descriptor
503941b3855SMatthias Ringwald  */
504941b3855SMatthias Ringwald #define GATT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT        0xA9
505941b3855SMatthias Ringwald 
506941b3855SMatthias Ringwald /**
507941b3855SMatthias Ringwald  * @format H2LV
508941b3855SMatthias Ringwald  * @param handle
509941b3855SMatthias Ringwald  * @param descriptor_offset
510941b3855SMatthias Ringwald  * @param descriptor_length
511941b3855SMatthias Ringwald  * @param descriptor
512941b3855SMatthias Ringwald  */
513941b3855SMatthias Ringwald #define GATT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT   0xAA
514941b3855SMatthias Ringwald 
515941b3855SMatthias Ringwald /**
516941b3855SMatthias Ringwald  * @format H2
517941b3855SMatthias Ringwald  * @param handle
518941b3855SMatthias Ringwald  * @param MTU
519941b3855SMatthias Ringwald  */
520941b3855SMatthias Ringwald #define GATT_MTU                                           0xAB
521941b3855SMatthias Ringwald 
522941b3855SMatthias Ringwald /**
523941b3855SMatthias Ringwald  * @format H2
524941b3855SMatthias Ringwald  * @param handle
525941b3855SMatthias Ringwald  * @param MTU
526941b3855SMatthias Ringwald  */
527941b3855SMatthias Ringwald #define ATT_MTU_EXCHANGE_COMPLETE                          0xB5
528941b3855SMatthias Ringwald 
529941b3855SMatthias Ringwald // data: event(8), len(8), status (8), hci_handle (16), attribute_handle (16)
530941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_COMPLETE               0xB6
531941b3855SMatthias Ringwald 
532941b3855SMatthias Ringwald 
533941b3855SMatthias Ringwald // data: event(8), len(8), status (8), bnep service uuid (16)
534941b3855SMatthias Ringwald #define BNEP_EVENT_SERVICE_REGISTERED                      0xC0
535941b3855SMatthias Ringwald 
536941b3855SMatthias Ringwald // data: event(8), len(8), status (8), bnep source uuid (16), bnep destination uuid (16), mtu (16), remote_address (48)
537941b3855SMatthias Ringwald #define BNEP_EVENT_OPEN_CHANNEL_COMPLETE                   0xC1
538941b3855SMatthias Ringwald 
539941b3855SMatthias Ringwald // data: event(8), len(8), bnep source uuid (16), bnep destination uuid (16), remote_address (48)
540941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_CLOSED                          0xC2
541941b3855SMatthias Ringwald 
542941b3855SMatthias Ringwald // data: event(8), len(8), bnep source uuid (16), bnep destination uuid (16), remote_address (48), channel state (8)
543941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT                         0xC3
544941b3855SMatthias Ringwald 
545941b3855SMatthias Ringwald // data: event(8), len(8)
546941b3855SMatthias Ringwald #define BNEP_EVENT_READY_TO_SEND                           0xC4
547941b3855SMatthias Ringwald 
548941b3855SMatthias Ringwald  /**
549941b3855SMatthias Ringwald   * @format H1B
550941b3855SMatthias Ringwald   * @param handle
551941b3855SMatthias Ringwald   * @param addr_type
552941b3855SMatthias Ringwald   * @param address
553941b3855SMatthias Ringwald   */
554941b3855SMatthias Ringwald #define SM_JUST_WORKS_REQUEST                              0xD0
555941b3855SMatthias Ringwald 
556941b3855SMatthias Ringwald  /**
557941b3855SMatthias Ringwald   * @format H1B
558941b3855SMatthias Ringwald   * @param handle
559941b3855SMatthias Ringwald   * @param addr_type
560941b3855SMatthias Ringwald   * @param address
561941b3855SMatthias Ringwald   */
562941b3855SMatthias Ringwald #define SM_JUST_WORKS_CANCEL                               0xD1
563941b3855SMatthias Ringwald 
564941b3855SMatthias Ringwald  /**
565941b3855SMatthias Ringwald   * @format H1B4
566941b3855SMatthias Ringwald   * @param handle
567941b3855SMatthias Ringwald   * @param addr_type
568941b3855SMatthias Ringwald   * @param address
569941b3855SMatthias Ringwald   * @param passkey
570941b3855SMatthias Ringwald   */
571941b3855SMatthias Ringwald #define SM_PASSKEY_DISPLAY_NUMBER                          0xD2
572941b3855SMatthias Ringwald 
573941b3855SMatthias Ringwald  /**
574941b3855SMatthias Ringwald   * @format H1B
575941b3855SMatthias Ringwald   * @param handle
576941b3855SMatthias Ringwald   * @param addr_type
577941b3855SMatthias Ringwald   * @param address
578941b3855SMatthias Ringwald   */
579941b3855SMatthias Ringwald #define SM_PASSKEY_DISPLAY_CANCEL                          0xD3
580941b3855SMatthias Ringwald 
581941b3855SMatthias Ringwald  /**
582941b3855SMatthias Ringwald   * @format H1B421
583941b3855SMatthias Ringwald   * @param handle
584941b3855SMatthias Ringwald   * @param addr_type
585941b3855SMatthias Ringwald   * @param address
586941b3855SMatthias Ringwald   */
587941b3855SMatthias Ringwald #define SM_PASSKEY_INPUT_NUMBER                            0xD4
588941b3855SMatthias Ringwald 
589941b3855SMatthias Ringwald  /**
590941b3855SMatthias Ringwald   * @format H1B
591941b3855SMatthias Ringwald   * @param handle
592941b3855SMatthias Ringwald   * @param addr_type
593941b3855SMatthias Ringwald   * @param address
594941b3855SMatthias Ringwald   */
595941b3855SMatthias Ringwald #define SM_PASSKEY_INPUT_CANCEL                            0xD5
596941b3855SMatthias Ringwald 
597941b3855SMatthias Ringwald  /**
598941b3855SMatthias Ringwald   * @format H1B
599941b3855SMatthias Ringwald   * @param handle
600941b3855SMatthias Ringwald   * @param addr_type
601941b3855SMatthias Ringwald   * @param address
602941b3855SMatthias Ringwald   */
603941b3855SMatthias Ringwald #define SM_IDENTITY_RESOLVING_STARTED                      0xD6
604941b3855SMatthias Ringwald 
605941b3855SMatthias Ringwald  /**
606941b3855SMatthias Ringwald   * @format H1B
607941b3855SMatthias Ringwald   * @param handle
608941b3855SMatthias Ringwald   * @param addr_type
609941b3855SMatthias Ringwald   * @param address
610941b3855SMatthias Ringwald   */
611941b3855SMatthias Ringwald #define SM_IDENTITY_RESOLVING_FAILED                       0xD7
612941b3855SMatthias Ringwald 
613941b3855SMatthias Ringwald  /**
614941b3855SMatthias Ringwald   * @format H1B2
615941b3855SMatthias Ringwald   * @param handle
616941b3855SMatthias Ringwald   * @param addr_type
617941b3855SMatthias Ringwald   * @param address
618941b3855SMatthias Ringwald   * @param le_device_db_index
619941b3855SMatthias Ringwald   */
620941b3855SMatthias Ringwald #define SM_IDENTITY_RESOLVING_SUCCEEDED                    0xD8
621941b3855SMatthias Ringwald 
622941b3855SMatthias Ringwald  /**
623941b3855SMatthias Ringwald   * @format H1B
624941b3855SMatthias Ringwald   * @param handle
625941b3855SMatthias Ringwald   * @param addr_type
626941b3855SMatthias Ringwald   * @param address
627941b3855SMatthias Ringwald   */
628941b3855SMatthias Ringwald #define SM_AUTHORIZATION_REQUEST                           0xD9
629941b3855SMatthias Ringwald 
630941b3855SMatthias Ringwald  /**
631941b3855SMatthias Ringwald   * @format H1B1
632941b3855SMatthias Ringwald   * @param handle
633941b3855SMatthias Ringwald   * @param addr_type
634941b3855SMatthias Ringwald   * @param address
635941b3855SMatthias Ringwald   * @param authorization_result
636941b3855SMatthias Ringwald   */
637941b3855SMatthias Ringwald #define SM_AUTHORIZATION_RESULT                            0xDA
638941b3855SMatthias Ringwald 
639941b3855SMatthias Ringwald // GAP
640941b3855SMatthias Ringwald 
641941b3855SMatthias Ringwald // data: event(8), len(8), hci_handle (16), security_level (8)
642941b3855SMatthias Ringwald #define GAP_SECURITY_LEVEL                                 0xE0
643941b3855SMatthias Ringwald 
644941b3855SMatthias Ringwald // data: event(8), len(8), status (8), bd_addr(48)
645941b3855SMatthias Ringwald #define GAP_DEDICATED_BONDING_COMPLETED                    0xE1
646941b3855SMatthias Ringwald 
647941b3855SMatthias Ringwald /**
648941b3855SMatthias Ringwald  * @format 11B1JV
649941b3855SMatthias Ringwald  * @param advertising_event_type
650941b3855SMatthias Ringwald  * @param address_type
651941b3855SMatthias Ringwald  * @param address
652941b3855SMatthias Ringwald  * @param rssi
653941b3855SMatthias Ringwald  * @param data_length
654941b3855SMatthias Ringwald  * @param data
655941b3855SMatthias Ringwald  */
656941b3855SMatthias Ringwald #define GAP_LE_ADVERTISING_REPORT                          0xE2
657941b3855SMatthias Ringwald 
658941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META                                 0xE8
659941b3855SMatthias Ringwald 
660941b3855SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE             0x01
661941b3855SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE          0x02
662941b3855SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED               0x03
663941b3855SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED                  0x04
664941b3855SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND                            0x05
665941b3855SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION                         0x06
666941b3855SMatthias Ringwald #define HSP_SUBEVENT_ERROR                                 0x07
667941b3855SMatthias Ringwald #define HSP_SUBEVENT_RING                                  0x08
668941b3855SMatthias Ringwald 
669941b3855SMatthias Ringwald #define HCI_EVENT_HFP_META                                 0xE9
670941b3855SMatthias Ringwald 
671941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED  0x01
672941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED     0x02
673941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED          0x03
674941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED             0x04
675941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE                              0x05
676941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED           0x06
677941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED              0x07
678941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR          0x08
679941b3855SMatthias Ringwald #define HFP_SUBEVENT_CODECS_CONNECTION_COMPLETE            0x09
680941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_COMPLETE             0x0A
681941b3855SMatthias Ringwald 
682941b3855SMatthias Ringwald // ANCS Client
683941b3855SMatthias Ringwald #define ANCS_CLIENT_CONNECTED                              0xF0
684941b3855SMatthias Ringwald #define ANCS_CLIENT_NOTIFICATION                           0xF1
685941b3855SMatthias Ringwald #define ANCS_CLIENT_DISCONNECTED                           0xF2
686941b3855SMatthias Ringwald 
687941b3855SMatthias Ringwald // #define HCI_EVENT_HFP_META                                 0xxx
688941b3855SMatthias Ringwald // #define HCI_EVENT_GATT_META                                0xxx
689941b3855SMatthias Ringwald // #define HCI_EVENT_SDP_META                                 0xxx
690941b3855SMatthias Ringwald // #define HCI_EVENT_ANCS_META                                0xxx
691941b3855SMatthias Ringwald // #define HCI_EVENT_SM_META                                  0xxx
692941b3855SMatthias Ringwald // #define HCI_EVENT_GAP_META                                 0xxx
693941b3855SMatthias Ringwald // #define HCI_EVENT_BNEP_META                                0xxx
694941b3855SMatthias Ringwald // #define HCI_EVENT_PAN_META                                 0xxx
695941b3855SMatthias Ringwald 
696941b3855SMatthias Ringwald #endif
697