xref: /btstack/src/btstack_defines.h (revision ee6d17f24f1e67ac97a6cad36ed6abaa3481a033)
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 
468974fcd6SMatthias Ringwald #include <stdint.h>
478974fcd6SMatthias Ringwald #include "btstack_linked_list.h"
488974fcd6SMatthias Ringwald 
49f3963406SMatthias Ringwald 
50f3963406SMatthias Ringwald // UNUSED macro
516306068fSMatthias Ringwald #ifndef UNUSED
52f3963406SMatthias Ringwald #define UNUSED(x) (void)(sizeof(x))
536306068fSMatthias Ringwald #endif
54f3963406SMatthias Ringwald 
558974fcd6SMatthias Ringwald // TYPES
568974fcd6SMatthias Ringwald 
578974fcd6SMatthias Ringwald // packet handler
588974fcd6SMatthias Ringwald typedef void (*btstack_packet_handler_t) (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size);
598974fcd6SMatthias Ringwald 
608974fcd6SMatthias Ringwald // packet callback supporting multiple registrations
618974fcd6SMatthias Ringwald typedef struct {
628974fcd6SMatthias Ringwald     btstack_linked_item_t    item;
638974fcd6SMatthias Ringwald     btstack_packet_handler_t callback;
648974fcd6SMatthias Ringwald } btstack_packet_callback_registration_t;
658974fcd6SMatthias Ringwald 
66bb38f057SMatthias Ringwald // context callback supporting multiple registrations
67bb38f057SMatthias Ringwald typedef struct {
68bb38f057SMatthias Ringwald   btstack_linked_item_t * item;
69bb38f057SMatthias Ringwald   void (*callback)(void * context);
70bb38f057SMatthias Ringwald   void * context;
71bb38f057SMatthias Ringwald } btstack_context_callback_registration_t;
72bb38f057SMatthias Ringwald 
73f7a05cdaSMatthias Ringwald /**
748974fcd6SMatthias Ringwald  * @brief 128 bit key used with AES128 in Security Manager
75f7a05cdaSMatthias Ringwald  */
768974fcd6SMatthias Ringwald typedef uint8_t sm_key_t[16];
77f7a05cdaSMatthias Ringwald 
78941b3855SMatthias Ringwald // DEFINES
79941b3855SMatthias Ringwald 
807149bde5SMatthias Ringwald // hci con handles (12 bit): 0x0000..0x0fff
817149bde5SMatthias Ringwald #define HCI_CON_HANDLE_INVALID 0xffff
827149bde5SMatthias Ringwald 
837149bde5SMatthias Ringwald 
84941b3855SMatthias Ringwald #define DAEMON_EVENT_PACKET     0x05
85941b3855SMatthias Ringwald 
86941b3855SMatthias Ringwald // L2CAP data
87941b3855SMatthias Ringwald #define L2CAP_DATA_PACKET       0x06
88941b3855SMatthias Ringwald 
89941b3855SMatthias Ringwald // RFCOMM data
90941b3855SMatthias Ringwald #define RFCOMM_DATA_PACKET      0x07
91941b3855SMatthias Ringwald 
92941b3855SMatthias Ringwald // Attribute protocol data
93941b3855SMatthias Ringwald #define ATT_DATA_PACKET         0x08
94941b3855SMatthias Ringwald 
95941b3855SMatthias Ringwald // Security Manager protocol data
96941b3855SMatthias Ringwald #define SM_DATA_PACKET          0x09
97941b3855SMatthias Ringwald 
98f1b34e8dSMatthias Ringwald // SDP query result - only used by daemon
99941b3855SMatthias Ringwald // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k)
100941b3855SMatthias Ringwald #define SDP_CLIENT_PACKET       0x0a
101941b3855SMatthias Ringwald 
102941b3855SMatthias Ringwald // BNEP data
103941b3855SMatthias Ringwald #define BNEP_DATA_PACKET        0x0b
104941b3855SMatthias Ringwald 
105941b3855SMatthias Ringwald // Unicast Connectionless Data
106941b3855SMatthias Ringwald #define UCD_DATA_PACKET         0x0c
107941b3855SMatthias Ringwald 
108f1b34e8dSMatthias Ringwald // GOEP data
109f1b34e8dSMatthias Ringwald #define GOEP_DATA_PACKET        0x0d
110f1b34e8dSMatthias Ringwald 
111f1b34e8dSMatthias Ringwald // PBAP data
112f1b34e8dSMatthias Ringwald #define PBAP_DATA_PACKET        0x0e
113f1b34e8dSMatthias Ringwald 
114941b3855SMatthias Ringwald // debug log messages
115941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET      0xfc
116941b3855SMatthias Ringwald 
117941b3855SMatthias Ringwald 
118941b3855SMatthias Ringwald // ERRORS
119941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors
120f193890fSMatthias Ringwald 
121f193890fSMatthias Ringwald /* ENUM_START: BTSTACK_ERROR_CODE */
122941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED              0x50
123941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH         0x51
124941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED                  0x52
125941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN                  0x53
126941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED                              0x54
127941b3855SMatthias Ringwald #define BTSTACK_BUSY                                       0x55
128941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED                        0x56
129941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL                           0x57
130941b3855SMatthias Ringwald 
131941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them
132941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60
133941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61
134941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62
135941b3855SMatthias Ringwald 
136941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL        0x63
137941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING           0x64
138941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM       0x65
139941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY  0x66
140941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67
141941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT       0x68
142941b3855SMatthias Ringwald 
143941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED                   0x69
144941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU                  0x6A
1457e8856ebSMatthias Ringwald #define L2CAP_SERVICE_DOES_NOT_EXIST                       0x6B
14694530c77SMatthias Ringwald #define L2CAP_LOCAL_CID_DOES_NOT_EXIST                     0x6C
147941b3855SMatthias Ringwald 
148941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED                         0x70
149941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED                  0x71
150941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS                         0x72
151941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF                          0x73
152941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU                        0x74
153941b3855SMatthias Ringwald 
154941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED                      0x80
155941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE                               0x81
156941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND                              0x82
157941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID                                 0x83
158e5057641SMatthias Ringwald #define SDP_QUERY_BUSY                                     0x84
159941b3855SMatthias Ringwald 
160f193890fSMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PROGRESS            0x90
161941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT                0x91
162941b3855SMatthias Ringwald 
163941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED                          0x93
164941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY                                   0x94
165616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE                         0x95
166616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96
167616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG                         0x97
168616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98
169616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED   0x99
170941b3855SMatthias Ringwald 
171941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED                    0xA0
172941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED                         0xA1
173941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU                          0xA2
174941b3855SMatthias Ringwald 
175f193890fSMatthias Ringwald // OBEX ERRORS
176f193890fSMatthias Ringwald #define OBEX_UNKNOWN_ERROR                                 0xB0
177f193890fSMatthias Ringwald #define OBEX_CONNECT_FAILED                                0xB1
178f193890fSMatthias Ringwald #define OBEX_DISCONNECTED                                  0xB2
179f193890fSMatthias Ringwald #define OBEX_NOT_FOUND                                     0xB3
180f193890fSMatthias Ringwald /* ENUM_END */
181f193890fSMatthias Ringwald 
18262c64df1SMatthias Ringwald // DAEMON COMMANDS
183b3f90e25SMatthias Ringwald 
184b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d
185b3f90e25SMatthias Ringwald 
186b3f90e25SMatthias Ringwald // cmds for BTstack
187b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE
188b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE                                  0x01
189b3f90e25SMatthias Ringwald 
190045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE
191b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE                             0x02
192b3f90e25SMatthias Ringwald 
193045013feSMatthias Ringwald // set capture mode: param on
194b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE                       0x03
195b3f90e25SMatthias Ringwald 
196b3f90e25SMatthias Ringwald // get BTstack version
197b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION                                0x04
198b3f90e25SMatthias Ringwald 
199b3f90e25SMatthias Ringwald // get system Bluetooth state
200b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED               0x05
201b3f90e25SMatthias Ringwald 
202b3f90e25SMatthias Ringwald // set system Bluetooth state
203b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED               0x06
204b3f90e25SMatthias Ringwald 
205b3f90e25SMatthias Ringwald // enable inquiry scan for this client
206b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE                           0x07
207b3f90e25SMatthias Ringwald 
208b3f90e25SMatthias Ringwald // set global Bluetooth state
209b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED                      0x08
210b3f90e25SMatthias Ringwald 
211045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16)
212b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL                               0x20
213b3f90e25SMatthias Ringwald 
214045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8)
215b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT                                   0x21
216b3f90e25SMatthias Ringwald 
217045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16)
218b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE                             0x22
219b3f90e25SMatthias Ringwald 
220045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16)
221b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE                           0x23
222b3f90e25SMatthias Ringwald 
223045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16)
224b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION                            0x24
225b3f90e25SMatthias Ringwald 
226045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8)
227b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION                           0x25
228b3f90e25SMatthias Ringwald 
229045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16)
230b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU                           0x26
231b3f90e25SMatthias Ringwald 
232b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size)
233b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD                        0x30
234b3f90e25SMatthias Ringwald 
235b3f90e25SMatthias Ringwald // unregister SDP Service Record
236b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD                      0x31
237b3f90e25SMatthias Ringwald 
238b3f90e25SMatthias Ringwald // Get remote RFCOMM services
239b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES                   0x32
240b3f90e25SMatthias Ringwald 
241b3f90e25SMatthias Ringwald // Get remote SDP services
242b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES                          0x33
243b3f90e25SMatthias Ringwald 
244b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands
245b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL       0x40
246b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT     0x41
247b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE     0x42
248b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE   0x43
249b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION    0x44
250b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION   0x45
251b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL   0x46
252b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS   0x47
253b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48
254b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS                 0x49
255b3f90e25SMatthias Ringwald 
256b3f90e25SMatthias Ringwald // GAP Classic 0x50
257b3f90e25SMatthias Ringwald #define GAP_DISCONNECT              0x50
258b3f90e25SMatthias Ringwald 
259b3f90e25SMatthias Ringwald // GAP LE      0x60
260b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START           0x60
261b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP            0x61
262b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT              0x62
263b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL       0x63
264b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS  0x64
265b3f90e25SMatthias Ringwald 
266b3f90e25SMatthias Ringwald // GATT (Client) 0x70
267b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES                       0x70
268b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16                 0x71
269b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128                0x72
270b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE                  0x73
271b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE                0x74
272b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128     0x75
273b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS                 0x76
274b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC                        0x77
275b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC                   0x78
276b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE      0x79
277b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC                       0x7A
278b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC                  0x7B
279b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC         0x7C
280b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR                      0X7D
281b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR                 0X7E
282b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR                     0X7F
283b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR                0X80
284b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION           0X81
285b3f90e25SMatthias Ringwald #define GATT_GET_MTU                                             0x82
286b3f90e25SMatthias Ringwald 
28762c64df1SMatthias Ringwald 
288941b3855SMatthias Ringwald // EVENTS
289941b3855SMatthias Ringwald 
290941b3855SMatthias Ringwald /**
291941b3855SMatthias Ringwald  * @format 1
292941b3855SMatthias Ringwald  * @param state
293941b3855SMatthias Ringwald  */
294941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE                                0x60
295941b3855SMatthias Ringwald 
29652aef63fSMatthias Ringwald /**
29752aef63fSMatthias Ringwald  * @format 1
29852aef63fSMatthias Ringwald  * @param number_connections
29952aef63fSMatthias Ringwald  */
300941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED               0x61
301941b3855SMatthias Ringwald 
302941b3855SMatthias Ringwald /**
303941b3855SMatthias Ringwald  * @format
304941b3855SMatthias Ringwald  */
305941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED                       0x62
306941b3855SMatthias Ringwald 
307941b3855SMatthias Ringwald /**
308827b1c43SMatthias Ringwald  * @format 1
309827b1c43SMatthias Ringwald  * @param discoverable
310827b1c43SMatthias Ringwald  */
311827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED                 0x66
312827b1c43SMatthias Ringwald 
313827b1c43SMatthias Ringwald // Daemon Events
314827b1c43SMatthias Ringwald 
315827b1c43SMatthias Ringwald /**
316941b3855SMatthias Ringwald  * @format 112
317941b3855SMatthias Ringwald  * @param major
318941b3855SMatthias Ringwald  * @param minor
319941b3855SMatthias Ringwald  @ @param revision
320941b3855SMatthias Ringwald  */
321827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION                               0x63
322941b3855SMatthias Ringwald 
323941b3855SMatthias Ringwald // data: system bluetooth on/off (bool)
324e2334cdcSMatthias Ringwald /**
325e2334cdcSMatthias Ringwald  * @format 1
326e2334cdcSMatthias Ringwald  * param system_bluetooth_enabled
327e2334cdcSMatthias Ringwald  */
328827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED              0x64
329941b3855SMatthias Ringwald 
330941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes)
331e2334cdcSMatthias Ringwald 
332e2334cdcSMatthias Ringwald /*
333e2334cdcSMatthias Ringwald  * @format 1BT
334e2334cdcSMatthias Ringwald  * @param status == 0 to match read_remote_name_request
335e2334cdcSMatthias Ringwald  * @param address
336e2334cdcSMatthias Ringwald  * @param name
337e2334cdcSMatthias Ringwald  */
338827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED                    0x65
339941b3855SMatthias Ringwald 
34062c64df1SMatthias Ringwald // internal - data: event(8)
341e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED                     0x67
342941b3855SMatthias Ringwald 
34362c64df1SMatthias Ringwald // internal - data: event(8)
344e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED                     0x68
345941b3855SMatthias Ringwald 
34662c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8)
34762c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS                         0x74
34862c64df1SMatthias Ringwald 
34962c64df1SMatthias Ringwald /**
35062c64df1SMatthias Ringwald  * @format 12
35162c64df1SMatthias Ringwald  * @param status
35262c64df1SMatthias Ringwald  * @param psm
35362c64df1SMatthias Ringwald  */
35462c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED              0x75
35562c64df1SMatthias Ringwald 
35662c64df1SMatthias Ringwald /**
35762c64df1SMatthias Ringwald  * @format 21
35862c64df1SMatthias Ringwald  * @param rfcomm_cid
35962c64df1SMatthias Ringwald  * @param credits
36062c64df1SMatthias Ringwald  */
36162c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS                        0x84
36262c64df1SMatthias Ringwald 
36362c64df1SMatthias Ringwald /**
36462c64df1SMatthias Ringwald  * @format 11
36562c64df1SMatthias Ringwald  * @param status
36662c64df1SMatthias Ringwald  * @param channel_id
36762c64df1SMatthias Ringwald  */
368fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED             0x85
369fea5a680SMatthias Ringwald 
37062c64df1SMatthias Ringwald /**
37162c64df1SMatthias Ringwald  * @format 11
37262c64df1SMatthias Ringwald  * @param status
37362c64df1SMatthias Ringwald  * @param server_channel_id
37462c64df1SMatthias Ringwald  */
37562c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL             0x86
37662c64df1SMatthias Ringwald 
37762c64df1SMatthias Ringwald /**
37862c64df1SMatthias Ringwald   * @format 14
37962c64df1SMatthias Ringwald   * @param status
38062c64df1SMatthias Ringwald   * @param service_record_handle
38162c64df1SMatthias Ringwald   */
38262c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED                0x90
38362c64df1SMatthias Ringwald 
38462c64df1SMatthias Ringwald 
385827b1c43SMatthias Ringwald 
3863bc639ceSMatthias Ringwald // additional HCI events
38763fa3374SMatthias Ringwald 
38863fa3374SMatthias Ringwald /**
38962ca45d7SMatthias Ringwald  * @brief Indicates HCI transport enters/exits Sleep mode
39062ca45d7SMatthias Ringwald  * @format 1
39162ca45d7SMatthias Ringwald  * @param active
39262ca45d7SMatthias Ringwald  */
393d16a0392SMatthias Ringwald #define HCI_EVENT_TRANSPORT_SLEEP_MODE                     0x69
39462ca45d7SMatthias Ringwald 
39562ca45d7SMatthias Ringwald /**
39663fa3374SMatthias Ringwald  * @brief Outgoing packet
39763fa3374SMatthias Ringwald  */
39863fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT                    0x6E
39963fa3374SMatthias Ringwald 
4003bc639ceSMatthias Ringwald /**
4013bc639ceSMatthias Ringwald  * @format B
4023bc639ceSMatthias Ringwald  * @param handle
4033bc639ceSMatthias Ringwald  */
4043bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW                         0x6F
4053bc639ceSMatthias Ringwald 
40662c64df1SMatthias Ringwald 
407941b3855SMatthias Ringwald // L2CAP EVENTS
408941b3855SMatthias Ringwald 
409b072ba33SMatthias Ringwald /**
410bab5f4f0SMatthias Ringwald  * @format 1BH2222221
411b072ba33SMatthias Ringwald  * @param status
412b072ba33SMatthias Ringwald  * @param address
413b072ba33SMatthias Ringwald  * @param handle
414b072ba33SMatthias Ringwald  * @param psm
415b072ba33SMatthias Ringwald  * @param local_cid
416b072ba33SMatthias Ringwald  * @param remote_cid
417b072ba33SMatthias Ringwald  * @param local_mtu
418b072ba33SMatthias Ringwald  * @param remote_mtu
419b072ba33SMatthias Ringwald  * @param flush_timeout
420bab5f4f0SMatthias Ringwald  * @param incoming
421b072ba33SMatthias Ringwald  */
422941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED                         0x70
423941b3855SMatthias Ringwald 
424b072ba33SMatthias Ringwald /*
425b072ba33SMatthias Ringwald  * @format 2
426b072ba33SMatthias Ringwald  * @param local_cid
427b072ba33SMatthias Ringwald  */
428941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED                         0x71
429941b3855SMatthias Ringwald 
430b072ba33SMatthias Ringwald /**
4316d4269d3SMilanka Ringwald  * @format BH222
432b072ba33SMatthias Ringwald  * @param address
433b072ba33SMatthias Ringwald  * @param handle
434b072ba33SMatthias Ringwald  * @param psm
435b072ba33SMatthias Ringwald  * @param local_cid
436b072ba33SMatthias Ringwald  * @param remote_cid
437b072ba33SMatthias Ringwald  */
438941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION                    0x72
439941b3855SMatthias Ringwald 
440b072ba33SMatthias Ringwald // ??
441941b3855SMatthias Ringwald // data: event(8), len(8), handle(16)
442941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK                          0x73
443941b3855SMatthias Ringwald 
444b072ba33SMatthias Ringwald /**
445b072ba33SMatthias Ringwald  * @format H2222
446b072ba33SMatthias Ringwald  * @param handle
447b072ba33SMatthias Ringwald  * @param interval_min
448b072ba33SMatthias Ringwald  * @param interval_max
449b072ba33SMatthias Ringwald  * @param latencey
450b072ba33SMatthias Ringwald  * @param timeout_multiplier
451b072ba33SMatthias Ringwald  */
452941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST    0x76
453941b3855SMatthias Ringwald 
454941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail)
455b072ba33SMatthias Ringwald  /**
456b072ba33SMatthias Ringwald   * @format H2
457b072ba33SMatthias Ringwald   * @param handle
4582c737695SMatthias Ringwald   * @param result
459b072ba33SMatthias Ringwald   */
460941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE   0x77
461941b3855SMatthias Ringwald 
462b072ba33SMatthias Ringwald /**
463b072ba33SMatthias Ringwald  * @format 2
464b072ba33SMatthias Ringwald  * @param local_cid
465b072ba33SMatthias Ringwald  */
466b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW                           0x78
467b072ba33SMatthias Ringwald 
46844276248SMatthias Ringwald // LE Data Channels
46944276248SMatthias Ringwald 
47044276248SMatthias Ringwald /**
47144276248SMatthias Ringwald  * @format 1BH2222
47244276248SMatthias Ringwald  * @param address_type
47344276248SMatthias Ringwald  * @param address
47444276248SMatthias Ringwald  * @param handle
47544276248SMatthias Ringwald  * @param psm
47644276248SMatthias Ringwald  * @param local_cid
47744276248SMatthias Ringwald  * @param remote_cid
47844276248SMatthias Ringwald  * @param remote_mtu
47944276248SMatthias Ringwald  */
48044276248SMatthias Ringwald #define L2CAP_EVENT_LE_INCOMING_CONNECTION                 0x79
48144276248SMatthias Ringwald 
48244276248SMatthias Ringwald /**
48312242deaSMatthias Ringwald  * @format 11BH122222
48444276248SMatthias Ringwald  * @param status
48544276248SMatthias Ringwald  * @param address_type
48644276248SMatthias Ringwald  * @param address
48744276248SMatthias Ringwald  * @param handle
48812242deaSMatthias Ringwald  * @param incoming
48944276248SMatthias Ringwald  * @param psm
49044276248SMatthias Ringwald  * @param local_cid
49144276248SMatthias Ringwald  * @param remote_cid
49244276248SMatthias Ringwald  * @param local_mtu
49344276248SMatthias Ringwald  * @param remote_mtu
49444276248SMatthias Ringwald  */
49544276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_OPENED                      0x7a
49644276248SMatthias Ringwald 
49744276248SMatthias Ringwald /*
49844276248SMatthias Ringwald  * @format 2
49944276248SMatthias Ringwald  * @param local_cid
50044276248SMatthias Ringwald  */
50144276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_CLOSED                      0x7b
50244276248SMatthias Ringwald 
50344276248SMatthias Ringwald /*
50444276248SMatthias Ringwald  * @format 2
50544276248SMatthias Ringwald  * @param local_cid
50644276248SMatthias Ringwald  */
50744276248SMatthias Ringwald #define L2CAP_EVENT_LE_CAN_SEND_NOW                        0x7c
50844276248SMatthias Ringwald 
50944276248SMatthias Ringwald /*
51044276248SMatthias Ringwald  * @format 2
51144276248SMatthias Ringwald  * @param local_cid
51244276248SMatthias Ringwald  */
51344276248SMatthias Ringwald #define L2CAP_EVENT_LE_PACKET_SENT                         0x7d
51444276248SMatthias Ringwald 
51544276248SMatthias Ringwald 
516941b3855SMatthias Ringwald // RFCOMM EVENTS
517b072ba33SMatthias Ringwald 
518941b3855SMatthias Ringwald /**
519bab5f4f0SMatthias Ringwald  * @format 1B21221
520941b3855SMatthias Ringwald  * @param status
521941b3855SMatthias Ringwald  * @param bd_addr
522941b3855SMatthias Ringwald  * @param con_handle
523941b3855SMatthias Ringwald  * @param server_channel
524941b3855SMatthias Ringwald  * @param rfcomm_cid
525941b3855SMatthias Ringwald  * @param max_frame_size
526bab5f4f0SMatthias Ringwald  * @param incoming
527941b3855SMatthias Ringwald  */
528f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED                        0x80
529941b3855SMatthias Ringwald 
530941b3855SMatthias Ringwald /**
531941b3855SMatthias Ringwald  * @format 2
532941b3855SMatthias Ringwald  * @param rfcomm_cid
533941b3855SMatthias Ringwald  */
534941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED                        0x81
535941b3855SMatthias Ringwald 
536941b3855SMatthias Ringwald /**
537941b3855SMatthias Ringwald  * @format B12
538941b3855SMatthias Ringwald  * @param bd_addr
539941b3855SMatthias Ringwald  * @param server_channel
540941b3855SMatthias Ringwald  * @param rfcomm_cid
541941b3855SMatthias Ringwald  */
542941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION                   0x82
543941b3855SMatthias Ringwald 
544941b3855SMatthias Ringwald /**
545941b3855SMatthias Ringwald  * @format 21
546941b3855SMatthias Ringwald  * @param rfcomm_cid
547941b3855SMatthias Ringwald  * @param line_status
548941b3855SMatthias Ringwald  */
549941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS                    0x83
550941b3855SMatthias Ringwald 
551941b3855SMatthias Ringwald /**
552941b3855SMatthias Ringwald  * @format 21
553941b3855SMatthias Ringwald  * @param rfcomm_cid
554941b3855SMatthias Ringwald  * @param modem_status
555941b3855SMatthias Ringwald  */
556941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS                   0x87
557941b3855SMatthias Ringwald 
558941b3855SMatthias Ringwald  /**
5597bd8e93bSMatthias Ringwald   * TODO: format for variable data 2?
560045013feSMatthias Ringwald   * param rfcomm_cid
561045013feSMatthias Ringwald   * param rpn_data
562941b3855SMatthias Ringwald   */
563941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION                    0x88
564941b3855SMatthias Ringwald 
565941b3855SMatthias Ringwald /**
566b072ba33SMatthias Ringwald  * @format 2
56762c468cbSMatthias Ringwald  * @param rfcomm_cid
568b072ba33SMatthias Ringwald  */
569b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW                          0x89
570b072ba33SMatthias Ringwald 
571b072ba33SMatthias Ringwald 
572b072ba33SMatthias Ringwald /**
573941b3855SMatthias Ringwald  * @format 1
574941b3855SMatthias Ringwald  * @param status
575941b3855SMatthias Ringwald  */
5765611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE                                 0x91
577941b3855SMatthias Ringwald 
578941b3855SMatthias Ringwald /**
579941b3855SMatthias Ringwald  * @format 1T
580941b3855SMatthias Ringwald  * @param rfcomm_channel
581941b3855SMatthias Ringwald  * @param name
582941b3855SMatthias Ringwald  */
5835611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE                           0x92
584941b3855SMatthias Ringwald 
585941b3855SMatthias Ringwald /**
5864225393cSMatthias Ringwald  * @format 22221
5874225393cSMatthias Ringwald  * @param record_id
588941b3855SMatthias Ringwald  * @param attribute_id
5894225393cSMatthias Ringwald  * @param attribute_length
5904225393cSMatthias Ringwald  * @param data_offset
5914225393cSMatthias Ringwald  * @param data
592941b3855SMatthias Ringwald  */
5935611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE                           0x93
594941b3855SMatthias Ringwald 
5954de250b4SMatthias Ringwald /**
5964de250b4SMatthias Ringwald  * @format 22LV
5974de250b4SMatthias Ringwald  * @param record_id
5984de250b4SMatthias Ringwald  * @param attribute_id
5994de250b4SMatthias Ringwald  * @param attribute_length
6004de250b4SMatthias Ringwald  * @param attribute_value
6014de250b4SMatthias Ringwald  */
6025611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE                          0x94
6034225393cSMatthias Ringwald 
6044225393cSMatthias Ringwald /**
6054225393cSMatthias Ringwald  * @format 224
6064225393cSMatthias Ringwald  * @param total_count
6074225393cSMatthias Ringwald  * @param record_index
6084225393cSMatthias Ringwald  * @param record_handle
6094225393cSMatthias Ringwald  * @note Not provided by daemon, only used for internal testing
6104225393cSMatthias Ringwald  */
6115611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE                    0x95
612941b3855SMatthias Ringwald 
613941b3855SMatthias Ringwald /**
614941b3855SMatthias Ringwald  * @format H1
615941b3855SMatthias Ringwald  * @param handle
616941b3855SMatthias Ringwald  * @param status
617941b3855SMatthias Ringwald  */
6185611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE                                0xA0
619941b3855SMatthias Ringwald 
620941b3855SMatthias Ringwald /**
621941b3855SMatthias Ringwald  * @format HX
622941b3855SMatthias Ringwald  * @param handle
623941b3855SMatthias Ringwald  * @param service
624941b3855SMatthias Ringwald  */
6255611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT                          0xA1
626941b3855SMatthias Ringwald 
627941b3855SMatthias Ringwald /**
628941b3855SMatthias Ringwald  * @format HY
629941b3855SMatthias Ringwald  * @param handle
630941b3855SMatthias Ringwald  * @param characteristic
631941b3855SMatthias Ringwald  */
6325611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT                   0xA2
633941b3855SMatthias Ringwald 
634941b3855SMatthias Ringwald /**
635941b3855SMatthias Ringwald  * @format H2X
636941b3855SMatthias Ringwald  * @param handle
637941b3855SMatthias Ringwald  * @param include_handle
638941b3855SMatthias Ringwald  * @param service
639941b3855SMatthias Ringwald  */
6405611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT                 0xA3
641941b3855SMatthias Ringwald 
642941b3855SMatthias Ringwald /**
643941b3855SMatthias Ringwald  * @format HZ
644941b3855SMatthias Ringwald  * @param handle
645941b3855SMatthias Ringwald  * @param characteristic_descriptor
646941b3855SMatthias Ringwald  */
6475611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT   0xA4
648941b3855SMatthias Ringwald 
649941b3855SMatthias Ringwald /**
650941b3855SMatthias Ringwald  * @format H2LV
651941b3855SMatthias Ringwald  * @param handle
652941b3855SMatthias Ringwald  * @param value_handle
653941b3855SMatthias Ringwald  * @param value_length
654941b3855SMatthias Ringwald  * @param value
655941b3855SMatthias Ringwald  */
6565611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT             0xA5
657941b3855SMatthias Ringwald 
658941b3855SMatthias Ringwald /**
659941b3855SMatthias Ringwald  * @format H22LV
660941b3855SMatthias Ringwald  * @param handle
661941b3855SMatthias Ringwald  * @param value_handle
662941b3855SMatthias Ringwald  * @param value_offset
663941b3855SMatthias Ringwald  * @param value_length
664941b3855SMatthias Ringwald  * @param value
665941b3855SMatthias Ringwald  */
6665611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT        0xA6
667941b3855SMatthias Ringwald 
668941b3855SMatthias Ringwald /**
669941b3855SMatthias Ringwald  * @format H2LV
670941b3855SMatthias Ringwald  * @param handle
671941b3855SMatthias Ringwald  * @param value_handle
672941b3855SMatthias Ringwald  * @param value_length
673941b3855SMatthias Ringwald  * @param value
674941b3855SMatthias Ringwald  */
6755611a760SMatthias Ringwald #define GATT_EVENT_NOTIFICATION                                  0xA7
676941b3855SMatthias Ringwald 
677941b3855SMatthias Ringwald /**
678941b3855SMatthias Ringwald  * @format H2LV
679941b3855SMatthias Ringwald  * @param handle
680941b3855SMatthias Ringwald  * @param value_handle
681941b3855SMatthias Ringwald  * @param value_length
682941b3855SMatthias Ringwald  * @param value
683941b3855SMatthias Ringwald  */
6845611a760SMatthias Ringwald #define GATT_EVENT_INDICATION                                    0xA8
685941b3855SMatthias Ringwald 
686941b3855SMatthias Ringwald /**
687941b3855SMatthias Ringwald  * @format H2LV
6882c737695SMatthias Ringwald  * @param handle
689941b3855SMatthias Ringwald  * @param descriptor_handle
690941b3855SMatthias Ringwald  * @param descriptor_length
691941b3855SMatthias Ringwald  * @param descriptor
692941b3855SMatthias Ringwald  */
6935611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT        0xA9
694941b3855SMatthias Ringwald 
695941b3855SMatthias Ringwald /**
696941b3855SMatthias Ringwald  * @format H2LV
697941b3855SMatthias Ringwald  * @param handle
698941b3855SMatthias Ringwald  * @param descriptor_offset
699941b3855SMatthias Ringwald  * @param descriptor_length
700941b3855SMatthias Ringwald  * @param descriptor
701941b3855SMatthias Ringwald  */
7025611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT   0xAA
703941b3855SMatthias Ringwald 
704941b3855SMatthias Ringwald /**
705941b3855SMatthias Ringwald  * @format H2
706941b3855SMatthias Ringwald  * @param handle
707941b3855SMatthias Ringwald  * @param MTU
708941b3855SMatthias Ringwald  */
7095611a760SMatthias Ringwald #define GATT_EVENT_MTU                                           0xAB
710941b3855SMatthias Ringwald 
711941b3855SMatthias Ringwald /**
712941b3855SMatthias Ringwald  * @format H2
713941b3855SMatthias Ringwald  * @param handle
714941b3855SMatthias Ringwald  * @param MTU
715941b3855SMatthias Ringwald  */
7165611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE                          0xB5
717941b3855SMatthias Ringwald 
71849d18261SMatthias Ringwald  /**
71949d18261SMatthias Ringwald   * @format 1H2
72049d18261SMatthias Ringwald   * @param status
72149d18261SMatthias Ringwald   * @param conn_handle
72249d18261SMatthias Ringwald   * @param attribute_handle
72349d18261SMatthias Ringwald   */
7245611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE               0xB6
725941b3855SMatthias Ringwald 
72649d18261SMatthias Ringwald /**
72749d18261SMatthias Ringwald  * @format
72849d18261SMatthias Ringwald  */
72949d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW                                   0xB7
730941b3855SMatthias Ringwald 
73149d18261SMatthias Ringwald // TODO: daemon only event
73249d18261SMatthias Ringwald 
73349d18261SMatthias Ringwald /**
73449d18261SMatthias Ringwald  * @format 12
73549d18261SMatthias Ringwald  * @param status
73649d18261SMatthias Ringwald  * @param service_uuid
73749d18261SMatthias Ringwald  */
738941b3855SMatthias Ringwald  #define BNEP_EVENT_SERVICE_REGISTERED                      0xC0
739941b3855SMatthias Ringwald 
74049d18261SMatthias Ringwald /**
741423c667cSMatthias Ringwald  * @format 12222B
74249d18261SMatthias Ringwald  * @param status
743423c667cSMatthias Ringwald  * @param bnep_cid
74449d18261SMatthias Ringwald  * @param source_uuid
74549d18261SMatthias Ringwald  * @param destination_uuid
74649d18261SMatthias Ringwald  * @param mtu
74749d18261SMatthias Ringwald  * @param remote_address
74849d18261SMatthias Ringwald  */
749423c667cSMatthias Ringwald  #define BNEP_EVENT_CHANNEL_OPENED                   0xC1
750941b3855SMatthias Ringwald 
75149d18261SMatthias Ringwald /**
752423c667cSMatthias Ringwald  * @format 222B
753423c667cSMatthias Ringwald  * @param bnep_cid
75449d18261SMatthias Ringwald  * @param source_uuid
75549d18261SMatthias Ringwald  * @param destination_uuid
75649d18261SMatthias Ringwald  * @param remote_address
75749d18261SMatthias Ringwald  */
758941b3855SMatthias Ringwald  #define BNEP_EVENT_CHANNEL_CLOSED                          0xC2
759941b3855SMatthias Ringwald 
76049d18261SMatthias Ringwald /**
761423c667cSMatthias Ringwald  * @format 222B1
762423c667cSMatthias Ringwald  * @param bnep_cid
76349d18261SMatthias Ringwald  * @param source_uuid
76449d18261SMatthias Ringwald  * @param destination_uuid
76549d18261SMatthias Ringwald  * @param remote_address
76649d18261SMatthias Ringwald  * @param channel_state
76749d18261SMatthias Ringwald  */
768941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT                         0xC3
769941b3855SMatthias Ringwald 
77049d18261SMatthias Ringwald /**
771423c667cSMatthias Ringwald  * @format 222B
772423c667cSMatthias Ringwald  * @param bnep_cid
77349d18261SMatthias Ringwald  * @param source_uuid
77449d18261SMatthias Ringwald  * @param destination_uuid
77549d18261SMatthias Ringwald  * @param remote_address
77649d18261SMatthias Ringwald  */
7772d4c8c04SMatthias Ringwald  #define BNEP_EVENT_CAN_SEND_NOW                           0xC4
778941b3855SMatthias Ringwald 
779941b3855SMatthias Ringwald  /**
780941b3855SMatthias Ringwald   * @format H1B
781941b3855SMatthias Ringwald   * @param handle
782941b3855SMatthias Ringwald   * @param addr_type
783941b3855SMatthias Ringwald   * @param address
784941b3855SMatthias Ringwald   */
7855611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST                              0xD0
786941b3855SMatthias Ringwald 
787941b3855SMatthias Ringwald  /**
788941b3855SMatthias Ringwald   * @format H1B
789941b3855SMatthias Ringwald   * @param handle
790941b3855SMatthias Ringwald   * @param addr_type
791941b3855SMatthias Ringwald   * @param address
792941b3855SMatthias Ringwald   */
7935611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL                               0xD1
794941b3855SMatthias Ringwald 
795941b3855SMatthias Ringwald  /**
796941b3855SMatthias Ringwald   * @format H1B4
797941b3855SMatthias Ringwald   * @param handle
798941b3855SMatthias Ringwald   * @param addr_type
799941b3855SMatthias Ringwald   * @param address
800941b3855SMatthias Ringwald   * @param passkey
801941b3855SMatthias Ringwald   */
8025611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER                          0xD2
803941b3855SMatthias Ringwald 
804941b3855SMatthias Ringwald  /**
805941b3855SMatthias Ringwald   * @format H1B
806941b3855SMatthias Ringwald   * @param handle
807941b3855SMatthias Ringwald   * @param addr_type
808941b3855SMatthias Ringwald   * @param address
809941b3855SMatthias Ringwald   */
8105611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL                          0xD3
811941b3855SMatthias Ringwald 
812941b3855SMatthias Ringwald  /**
8132c737695SMatthias Ringwald   * @format H1B
814941b3855SMatthias Ringwald   * @param handle
815941b3855SMatthias Ringwald   * @param addr_type
816941b3855SMatthias Ringwald   * @param address
817941b3855SMatthias Ringwald   */
8185611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER                            0xD4
819941b3855SMatthias Ringwald 
820941b3855SMatthias Ringwald  /**
821941b3855SMatthias Ringwald   * @format H1B
822941b3855SMatthias Ringwald   * @param handle
823941b3855SMatthias Ringwald   * @param addr_type
824941b3855SMatthias Ringwald   * @param address
825941b3855SMatthias Ringwald   */
8265611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL                            0xD5
827941b3855SMatthias Ringwald 
828941b3855SMatthias Ringwald  /**
8298362d86aSMatthias Ringwald   * @format H1B4
8308362d86aSMatthias Ringwald   * @param handle
8318362d86aSMatthias Ringwald   * @param addr_type
8328362d86aSMatthias Ringwald   * @param address
8338362d86aSMatthias Ringwald   * @param passkey
8348362d86aSMatthias Ringwald   */
8358362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST                      0xD6
8368362d86aSMatthias Ringwald 
8378362d86aSMatthias Ringwald  /**
8382c737695SMatthias Ringwald   * @format H1B
839941b3855SMatthias Ringwald   * @param handle
840941b3855SMatthias Ringwald   * @param addr_type
841941b3855SMatthias Ringwald   * @param address
842941b3855SMatthias Ringwald   */
8438362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL                       0xD7
844941b3855SMatthias Ringwald 
845941b3855SMatthias Ringwald  /**
846941b3855SMatthias Ringwald   * @format H1B
847941b3855SMatthias Ringwald   * @param handle
848941b3855SMatthias Ringwald   * @param addr_type
849941b3855SMatthias Ringwald   * @param address
850941b3855SMatthias Ringwald   */
8518362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED                      0xD8
8528362d86aSMatthias Ringwald 
8538362d86aSMatthias Ringwald  /**
8548362d86aSMatthias Ringwald   * @format H1B
8558362d86aSMatthias Ringwald   * @param handle
8568362d86aSMatthias Ringwald   * @param addr_type
8578362d86aSMatthias Ringwald   * @param address
8588362d86aSMatthias Ringwald   */
8598362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED                       0xD9
860941b3855SMatthias Ringwald 
861941b3855SMatthias Ringwald  /**
86284182ed9SMatthias Ringwald   * @brief Identify resolving succeeded
86384182ed9SMatthias Ringwald   *
864334126b3SMatthias Ringwald   * @format H1B1B2
865941b3855SMatthias Ringwald   * @param handle
866941b3855SMatthias Ringwald   * @param addr_type
867941b3855SMatthias Ringwald   * @param address
86884182ed9SMatthias Ringwald   * @param identity_addr_type
86984182ed9SMatthias Ringwald   * @param identity_address
870334126b3SMatthias Ringwald   * @param index_internal
87184182ed9SMatthias Ringwald   *
872941b3855SMatthias Ringwald   */
8738362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED                    0xDA
874941b3855SMatthias Ringwald 
875941b3855SMatthias Ringwald  /**
876941b3855SMatthias Ringwald   * @format H1B
877941b3855SMatthias Ringwald   * @param handle
878941b3855SMatthias Ringwald   * @param addr_type
879941b3855SMatthias Ringwald   * @param address
880941b3855SMatthias Ringwald   */
8818362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST                           0xDB
882941b3855SMatthias Ringwald 
883941b3855SMatthias Ringwald  /**
884941b3855SMatthias Ringwald   * @format H1B1
885941b3855SMatthias Ringwald   * @param handle
886941b3855SMatthias Ringwald   * @param addr_type
887941b3855SMatthias Ringwald   * @param address
888941b3855SMatthias Ringwald   * @param authorization_result
889941b3855SMatthias Ringwald   */
8908362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT                            0xDC
891941b3855SMatthias Ringwald 
8923d7fe1e9SMatthias Ringwald  /**
8933d7fe1e9SMatthias Ringwald   * @format H1
8943d7fe1e9SMatthias Ringwald   * @param handle
8953d7fe1e9SMatthias Ringwald   * @param action see SM_KEYPRESS_*
8963d7fe1e9SMatthias Ringwald   */
8973d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION                           0xDD
8983d7fe1e9SMatthias Ringwald 
89984182ed9SMatthias Ringwald  /**
90084182ed9SMatthias Ringwald   * @brief Emitted during pairing to inform app about address used as identity
90184182ed9SMatthias Ringwald   *
90284182ed9SMatthias Ringwald   * @format H1B1B
90384182ed9SMatthias Ringwald   * @param handle
90484182ed9SMatthias Ringwald   * @param addr_type
90584182ed9SMatthias Ringwald   * @param address
90684182ed9SMatthias Ringwald   * @param identity_addr_type
90784182ed9SMatthias Ringwald   * @param identity_address
90884182ed9SMatthias Ringwald   */
90984182ed9SMatthias Ringwald #define SM_EVENT_IDENTITY_CREATED                                0xDE
9103d7fe1e9SMatthias Ringwald 
911941b3855SMatthias Ringwald // GAP
912941b3855SMatthias Ringwald 
91346bc5396SMilanka Ringwald /**
91446bc5396SMilanka Ringwald  * @format H1
91546bc5396SMilanka Ringwald  * @param handle
91646bc5396SMilanka Ringwald  * @param security_level
91746bc5396SMilanka Ringwald  */
9185611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL                                 0xE0
919941b3855SMatthias Ringwald 
92046bc5396SMilanka Ringwald /**
92146bc5396SMilanka Ringwald  * @format 1B
92246bc5396SMilanka Ringwald  * @param status
92346bc5396SMilanka Ringwald  * @param address
92446bc5396SMilanka Ringwald  */
9255611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED                    0xE1
926941b3855SMatthias Ringwald 
927941b3855SMatthias Ringwald /**
928941b3855SMatthias Ringwald  * @format 11B1JV
929941b3855SMatthias Ringwald  * @param advertising_event_type
930941b3855SMatthias Ringwald  * @param address_type
931941b3855SMatthias Ringwald  * @param address
932941b3855SMatthias Ringwald  * @param rssi
933941b3855SMatthias Ringwald  * @param data_length
934941b3855SMatthias Ringwald  * @param data
935941b3855SMatthias Ringwald  */
936045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT                          0xE2
937941b3855SMatthias Ringwald 
9381cfb383eSMatthias Ringwald  /**
9391cfb383eSMatthias Ringwald  * @format B132111JV
9401cfb383eSMatthias Ringwald  * @param bd_addr
9411cfb383eSMatthias Ringwald  * @param page_scan_repetition_mode
9421cfb383eSMatthias Ringwald  * @param class_of_device
9431cfb383eSMatthias Ringwald  * @param clock_offset
944d79faacdSMatthias Ringwald  * @param rssi_available
9451cfb383eSMatthias Ringwald  * @param rssi
9461cfb383eSMatthias Ringwald  * @param name_available
9471cfb383eSMatthias Ringwald  * @param name_len
9481cfb383eSMatthias Ringwald  * @param name
9491cfb383eSMatthias Ringwald  */
9501cfb383eSMatthias Ringwald #define GAP_EVENT_INQUIRY_RESULT                              0xE3
9511cfb383eSMatthias Ringwald 
9521cfb383eSMatthias Ringwald /**
9531cfb383eSMatthias Ringwald  * @format 1
9541cfb383eSMatthias Ringwald  * @param status
9551cfb383eSMatthias Ringwald  */
9561cfb383eSMatthias Ringwald #define GAP_EVENT_INQUIRY_COMPLETE                            0xE4
9571cfb383eSMatthias Ringwald 
958827b1c43SMatthias Ringwald 
959e10ce426SMatthias Ringwald // Meta Events, see below for sub events
960941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META                                 0xE8
96139d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META                                 0xE9
962e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META                                0xEA
963beaf082cSMatthias Ringwald #define HCI_EVENT_AVDTP_META                               0xEB
964decc740cSMilanka Ringwald #define HCI_EVENT_AVRCP_META                               0xEC
965f1b34e8dSMatthias Ringwald #define HCI_EVENT_GOEP_META                                0xED
966f1b34e8dSMatthias Ringwald #define HCI_EVENT_PBAP_META                                0xEE
967dd148ddbSMatthias Ringwald #define HCI_EVENT_HID_META                                 0xEF
9683e3fbf3dSMilanka Ringwald #define HCI_EVENT_A2DP_META                                0xF0
96939d235cbSMatthias Ringwald 
970e10ce426SMatthias Ringwald // Potential other meta groups
971e10ce426SMatthias Ringwald // #define HCI_EVENT_BNEP_META                                0xxx
972e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META                                 0xxx
973e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META                                0xxx
974e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META                                 0xxx
975e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META                                 0xxx
976e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META                                  0xxx
97739d235cbSMatthias Ringwald 
978d63c37a1SMatthias Ringwald 
979d63c37a1SMatthias Ringwald /** HSP Subevent */
980d63c37a1SMatthias Ringwald 
981827b1c43SMatthias Ringwald /**
98299a10067SMatthias Ringwald  * @format 11
983827b1c43SMatthias Ringwald  * @param subevent_code
984827b1c43SMatthias Ringwald  * @param status 0 == OK
985827b1c43SMatthias Ringwald  */
98699a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE             0x01
98799a10067SMatthias Ringwald 
98899a10067SMatthias Ringwald /**
98999a10067SMatthias Ringwald  * @format 11
99099a10067SMatthias Ringwald  * @param subevent_code
99199a10067SMatthias Ringwald  * @param status 0 == OK
99299a10067SMatthias Ringwald  */
99399a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE           0x02
99499a10067SMatthias Ringwald 
99599a10067SMatthias Ringwald 
99699a10067SMatthias Ringwald /**
99762c468cbSMatthias Ringwald  * @format 11H
99899a10067SMatthias Ringwald  * @param subevent_code
99999a10067SMatthias Ringwald  * @param status 0 == OK
100062c468cbSMatthias Ringwald  * @param handle
100199a10067SMatthias Ringwald  */
100299a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE             0x03
1003827b1c43SMatthias Ringwald 
1004827b1c43SMatthias Ringwald /**
1005827b1c43SMatthias Ringwald  * @format 11
1006827b1c43SMatthias Ringwald  * @param subevent_code
1007827b1c43SMatthias Ringwald  * @param status 0 == OK
1008827b1c43SMatthias Ringwald  */
100999a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE          0x04
1010827b1c43SMatthias Ringwald 
1011827b1c43SMatthias Ringwald /**
1012827b1c43SMatthias Ringwald  * @format 1
1013827b1c43SMatthias Ringwald  * @param subevent_code
1014827b1c43SMatthias Ringwald  */
101599a10067SMatthias Ringwald #define HSP_SUBEVENT_RING                                  0x05
1016827b1c43SMatthias Ringwald 
1017827b1c43SMatthias Ringwald /**
1018827b1c43SMatthias Ringwald  * @format 11
1019827b1c43SMatthias Ringwald  * @param subevent_code
1020827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
1021827b1c43SMatthias Ringwald  */
102299a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED               0x06
1023827b1c43SMatthias Ringwald 
1024827b1c43SMatthias Ringwald /**
1025827b1c43SMatthias Ringwald  * @format 11
1026827b1c43SMatthias Ringwald  * @param subevent_code
1027827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
1028827b1c43SMatthias Ringwald  */
102999a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED                  0x07
1030827b1c43SMatthias Ringwald 
1031827b1c43SMatthias Ringwald /**
1032827b1c43SMatthias Ringwald  * @format 1JV
1033827b1c43SMatthias Ringwald  * @param subevent_code
1034827b1c43SMatthias Ringwald  * @param value_length
1035827b1c43SMatthias Ringwald  * @param value
1036827b1c43SMatthias Ringwald  */
103799a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND                            0x08
1038827b1c43SMatthias Ringwald 
1039827b1c43SMatthias Ringwald /**
1040827b1c43SMatthias Ringwald  * @format 1JV
1041827b1c43SMatthias Ringwald  * @param subevent_code
1042827b1c43SMatthias Ringwald  * @param value_length
1043827b1c43SMatthias Ringwald  * @param value
1044827b1c43SMatthias Ringwald  */
104599a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION                         0x09
1046827b1c43SMatthias Ringwald 
1047941b3855SMatthias Ringwald 
1048d63c37a1SMatthias Ringwald /** HFP Subevent */
1049941b3855SMatthias Ringwald 
1050d63c37a1SMatthias Ringwald /**
1051a23045e2SMilanka Ringwald  * @format 11HB
1052d63c37a1SMatthias Ringwald  * @param subevent_code
1053d63c37a1SMatthias Ringwald  * @param status 0 == OK
1054a0653c3bSMilanka Ringwald  * @param con_handle
10556a7f44bdSMilanka Ringwald  * @param bd_addr
1056d63c37a1SMatthias Ringwald  */
1057941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED  0x01
1058d63c37a1SMatthias Ringwald 
1059d63c37a1SMatthias Ringwald /**
1060d63c37a1SMatthias Ringwald  * @format 1
1061d63c37a1SMatthias Ringwald  * @param subevent_code
1062d63c37a1SMatthias Ringwald  */
1063941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED     0x02
1064d63c37a1SMatthias Ringwald 
1065d63c37a1SMatthias Ringwald /**
1066a23045e2SMilanka Ringwald  * @format 11HB1
1067d63c37a1SMatthias Ringwald  * @param subevent_code
1068d63c37a1SMatthias Ringwald  * @param status 0 == OK
10696ff51cfdSMatthias Ringwald  * @param handle
10706a7f44bdSMilanka Ringwald  * @param bd_addr
1071d0c4aea6SMilanka Ringwald  * @param negotiated_codec
1072d63c37a1SMatthias Ringwald  */
1073941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED          0x03
1074d63c37a1SMatthias Ringwald 
1075d63c37a1SMatthias Ringwald /**
1076d63c37a1SMatthias Ringwald  * @format 1
1077d63c37a1SMatthias Ringwald  * @param subevent_code
1078d63c37a1SMatthias Ringwald  */
1079941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED             0x04
1080d63c37a1SMatthias Ringwald 
1081d63c37a1SMatthias Ringwald /**
1082d63c37a1SMatthias Ringwald  * @format 11
1083d63c37a1SMatthias Ringwald  * @param subevent_code
1084d63c37a1SMatthias Ringwald  * @param status 0 == OK
1085d63c37a1SMatthias Ringwald  */
1086941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE                              0x05
1087d63c37a1SMatthias Ringwald 
1088d63c37a1SMatthias Ringwald /**
1089d63c37a1SMatthias Ringwald  * @format 111T
1090d63c37a1SMatthias Ringwald  * @param subevent_code
1091d63c37a1SMatthias Ringwald  * @param indicator_index
1092d63c37a1SMatthias Ringwald  * @param indicator_status
1093d63c37a1SMatthias Ringwald  * @param indicator_name
1094d63c37a1SMatthias Ringwald  */
1095941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED           0x06
1096d63c37a1SMatthias Ringwald 
1097d63c37a1SMatthias Ringwald /**
10982c737695SMatthias Ringwald  * @format 111T
1099d63c37a1SMatthias Ringwald  * @param subevent_code
1100d63c37a1SMatthias Ringwald  * @param network_operator_mode
1101d63c37a1SMatthias Ringwald  * @param network_operator_format
1102d63c37a1SMatthias Ringwald  * @param network_operator_name
1103d63c37a1SMatthias Ringwald  */
1104941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED              0x07
1105d63c37a1SMatthias Ringwald 
1106d63c37a1SMatthias Ringwald /**
1107d63c37a1SMatthias Ringwald  * @format 11
1108d63c37a1SMatthias Ringwald  * @param subevent_code
1109d63c37a1SMatthias Ringwald  * @param error
1110d63c37a1SMatthias Ringwald  */
1111941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR             0x08
1112d63c37a1SMatthias Ringwald 
1113d63c37a1SMatthias Ringwald /**
1114d63c37a1SMatthias Ringwald  * @format 1
1115d63c37a1SMatthias Ringwald  * @param subevent_code
1116d63c37a1SMatthias Ringwald  */
1117aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG                           0x0A
1118d63c37a1SMatthias Ringwald 
1119d63c37a1SMatthias Ringwald /**
1120d63c37a1SMatthias Ringwald  * @format 1
1121d63c37a1SMatthias Ringwald  * @param subevent_code
1122d63c37a1SMatthias Ringwald  */
1123aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG                            0x0B
1124d63c37a1SMatthias Ringwald 
1125d63c37a1SMatthias Ringwald /**
1126d63c37a1SMatthias Ringwald  * @format 1
1127d63c37a1SMatthias Ringwald  * @param subevent_code
1128d63c37a1SMatthias Ringwald  */
1129aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED                          0x0C
1130d63c37a1SMatthias Ringwald 
1131d63c37a1SMatthias Ringwald /**
1132d63c37a1SMatthias Ringwald  * @format 1T
1133d63c37a1SMatthias Ringwald  * @param subevent_code
1134d63c37a1SMatthias Ringwald  * @param number
1135d63c37a1SMatthias Ringwald  */
1136aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER                   0x0D
1137d63c37a1SMatthias Ringwald 
1138d63c37a1SMatthias Ringwald /**
1139d63c37a1SMatthias Ringwald  * @format 1
1140d63c37a1SMatthias Ringwald  * @param subevent_code
1141d63c37a1SMatthias Ringwald  */
1142d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG               0x0E
1143d63c37a1SMatthias Ringwald 
1144d63c37a1SMatthias Ringwald /**
1145d63c37a1SMatthias Ringwald  * @format 1T
1146d63c37a1SMatthias Ringwald  * @param subevent_code
1147d63c37a1SMatthias Ringwald  * @param number
1148d63c37a1SMatthias Ringwald  */
1149d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG                     0x0F
1150d63c37a1SMatthias Ringwald 
1151d63c37a1SMatthias Ringwald /**
1152d63c37a1SMatthias Ringwald  * @format 1T
1153d63c37a1SMatthias Ringwald  * @param subevent_code
1154d63c37a1SMatthias Ringwald  * @param dtmf code
1155d63c37a1SMatthias Ringwald  */
1156d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES                      0x10
1157d63c37a1SMatthias Ringwald 
1158d63c37a1SMatthias Ringwald /**
1159d63c37a1SMatthias Ringwald  * @format 1
1160d63c37a1SMatthias Ringwald  * @param subevent_code
1161d63c37a1SMatthias Ringwald  */
1162d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_CALL_ANSWERED                            0x11
1163d63c37a1SMatthias Ringwald 
1164d63c37a1SMatthias Ringwald /**
1165d63c37a1SMatthias Ringwald  * @format 1
1166d63c37a1SMatthias Ringwald  * @param subevent_code
1167d63c37a1SMatthias Ringwald  */
1168d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL                          0x12
1169d63c37a1SMatthias Ringwald 
1170d63c37a1SMatthias Ringwald /**
1171d63c37a1SMatthias Ringwald  * @format 1
1172d63c37a1SMatthias Ringwald  * @param subevent_code
1173d63c37a1SMatthias Ringwald  */
1174d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING                                     0x13
1175d63c37a1SMatthias Ringwald 
1176d63c37a1SMatthias Ringwald /**
1177d63c37a1SMatthias Ringwald  * @format 111
1178d63c37a1SMatthias Ringwald  * @param subevent_code
1179d63c37a1SMatthias Ringwald  * @param status
1180d63c37a1SMatthias Ringwald  * @param gain
1181d63c37a1SMatthias Ringwald  */
1182d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SPEAKER_VOLUME                           0x14
1183d63c37a1SMatthias Ringwald 
1184d63c37a1SMatthias Ringwald /**
1185d63c37a1SMatthias Ringwald  * @format 111
1186d63c37a1SMatthias Ringwald  * @param subevent_code
1187d63c37a1SMatthias Ringwald  * @param status
1188d63c37a1SMatthias Ringwald  * @param gain
1189d63c37a1SMatthias Ringwald  */
1190d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME                        0x15
1191d63c37a1SMatthias Ringwald 
1192d63c37a1SMatthias Ringwald /**
1193d63c37a1SMatthias Ringwald  * @format 11T
1194d63c37a1SMatthias Ringwald  * @param subevent_code
1195d63c37a1SMatthias Ringwald  * @param type
1196d63c37a1SMatthias Ringwald  * @param number
1197d63c37a1SMatthias Ringwald  */
1198d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION                0x16
1199d63c37a1SMatthias Ringwald 
1200d63c37a1SMatthias Ringwald /**
1201d63c37a1SMatthias Ringwald  * @format 11T
1202d63c37a1SMatthias Ringwald  * @param subevent_code
1203d63c37a1SMatthias Ringwald  * @param type
1204d63c37a1SMatthias Ringwald  * @param number
1205d63c37a1SMatthias Ringwald  */
1206d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALLING_LINE_INDETIFICATION_NOTIFICATION 0x17
1207d63c37a1SMatthias Ringwald 
1208d63c37a1SMatthias Ringwald /**
1209d63c37a1SMatthias Ringwald  * @format 111111T
1210d63c37a1SMatthias Ringwald  * @param subevent_code
1211d63c37a1SMatthias Ringwald  * @param clcc_idx
1212d63c37a1SMatthias Ringwald  * @param clcc_dir
1213d63c37a1SMatthias Ringwald  * @param clcc_status
1214d63c37a1SMatthias Ringwald  * @param clcc_mpty
1215d63c37a1SMatthias Ringwald  * @param bnip_type
1216d63c37a1SMatthias Ringwald  * @param bnip_number
1217d63c37a1SMatthias Ringwald  */
1218d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS                     0x18
1219d63c37a1SMatthias Ringwald 
1220d63c37a1SMatthias Ringwald /**
1221d63c37a1SMatthias Ringwald  * @format 111T
1222d63c37a1SMatthias Ringwald  * @param subevent_code
1223d63c37a1SMatthias Ringwald  * @param status
1224d63c37a1SMatthias Ringwald  * @param bnip_type
1225d63c37a1SMatthias Ringwald  * @param bnip_number
1226d63c37a1SMatthias Ringwald  */
1227d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION            0x19
1228d63c37a1SMatthias Ringwald 
1229d63c37a1SMatthias Ringwald /**
1230d63c37a1SMatthias Ringwald  * @format 1T
1231d63c37a1SMatthias Ringwald  * @param subevent_code
1232d63c37a1SMatthias Ringwald  * @param value
1233d63c37a1SMatthias Ringwald  */
1234d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS                 0x1A
1235941b3855SMatthias Ringwald 
1236941b3855SMatthias Ringwald // ANCS Client
1237a4815874SMatthias Ringwald 
1238a4815874SMatthias Ringwald /**
1239e10ce426SMatthias Ringwald  * @format 1H
1240e10ce426SMatthias Ringwald  * @param subevent_code
1241a4815874SMatthias Ringwald  * @param handle
1242a4815874SMatthias Ringwald  */
1243e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED                              0xF0
1244a4815874SMatthias Ringwald 
1245a4815874SMatthias Ringwald /**
1246e10ce426SMatthias Ringwald  * @format 1H2T
1247e10ce426SMatthias Ringwald  * @param subevent_code
1248a4815874SMatthias Ringwald  * @param handle
1249a4815874SMatthias Ringwald  * @param attribute_id
1250a4815874SMatthias Ringwald  * @param text
1251a4815874SMatthias Ringwald  */
1252e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION                           0xF1
1253a4815874SMatthias Ringwald 
1254a4815874SMatthias Ringwald /**
1255e10ce426SMatthias Ringwald  * @format 1H
1256e10ce426SMatthias Ringwald  * @param subevent_code
1257a4815874SMatthias Ringwald  * @param handle
1258a4815874SMatthias Ringwald  */
1259e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED                           0xF2
1260941b3855SMatthias Ringwald 
1261a23045e2SMilanka Ringwald 
1262a23045e2SMilanka Ringwald /** AVDTP Subevent */
1263a23045e2SMilanka Ringwald 
12643338b9aeSMilanka Ringwald /**
1265ba155c22SMilanka Ringwald  * @format 1H111
12662c708e8aSMilanka Ringwald  * @param subevent_code
1267f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1268ba155c22SMilanka Ringwald  * @param int_seid
12692c708e8aSMilanka Ringwald  * @param signal_identifier
12702c708e8aSMilanka Ringwald  * @param status 0 == OK
12712c708e8aSMilanka Ringwald  */
12722c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_ACCEPT                     0x01
12732c708e8aSMilanka Ringwald 
12742c708e8aSMilanka Ringwald /**
1275ba155c22SMilanka Ringwald  * @format 1H11
12762c708e8aSMilanka Ringwald  * @param subevent_code
1277f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1278ba155c22SMilanka Ringwald  * @param int_seid
12792c708e8aSMilanka Ringwald  * @param signal_identifier
12802c708e8aSMilanka Ringwald  */
12812c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_REJECT                     0x02
12822c708e8aSMilanka Ringwald 
12832c708e8aSMilanka Ringwald /**
1284ba155c22SMilanka Ringwald  * @format 1H11
12852c708e8aSMilanka Ringwald  * @param subevent_code
1286f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1287ba155c22SMilanka Ringwald  * @param int_seid
12882c708e8aSMilanka Ringwald  * @param signal_identifier
12892c708e8aSMilanka Ringwald  */
12902c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT             0x03
12912c708e8aSMilanka Ringwald 
12922c708e8aSMilanka Ringwald /**
12933338b9aeSMilanka Ringwald  * @format 1HB1
12943338b9aeSMilanka Ringwald  * @param subevent_code
1295f9bca1f3SMilanka Ringwald  * @param avdtp_cid
12963338b9aeSMilanka Ringwald  * @param bd_addr
12973338b9aeSMilanka Ringwald  * @param status 0 == OK
12983338b9aeSMilanka Ringwald  */
12992c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED     0x04
1300a23045e2SMilanka Ringwald 
13013338b9aeSMilanka Ringwald /**
130285a0c7cdSMilanka Ringwald  * @format 1H
13033338b9aeSMilanka Ringwald  * @param subevent_code
1304f9bca1f3SMilanka Ringwald  * @param avdtp_cid
13053338b9aeSMilanka Ringwald  */
13062c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED        0x05
13073338b9aeSMilanka Ringwald 
13083338b9aeSMilanka Ringwald /**
13093338b9aeSMilanka Ringwald  * @format 1H1111
13103338b9aeSMilanka Ringwald  * @param subevent_code
1311f9bca1f3SMilanka Ringwald  * @param avdtp_cid
13123338b9aeSMilanka Ringwald  * @param seid        0x01 – 0x3E
13133338b9aeSMilanka Ringwald  * @param in_use      0-not in use, 1-in use
13143338b9aeSMilanka Ringwald  * @param media_type  0-audio, 1-video, 2-multimedia
13153338b9aeSMilanka Ringwald  * @param sep_type    0-source, 1-sink
13163338b9aeSMilanka Ringwald  */
13172c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND                  0x06
13183338b9aeSMilanka Ringwald 
13193338b9aeSMilanka Ringwald /**
1320ba155c22SMilanka Ringwald  * @format 1H1111111111
13213338b9aeSMilanka Ringwald  * @param subevent_code
1322f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1323ba155c22SMilanka Ringwald  * @param int_seid
1324ba155c22SMilanka Ringwald  * @param acp_seid
13253338b9aeSMilanka Ringwald  * @param media_type
1326ea7bd529SMilanka Ringwald  * @param sampling_frequency_bitmap
1327ea7bd529SMilanka Ringwald  * @param channel_mode_bitmap
1328ea7bd529SMilanka Ringwald  * @param block_length_bitmap
1329ea7bd529SMilanka Ringwald  * @param subbands_bitmap
1330ea7bd529SMilanka Ringwald  * @param allocation_method_bitmap
13313338b9aeSMilanka Ringwald  * @param min_bitpool_value
13323338b9aeSMilanka Ringwald  * @param max_bitpool_value
13333338b9aeSMilanka Ringwald  */
13342c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY          0x07
13353338b9aeSMilanka Ringwald 
13363338b9aeSMilanka Ringwald /**
1337ba155c22SMilanka Ringwald  * @format 1H1112LV
13383338b9aeSMilanka Ringwald  * @param subevent_code
1339f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1340ba155c22SMilanka Ringwald  * @param int_seid
1341ba155c22SMilanka Ringwald  * @param acp_seid
13423338b9aeSMilanka Ringwald  * @param media_type
13433338b9aeSMilanka Ringwald  * @param media_codec_type
13443338b9aeSMilanka Ringwald  * @param media_codec_information_len
13453338b9aeSMilanka Ringwald  * @param media_codec_information
13463338b9aeSMilanka Ringwald  */
13472c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY        0x08
1348a23045e2SMilanka Ringwald 
1349ea7bd529SMilanka Ringwald /**
1350ba155c22SMilanka Ringwald  * @format 1H111121111111
1351ea7bd529SMilanka Ringwald  * @param subevent_code
1352f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1353ba155c22SMilanka Ringwald  * @param int_seid
1354ba155c22SMilanka Ringwald  * @param acp_seid
1355ea7bd529SMilanka Ringwald  * @param reconfigure
1356ea7bd529SMilanka Ringwald  * @param media_type
1357ea7bd529SMilanka Ringwald  * @param sampling_frequency
1358ea7bd529SMilanka Ringwald  * @param channel_mode
1359ea7bd529SMilanka Ringwald  * @param num_channels
1360ea7bd529SMilanka Ringwald  * @param block_length
1361ea7bd529SMilanka Ringwald  * @param subbands
1362ea7bd529SMilanka Ringwald  * @param allocation_method
1363ea7bd529SMilanka Ringwald  * @param min_bitpool_value
1364ea7bd529SMilanka Ringwald  * @param max_bitpool_value
1365ea7bd529SMilanka Ringwald  */
13662c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION        0x09
1367ea7bd529SMilanka Ringwald 
1368ea7bd529SMilanka Ringwald /**
1369ba155c22SMilanka Ringwald  * @format 1H11112LV
1370ea7bd529SMilanka Ringwald  * @param subevent_code
1371f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1372ba155c22SMilanka Ringwald  * @param int_seid
1373ba155c22SMilanka Ringwald  * @param acp_seid
1374ea7bd529SMilanka Ringwald  * @param reconfigure
1375ea7bd529SMilanka Ringwald  * @param media_type
1376ea7bd529SMilanka Ringwald  * @param media_codec_type
1377ea7bd529SMilanka Ringwald  * @param media_codec_information_len
1378ea7bd529SMilanka Ringwald  * @param media_codec_information
1379ea7bd529SMilanka Ringwald  */
13802c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION        0x0A
1381decc740cSMilanka Ringwald 
138285a0c7cdSMilanka Ringwald /**
1383b548dda6SMilanka Ringwald  * @format 1H111
138485a0c7cdSMilanka Ringwald  * @param subevent_code
1385f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1386b548dda6SMilanka Ringwald  * @param int_seid
1387b548dda6SMilanka Ringwald  * @param acp_seid
138885a0c7cdSMilanka Ringwald  * @param status 0 == OK
138985a0c7cdSMilanka Ringwald  */
139085a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED     0x0B
139185a0c7cdSMilanka Ringwald 
139285a0c7cdSMilanka Ringwald /**
139385a0c7cdSMilanka Ringwald  * @format 1H
139485a0c7cdSMilanka Ringwald  * @param subevent_code
1395f9bca1f3SMilanka Ringwald  * @param avdtp_cid
139685a0c7cdSMilanka Ringwald  */
139785a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED        0x0C
139885a0c7cdSMilanka Ringwald 
1399f7103c90SMilanka Ringwald /**
1400a04ed5e9SMilanka Ringwald  * @format 1H12
1401f7103c90SMilanka Ringwald  * @param subevent_code
1402f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1403ba155c22SMilanka Ringwald  * @param int_seid
1404a04ed5e9SMilanka Ringwald  * @param sequence_number
1405f7103c90SMilanka Ringwald  */
1406f7103c90SMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW   0x0D
140785a0c7cdSMilanka Ringwald 
1408decc740cSMilanka Ringwald 
140946e6b063SMilanka Ringwald /** A2DP Subevent */
141046e6b063SMilanka Ringwald 
141146e6b063SMilanka Ringwald /**
141246e6b063SMilanka Ringwald  * @format 1H111
141346e6b063SMilanka Ringwald  * @param subevent_code
141446e6b063SMilanka Ringwald  * @param a2dp_cid
141546e6b063SMilanka Ringwald  * @param local_seid
141646e6b063SMilanka Ringwald  * @param remote_seid
141746e6b063SMilanka Ringwald  * @param status
141846e6b063SMilanka Ringwald  */
141946e6b063SMilanka Ringwald #define A2DP_SUBEVENT_STREAM_ESTABLISHED                           0x01
142046e6b063SMilanka Ringwald 
1421a42de583SMilanka Ringwald /**
1422a42de583SMilanka Ringwald  * @format 1H1
1423a42de583SMilanka Ringwald  * @param subevent_code
142446e6b063SMilanka Ringwald  * @param a2dp_cid
142546e6b063SMilanka Ringwald  * @param local_seid
1426a42de583SMilanka Ringwald  */
142746e6b063SMilanka Ringwald #define A2DP_SUBEVENT_STREAM_START_ACCEPTED                        0x02
142846e6b063SMilanka Ringwald 
142946e6b063SMilanka Ringwald /**
143046e6b063SMilanka Ringwald  * @format 1H1
143146e6b063SMilanka Ringwald  * @param subevent_code
143246e6b063SMilanka Ringwald  * @param a2dp_cid
143346e6b063SMilanka Ringwald  * @param local_seid
143446e6b063SMilanka Ringwald  */
143546e6b063SMilanka Ringwald #define A2DP_SUBEVENT_STREAM_SUSPENDED                              0x03
1436a42de583SMilanka Ringwald 
1437a42de583SMilanka Ringwald /**
1438a42de583SMilanka Ringwald  * @format 1H1
1439a42de583SMilanka Ringwald  * @param subevent_code
1440a42de583SMilanka Ringwald  * @param avdtp_cid
144146e6b063SMilanka Ringwald  * @param local_seid
1442a42de583SMilanka Ringwald  */
144346e6b063SMilanka Ringwald #define A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW          0x04
1444a42de583SMilanka Ringwald 
144546e6b063SMilanka Ringwald /**
144646e6b063SMilanka Ringwald  * @format 1H1
144746e6b063SMilanka Ringwald  * @param subevent_code
144846e6b063SMilanka Ringwald  * @param avdtp_cid
144946e6b063SMilanka Ringwald  * @param local_seid
145046e6b063SMilanka Ringwald  */
145146e6b063SMilanka Ringwald #define A2DP_SUBEVENT_STREAM_RELEASED                                0x05
1452ba155c22SMilanka Ringwald 
1453decc740cSMilanka Ringwald /** AVRCP Subevent */
1454decc740cSMilanka Ringwald 
1455decc740cSMilanka Ringwald /**
1456b193c45eSMilanka Ringwald  * @format 11BH2
1457decc740cSMilanka Ringwald  * @param subevent_code
14582a029560SMilanka Ringwald  * @param status 0 == OK
1459decc740cSMilanka Ringwald  * @param bd_addr
1460b193c45eSMilanka Ringwald  * @param con_handle
1461b193c45eSMilanka Ringwald  * @param avrcp_cid
1462decc740cSMilanka Ringwald  */
1463decc740cSMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_ESTABLISHED                           0x01
1464decc740cSMilanka Ringwald 
1465decc740cSMilanka Ringwald /**
1466b193c45eSMilanka Ringwald  * @format 12
1467decc740cSMilanka Ringwald  * @param subevent_code
1468b193c45eSMilanka Ringwald  * @param avrcp_cid
1469decc740cSMilanka Ringwald  */
14706eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_RELEASED                              0x02
1471decc740cSMilanka Ringwald 
1472cd41da7eSMilanka Ringwald /**
1473b193c45eSMilanka Ringwald  * @format 121114JVJVJVJV
1474cd41da7eSMilanka Ringwald  * @param subevent_code
1475b193c45eSMilanka Ringwald  * @param avrcp_cid
1476d3b6a85eSMatthias Ringwald  * @param command_type
1477e222d6a0SMatthias Ringwald  * @param track
1478e222d6a0SMatthias Ringwald  * @param total_tracks
1479e222d6a0SMatthias Ringwald  * @param song_length in ms
1480cd41da7eSMilanka Ringwald  * @param title_len
1481cd41da7eSMilanka Ringwald  * @param title
1482cd41da7eSMilanka Ringwald  * @param artist_len
1483cd41da7eSMilanka Ringwald  * @param artist
1484cd41da7eSMilanka Ringwald  * @param album_len
1485cd41da7eSMilanka Ringwald  * @param album
1486cd41da7eSMilanka Ringwald  * @param genre_len
1487cd41da7eSMilanka Ringwald  * @param genre
1488cd41da7eSMilanka Ringwald  */
14892a029560SMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_INFO                                 0x03
1490cd41da7eSMilanka Ringwald 
14912a029560SMilanka Ringwald /**
1492b193c45eSMilanka Ringwald  * @format 12111
14932a029560SMilanka Ringwald  * @param subevent_code
1494b193c45eSMilanka Ringwald  * @param avrcp_cid
1495d3b6a85eSMatthias Ringwald  * @param command_type
14962a029560SMilanka Ringwald  * @param repeat_mode
14972a029560SMilanka Ringwald  * @param shuffle_mode
14982a029560SMilanka Ringwald  */
14992a029560SMilanka Ringwald #define AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE                          0x04
1500cd41da7eSMilanka Ringwald 
15016eb7ba29SMilanka Ringwald /**
1502b193c45eSMilanka Ringwald  * @format 121441
15036eb7ba29SMilanka Ringwald  * @param subevent_code
1504b193c45eSMilanka Ringwald  * @param avrcp_cid
1505d3b6a85eSMatthias Ringwald  * @param command_type
15066eb7ba29SMilanka Ringwald  * @param song_length
15076eb7ba29SMilanka Ringwald  * @param song_position
15086eb7ba29SMilanka Ringwald  * @param play_status
15096eb7ba29SMilanka Ringwald  */
15106eb7ba29SMilanka Ringwald  #define AVRCP_SUBEVENT_PLAY_STATUS                                     0x05
15116eb7ba29SMilanka Ringwald 
15126eb7ba29SMilanka Ringwald /**
1513b193c45eSMilanka Ringwald  * @format 1211
15146eb7ba29SMilanka Ringwald  * @param subevent_code
1515b193c45eSMilanka Ringwald  * @param avrcp_cid
1516d3b6a85eSMatthias Ringwald  * @param command_type
15176aecb8a4SMatthias Ringwald  * @param play_status
15186eb7ba29SMilanka Ringwald  */
15196eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED             0x06
15206eb7ba29SMilanka Ringwald 
15216eb7ba29SMilanka Ringwald /**
1522*ee6d17f2SMatthias Ringwald  * @format 121
15236eb7ba29SMilanka Ringwald  * @param subevent_code
1524b193c45eSMilanka Ringwald  * @param avrcp_cid
1525d3b6a85eSMatthias Ringwald  * @param command_type
15266eb7ba29SMilanka Ringwald  */
15276eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED                       0x07
15286eb7ba29SMilanka Ringwald 
15296eb7ba29SMilanka Ringwald /**
1530b193c45eSMilanka Ringwald  * @format 121
15316eb7ba29SMilanka Ringwald  * @param subevent_code
1532b193c45eSMilanka Ringwald  * @param avrcp_cid
1533d3b6a85eSMatthias Ringwald  * @param command_type
15346eb7ba29SMilanka Ringwald  */
15356eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED          0x08
15366eb7ba29SMilanka Ringwald 
15376eb7ba29SMilanka Ringwald /**
1538b193c45eSMilanka Ringwald  * @format 121
15396eb7ba29SMilanka Ringwald  * @param subevent_code
1540b193c45eSMilanka Ringwald  * @param avrcp_cid
1541d3b6a85eSMatthias Ringwald  * @param command_type
15426eb7ba29SMilanka Ringwald  */
15436eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED            0x09
15446eb7ba29SMilanka Ringwald 
15456eb7ba29SMilanka Ringwald /**
1546b193c45eSMilanka Ringwald  * @format 1211
15476eb7ba29SMilanka Ringwald  * @param subevent_code
1548b193c45eSMilanka Ringwald  * @param avrcp_cid
1549d3b6a85eSMatthias Ringwald  * @param command_type
15506eb7ba29SMilanka Ringwald  * @param absolute_volume
15516eb7ba29SMilanka Ringwald  */
15526eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED                       0x0A
15536eb7ba29SMilanka Ringwald 
15546eb7ba29SMilanka Ringwald /**
1555b193c45eSMilanka Ringwald  * @format 1211
15566eb7ba29SMilanka Ringwald  * @param subevent_code
1557b193c45eSMilanka Ringwald  * @param avrcp_cid
1558d3b6a85eSMatthias Ringwald  * @param command_type
15596eb7ba29SMilanka Ringwald  * @param absolute_volume
15606eb7ba29SMilanka Ringwald  */
15616eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE                      0x0B
15626eb7ba29SMilanka Ringwald 
15636eb7ba29SMilanka Ringwald /**
1564b193c45eSMilanka Ringwald  * @format 1211
15656eb7ba29SMilanka Ringwald  * @param subevent_code
1566b193c45eSMilanka Ringwald  * @param avrcp_cid
1567d3b6a85eSMatthias Ringwald  * @param command_type
15686eb7ba29SMilanka Ringwald  * @param notification_id
15696eb7ba29SMilanka Ringwald  */
15706eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE                       0x0C
15716eb7ba29SMilanka Ringwald 
15726eb7ba29SMilanka Ringwald /**
1573b193c45eSMilanka Ringwald  * @format 1211
15746eb7ba29SMilanka Ringwald  * @param subevent_code
1575b193c45eSMilanka Ringwald  * @param avrcp_cid
1576d3b6a85eSMatthias Ringwald  * @param command_type
15776eb7ba29SMilanka Ringwald  * @param operation_id
15786eb7ba29SMilanka Ringwald  */
15796eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_START                                    0x0D
15806eb7ba29SMilanka Ringwald 
15816eb7ba29SMilanka Ringwald /**
1582b193c45eSMilanka Ringwald  * @format 1211
15836eb7ba29SMilanka Ringwald  * @param subevent_code
1584b193c45eSMilanka Ringwald  * @param avrcp_cid
1585d3b6a85eSMatthias Ringwald  * @param command_type
15866eb7ba29SMilanka Ringwald  * @param operation_id
15876eb7ba29SMilanka Ringwald  */
15886eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_COMPLETE                                 0x0E
15896eb7ba29SMilanka Ringwald 
15906eb7ba29SMilanka Ringwald /**
1591b193c45eSMilanka Ringwald  * @format 121
15926eb7ba29SMilanka Ringwald  * @param subevent_code
1593b193c45eSMilanka Ringwald  * @param avrcp_cid
1594d3b6a85eSMatthias Ringwald  * @param command_type
15956eb7ba29SMilanka Ringwald  */
15966eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE                   0x0F
15976eb7ba29SMilanka Ringwald 
1598f1b34e8dSMatthias Ringwald /**
1599f1b34e8dSMatthias Ringwald  * @format 121BH1
1600f1b34e8dSMatthias Ringwald  * @param subevent_code
1601f1b34e8dSMatthias Ringwald  * @param goep_cid
1602f1b34e8dSMatthias Ringwald  * @param status
1603f1b34e8dSMatthias Ringwald  * @param bd_addr
1604f1b34e8dSMatthias Ringwald  * @param con_handle
1605f1b34e8dSMatthias Ringwald  * @param incoming
1606f1b34e8dSMatthias Ringwald  */
1607f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_OPENED                                    0x01
16086eb7ba29SMilanka Ringwald 
1609f1b34e8dSMatthias Ringwald /**
1610f1b34e8dSMatthias Ringwald  * @format 12
1611f1b34e8dSMatthias Ringwald  * @param subevent_code
1612f1b34e8dSMatthias Ringwald  * @param goep_cid
1613f1b34e8dSMatthias Ringwald */
1614f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_CLOSED                                    0x02
1615f1b34e8dSMatthias Ringwald 
1616f1b34e8dSMatthias Ringwald /**
1617f1b34e8dSMatthias Ringwald  * @format 12
1618f1b34e8dSMatthias Ringwald  * @param subevent_code
1619f1b34e8dSMatthias Ringwald  * @param goep_cid
1620f1b34e8dSMatthias Ringwald */
1621f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CAN_SEND_NOW                                         0x03
1622f1b34e8dSMatthias Ringwald 
1623f1b34e8dSMatthias Ringwald /**
1624f1b34e8dSMatthias Ringwald  * @format 121BH1
1625f1b34e8dSMatthias Ringwald  * @param subevent_code
1626f1b34e8dSMatthias Ringwald  * @param pbap_cid
1627f1b34e8dSMatthias Ringwald  * @param status
1628f1b34e8dSMatthias Ringwald  * @param bd_addr
1629f1b34e8dSMatthias Ringwald  * @param con_handle
1630f1b34e8dSMatthias Ringwald  * @param incoming
1631f1b34e8dSMatthias Ringwald  */
1632f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_OPENED                                    0x01
1633f1b34e8dSMatthias Ringwald 
1634f1b34e8dSMatthias Ringwald /**
1635f1b34e8dSMatthias Ringwald  * @format 12
1636f1b34e8dSMatthias Ringwald  * @param subevent_code
1637f1b34e8dSMatthias Ringwald  * @param goep_cid
1638f1b34e8dSMatthias Ringwald */
1639f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_CLOSED                                    0x02
1640f1b34e8dSMatthias Ringwald 
1641f1b34e8dSMatthias Ringwald /**
1642f1b34e8dSMatthias Ringwald  * @format 121
1643f1b34e8dSMatthias Ringwald  * @param subevent_code
1644f1b34e8dSMatthias Ringwald  * @param goep_cid
1645f1b34e8dSMatthias Ringwald  * @param status
1646f1b34e8dSMatthias Ringwald  */
1647f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_OPERATION_COMPLETED                                  0x03
16486eb7ba29SMilanka Ringwald 
1649dd148ddbSMatthias Ringwald /**
1650dd148ddbSMatthias Ringwald  * @format 121BH1
1651dd148ddbSMatthias Ringwald  * @param subevent_code
1652dd148ddbSMatthias Ringwald  * @param hid_cid
1653dd148ddbSMatthias Ringwald  * @param status
1654dd148ddbSMatthias Ringwald  * @param bd_addr
1655dd148ddbSMatthias Ringwald  * @param con_handle
1656dd148ddbSMatthias Ringwald  * @param incoming
1657dd148ddbSMatthias Ringwald  */
1658dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_OPENED                                     0x01
1659dd148ddbSMatthias Ringwald 
1660dd148ddbSMatthias Ringwald /**
1661dd148ddbSMatthias Ringwald  * @format 12
1662dd148ddbSMatthias Ringwald  * @param subevent_code
1663dd148ddbSMatthias Ringwald  * @param hid_cid
1664dd148ddbSMatthias Ringwald */
1665dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_CLOSED                                     0x02
1666dd148ddbSMatthias Ringwald 
1667dd148ddbSMatthias Ringwald /**
1668dd148ddbSMatthias Ringwald  * @format 12
1669dd148ddbSMatthias Ringwald  * @param subevent_code
1670dd148ddbSMatthias Ringwald  * @param hid_cid
1671dd148ddbSMatthias Ringwald */
1672dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CAN_SEND_NOW                                          0x03
1673dd148ddbSMatthias Ringwald 
1674941b3855SMatthias Ringwald #endif
1675