xref: /btstack/src/btstack_defines.h (revision dd148ddbc5f20d3858b5cbe2f3ae862cc28bcadb)
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
51f3963406SMatthias Ringwald #define UNUSED(x) (void)(sizeof(x))
52f3963406SMatthias Ringwald 
538974fcd6SMatthias Ringwald // TYPES
548974fcd6SMatthias Ringwald 
558974fcd6SMatthias Ringwald // packet handler
568974fcd6SMatthias Ringwald typedef void (*btstack_packet_handler_t) (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size);
578974fcd6SMatthias Ringwald 
588974fcd6SMatthias Ringwald // packet callback supporting multiple registrations
598974fcd6SMatthias Ringwald typedef struct {
608974fcd6SMatthias Ringwald     btstack_linked_item_t    item;
618974fcd6SMatthias Ringwald     btstack_packet_handler_t callback;
628974fcd6SMatthias Ringwald } btstack_packet_callback_registration_t;
638974fcd6SMatthias Ringwald 
64bb38f057SMatthias Ringwald // context callback supporting multiple registrations
65bb38f057SMatthias Ringwald typedef struct {
66bb38f057SMatthias Ringwald   btstack_linked_item_t * item;
67bb38f057SMatthias Ringwald   void (*callback)(void * context);
68bb38f057SMatthias Ringwald   void * context;
69bb38f057SMatthias Ringwald } btstack_context_callback_registration_t;
70bb38f057SMatthias Ringwald 
71f7a05cdaSMatthias Ringwald /**
728974fcd6SMatthias Ringwald  * @brief 128 bit key used with AES128 in Security Manager
73f7a05cdaSMatthias Ringwald  */
748974fcd6SMatthias Ringwald typedef uint8_t sm_key_t[16];
75f7a05cdaSMatthias Ringwald 
76941b3855SMatthias Ringwald // DEFINES
77941b3855SMatthias Ringwald 
78941b3855SMatthias Ringwald #define DAEMON_EVENT_PACKET     0x05
79941b3855SMatthias Ringwald 
80941b3855SMatthias Ringwald // L2CAP data
81941b3855SMatthias Ringwald #define L2CAP_DATA_PACKET       0x06
82941b3855SMatthias Ringwald 
83941b3855SMatthias Ringwald // RFCOMM data
84941b3855SMatthias Ringwald #define RFCOMM_DATA_PACKET      0x07
85941b3855SMatthias Ringwald 
86941b3855SMatthias Ringwald // Attribute protocol data
87941b3855SMatthias Ringwald #define ATT_DATA_PACKET         0x08
88941b3855SMatthias Ringwald 
89941b3855SMatthias Ringwald // Security Manager protocol data
90941b3855SMatthias Ringwald #define SM_DATA_PACKET          0x09
91941b3855SMatthias Ringwald 
92f1b34e8dSMatthias Ringwald // SDP query result - only used by daemon
93941b3855SMatthias Ringwald // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k)
94941b3855SMatthias Ringwald #define SDP_CLIENT_PACKET       0x0a
95941b3855SMatthias Ringwald 
96941b3855SMatthias Ringwald // BNEP data
97941b3855SMatthias Ringwald #define BNEP_DATA_PACKET        0x0b
98941b3855SMatthias Ringwald 
99941b3855SMatthias Ringwald // Unicast Connectionless Data
100941b3855SMatthias Ringwald #define UCD_DATA_PACKET         0x0c
101941b3855SMatthias Ringwald 
102f1b34e8dSMatthias Ringwald // GOEP data
103f1b34e8dSMatthias Ringwald #define GOEP_DATA_PACKET        0x0d
104f1b34e8dSMatthias Ringwald 
105f1b34e8dSMatthias Ringwald // PBAP data
106f1b34e8dSMatthias Ringwald #define PBAP_DATA_PACKET        0x0e
107f1b34e8dSMatthias Ringwald 
108941b3855SMatthias Ringwald // debug log messages
109941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET      0xfc
110941b3855SMatthias Ringwald 
111941b3855SMatthias Ringwald 
112941b3855SMatthias Ringwald // ERRORS
113941b3855SMatthias Ringwald 
114941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors
115941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED              0x50
116941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH         0x51
117941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED                  0x52
118941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN                  0x53
119941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED                              0x54
120941b3855SMatthias Ringwald #define BTSTACK_BUSY                                       0x55
121941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED                        0x56
122941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL                           0x57
123941b3855SMatthias Ringwald 
124941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them
125941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60
126941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61
127941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62
128941b3855SMatthias Ringwald 
129941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL        0x63
130941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING           0x64
131941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM       0x65
132941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY  0x66
133941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67
134941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT       0x68
135941b3855SMatthias Ringwald 
136941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED                   0x69
137941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU                  0x6A
1387e8856ebSMatthias Ringwald #define L2CAP_SERVICE_DOES_NOT_EXIST                       0x6B
13994530c77SMatthias Ringwald #define L2CAP_LOCAL_CID_DOES_NOT_EXIST                     0x6C
140941b3855SMatthias Ringwald 
141941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED                         0x70
142941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED                  0x71
143941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS                         0x72
144941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF                          0x73
145941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU                        0x74
146941b3855SMatthias Ringwald 
147941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED                      0x80
148941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE                               0x81
149941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND                              0x82
150941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID                                 0x83
151e5057641SMatthias Ringwald #define SDP_QUERY_BUSY                                     0x84
152941b3855SMatthias Ringwald 
153941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS            0x90
154941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT                0x91
155941b3855SMatthias Ringwald 
156941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED                          0x93
157941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY                                   0x94
158616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE                         0x95
159616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96
160616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG                         0x97
161616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98
162616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED   0x99
163941b3855SMatthias Ringwald 
164941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED                    0xA0
165941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED                         0xA1
166941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU                          0xA2
167941b3855SMatthias Ringwald 
16862c64df1SMatthias Ringwald // DAEMON COMMANDS
169b3f90e25SMatthias Ringwald 
170b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d
171b3f90e25SMatthias Ringwald 
172b3f90e25SMatthias Ringwald // cmds for BTstack
173b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE
174b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE                                  0x01
175b3f90e25SMatthias Ringwald 
176045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE
177b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE                             0x02
178b3f90e25SMatthias Ringwald 
179045013feSMatthias Ringwald // set capture mode: param on
180b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE                       0x03
181b3f90e25SMatthias Ringwald 
182b3f90e25SMatthias Ringwald // get BTstack version
183b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION                                0x04
184b3f90e25SMatthias Ringwald 
185b3f90e25SMatthias Ringwald // get system Bluetooth state
186b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED               0x05
187b3f90e25SMatthias Ringwald 
188b3f90e25SMatthias Ringwald // set system Bluetooth state
189b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED               0x06
190b3f90e25SMatthias Ringwald 
191b3f90e25SMatthias Ringwald // enable inquiry scan for this client
192b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE                           0x07
193b3f90e25SMatthias Ringwald 
194b3f90e25SMatthias Ringwald // set global Bluetooth state
195b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED                      0x08
196b3f90e25SMatthias Ringwald 
197045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16)
198b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL                               0x20
199b3f90e25SMatthias Ringwald 
200045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8)
201b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT                                   0x21
202b3f90e25SMatthias Ringwald 
203045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16)
204b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE                             0x22
205b3f90e25SMatthias Ringwald 
206045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16)
207b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE                           0x23
208b3f90e25SMatthias Ringwald 
209045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16)
210b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION                            0x24
211b3f90e25SMatthias Ringwald 
212045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8)
213b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION                           0x25
214b3f90e25SMatthias Ringwald 
215045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16)
216b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU                           0x26
217b3f90e25SMatthias Ringwald 
218b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size)
219b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD                        0x30
220b3f90e25SMatthias Ringwald 
221b3f90e25SMatthias Ringwald // unregister SDP Service Record
222b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD                      0x31
223b3f90e25SMatthias Ringwald 
224b3f90e25SMatthias Ringwald // Get remote RFCOMM services
225b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES                   0x32
226b3f90e25SMatthias Ringwald 
227b3f90e25SMatthias Ringwald // Get remote SDP services
228b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES                          0x33
229b3f90e25SMatthias Ringwald 
230b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands
231b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL       0x40
232b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT     0x41
233b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE     0x42
234b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE   0x43
235b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION    0x44
236b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION   0x45
237b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL   0x46
238b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS   0x47
239b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48
240b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS                 0x49
241b3f90e25SMatthias Ringwald 
242b3f90e25SMatthias Ringwald // GAP Classic 0x50
243b3f90e25SMatthias Ringwald #define GAP_DISCONNECT              0x50
244b3f90e25SMatthias Ringwald 
245b3f90e25SMatthias Ringwald // GAP LE      0x60
246b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START           0x60
247b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP            0x61
248b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT              0x62
249b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL       0x63
250b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS  0x64
251b3f90e25SMatthias Ringwald 
252b3f90e25SMatthias Ringwald // GATT (Client) 0x70
253b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES                       0x70
254b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16                 0x71
255b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128                0x72
256b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE                  0x73
257b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE                0x74
258b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128     0x75
259b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS                 0x76
260b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC                        0x77
261b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC                   0x78
262b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE      0x79
263b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC                       0x7A
264b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC                  0x7B
265b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC         0x7C
266b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR                      0X7D
267b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR                 0X7E
268b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR                     0X7F
269b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR                0X80
270b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION           0X81
271b3f90e25SMatthias Ringwald #define GATT_GET_MTU                                             0x82
272b3f90e25SMatthias Ringwald 
273f1b34e8dSMatthias Ringwald // OBEX ERRORS
274f1b34e8dSMatthias Ringwald #define OBEX_UNKNOWN_ERROR       0x90
275f1b34e8dSMatthias Ringwald #define OBEX_CONNECT_FAILED      0x91
276f1b34e8dSMatthias Ringwald #define OBEX_DISCONNECTED        0x92
277f1b34e8dSMatthias Ringwald #define OBEX_NOT_FOUND           0x93
27862c64df1SMatthias Ringwald 
279941b3855SMatthias Ringwald // EVENTS
280941b3855SMatthias Ringwald 
281941b3855SMatthias Ringwald /**
282941b3855SMatthias Ringwald  * @format 1
283941b3855SMatthias Ringwald  * @param state
284941b3855SMatthias Ringwald  */
285941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE                                0x60
286941b3855SMatthias Ringwald 
28752aef63fSMatthias Ringwald /**
28852aef63fSMatthias Ringwald  * @format 1
28952aef63fSMatthias Ringwald  * @param number_connections
29052aef63fSMatthias Ringwald  */
291941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED               0x61
292941b3855SMatthias Ringwald 
293941b3855SMatthias Ringwald /**
294941b3855SMatthias Ringwald  * @format
295941b3855SMatthias Ringwald  */
296941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED                       0x62
297941b3855SMatthias Ringwald 
298941b3855SMatthias Ringwald /**
299827b1c43SMatthias Ringwald  * @format 1
300827b1c43SMatthias Ringwald  * @param discoverable
301827b1c43SMatthias Ringwald  */
302827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED                 0x66
303827b1c43SMatthias Ringwald 
304827b1c43SMatthias Ringwald // Daemon Events
305827b1c43SMatthias Ringwald 
306827b1c43SMatthias Ringwald /**
307941b3855SMatthias Ringwald  * @format 112
308941b3855SMatthias Ringwald  * @param major
309941b3855SMatthias Ringwald  * @param minor
310941b3855SMatthias Ringwald  @ @param revision
311941b3855SMatthias Ringwald  */
312827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION                               0x63
313941b3855SMatthias Ringwald 
314941b3855SMatthias Ringwald // data: system bluetooth on/off (bool)
315e2334cdcSMatthias Ringwald /**
316e2334cdcSMatthias Ringwald  * @format 1
317e2334cdcSMatthias Ringwald  * param system_bluetooth_enabled
318e2334cdcSMatthias Ringwald  */
319827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED              0x64
320941b3855SMatthias Ringwald 
321941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes)
322e2334cdcSMatthias Ringwald 
323e2334cdcSMatthias Ringwald /*
324e2334cdcSMatthias Ringwald  * @format 1BT
325e2334cdcSMatthias Ringwald  * @param status == 0 to match read_remote_name_request
326e2334cdcSMatthias Ringwald  * @param address
327e2334cdcSMatthias Ringwald  * @param name
328e2334cdcSMatthias Ringwald  */
329827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED                    0x65
330941b3855SMatthias Ringwald 
33162c64df1SMatthias Ringwald // internal - data: event(8)
332e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED                     0x67
333941b3855SMatthias Ringwald 
33462c64df1SMatthias Ringwald // internal - data: event(8)
335e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED                     0x68
336941b3855SMatthias Ringwald 
33762c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8)
33862c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS                         0x74
33962c64df1SMatthias Ringwald 
34062c64df1SMatthias Ringwald /**
34162c64df1SMatthias Ringwald  * @format 12
34262c64df1SMatthias Ringwald  * @param status
34362c64df1SMatthias Ringwald  * @param psm
34462c64df1SMatthias Ringwald  */
34562c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED              0x75
34662c64df1SMatthias Ringwald 
34762c64df1SMatthias Ringwald /**
34862c64df1SMatthias Ringwald  * @format 21
34962c64df1SMatthias Ringwald  * @param rfcomm_cid
35062c64df1SMatthias Ringwald  * @param credits
35162c64df1SMatthias Ringwald  */
35262c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS                        0x84
35362c64df1SMatthias Ringwald 
35462c64df1SMatthias Ringwald /**
35562c64df1SMatthias Ringwald  * @format 11
35662c64df1SMatthias Ringwald  * @param status
35762c64df1SMatthias Ringwald  * @param channel_id
35862c64df1SMatthias Ringwald  */
359fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED             0x85
360fea5a680SMatthias Ringwald 
36162c64df1SMatthias Ringwald /**
36262c64df1SMatthias Ringwald  * @format 11
36362c64df1SMatthias Ringwald  * @param status
36462c64df1SMatthias Ringwald  * @param server_channel_id
36562c64df1SMatthias Ringwald  */
36662c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL             0x86
36762c64df1SMatthias Ringwald 
36862c64df1SMatthias Ringwald /**
36962c64df1SMatthias Ringwald   * @format 14
37062c64df1SMatthias Ringwald   * @param status
37162c64df1SMatthias Ringwald   * @param service_record_handle
37262c64df1SMatthias Ringwald   */
37362c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED                0x90
37462c64df1SMatthias Ringwald 
37562c64df1SMatthias Ringwald 
376827b1c43SMatthias Ringwald 
3773bc639ceSMatthias Ringwald // additional HCI events
37863fa3374SMatthias Ringwald 
37963fa3374SMatthias Ringwald /**
38062ca45d7SMatthias Ringwald  * @brief Indicates HCI transport enters/exits Sleep mode
38162ca45d7SMatthias Ringwald  * @format 1
38262ca45d7SMatthias Ringwald  * @param active
38362ca45d7SMatthias Ringwald  */
384d16a0392SMatthias Ringwald #define HCI_EVENT_TRANSPORT_SLEEP_MODE                     0x69
38562ca45d7SMatthias Ringwald 
38662ca45d7SMatthias Ringwald /**
38763fa3374SMatthias Ringwald  * @brief Outgoing packet
38863fa3374SMatthias Ringwald  */
38963fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT                    0x6E
39063fa3374SMatthias Ringwald 
3913bc639ceSMatthias Ringwald /**
3923bc639ceSMatthias Ringwald  * @format B
3933bc639ceSMatthias Ringwald  * @param handle
3943bc639ceSMatthias Ringwald  */
3953bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW                         0x6F
3963bc639ceSMatthias Ringwald 
39762c64df1SMatthias Ringwald 
398941b3855SMatthias Ringwald // L2CAP EVENTS
399941b3855SMatthias Ringwald 
400b072ba33SMatthias Ringwald /**
401bab5f4f0SMatthias Ringwald  * @format 1BH2222221
402b072ba33SMatthias Ringwald  * @param status
403b072ba33SMatthias Ringwald  * @param address
404b072ba33SMatthias Ringwald  * @param handle
405b072ba33SMatthias Ringwald  * @param psm
406b072ba33SMatthias Ringwald  * @param local_cid
407b072ba33SMatthias Ringwald  * @param remote_cid
408b072ba33SMatthias Ringwald  * @param local_mtu
409b072ba33SMatthias Ringwald  * @param remote_mtu
410b072ba33SMatthias Ringwald  * @param flush_timeout
411bab5f4f0SMatthias Ringwald  * @param incoming
412b072ba33SMatthias Ringwald  */
413941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED                         0x70
414941b3855SMatthias Ringwald 
415b072ba33SMatthias Ringwald /*
416b072ba33SMatthias Ringwald  * @format 2
417b072ba33SMatthias Ringwald  * @param local_cid
418b072ba33SMatthias Ringwald  */
419941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED                         0x71
420941b3855SMatthias Ringwald 
421b072ba33SMatthias Ringwald /**
4226d4269d3SMilanka Ringwald  * @format BH222
423b072ba33SMatthias Ringwald  * @param address
424b072ba33SMatthias Ringwald  * @param handle
425b072ba33SMatthias Ringwald  * @param psm
426b072ba33SMatthias Ringwald  * @param local_cid
427b072ba33SMatthias Ringwald  * @param remote_cid
428b072ba33SMatthias Ringwald  */
429941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION                    0x72
430941b3855SMatthias Ringwald 
431b072ba33SMatthias Ringwald // ??
432941b3855SMatthias Ringwald // data: event(8), len(8), handle(16)
433941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK                          0x73
434941b3855SMatthias Ringwald 
435b072ba33SMatthias Ringwald /**
436b072ba33SMatthias Ringwald  * @format H2222
437b072ba33SMatthias Ringwald  * @param handle
438b072ba33SMatthias Ringwald  * @param interval_min
439b072ba33SMatthias Ringwald  * @param interval_max
440b072ba33SMatthias Ringwald  * @param latencey
441b072ba33SMatthias Ringwald  * @param timeout_multiplier
442b072ba33SMatthias Ringwald  */
443941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST    0x76
444941b3855SMatthias Ringwald 
445941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail)
446b072ba33SMatthias Ringwald  /**
447b072ba33SMatthias Ringwald   * @format H2
448b072ba33SMatthias Ringwald   * @param handle
4492c737695SMatthias Ringwald   * @param result
450b072ba33SMatthias Ringwald   */
451941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE   0x77
452941b3855SMatthias Ringwald 
453b072ba33SMatthias Ringwald /**
454b072ba33SMatthias Ringwald  * @format 2
455b072ba33SMatthias Ringwald  * @param local_cid
456b072ba33SMatthias Ringwald  */
457b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW                           0x78
458b072ba33SMatthias Ringwald 
45944276248SMatthias Ringwald // LE Data Channels
46044276248SMatthias Ringwald 
46144276248SMatthias Ringwald /**
46244276248SMatthias Ringwald  * @format 1BH2222
46344276248SMatthias Ringwald  * @param address_type
46444276248SMatthias Ringwald  * @param address
46544276248SMatthias Ringwald  * @param handle
46644276248SMatthias Ringwald  * @param psm
46744276248SMatthias Ringwald  * @param local_cid
46844276248SMatthias Ringwald  * @param remote_cid
46944276248SMatthias Ringwald  * @param remote_mtu
47044276248SMatthias Ringwald  */
47144276248SMatthias Ringwald #define L2CAP_EVENT_LE_INCOMING_CONNECTION                 0x79
47244276248SMatthias Ringwald 
47344276248SMatthias Ringwald /**
47412242deaSMatthias Ringwald  * @format 11BH122222
47544276248SMatthias Ringwald  * @param status
47644276248SMatthias Ringwald  * @param address_type
47744276248SMatthias Ringwald  * @param address
47844276248SMatthias Ringwald  * @param handle
47912242deaSMatthias Ringwald  * @param incoming
48044276248SMatthias Ringwald  * @param psm
48144276248SMatthias Ringwald  * @param local_cid
48244276248SMatthias Ringwald  * @param remote_cid
48344276248SMatthias Ringwald  * @param local_mtu
48444276248SMatthias Ringwald  * @param remote_mtu
48544276248SMatthias Ringwald  */
48644276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_OPENED                      0x7a
48744276248SMatthias Ringwald 
48844276248SMatthias Ringwald /*
48944276248SMatthias Ringwald  * @format 2
49044276248SMatthias Ringwald  * @param local_cid
49144276248SMatthias Ringwald  */
49244276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_CLOSED                      0x7b
49344276248SMatthias Ringwald 
49444276248SMatthias Ringwald /*
49544276248SMatthias Ringwald  * @format 2
49644276248SMatthias Ringwald  * @param local_cid
49744276248SMatthias Ringwald  */
49844276248SMatthias Ringwald #define L2CAP_EVENT_LE_CAN_SEND_NOW                        0x7c
49944276248SMatthias Ringwald 
50044276248SMatthias Ringwald /*
50144276248SMatthias Ringwald  * @format 2
50244276248SMatthias Ringwald  * @param local_cid
50344276248SMatthias Ringwald  */
50444276248SMatthias Ringwald #define L2CAP_EVENT_LE_PACKET_SENT                         0x7d
50544276248SMatthias Ringwald 
50644276248SMatthias Ringwald 
507941b3855SMatthias Ringwald // RFCOMM EVENTS
508b072ba33SMatthias Ringwald 
509941b3855SMatthias Ringwald /**
510bab5f4f0SMatthias Ringwald  * @format 1B21221
511941b3855SMatthias Ringwald  * @param status
512941b3855SMatthias Ringwald  * @param bd_addr
513941b3855SMatthias Ringwald  * @param con_handle
514941b3855SMatthias Ringwald  * @param server_channel
515941b3855SMatthias Ringwald  * @param rfcomm_cid
516941b3855SMatthias Ringwald  * @param max_frame_size
517bab5f4f0SMatthias Ringwald  * @param incoming
518941b3855SMatthias Ringwald  */
519f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED                        0x80
520941b3855SMatthias Ringwald 
521941b3855SMatthias Ringwald /**
522941b3855SMatthias Ringwald  * @format 2
523941b3855SMatthias Ringwald  * @param rfcomm_cid
524941b3855SMatthias Ringwald  */
525941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED                        0x81
526941b3855SMatthias Ringwald 
527941b3855SMatthias Ringwald /**
528941b3855SMatthias Ringwald  * @format B12
529941b3855SMatthias Ringwald  * @param bd_addr
530941b3855SMatthias Ringwald  * @param server_channel
531941b3855SMatthias Ringwald  * @param rfcomm_cid
532941b3855SMatthias Ringwald  */
533941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION                   0x82
534941b3855SMatthias Ringwald 
535941b3855SMatthias Ringwald /**
536941b3855SMatthias Ringwald  * @format 21
537941b3855SMatthias Ringwald  * @param rfcomm_cid
538941b3855SMatthias Ringwald  * @param line_status
539941b3855SMatthias Ringwald  */
540941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS                    0x83
541941b3855SMatthias Ringwald 
542941b3855SMatthias Ringwald /**
543941b3855SMatthias Ringwald  * @format 21
544941b3855SMatthias Ringwald  * @param rfcomm_cid
545941b3855SMatthias Ringwald  * @param modem_status
546941b3855SMatthias Ringwald  */
547941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS                   0x87
548941b3855SMatthias Ringwald 
549941b3855SMatthias Ringwald  /**
5507bd8e93bSMatthias Ringwald   * TODO: format for variable data 2?
551045013feSMatthias Ringwald   * param rfcomm_cid
552045013feSMatthias Ringwald   * param rpn_data
553941b3855SMatthias Ringwald   */
554941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION                    0x88
555941b3855SMatthias Ringwald 
556941b3855SMatthias Ringwald /**
557b072ba33SMatthias Ringwald  * @format 2
55862c468cbSMatthias Ringwald  * @param rfcomm_cid
559b072ba33SMatthias Ringwald  */
560b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW                          0x89
561b072ba33SMatthias Ringwald 
562b072ba33SMatthias Ringwald 
563b072ba33SMatthias Ringwald /**
564941b3855SMatthias Ringwald  * @format 1
565941b3855SMatthias Ringwald  * @param status
566941b3855SMatthias Ringwald  */
5675611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE                                 0x91
568941b3855SMatthias Ringwald 
569941b3855SMatthias Ringwald /**
570941b3855SMatthias Ringwald  * @format 1T
571941b3855SMatthias Ringwald  * @param rfcomm_channel
572941b3855SMatthias Ringwald  * @param name
573941b3855SMatthias Ringwald  */
5745611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE                           0x92
575941b3855SMatthias Ringwald 
576941b3855SMatthias Ringwald /**
5774225393cSMatthias Ringwald  * @format 22221
5784225393cSMatthias Ringwald  * @param record_id
579941b3855SMatthias Ringwald  * @param attribute_id
5804225393cSMatthias Ringwald  * @param attribute_length
5814225393cSMatthias Ringwald  * @param data_offset
5824225393cSMatthias Ringwald  * @param data
583941b3855SMatthias Ringwald  */
5845611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE                           0x93
585941b3855SMatthias Ringwald 
5864de250b4SMatthias Ringwald /**
5874de250b4SMatthias Ringwald  * @format 22LV
5884de250b4SMatthias Ringwald  * @param record_id
5894de250b4SMatthias Ringwald  * @param attribute_id
5904de250b4SMatthias Ringwald  * @param attribute_length
5914de250b4SMatthias Ringwald  * @param attribute_value
5924de250b4SMatthias Ringwald  */
5935611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE                          0x94
5944225393cSMatthias Ringwald 
5954225393cSMatthias Ringwald /**
5964225393cSMatthias Ringwald  * @format 224
5974225393cSMatthias Ringwald  * @param total_count
5984225393cSMatthias Ringwald  * @param record_index
5994225393cSMatthias Ringwald  * @param record_handle
6004225393cSMatthias Ringwald  * @note Not provided by daemon, only used for internal testing
6014225393cSMatthias Ringwald  */
6025611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE                    0x95
603941b3855SMatthias Ringwald 
604941b3855SMatthias Ringwald /**
605941b3855SMatthias Ringwald  * @format H1
606941b3855SMatthias Ringwald  * @param handle
607941b3855SMatthias Ringwald  * @param status
608941b3855SMatthias Ringwald  */
6095611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE                                0xA0
610941b3855SMatthias Ringwald 
611941b3855SMatthias Ringwald /**
612941b3855SMatthias Ringwald  * @format HX
613941b3855SMatthias Ringwald  * @param handle
614941b3855SMatthias Ringwald  * @param service
615941b3855SMatthias Ringwald  */
6165611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT                          0xA1
617941b3855SMatthias Ringwald 
618941b3855SMatthias Ringwald /**
619941b3855SMatthias Ringwald  * @format HY
620941b3855SMatthias Ringwald  * @param handle
621941b3855SMatthias Ringwald  * @param characteristic
622941b3855SMatthias Ringwald  */
6235611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT                   0xA2
624941b3855SMatthias Ringwald 
625941b3855SMatthias Ringwald /**
626941b3855SMatthias Ringwald  * @format H2X
627941b3855SMatthias Ringwald  * @param handle
628941b3855SMatthias Ringwald  * @param include_handle
629941b3855SMatthias Ringwald  * @param service
630941b3855SMatthias Ringwald  */
6315611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT                 0xA3
632941b3855SMatthias Ringwald 
633941b3855SMatthias Ringwald /**
634941b3855SMatthias Ringwald  * @format HZ
635941b3855SMatthias Ringwald  * @param handle
636941b3855SMatthias Ringwald  * @param characteristic_descriptor
637941b3855SMatthias Ringwald  */
6385611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT   0xA4
639941b3855SMatthias Ringwald 
640941b3855SMatthias Ringwald /**
641941b3855SMatthias Ringwald  * @format H2LV
642941b3855SMatthias Ringwald  * @param handle
643941b3855SMatthias Ringwald  * @param value_handle
644941b3855SMatthias Ringwald  * @param value_length
645941b3855SMatthias Ringwald  * @param value
646941b3855SMatthias Ringwald  */
6475611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT             0xA5
648941b3855SMatthias Ringwald 
649941b3855SMatthias Ringwald /**
650941b3855SMatthias Ringwald  * @format H22LV
651941b3855SMatthias Ringwald  * @param handle
652941b3855SMatthias Ringwald  * @param value_handle
653941b3855SMatthias Ringwald  * @param value_offset
654941b3855SMatthias Ringwald  * @param value_length
655941b3855SMatthias Ringwald  * @param value
656941b3855SMatthias Ringwald  */
6575611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT        0xA6
658941b3855SMatthias Ringwald 
659941b3855SMatthias Ringwald /**
660941b3855SMatthias Ringwald  * @format H2LV
661941b3855SMatthias Ringwald  * @param handle
662941b3855SMatthias Ringwald  * @param value_handle
663941b3855SMatthias Ringwald  * @param value_length
664941b3855SMatthias Ringwald  * @param value
665941b3855SMatthias Ringwald  */
6665611a760SMatthias Ringwald #define GATT_EVENT_NOTIFICATION                                  0xA7
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_INDICATION                                    0xA8
676941b3855SMatthias Ringwald 
677941b3855SMatthias Ringwald /**
678941b3855SMatthias Ringwald  * @format H2LV
6792c737695SMatthias Ringwald  * @param handle
680941b3855SMatthias Ringwald  * @param descriptor_handle
681941b3855SMatthias Ringwald  * @param descriptor_length
682941b3855SMatthias Ringwald  * @param descriptor
683941b3855SMatthias Ringwald  */
6845611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT        0xA9
685941b3855SMatthias Ringwald 
686941b3855SMatthias Ringwald /**
687941b3855SMatthias Ringwald  * @format H2LV
688941b3855SMatthias Ringwald  * @param handle
689941b3855SMatthias Ringwald  * @param descriptor_offset
690941b3855SMatthias Ringwald  * @param descriptor_length
691941b3855SMatthias Ringwald  * @param descriptor
692941b3855SMatthias Ringwald  */
6935611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT   0xAA
694941b3855SMatthias Ringwald 
695941b3855SMatthias Ringwald /**
696941b3855SMatthias Ringwald  * @format H2
697941b3855SMatthias Ringwald  * @param handle
698941b3855SMatthias Ringwald  * @param MTU
699941b3855SMatthias Ringwald  */
7005611a760SMatthias Ringwald #define GATT_EVENT_MTU                                           0xAB
701941b3855SMatthias Ringwald 
702941b3855SMatthias Ringwald /**
703941b3855SMatthias Ringwald  * @format H2
704941b3855SMatthias Ringwald  * @param handle
705941b3855SMatthias Ringwald  * @param MTU
706941b3855SMatthias Ringwald  */
7075611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE                          0xB5
708941b3855SMatthias Ringwald 
70949d18261SMatthias Ringwald  /**
71049d18261SMatthias Ringwald   * @format 1H2
71149d18261SMatthias Ringwald   * @param status
71249d18261SMatthias Ringwald   * @param conn_handle
71349d18261SMatthias Ringwald   * @param attribute_handle
71449d18261SMatthias Ringwald   */
7155611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE               0xB6
716941b3855SMatthias Ringwald 
71749d18261SMatthias Ringwald /**
71849d18261SMatthias Ringwald  * @format
71949d18261SMatthias Ringwald  */
72049d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW                                   0xB7
721941b3855SMatthias Ringwald 
72249d18261SMatthias Ringwald // TODO: daemon only event
72349d18261SMatthias Ringwald 
72449d18261SMatthias Ringwald /**
72549d18261SMatthias Ringwald  * @format 12
72649d18261SMatthias Ringwald  * @param status
72749d18261SMatthias Ringwald  * @param service_uuid
72849d18261SMatthias Ringwald  */
729941b3855SMatthias Ringwald  #define BNEP_EVENT_SERVICE_REGISTERED                      0xC0
730941b3855SMatthias Ringwald 
73149d18261SMatthias Ringwald /**
732423c667cSMatthias Ringwald  * @format 12222B
73349d18261SMatthias Ringwald  * @param status
734423c667cSMatthias Ringwald  * @param bnep_cid
73549d18261SMatthias Ringwald  * @param source_uuid
73649d18261SMatthias Ringwald  * @param destination_uuid
73749d18261SMatthias Ringwald  * @param mtu
73849d18261SMatthias Ringwald  * @param remote_address
73949d18261SMatthias Ringwald  */
740423c667cSMatthias Ringwald  #define BNEP_EVENT_CHANNEL_OPENED                   0xC1
741941b3855SMatthias Ringwald 
74249d18261SMatthias Ringwald /**
743423c667cSMatthias Ringwald  * @format 222B
744423c667cSMatthias Ringwald  * @param bnep_cid
74549d18261SMatthias Ringwald  * @param source_uuid
74649d18261SMatthias Ringwald  * @param destination_uuid
74749d18261SMatthias Ringwald  * @param remote_address
74849d18261SMatthias Ringwald  */
749941b3855SMatthias Ringwald  #define BNEP_EVENT_CHANNEL_CLOSED                          0xC2
750941b3855SMatthias Ringwald 
75149d18261SMatthias Ringwald /**
752423c667cSMatthias Ringwald  * @format 222B1
753423c667cSMatthias Ringwald  * @param bnep_cid
75449d18261SMatthias Ringwald  * @param source_uuid
75549d18261SMatthias Ringwald  * @param destination_uuid
75649d18261SMatthias Ringwald  * @param remote_address
75749d18261SMatthias Ringwald  * @param channel_state
75849d18261SMatthias Ringwald  */
759941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT                         0xC3
760941b3855SMatthias Ringwald 
76149d18261SMatthias Ringwald /**
762423c667cSMatthias Ringwald  * @format 222B
763423c667cSMatthias Ringwald  * @param bnep_cid
76449d18261SMatthias Ringwald  * @param source_uuid
76549d18261SMatthias Ringwald  * @param destination_uuid
76649d18261SMatthias Ringwald  * @param remote_address
76749d18261SMatthias Ringwald  */
7682d4c8c04SMatthias Ringwald  #define BNEP_EVENT_CAN_SEND_NOW                           0xC4
769941b3855SMatthias Ringwald 
770941b3855SMatthias Ringwald  /**
771941b3855SMatthias Ringwald   * @format H1B
772941b3855SMatthias Ringwald   * @param handle
773941b3855SMatthias Ringwald   * @param addr_type
774941b3855SMatthias Ringwald   * @param address
775941b3855SMatthias Ringwald   */
7765611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST                              0xD0
777941b3855SMatthias Ringwald 
778941b3855SMatthias Ringwald  /**
779941b3855SMatthias Ringwald   * @format H1B
780941b3855SMatthias Ringwald   * @param handle
781941b3855SMatthias Ringwald   * @param addr_type
782941b3855SMatthias Ringwald   * @param address
783941b3855SMatthias Ringwald   */
7845611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL                               0xD1
785941b3855SMatthias Ringwald 
786941b3855SMatthias Ringwald  /**
787941b3855SMatthias Ringwald   * @format H1B4
788941b3855SMatthias Ringwald   * @param handle
789941b3855SMatthias Ringwald   * @param addr_type
790941b3855SMatthias Ringwald   * @param address
791941b3855SMatthias Ringwald   * @param passkey
792941b3855SMatthias Ringwald   */
7935611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER                          0xD2
794941b3855SMatthias Ringwald 
795941b3855SMatthias Ringwald  /**
796941b3855SMatthias Ringwald   * @format H1B
797941b3855SMatthias Ringwald   * @param handle
798941b3855SMatthias Ringwald   * @param addr_type
799941b3855SMatthias Ringwald   * @param address
800941b3855SMatthias Ringwald   */
8015611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL                          0xD3
802941b3855SMatthias Ringwald 
803941b3855SMatthias Ringwald  /**
8042c737695SMatthias Ringwald   * @format H1B
805941b3855SMatthias Ringwald   * @param handle
806941b3855SMatthias Ringwald   * @param addr_type
807941b3855SMatthias Ringwald   * @param address
808941b3855SMatthias Ringwald   */
8095611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER                            0xD4
810941b3855SMatthias Ringwald 
811941b3855SMatthias Ringwald  /**
812941b3855SMatthias Ringwald   * @format H1B
813941b3855SMatthias Ringwald   * @param handle
814941b3855SMatthias Ringwald   * @param addr_type
815941b3855SMatthias Ringwald   * @param address
816941b3855SMatthias Ringwald   */
8175611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL                            0xD5
818941b3855SMatthias Ringwald 
819941b3855SMatthias Ringwald  /**
8208362d86aSMatthias Ringwald   * @format H1B4
8218362d86aSMatthias Ringwald   * @param handle
8228362d86aSMatthias Ringwald   * @param addr_type
8238362d86aSMatthias Ringwald   * @param address
8248362d86aSMatthias Ringwald   * @param passkey
8258362d86aSMatthias Ringwald   */
8268362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST                      0xD6
8278362d86aSMatthias Ringwald 
8288362d86aSMatthias Ringwald  /**
8292c737695SMatthias Ringwald   * @format H1B
830941b3855SMatthias Ringwald   * @param handle
831941b3855SMatthias Ringwald   * @param addr_type
832941b3855SMatthias Ringwald   * @param address
833941b3855SMatthias Ringwald   */
8348362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL                       0xD7
835941b3855SMatthias Ringwald 
836941b3855SMatthias Ringwald  /**
837941b3855SMatthias Ringwald   * @format H1B
838941b3855SMatthias Ringwald   * @param handle
839941b3855SMatthias Ringwald   * @param addr_type
840941b3855SMatthias Ringwald   * @param address
841941b3855SMatthias Ringwald   */
8428362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED                      0xD8
8438362d86aSMatthias Ringwald 
8448362d86aSMatthias Ringwald  /**
8458362d86aSMatthias Ringwald   * @format H1B
8468362d86aSMatthias Ringwald   * @param handle
8478362d86aSMatthias Ringwald   * @param addr_type
8488362d86aSMatthias Ringwald   * @param address
8498362d86aSMatthias Ringwald   */
8508362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED                       0xD9
851941b3855SMatthias Ringwald 
852941b3855SMatthias Ringwald  /**
85384182ed9SMatthias Ringwald   * @brief Identify resolving succeeded
85484182ed9SMatthias Ringwald   *
855334126b3SMatthias Ringwald   * @format H1B1B2
856941b3855SMatthias Ringwald   * @param handle
857941b3855SMatthias Ringwald   * @param addr_type
858941b3855SMatthias Ringwald   * @param address
85984182ed9SMatthias Ringwald   * @param identity_addr_type
86084182ed9SMatthias Ringwald   * @param identity_address
861334126b3SMatthias Ringwald   * @param index_internal
86284182ed9SMatthias Ringwald   *
863941b3855SMatthias Ringwald   */
8648362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED                    0xDA
865941b3855SMatthias Ringwald 
866941b3855SMatthias Ringwald  /**
867941b3855SMatthias Ringwald   * @format H1B
868941b3855SMatthias Ringwald   * @param handle
869941b3855SMatthias Ringwald   * @param addr_type
870941b3855SMatthias Ringwald   * @param address
871941b3855SMatthias Ringwald   */
8728362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST                           0xDB
873941b3855SMatthias Ringwald 
874941b3855SMatthias Ringwald  /**
875941b3855SMatthias Ringwald   * @format H1B1
876941b3855SMatthias Ringwald   * @param handle
877941b3855SMatthias Ringwald   * @param addr_type
878941b3855SMatthias Ringwald   * @param address
879941b3855SMatthias Ringwald   * @param authorization_result
880941b3855SMatthias Ringwald   */
8818362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT                            0xDC
882941b3855SMatthias Ringwald 
8833d7fe1e9SMatthias Ringwald  /**
8843d7fe1e9SMatthias Ringwald   * @format H1
8853d7fe1e9SMatthias Ringwald   * @param handle
8863d7fe1e9SMatthias Ringwald   * @param action see SM_KEYPRESS_*
8873d7fe1e9SMatthias Ringwald   */
8883d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION                           0xDD
8893d7fe1e9SMatthias Ringwald 
89084182ed9SMatthias Ringwald  /**
89184182ed9SMatthias Ringwald   * @brief Emitted during pairing to inform app about address used as identity
89284182ed9SMatthias Ringwald   *
89384182ed9SMatthias Ringwald   * @format H1B1B
89484182ed9SMatthias Ringwald   * @param handle
89584182ed9SMatthias Ringwald   * @param addr_type
89684182ed9SMatthias Ringwald   * @param address
89784182ed9SMatthias Ringwald   * @param identity_addr_type
89884182ed9SMatthias Ringwald   * @param identity_address
89984182ed9SMatthias Ringwald   */
90084182ed9SMatthias Ringwald #define SM_EVENT_IDENTITY_CREATED                                0xDE
9013d7fe1e9SMatthias Ringwald 
902941b3855SMatthias Ringwald // GAP
903941b3855SMatthias Ringwald 
90446bc5396SMilanka Ringwald /**
90546bc5396SMilanka Ringwald  * @format H1
90646bc5396SMilanka Ringwald  * @param handle
90746bc5396SMilanka Ringwald  * @param security_level
90846bc5396SMilanka Ringwald  */
9095611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL                                 0xE0
910941b3855SMatthias Ringwald 
91146bc5396SMilanka Ringwald /**
91246bc5396SMilanka Ringwald  * @format 1B
91346bc5396SMilanka Ringwald  * @param status
91446bc5396SMilanka Ringwald  * @param address
91546bc5396SMilanka Ringwald  */
9165611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED                    0xE1
917941b3855SMatthias Ringwald 
918941b3855SMatthias Ringwald /**
919941b3855SMatthias Ringwald  * @format 11B1JV
920941b3855SMatthias Ringwald  * @param advertising_event_type
921941b3855SMatthias Ringwald  * @param address_type
922941b3855SMatthias Ringwald  * @param address
923941b3855SMatthias Ringwald  * @param rssi
924941b3855SMatthias Ringwald  * @param data_length
925941b3855SMatthias Ringwald  * @param data
926941b3855SMatthias Ringwald  */
927045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT                          0xE2
928941b3855SMatthias Ringwald 
929827b1c43SMatthias Ringwald 
930e10ce426SMatthias Ringwald // Meta Events, see below for sub events
931941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META                                 0xE8
93239d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META                                 0xE9
933e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META                                0xEA
934beaf082cSMatthias Ringwald #define HCI_EVENT_AVDTP_META                               0xEB
935decc740cSMilanka Ringwald #define HCI_EVENT_AVRCP_META                               0xEC
936f1b34e8dSMatthias Ringwald #define HCI_EVENT_GOEP_META                                0xED
937f1b34e8dSMatthias Ringwald #define HCI_EVENT_PBAP_META                                0xEE
938*dd148ddbSMatthias Ringwald #define HCI_EVENT_HID_META                                 0xEF
93939d235cbSMatthias Ringwald 
940e10ce426SMatthias Ringwald // Potential other meta groups
941e10ce426SMatthias Ringwald  // #define HCI_EVENT_BNEP_META                                0xxx
942e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META                                 0xxx
943e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META                                0xxx
944e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META                                 0xxx
945e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META                                 0xxx
946e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META                                  0xxx
94739d235cbSMatthias Ringwald 
948d63c37a1SMatthias Ringwald 
949d63c37a1SMatthias Ringwald /** HSP Subevent */
950d63c37a1SMatthias Ringwald 
951827b1c43SMatthias Ringwald /**
95299a10067SMatthias Ringwald  * @format 11
953827b1c43SMatthias Ringwald  * @param subevent_code
954827b1c43SMatthias Ringwald  * @param status 0 == OK
955827b1c43SMatthias Ringwald  */
95699a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE             0x01
95799a10067SMatthias Ringwald 
95899a10067SMatthias Ringwald /**
95999a10067SMatthias Ringwald  * @format 11
96099a10067SMatthias Ringwald  * @param subevent_code
96199a10067SMatthias Ringwald  * @param status 0 == OK
96299a10067SMatthias Ringwald  */
96399a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE           0x02
96499a10067SMatthias Ringwald 
96599a10067SMatthias Ringwald 
96699a10067SMatthias Ringwald /**
96762c468cbSMatthias Ringwald  * @format 11H
96899a10067SMatthias Ringwald  * @param subevent_code
96999a10067SMatthias Ringwald  * @param status 0 == OK
97062c468cbSMatthias Ringwald  * @param handle
97199a10067SMatthias Ringwald  */
97299a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE             0x03
973827b1c43SMatthias Ringwald 
974827b1c43SMatthias Ringwald /**
975827b1c43SMatthias Ringwald  * @format 11
976827b1c43SMatthias Ringwald  * @param subevent_code
977827b1c43SMatthias Ringwald  * @param status 0 == OK
978827b1c43SMatthias Ringwald  */
97999a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE          0x04
980827b1c43SMatthias Ringwald 
981827b1c43SMatthias Ringwald /**
982827b1c43SMatthias Ringwald  * @format 1
983827b1c43SMatthias Ringwald  * @param subevent_code
984827b1c43SMatthias Ringwald  */
98599a10067SMatthias Ringwald #define HSP_SUBEVENT_RING                                  0x05
986827b1c43SMatthias Ringwald 
987827b1c43SMatthias Ringwald /**
988827b1c43SMatthias Ringwald  * @format 11
989827b1c43SMatthias Ringwald  * @param subevent_code
990827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
991827b1c43SMatthias Ringwald  */
99299a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED               0x06
993827b1c43SMatthias Ringwald 
994827b1c43SMatthias Ringwald /**
995827b1c43SMatthias Ringwald  * @format 11
996827b1c43SMatthias Ringwald  * @param subevent_code
997827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
998827b1c43SMatthias Ringwald  */
99999a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED                  0x07
1000827b1c43SMatthias Ringwald 
1001827b1c43SMatthias Ringwald /**
1002827b1c43SMatthias Ringwald  * @format 1JV
1003827b1c43SMatthias Ringwald  * @param subevent_code
1004827b1c43SMatthias Ringwald  * @param value_length
1005827b1c43SMatthias Ringwald  * @param value
1006827b1c43SMatthias Ringwald  */
100799a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND                            0x08
1008827b1c43SMatthias Ringwald 
1009827b1c43SMatthias Ringwald /**
1010827b1c43SMatthias Ringwald  * @format 1JV
1011827b1c43SMatthias Ringwald  * @param subevent_code
1012827b1c43SMatthias Ringwald  * @param value_length
1013827b1c43SMatthias Ringwald  * @param value
1014827b1c43SMatthias Ringwald  */
101599a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION                         0x09
1016827b1c43SMatthias Ringwald 
1017941b3855SMatthias Ringwald 
1018d63c37a1SMatthias Ringwald /** HFP Subevent */
1019941b3855SMatthias Ringwald 
1020d63c37a1SMatthias Ringwald /**
1021a23045e2SMilanka Ringwald  * @format 11HB
1022d63c37a1SMatthias Ringwald  * @param subevent_code
1023d63c37a1SMatthias Ringwald  * @param status 0 == OK
1024a0653c3bSMilanka Ringwald  * @param con_handle
10256a7f44bdSMilanka Ringwald  * @param bd_addr
1026d63c37a1SMatthias Ringwald  */
1027941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED  0x01
1028d63c37a1SMatthias Ringwald 
1029d63c37a1SMatthias Ringwald /**
1030d63c37a1SMatthias Ringwald  * @format 1
1031d63c37a1SMatthias Ringwald  * @param subevent_code
1032d63c37a1SMatthias Ringwald  */
1033941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED     0x02
1034d63c37a1SMatthias Ringwald 
1035d63c37a1SMatthias Ringwald /**
1036a23045e2SMilanka Ringwald  * @format 11HB1
1037d63c37a1SMatthias Ringwald  * @param subevent_code
1038d63c37a1SMatthias Ringwald  * @param status 0 == OK
10396ff51cfdSMatthias Ringwald  * @param handle
10406a7f44bdSMilanka Ringwald  * @param bd_addr
1041d0c4aea6SMilanka Ringwald  * @param negotiated_codec
1042d63c37a1SMatthias Ringwald  */
1043941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED          0x03
1044d63c37a1SMatthias Ringwald 
1045d63c37a1SMatthias Ringwald /**
1046d63c37a1SMatthias Ringwald  * @format 1
1047d63c37a1SMatthias Ringwald  * @param subevent_code
1048d63c37a1SMatthias Ringwald  */
1049941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED             0x04
1050d63c37a1SMatthias Ringwald 
1051d63c37a1SMatthias Ringwald /**
1052d63c37a1SMatthias Ringwald  * @format 11
1053d63c37a1SMatthias Ringwald  * @param subevent_code
1054d63c37a1SMatthias Ringwald  * @param status 0 == OK
1055d63c37a1SMatthias Ringwald  */
1056941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE                              0x05
1057d63c37a1SMatthias Ringwald 
1058d63c37a1SMatthias Ringwald /**
1059d63c37a1SMatthias Ringwald  * @format 111T
1060d63c37a1SMatthias Ringwald  * @param subevent_code
1061d63c37a1SMatthias Ringwald  * @param indicator_index
1062d63c37a1SMatthias Ringwald  * @param indicator_status
1063d63c37a1SMatthias Ringwald  * @param indicator_name
1064d63c37a1SMatthias Ringwald  */
1065941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED           0x06
1066d63c37a1SMatthias Ringwald 
1067d63c37a1SMatthias Ringwald /**
10682c737695SMatthias Ringwald  * @format 111T
1069d63c37a1SMatthias Ringwald  * @param subevent_code
1070d63c37a1SMatthias Ringwald  * @param network_operator_mode
1071d63c37a1SMatthias Ringwald  * @param network_operator_format
1072d63c37a1SMatthias Ringwald  * @param network_operator_name
1073d63c37a1SMatthias Ringwald  */
1074941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED              0x07
1075d63c37a1SMatthias Ringwald 
1076d63c37a1SMatthias Ringwald /**
1077d63c37a1SMatthias Ringwald  * @format 11
1078d63c37a1SMatthias Ringwald  * @param subevent_code
1079d63c37a1SMatthias Ringwald  * @param error
1080d63c37a1SMatthias Ringwald  */
1081941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR             0x08
1082d63c37a1SMatthias Ringwald 
1083d63c37a1SMatthias Ringwald /**
1084d63c37a1SMatthias Ringwald  * @format 1
1085d63c37a1SMatthias Ringwald  * @param subevent_code
1086d63c37a1SMatthias Ringwald  */
1087aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG                           0x0A
1088d63c37a1SMatthias Ringwald 
1089d63c37a1SMatthias Ringwald /**
1090d63c37a1SMatthias Ringwald  * @format 1
1091d63c37a1SMatthias Ringwald  * @param subevent_code
1092d63c37a1SMatthias Ringwald  */
1093aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG                            0x0B
1094d63c37a1SMatthias Ringwald 
1095d63c37a1SMatthias Ringwald /**
1096d63c37a1SMatthias Ringwald  * @format 1
1097d63c37a1SMatthias Ringwald  * @param subevent_code
1098d63c37a1SMatthias Ringwald  */
1099aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED                          0x0C
1100d63c37a1SMatthias Ringwald 
1101d63c37a1SMatthias Ringwald /**
1102d63c37a1SMatthias Ringwald  * @format 1T
1103d63c37a1SMatthias Ringwald  * @param subevent_code
1104d63c37a1SMatthias Ringwald  * @param number
1105d63c37a1SMatthias Ringwald  */
1106aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER                   0x0D
1107d63c37a1SMatthias Ringwald 
1108d63c37a1SMatthias Ringwald /**
1109d63c37a1SMatthias Ringwald  * @format 1
1110d63c37a1SMatthias Ringwald  * @param subevent_code
1111d63c37a1SMatthias Ringwald  */
1112d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG               0x0E
1113d63c37a1SMatthias Ringwald 
1114d63c37a1SMatthias Ringwald /**
1115d63c37a1SMatthias Ringwald  * @format 1T
1116d63c37a1SMatthias Ringwald  * @param subevent_code
1117d63c37a1SMatthias Ringwald  * @param number
1118d63c37a1SMatthias Ringwald  */
1119d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG                     0x0F
1120d63c37a1SMatthias Ringwald 
1121d63c37a1SMatthias Ringwald /**
1122d63c37a1SMatthias Ringwald  * @format 1T
1123d63c37a1SMatthias Ringwald  * @param subevent_code
1124d63c37a1SMatthias Ringwald  * @param dtmf code
1125d63c37a1SMatthias Ringwald  */
1126d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES                      0x10
1127d63c37a1SMatthias Ringwald 
1128d63c37a1SMatthias Ringwald /**
1129d63c37a1SMatthias Ringwald  * @format 1
1130d63c37a1SMatthias Ringwald  * @param subevent_code
1131d63c37a1SMatthias Ringwald  */
1132d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_CALL_ANSWERED                            0x11
1133d63c37a1SMatthias Ringwald 
1134d63c37a1SMatthias Ringwald /**
1135d63c37a1SMatthias Ringwald  * @format 1
1136d63c37a1SMatthias Ringwald  * @param subevent_code
1137d63c37a1SMatthias Ringwald  */
1138d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL                          0x12
1139d63c37a1SMatthias Ringwald 
1140d63c37a1SMatthias Ringwald /**
1141d63c37a1SMatthias Ringwald  * @format 1
1142d63c37a1SMatthias Ringwald  * @param subevent_code
1143d63c37a1SMatthias Ringwald  */
1144d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING                                     0x13
1145d63c37a1SMatthias Ringwald 
1146d63c37a1SMatthias Ringwald /**
1147d63c37a1SMatthias Ringwald  * @format 111
1148d63c37a1SMatthias Ringwald  * @param subevent_code
1149d63c37a1SMatthias Ringwald  * @param status
1150d63c37a1SMatthias Ringwald  * @param gain
1151d63c37a1SMatthias Ringwald  */
1152d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SPEAKER_VOLUME                           0x14
1153d63c37a1SMatthias Ringwald 
1154d63c37a1SMatthias Ringwald /**
1155d63c37a1SMatthias Ringwald  * @format 111
1156d63c37a1SMatthias Ringwald  * @param subevent_code
1157d63c37a1SMatthias Ringwald  * @param status
1158d63c37a1SMatthias Ringwald  * @param gain
1159d63c37a1SMatthias Ringwald  */
1160d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME                        0x15
1161d63c37a1SMatthias Ringwald 
1162d63c37a1SMatthias Ringwald /**
1163d63c37a1SMatthias Ringwald  * @format 11T
1164d63c37a1SMatthias Ringwald  * @param subevent_code
1165d63c37a1SMatthias Ringwald  * @param type
1166d63c37a1SMatthias Ringwald  * @param number
1167d63c37a1SMatthias Ringwald  */
1168d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION                0x16
1169d63c37a1SMatthias Ringwald 
1170d63c37a1SMatthias Ringwald /**
1171d63c37a1SMatthias Ringwald  * @format 11T
1172d63c37a1SMatthias Ringwald  * @param subevent_code
1173d63c37a1SMatthias Ringwald  * @param type
1174d63c37a1SMatthias Ringwald  * @param number
1175d63c37a1SMatthias Ringwald  */
1176d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALLING_LINE_INDETIFICATION_NOTIFICATION 0x17
1177d63c37a1SMatthias Ringwald 
1178d63c37a1SMatthias Ringwald /**
1179d63c37a1SMatthias Ringwald  * @format 111111T
1180d63c37a1SMatthias Ringwald  * @param subevent_code
1181d63c37a1SMatthias Ringwald  * @param clcc_idx
1182d63c37a1SMatthias Ringwald  * @param clcc_dir
1183d63c37a1SMatthias Ringwald  * @param clcc_status
1184d63c37a1SMatthias Ringwald  * @param clcc_mpty
1185d63c37a1SMatthias Ringwald  * @param bnip_type
1186d63c37a1SMatthias Ringwald  * @param bnip_number
1187d63c37a1SMatthias Ringwald  */
1188d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS                     0x18
1189d63c37a1SMatthias Ringwald 
1190d63c37a1SMatthias Ringwald /**
1191d63c37a1SMatthias Ringwald  * @format 111T
1192d63c37a1SMatthias Ringwald  * @param subevent_code
1193d63c37a1SMatthias Ringwald  * @param status
1194d63c37a1SMatthias Ringwald  * @param bnip_type
1195d63c37a1SMatthias Ringwald  * @param bnip_number
1196d63c37a1SMatthias Ringwald  */
1197d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION            0x19
1198d63c37a1SMatthias Ringwald 
1199d63c37a1SMatthias Ringwald /**
1200d63c37a1SMatthias Ringwald  * @format 1T
1201d63c37a1SMatthias Ringwald  * @param subevent_code
1202d63c37a1SMatthias Ringwald  * @param value
1203d63c37a1SMatthias Ringwald  */
1204d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS                 0x1A
1205941b3855SMatthias Ringwald 
1206941b3855SMatthias Ringwald // ANCS Client
1207a4815874SMatthias Ringwald 
1208a4815874SMatthias Ringwald /**
1209e10ce426SMatthias Ringwald  * @format 1H
1210e10ce426SMatthias Ringwald  * @param subevent_code
1211a4815874SMatthias Ringwald  * @param handle
1212a4815874SMatthias Ringwald  */
1213e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED                              0xF0
1214a4815874SMatthias Ringwald 
1215a4815874SMatthias Ringwald /**
1216e10ce426SMatthias Ringwald  * @format 1H2T
1217e10ce426SMatthias Ringwald  * @param subevent_code
1218a4815874SMatthias Ringwald  * @param handle
1219a4815874SMatthias Ringwald  * @param attribute_id
1220a4815874SMatthias Ringwald  * @param text
1221a4815874SMatthias Ringwald  */
1222e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION                           0xF1
1223a4815874SMatthias Ringwald 
1224a4815874SMatthias Ringwald /**
1225e10ce426SMatthias Ringwald  * @format 1H
1226e10ce426SMatthias Ringwald  * @param subevent_code
1227a4815874SMatthias Ringwald  * @param handle
1228a4815874SMatthias Ringwald  */
1229e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED                           0xF2
1230941b3855SMatthias Ringwald 
1231a23045e2SMilanka Ringwald 
1232a23045e2SMilanka Ringwald /** AVDTP Subevent */
1233a23045e2SMilanka Ringwald 
12343338b9aeSMilanka Ringwald /**
12352c737695SMatthias Ringwald  * @format 1H11
12362c708e8aSMilanka Ringwald  * @param subevent_code
12372c708e8aSMilanka Ringwald  * @param con_handle
12382c708e8aSMilanka Ringwald  * @param signal_identifier
12392c708e8aSMilanka Ringwald  * @param status 0 == OK
12402c708e8aSMilanka Ringwald  */
12412c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_ACCEPT                     0x01
12422c708e8aSMilanka Ringwald 
12432c708e8aSMilanka Ringwald /**
12442c708e8aSMilanka Ringwald  * @format 1H1
12452c708e8aSMilanka Ringwald  * @param subevent_code
12462c708e8aSMilanka Ringwald  * @param con_handle
12472c708e8aSMilanka Ringwald  * @param signal_identifier
12482c708e8aSMilanka Ringwald  */
12492c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_REJECT                     0x02
12502c708e8aSMilanka Ringwald 
12512c708e8aSMilanka Ringwald /**
12522c708e8aSMilanka Ringwald  * @format 1H1
12532c708e8aSMilanka Ringwald  * @param subevent_code
12542c708e8aSMilanka Ringwald  * @param con_handle
12552c708e8aSMilanka Ringwald  * @param signal_identifier
12562c708e8aSMilanka Ringwald  */
12572c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT             0x03
12582c708e8aSMilanka Ringwald 
12592c708e8aSMilanka Ringwald /**
12603338b9aeSMilanka Ringwald  * @format 1HB1
12613338b9aeSMilanka Ringwald  * @param subevent_code
12623338b9aeSMilanka Ringwald  * @param con_handle
12633338b9aeSMilanka Ringwald  * @param bd_addr
12643338b9aeSMilanka Ringwald  * @param status 0 == OK
12653338b9aeSMilanka Ringwald  */
12662c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED     0x04
1267a23045e2SMilanka Ringwald 
12683338b9aeSMilanka Ringwald /**
126985a0c7cdSMilanka Ringwald  * @format 1H
12703338b9aeSMilanka Ringwald  * @param subevent_code
127185a0c7cdSMilanka Ringwald  * @param con_handle
12723338b9aeSMilanka Ringwald  */
12732c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED        0x05
12743338b9aeSMilanka Ringwald 
12753338b9aeSMilanka Ringwald /**
12763338b9aeSMilanka Ringwald  * @format 1H1111
12773338b9aeSMilanka Ringwald  * @param subevent_code
12783338b9aeSMilanka Ringwald  * @param handle
12793338b9aeSMilanka Ringwald  * @param seid        0x01 – 0x3E
12803338b9aeSMilanka Ringwald  * @param in_use      0-not in use, 1-in use
12813338b9aeSMilanka Ringwald  * @param media_type  0-audio, 1-video, 2-multimedia
12823338b9aeSMilanka Ringwald  * @param sep_type    0-source, 1-sink
12833338b9aeSMilanka Ringwald  */
12842c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND                  0x06
12853338b9aeSMilanka Ringwald 
12863338b9aeSMilanka Ringwald /**
12873338b9aeSMilanka Ringwald  * @format 1H11111111
12883338b9aeSMilanka Ringwald  * @param subevent_code
12893338b9aeSMilanka Ringwald  * @param con_handle
12903338b9aeSMilanka Ringwald  * @param media_type
1291ea7bd529SMilanka Ringwald  * @param sampling_frequency_bitmap
1292ea7bd529SMilanka Ringwald  * @param channel_mode_bitmap
1293ea7bd529SMilanka Ringwald  * @param block_length_bitmap
1294ea7bd529SMilanka Ringwald  * @param subbands_bitmap
1295ea7bd529SMilanka Ringwald  * @param allocation_method_bitmap
12963338b9aeSMilanka Ringwald  * @param min_bitpool_value
12973338b9aeSMilanka Ringwald  * @param max_bitpool_value
12983338b9aeSMilanka Ringwald  */
12992c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY          0x07
13003338b9aeSMilanka Ringwald 
13013338b9aeSMilanka Ringwald /**
13022c737695SMatthias Ringwald  * @format 1H12LV
13033338b9aeSMilanka Ringwald  * @param subevent_code
13043338b9aeSMilanka Ringwald  * @param con_handle
13053338b9aeSMilanka Ringwald  * @param media_type
13063338b9aeSMilanka Ringwald  * @param media_codec_type
13073338b9aeSMilanka Ringwald  * @param media_codec_information_len
13083338b9aeSMilanka Ringwald  * @param media_codec_information
13093338b9aeSMilanka Ringwald  */
13102c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY        0x08
1311a23045e2SMilanka Ringwald 
1312ea7bd529SMilanka Ringwald /**
131360099f8bSMilanka Ringwald  * @format 1H1121111111
1314ea7bd529SMilanka Ringwald  * @param subevent_code
1315ea7bd529SMilanka Ringwald  * @param con_handle
1316ea7bd529SMilanka Ringwald  * @param reconfigure
1317ea7bd529SMilanka Ringwald  * @param media_type
1318ea7bd529SMilanka Ringwald  * @param sampling_frequency
1319ea7bd529SMilanka Ringwald  * @param channel_mode
1320ea7bd529SMilanka Ringwald  * @param num_channels
1321ea7bd529SMilanka Ringwald  * @param block_length
1322ea7bd529SMilanka Ringwald  * @param subbands
1323ea7bd529SMilanka Ringwald  * @param allocation_method
1324ea7bd529SMilanka Ringwald  * @param min_bitpool_value
1325ea7bd529SMilanka Ringwald  * @param max_bitpool_value
1326ea7bd529SMilanka Ringwald  */
13272c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION        0x09
1328ea7bd529SMilanka Ringwald 
1329ea7bd529SMilanka Ringwald /**
13302c737695SMatthias Ringwald  * @format 1H112LV
1331ea7bd529SMilanka Ringwald  * @param subevent_code
1332ea7bd529SMilanka Ringwald  * @param con_handle
1333ea7bd529SMilanka Ringwald  * @param reconfigure
1334ea7bd529SMilanka Ringwald  * @param media_type
1335ea7bd529SMilanka Ringwald  * @param media_codec_type
1336ea7bd529SMilanka Ringwald  * @param media_codec_information_len
1337ea7bd529SMilanka Ringwald  * @param media_codec_information
1338ea7bd529SMilanka Ringwald  */
13392c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION        0x0A
1340decc740cSMilanka Ringwald 
134185a0c7cdSMilanka Ringwald /**
134285a0c7cdSMilanka Ringwald  * @format 1H1
134385a0c7cdSMilanka Ringwald  * @param subevent_code
134485a0c7cdSMilanka Ringwald  * @param con_handle
134585a0c7cdSMilanka Ringwald  * @param status 0 == OK
134685a0c7cdSMilanka Ringwald  */
134785a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED     0x0B
134885a0c7cdSMilanka Ringwald 
134985a0c7cdSMilanka Ringwald /**
135085a0c7cdSMilanka Ringwald  * @format 1H
135185a0c7cdSMilanka Ringwald  * @param subevent_code
135285a0c7cdSMilanka Ringwald  * @param con_handle
135385a0c7cdSMilanka Ringwald  */
135485a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED        0x0C
135585a0c7cdSMilanka Ringwald 
135685a0c7cdSMilanka Ringwald 
1357decc740cSMilanka Ringwald 
1358decc740cSMilanka Ringwald /** AVRCP Subevent */
1359decc740cSMilanka Ringwald 
1360decc740cSMilanka Ringwald /**
136185a0c7cdSMilanka Ringwald  * @format 1H12B
1362decc740cSMilanka Ringwald  * @param subevent_code
1363decc740cSMilanka Ringwald  * @param con_handle
13642a029560SMilanka Ringwald  * @param status 0 == OK
1365decc740cSMilanka Ringwald  * @param local_cid
1366decc740cSMilanka Ringwald  * @param bd_addr
1367decc740cSMilanka Ringwald  */
1368decc740cSMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_ESTABLISHED                           0x01
1369decc740cSMilanka Ringwald 
1370decc740cSMilanka Ringwald /**
1371decc740cSMilanka Ringwald  * @format 1H
1372decc740cSMilanka Ringwald  * @param subevent_code
1373decc740cSMilanka Ringwald  * @param con_handle
1374decc740cSMilanka Ringwald  */
13756eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_RELEASED                              0x02
1376decc740cSMilanka Ringwald 
1377cd41da7eSMilanka Ringwald /**
1378e222d6a0SMatthias Ringwald  * @format 1H1114JVJVJVJV
1379cd41da7eSMilanka Ringwald  * @param subevent_code
1380cd41da7eSMilanka Ringwald  * @param con_handle
13812a029560SMilanka Ringwald  * @param status
1382e222d6a0SMatthias Ringwald  * @param track
1383e222d6a0SMatthias Ringwald  * @param total_tracks
1384e222d6a0SMatthias Ringwald  * @param song_length in ms
1385cd41da7eSMilanka Ringwald  * @param title_len
1386cd41da7eSMilanka Ringwald  * @param title
1387cd41da7eSMilanka Ringwald  * @param artist_len
1388cd41da7eSMilanka Ringwald  * @param artist
1389cd41da7eSMilanka Ringwald  * @param album_len
1390cd41da7eSMilanka Ringwald  * @param album
1391cd41da7eSMilanka Ringwald  * @param genre_len
1392cd41da7eSMilanka Ringwald  * @param genre
1393cd41da7eSMilanka Ringwald  */
13942a029560SMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_INFO                                 0x03
1395cd41da7eSMilanka Ringwald 
13962a029560SMilanka Ringwald /**
13972a029560SMilanka Ringwald  * @format 1H111
13982a029560SMilanka Ringwald  * @param subevent_code
13992a029560SMilanka Ringwald  * @param con_handle
14002a029560SMilanka Ringwald  * @param status
14012a029560SMilanka Ringwald  * @param repeat_mode
14022a029560SMilanka Ringwald  * @param shuffle_mode
14032a029560SMilanka Ringwald  */
14042a029560SMilanka Ringwald #define AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE                          0x04
1405cd41da7eSMilanka Ringwald 
14066eb7ba29SMilanka Ringwald /**
14076eb7ba29SMilanka Ringwald  * @format 1H1441
14086eb7ba29SMilanka Ringwald  * @param subevent_code
14096eb7ba29SMilanka Ringwald  * @param con_handle
14106eb7ba29SMilanka Ringwald  * @param status
14116eb7ba29SMilanka Ringwald  * @param song_length
14126eb7ba29SMilanka Ringwald  * @param song_position
14136eb7ba29SMilanka Ringwald  * @param play_status
14146eb7ba29SMilanka Ringwald  */
14156eb7ba29SMilanka Ringwald  #define AVRCP_SUBEVENT_PLAY_STATUS                                     0x05
14166eb7ba29SMilanka Ringwald 
14176eb7ba29SMilanka Ringwald /**
14186eb7ba29SMilanka Ringwald  * @format 1H11
14196eb7ba29SMilanka Ringwald  * @param subevent_code
14206eb7ba29SMilanka Ringwald  * @param con_handle
14216eb7ba29SMilanka Ringwald  * @param status
14226eb7ba29SMilanka Ringwald  * @param playback_status
14236eb7ba29SMilanka Ringwald  */
14246eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED             0x06
14256eb7ba29SMilanka Ringwald 
14266eb7ba29SMilanka Ringwald /**
14276eb7ba29SMilanka Ringwald  * @format 1H11
14286eb7ba29SMilanka Ringwald  * @param subevent_code
14296eb7ba29SMilanka Ringwald  * @param con_handle
14306eb7ba29SMilanka Ringwald  * @param status
14316eb7ba29SMilanka Ringwald  * @param track_status
14326eb7ba29SMilanka Ringwald  */
14336eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED                       0x07
14346eb7ba29SMilanka Ringwald 
14356eb7ba29SMilanka Ringwald /**
14366eb7ba29SMilanka Ringwald  * @format 1H1
14376eb7ba29SMilanka Ringwald  * @param subevent_code
14386eb7ba29SMilanka Ringwald  * @param con_handle
14396eb7ba29SMilanka Ringwald  * @param status
14406eb7ba29SMilanka Ringwald  */
14416eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED          0x08
14426eb7ba29SMilanka Ringwald 
14436eb7ba29SMilanka Ringwald /**
14446eb7ba29SMilanka Ringwald  * @format 1H1
14456eb7ba29SMilanka Ringwald  * @param subevent_code
14466eb7ba29SMilanka Ringwald  * @param con_handle
14476eb7ba29SMilanka Ringwald  * @param status
14486eb7ba29SMilanka Ringwald  */
14496eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED            0x09
14506eb7ba29SMilanka Ringwald 
14516eb7ba29SMilanka Ringwald /**
14526eb7ba29SMilanka Ringwald  * @format 1H11
14536eb7ba29SMilanka Ringwald  * @param subevent_code
14546eb7ba29SMilanka Ringwald  * @param con_handle
14556eb7ba29SMilanka Ringwald  * @param status
14566eb7ba29SMilanka Ringwald  * @param absolute_volume
14576eb7ba29SMilanka Ringwald  */
14586eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED                       0x0A
14596eb7ba29SMilanka Ringwald 
14606eb7ba29SMilanka Ringwald /**
14616eb7ba29SMilanka Ringwald  * @format 1H11
14626eb7ba29SMilanka Ringwald  * @param subevent_code
14636eb7ba29SMilanka Ringwald  * @param con_handle
14646eb7ba29SMilanka Ringwald  * @param status
14656eb7ba29SMilanka Ringwald  * @param absolute_volume
14666eb7ba29SMilanka Ringwald  */
14676eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE                      0x0B
14686eb7ba29SMilanka Ringwald 
14696eb7ba29SMilanka Ringwald /**
14706eb7ba29SMilanka Ringwald  * @format 1H11
14716eb7ba29SMilanka Ringwald  * @param subevent_code
14726eb7ba29SMilanka Ringwald  * @param con_handle
14736eb7ba29SMilanka Ringwald  * @param status
14746eb7ba29SMilanka Ringwald  * @param notification_id
14756eb7ba29SMilanka Ringwald  */
14766eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE                       0x0C
14776eb7ba29SMilanka Ringwald 
14786eb7ba29SMilanka Ringwald /**
14796eb7ba29SMilanka Ringwald  * @format 1H11
14806eb7ba29SMilanka Ringwald  * @param subevent_code
14816eb7ba29SMilanka Ringwald  * @param con_handle
14826eb7ba29SMilanka Ringwald  * @param status
14836eb7ba29SMilanka Ringwald  * @param operation_id
14846eb7ba29SMilanka Ringwald  */
14856eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_START                                    0x0D
14866eb7ba29SMilanka Ringwald 
14876eb7ba29SMilanka Ringwald /**
14886eb7ba29SMilanka Ringwald  * @format 1H11
14896eb7ba29SMilanka Ringwald  * @param subevent_code
14906eb7ba29SMilanka Ringwald  * @param con_handle
14916eb7ba29SMilanka Ringwald  * @param status
14926eb7ba29SMilanka Ringwald  * @param operation_id
14936eb7ba29SMilanka Ringwald  */
14946eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_COMPLETE                                 0x0E
14956eb7ba29SMilanka Ringwald 
14966eb7ba29SMilanka Ringwald /**
14976eb7ba29SMilanka Ringwald  * @format 1H1
14986eb7ba29SMilanka Ringwald  * @param subevent_code
14996eb7ba29SMilanka Ringwald  * @param con_handle
15006eb7ba29SMilanka Ringwald  * @param status
15016eb7ba29SMilanka Ringwald  */
15026eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE                   0x0F
15036eb7ba29SMilanka Ringwald 
1504f1b34e8dSMatthias Ringwald /**
1505f1b34e8dSMatthias Ringwald  * @format 121BH1
1506f1b34e8dSMatthias Ringwald  * @param subevent_code
1507f1b34e8dSMatthias Ringwald  * @param goep_cid
1508f1b34e8dSMatthias Ringwald  * @param status
1509f1b34e8dSMatthias Ringwald  * @param bd_addr
1510f1b34e8dSMatthias Ringwald  * @param con_handle
1511f1b34e8dSMatthias Ringwald  * @param incoming
1512f1b34e8dSMatthias Ringwald  */
1513f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_OPENED                                    0x01
15146eb7ba29SMilanka Ringwald 
1515f1b34e8dSMatthias Ringwald /**
1516f1b34e8dSMatthias Ringwald  * @format 12
1517f1b34e8dSMatthias Ringwald  * @param subevent_code
1518f1b34e8dSMatthias Ringwald  * @param goep_cid
1519f1b34e8dSMatthias Ringwald */
1520f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_CLOSED                                    0x02
1521f1b34e8dSMatthias Ringwald 
1522f1b34e8dSMatthias Ringwald /**
1523f1b34e8dSMatthias Ringwald  * @format 12
1524f1b34e8dSMatthias Ringwald  * @param subevent_code
1525f1b34e8dSMatthias Ringwald  * @param goep_cid
1526f1b34e8dSMatthias Ringwald */
1527f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CAN_SEND_NOW                                         0x03
1528f1b34e8dSMatthias Ringwald 
1529f1b34e8dSMatthias Ringwald /**
1530f1b34e8dSMatthias Ringwald  * @format 121BH1
1531f1b34e8dSMatthias Ringwald  * @param subevent_code
1532f1b34e8dSMatthias Ringwald  * @param pbap_cid
1533f1b34e8dSMatthias Ringwald  * @param status
1534f1b34e8dSMatthias Ringwald  * @param bd_addr
1535f1b34e8dSMatthias Ringwald  * @param con_handle
1536f1b34e8dSMatthias Ringwald  * @param incoming
1537f1b34e8dSMatthias Ringwald  */
1538f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_OPENED                                    0x01
1539f1b34e8dSMatthias Ringwald 
1540f1b34e8dSMatthias Ringwald /**
1541f1b34e8dSMatthias Ringwald  * @format 12
1542f1b34e8dSMatthias Ringwald  * @param subevent_code
1543f1b34e8dSMatthias Ringwald  * @param goep_cid
1544f1b34e8dSMatthias Ringwald */
1545f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_CLOSED                                    0x02
1546f1b34e8dSMatthias Ringwald 
1547f1b34e8dSMatthias Ringwald /**
1548f1b34e8dSMatthias Ringwald  * @format 121
1549f1b34e8dSMatthias Ringwald  * @param subevent_code
1550f1b34e8dSMatthias Ringwald  * @param goep_cid
1551f1b34e8dSMatthias Ringwald  * @param status
1552f1b34e8dSMatthias Ringwald  */
1553f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_OPERATION_COMPLETED                                  0x03
15546eb7ba29SMilanka Ringwald 
1555*dd148ddbSMatthias Ringwald /**
1556*dd148ddbSMatthias Ringwald  * @format 121BH1
1557*dd148ddbSMatthias Ringwald  * @param subevent_code
1558*dd148ddbSMatthias Ringwald  * @param hid_cid
1559*dd148ddbSMatthias Ringwald  * @param status
1560*dd148ddbSMatthias Ringwald  * @param bd_addr
1561*dd148ddbSMatthias Ringwald  * @param con_handle
1562*dd148ddbSMatthias Ringwald  * @param incoming
1563*dd148ddbSMatthias Ringwald  */
1564*dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_OPENED                                     0x01
1565*dd148ddbSMatthias Ringwald 
1566*dd148ddbSMatthias Ringwald /**
1567*dd148ddbSMatthias Ringwald  * @format 12
1568*dd148ddbSMatthias Ringwald  * @param subevent_code
1569*dd148ddbSMatthias Ringwald  * @param hid_cid
1570*dd148ddbSMatthias Ringwald */
1571*dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_CLOSED                                     0x02
1572*dd148ddbSMatthias Ringwald 
1573*dd148ddbSMatthias Ringwald /**
1574*dd148ddbSMatthias Ringwald  * @format 12
1575*dd148ddbSMatthias Ringwald  * @param subevent_code
1576*dd148ddbSMatthias Ringwald  * @param hid_cid
1577*dd148ddbSMatthias Ringwald */
1578*dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CAN_SEND_NOW                                          0x03
1579*dd148ddbSMatthias Ringwald 
1580941b3855SMatthias Ringwald #endif
1581