xref: /btstack/src/btstack_defines.h (revision 1c4468cf9f7d9f47ed160d680fdf0f7f3ec81cef)
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 
4380e33422SMatthias Ringwald #ifndef BTSTACK_DEFINES_H
4480e33422SMatthias Ringwald #define BTSTACK_DEFINES_H
45941b3855SMatthias Ringwald 
468974fcd6SMatthias Ringwald #include <stdint.h>
478974fcd6SMatthias Ringwald 
48*1c4468cfSMatthias Ringwald #include "btstack_linked_list.h"
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 
114e30788a3SMilanka Ringwald // AVRCP browsing data
115e30788a3SMilanka Ringwald #define AVRCP_BROWSING_DATA_PACKET     0x0f
116e30788a3SMilanka Ringwald 
1173eb02ce6SMilanka Ringwald // MAP data
1183eb02ce6SMilanka Ringwald #define MAP_DATA_PACKET        0x10
1193eb02ce6SMilanka Ringwald 
1201fbe4564SMatthias Ringwald // Mesh Provisioning PDU
1211fbe4564SMatthias Ringwald #define PROVISIONING_DATA_PACKET 0x11
122e30788a3SMilanka Ringwald 
123bf9b4b3bSMilanka Ringwald // Mesh Proxy PDU
124bf9b4b3bSMilanka Ringwald #define MESH_PROXY_DATA_PACKET   0x11
12514fe90b1SMatthias Ringwald 
12614fe90b1SMatthias Ringwald // Mesh Network PDU
127bf9b4b3bSMilanka Ringwald #define MESH_NETWORK_PACKET      0x12
128bf9b4b3bSMilanka Ringwald 
129bf9b4b3bSMilanka Ringwald // Mesh Network PDU
130bf9b4b3bSMilanka Ringwald #define MESH_BEACON_PACKET       0x13
13114fe90b1SMatthias Ringwald 
132941b3855SMatthias Ringwald // debug log messages
133941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET      0xfc
134941b3855SMatthias Ringwald 
135941b3855SMatthias Ringwald 
13662c64df1SMatthias Ringwald // DAEMON COMMANDS
137b3f90e25SMatthias Ringwald 
138b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d
139b3f90e25SMatthias Ringwald 
140b3f90e25SMatthias Ringwald // cmds for BTstack
141b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE
142b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE                                  0x01
143b3f90e25SMatthias Ringwald 
144045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE
145b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE                             0x02
146b3f90e25SMatthias Ringwald 
147045013feSMatthias Ringwald // set capture mode: param on
148b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE                       0x03
149b3f90e25SMatthias Ringwald 
150b3f90e25SMatthias Ringwald // get BTstack version
151b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION                                0x04
152b3f90e25SMatthias Ringwald 
153b3f90e25SMatthias Ringwald // get system Bluetooth state
154b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED               0x05
155b3f90e25SMatthias Ringwald 
156b3f90e25SMatthias Ringwald // set system Bluetooth state
157b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED               0x06
158b3f90e25SMatthias Ringwald 
159b3f90e25SMatthias Ringwald // enable inquiry scan for this client
160b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE                           0x07
161b3f90e25SMatthias Ringwald 
162b3f90e25SMatthias Ringwald // set global Bluetooth state
163b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED                      0x08
164b3f90e25SMatthias Ringwald 
165045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16)
166b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL                               0x20
167b3f90e25SMatthias Ringwald 
168045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8)
169b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT                                   0x21
170b3f90e25SMatthias Ringwald 
171045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16)
172b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE                             0x22
173b3f90e25SMatthias Ringwald 
174045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16)
175b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE                           0x23
176b3f90e25SMatthias Ringwald 
177045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16)
178b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION                            0x24
179b3f90e25SMatthias Ringwald 
180045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8)
181b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION                           0x25
182b3f90e25SMatthias Ringwald 
183045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16)
184b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU                           0x26
185b3f90e25SMatthias Ringwald 
186b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size)
187b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD                        0x30
188b3f90e25SMatthias Ringwald 
189b3f90e25SMatthias Ringwald // unregister SDP Service Record
190b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD                      0x31
191b3f90e25SMatthias Ringwald 
192b3f90e25SMatthias Ringwald // Get remote RFCOMM services
193b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES                   0x32
194b3f90e25SMatthias Ringwald 
195b3f90e25SMatthias Ringwald // Get remote SDP services
196b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES                          0x33
197b3f90e25SMatthias Ringwald 
198b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands
199b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL       0x40
200b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT     0x41
201b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE     0x42
202b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE   0x43
203b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION    0x44
204b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION   0x45
205b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL   0x46
206b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS   0x47
207b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48
208b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS                 0x49
209b3f90e25SMatthias Ringwald 
210b3f90e25SMatthias Ringwald // GAP Classic 0x50
211b3f90e25SMatthias Ringwald #define GAP_DISCONNECT              0x50
212b3f90e25SMatthias Ringwald 
213b3f90e25SMatthias Ringwald // GAP LE      0x60
214b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START           0x60
215b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP            0x61
216b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT              0x62
217b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL       0x63
218b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS  0x64
219b3f90e25SMatthias Ringwald 
220b3f90e25SMatthias Ringwald // GATT (Client) 0x70
221b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES                       0x70
222b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16                 0x71
223b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128                0x72
224b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE                  0x73
225b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE                0x74
226b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128     0x75
227b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS                 0x76
228b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC                        0x77
229b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC                   0x78
230b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE      0x79
231b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC                       0x7A
232b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC                  0x7B
233b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC         0x7C
234b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR                      0X7D
235b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR                 0X7E
236b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR                     0X7F
237b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR                0X80
238b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION           0X81
239b3f90e25SMatthias Ringwald #define GATT_GET_MTU                                             0x82
240b3f90e25SMatthias Ringwald 
2411edc4fc7SMatthias Ringwald // SM 0x90
2421edc4fc7SMatthias Ringwald #define SM_SET_AUTHENTICATION_REQUIREMENTS 0x90
2431edc4fc7SMatthias Ringwald #define SM_SET_IO_CAPABILITIES             0x92
2441edc4fc7SMatthias Ringwald #define SM_BONDING_DECLINE                 0x93
2451edc4fc7SMatthias Ringwald #define SM_JUST_WORKS_CONFIRM              0x94
2461edc4fc7SMatthias Ringwald #define SM_NUMERIC_COMPARISON_CONFIRM      0x95
2471edc4fc7SMatthias Ringwald #define SM_PASSKEY_INPUT                   0x96
2481edc4fc7SMatthias Ringwald 
249eb6072adSMatthias Ringwald // ATT
250eb6072adSMatthias Ringwald 
251eb6072adSMatthias Ringwald // ..
252eb6072adSMatthias Ringwald // Internal properties reuse some GATT Characteristic Properties fields
253fd1be25dSMatthias Ringwald #define ATT_DB_VERSION                                     0x01
25462c64df1SMatthias Ringwald 
255941b3855SMatthias Ringwald // EVENTS
256941b3855SMatthias Ringwald 
257ff3ef268SMilanka Ringwald // Events from host controller to host
258ff3ef268SMilanka Ringwald 
259ff3ef268SMilanka Ringwald /**
260ff3ef268SMilanka Ringwald  * @format 1
261ff3ef268SMilanka Ringwald  * @param status
262ff3ef268SMilanka Ringwald  */
263ff3ef268SMilanka Ringwald #define HCI_EVENT_INQUIRY_COMPLETE                         0x01
264ff3ef268SMilanka Ringwald 
265ff3ef268SMilanka Ringwald /**
266ff3ef268SMilanka Ringwald  * @format 1B11132
267ff3ef268SMilanka Ringwald  * @param num_responses
268ff3ef268SMilanka Ringwald  * @param bd_addr
269ff3ef268SMilanka Ringwald  * @param page_scan_repetition_mode
270ff3ef268SMilanka Ringwald  * @param reserved1
271ff3ef268SMilanka Ringwald  * @param reserved2
272ff3ef268SMilanka Ringwald  * @param class_of_device
273ff3ef268SMilanka Ringwald  * @param clock_offset
274ff3ef268SMilanka Ringwald  */
275ff3ef268SMilanka Ringwald #define HCI_EVENT_INQUIRY_RESULT                           0x02
276ff3ef268SMilanka Ringwald 
277ff3ef268SMilanka Ringwald /**
278ff3ef268SMilanka Ringwald  * @format 12B11
279ff3ef268SMilanka Ringwald  * @param status
280ff3ef268SMilanka Ringwald  * @param connection_handle
281ff3ef268SMilanka Ringwald  * @param bd_addr
282ff3ef268SMilanka Ringwald  * @param link_type
283ff3ef268SMilanka Ringwald  * @param encryption_enabled
284ff3ef268SMilanka Ringwald  */
285ff3ef268SMilanka Ringwald #define HCI_EVENT_CONNECTION_COMPLETE                      0x03
286ff3ef268SMilanka Ringwald /**
287ff3ef268SMilanka Ringwald  * @format B31
288ff3ef268SMilanka Ringwald  * @param bd_addr
289ff3ef268SMilanka Ringwald  * @param class_of_device
290ff3ef268SMilanka Ringwald  * @param link_type
291ff3ef268SMilanka Ringwald  */
292ff3ef268SMilanka Ringwald #define HCI_EVENT_CONNECTION_REQUEST                       0x04
293ff3ef268SMilanka Ringwald /**
294ff3ef268SMilanka Ringwald  * @format 121
295ff3ef268SMilanka Ringwald  * @param status
296ff3ef268SMilanka Ringwald  * @param connection_handle
297ff3ef268SMilanka Ringwald  * @param reason
298ff3ef268SMilanka Ringwald  */
299ff3ef268SMilanka Ringwald #define HCI_EVENT_DISCONNECTION_COMPLETE                   0x05
300ff3ef268SMilanka Ringwald /**
301ff3ef268SMilanka Ringwald  * @format 12
302ff3ef268SMilanka Ringwald  * @param status
303ff3ef268SMilanka Ringwald  * @param connection_handle
304ff3ef268SMilanka Ringwald  */
305ff3ef268SMilanka Ringwald #define HCI_EVENT_AUTHENTICATION_COMPLETE                 0x06
306ff3ef268SMilanka Ringwald 
307ff3ef268SMilanka Ringwald // HCI_EVENT_AUTHENTICATION_COMPLETE_EVENT is deprecated, use HCI_EVENT_AUTHENTICATION_COMPLETE instead
308ff3ef268SMilanka Ringwald #define HCI_EVENT_AUTHENTICATION_COMPLETE_EVENT HCI_EVENT_AUTHENTICATION_COMPLETE
309ff3ef268SMilanka Ringwald 
310ff3ef268SMilanka Ringwald /**
311ff3ef268SMilanka Ringwald  * @format 1BN
312ff3ef268SMilanka Ringwald  * @param status
313ff3ef268SMilanka Ringwald  * @param bd_addr
314ff3ef268SMilanka Ringwald  * @param remote_name
315ff3ef268SMilanka Ringwald  */
316ff3ef268SMilanka Ringwald #define HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE             0x07
317ff3ef268SMilanka Ringwald /**
318ff3ef268SMilanka Ringwald  * @format 121
319ff3ef268SMilanka Ringwald  * @param status
320ff3ef268SMilanka Ringwald  * @param connection_handle
321ff3ef268SMilanka Ringwald  * @param encryption_enabled
322ff3ef268SMilanka Ringwald  */
323ff3ef268SMilanka Ringwald #define HCI_EVENT_ENCRYPTION_CHANGE                        0x08
324ff3ef268SMilanka Ringwald /**
325ff3ef268SMilanka Ringwald  * @format 12
326ff3ef268SMilanka Ringwald  * @param status
327ff3ef268SMilanka Ringwald  * @param connection_handle
328ff3ef268SMilanka Ringwald  */
329ff3ef268SMilanka Ringwald #define HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE      0x09
330ff3ef268SMilanka Ringwald /**
331ff3ef268SMilanka Ringwald  * @format 121
332ff3ef268SMilanka Ringwald  * @param status
333ff3ef268SMilanka Ringwald  * @param connection_handle
334ff3ef268SMilanka Ringwald  * @param key_flag
335ff3ef268SMilanka Ringwald  */
336ff3ef268SMilanka Ringwald #define HCI_EVENT_MASTER_LINK_KEY_COMPLETE                 0x0A
337ff3ef268SMilanka Ringwald 
338ff3ef268SMilanka Ringwald #define HCI_EVENT_READ_REMOTE_SUPPORTED_FEATURES_COMPLETE  0x0B
339ff3ef268SMilanka Ringwald 
340ff3ef268SMilanka Ringwald /**
341ff3ef268SMilanka Ringwald  * @format 12122
342ff3ef268SMilanka Ringwald  * @param status
343ff3ef268SMilanka Ringwald  * @param connection_handle
344ff3ef268SMilanka Ringwald  * @param version
345ff3ef268SMilanka Ringwald  * @param manufacturer_name
346ff3ef268SMilanka Ringwald  * @param subversion
347ff3ef268SMilanka Ringwald  */
348ff3ef268SMilanka Ringwald #define HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE 0x0C
349ff3ef268SMilanka Ringwald 
350ff3ef268SMilanka Ringwald #define HCI_EVENT_QOS_SETUP_COMPLETE                       0x0D
351ff3ef268SMilanka Ringwald 
352ff3ef268SMilanka Ringwald /**
353ff3ef268SMilanka Ringwald  * @format 12R
354ff3ef268SMilanka Ringwald  * @param num_hci_command_packets
355ff3ef268SMilanka Ringwald  * @param command_opcode
356ff3ef268SMilanka Ringwald  * @param return_parameters
357ff3ef268SMilanka Ringwald  */
358ff3ef268SMilanka Ringwald #define HCI_EVENT_COMMAND_COMPLETE                         0x0E
359ff3ef268SMilanka Ringwald /**
360ff3ef268SMilanka Ringwald  * @format 112
361ff3ef268SMilanka Ringwald  * @param status
362ff3ef268SMilanka Ringwald  * @param num_hci_command_packets
363ff3ef268SMilanka Ringwald  * @param command_opcode
364ff3ef268SMilanka Ringwald  */
365ff3ef268SMilanka Ringwald #define HCI_EVENT_COMMAND_STATUS                           0x0F
366ff3ef268SMilanka Ringwald 
367ff3ef268SMilanka Ringwald /**
368ff3ef268SMilanka Ringwald  * @format 1
369ff3ef268SMilanka Ringwald  * @param hardware_code
370ff3ef268SMilanka Ringwald  */
371ff3ef268SMilanka Ringwald #define HCI_EVENT_HARDWARE_ERROR                           0x10
372ff3ef268SMilanka Ringwald 
373ff3ef268SMilanka Ringwald #define HCI_EVENT_FLUSH_OCCURRED                           0x11
374ff3ef268SMilanka Ringwald 
375ff3ef268SMilanka Ringwald /**
376ff3ef268SMilanka Ringwald  * @format 1B1
377ff3ef268SMilanka Ringwald  * @param status
378ff3ef268SMilanka Ringwald  * @param bd_addr
379ff3ef268SMilanka Ringwald  * @param role
380ff3ef268SMilanka Ringwald  */
381ff3ef268SMilanka Ringwald #define HCI_EVENT_ROLE_CHANGE                              0x12
382ff3ef268SMilanka Ringwald 
383ff3ef268SMilanka Ringwald // TODO: number_of_handles 1, connection_handle[H*i], hc_num_of_completed_packets[2*i]
384ff3ef268SMilanka Ringwald #define HCI_EVENT_NUMBER_OF_COMPLETED_PACKETS              0x13
385ff3ef268SMilanka Ringwald 
386ff3ef268SMilanka Ringwald /**
387ff3ef268SMilanka Ringwald  * @format 1H12
388ff3ef268SMilanka Ringwald  * @param status
389ff3ef268SMilanka Ringwald  * @param handle
390ff3ef268SMilanka Ringwald  * @param mode
391ff3ef268SMilanka Ringwald  * @param interval
392ff3ef268SMilanka Ringwald  */
393ff3ef268SMilanka Ringwald #define HCI_EVENT_MODE_CHANGE                              0x14
394ff3ef268SMilanka Ringwald 
395ff3ef268SMilanka Ringwald // TODO: num_keys, bd_addr[B*i], link_key[16 octets * i]
396ff3ef268SMilanka Ringwald #define HCI_EVENT_RETURN_LINK_KEYS                         0x15
397ff3ef268SMilanka Ringwald 
398ff3ef268SMilanka Ringwald /**
399ff3ef268SMilanka Ringwald  * @format B
400ff3ef268SMilanka Ringwald  * @param bd_addr
401ff3ef268SMilanka Ringwald  */
402ff3ef268SMilanka Ringwald #define HCI_EVENT_PIN_CODE_REQUEST                         0x16
403ff3ef268SMilanka Ringwald 
404ff3ef268SMilanka Ringwald /**
405ff3ef268SMilanka Ringwald  * @format B
406ff3ef268SMilanka Ringwald  * @param bd_addr
407ff3ef268SMilanka Ringwald  */
408ff3ef268SMilanka Ringwald #define HCI_EVENT_LINK_KEY_REQUEST                         0x17
409ff3ef268SMilanka Ringwald 
410ff3ef268SMilanka Ringwald // TODO: bd_addr B, link_key 16octets, key_type 1
411ff3ef268SMilanka Ringwald #define HCI_EVENT_LINK_KEY_NOTIFICATION                    0x18
412ff3ef268SMilanka Ringwald 
413ff3ef268SMilanka Ringwald /**
414ff3ef268SMilanka Ringwald  * @format 1
415ff3ef268SMilanka Ringwald  * @param link_type
416ff3ef268SMilanka Ringwald  */
417ff3ef268SMilanka Ringwald #define HCI_EVENT_DATA_BUFFER_OVERFLOW                     0x1A
418ff3ef268SMilanka Ringwald 
419ff3ef268SMilanka Ringwald /**
420ff3ef268SMilanka Ringwald  * @format H1
421ff3ef268SMilanka Ringwald  * @param handle
422ff3ef268SMilanka Ringwald  * @param lmp_max_slots
423ff3ef268SMilanka Ringwald  */
424ff3ef268SMilanka Ringwald #define HCI_EVENT_MAX_SLOTS_CHANGED                        0x1B
425ff3ef268SMilanka Ringwald 
426ff3ef268SMilanka Ringwald /**
427ff3ef268SMilanka Ringwald  * @format 1H2
428ff3ef268SMilanka Ringwald  * @param status
429ff3ef268SMilanka Ringwald  * @param handle
430ff3ef268SMilanka Ringwald  * @param clock_offset
431ff3ef268SMilanka Ringwald  */
432ff3ef268SMilanka Ringwald #define HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE               0x1C
433ff3ef268SMilanka Ringwald 
434ff3ef268SMilanka Ringwald /**
435ff3ef268SMilanka Ringwald  * @format 1H2
436ff3ef268SMilanka Ringwald  * @param status
437ff3ef268SMilanka Ringwald  * @param handle
438ff3ef268SMilanka Ringwald  * @param packet_types
439ff3ef268SMilanka Ringwald  * @pnote packet_type is in plural to avoid clash with Java binding Packet.getPacketType()
440ff3ef268SMilanka Ringwald  */
441ff3ef268SMilanka Ringwald #define HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED           0x1D
442ff3ef268SMilanka Ringwald 
443ff3ef268SMilanka Ringwald /**
444ff3ef268SMilanka Ringwald  * @format 1B11321
445ff3ef268SMilanka Ringwald  * @param num_responses
446ff3ef268SMilanka Ringwald  * @param bd_addr
447ff3ef268SMilanka Ringwald  * @param page_scan_repetition_mode
448ff3ef268SMilanka Ringwald  * @param reserved
449ff3ef268SMilanka Ringwald  * @param class_of_device
450ff3ef268SMilanka Ringwald  * @param clock_offset
451ff3ef268SMilanka Ringwald  * @param rssi
452ff3ef268SMilanka Ringwald  */
453ff3ef268SMilanka Ringwald #define HCI_EVENT_INQUIRY_RESULT_WITH_RSSI                 0x22
454ff3ef268SMilanka Ringwald 
455ff3ef268SMilanka Ringwald /**
456ff3ef268SMilanka Ringwald  * @format 1HB111221
457ff3ef268SMilanka Ringwald  * @param status
458ff3ef268SMilanka Ringwald  * @param handle
459ff3ef268SMilanka Ringwald  * @param bd_addr
460ff3ef268SMilanka Ringwald  * @param link_type
461ff3ef268SMilanka Ringwald  * @param transmission_interval
462ff3ef268SMilanka Ringwald  * @param retransmission_interval
463ff3ef268SMilanka Ringwald  * @param rx_packet_length
464ff3ef268SMilanka Ringwald  * @param tx_packet_length
465ff3ef268SMilanka Ringwald  * @param air_mode
466ff3ef268SMilanka Ringwald  */
467ff3ef268SMilanka Ringwald #define HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE          0x2C
468ff3ef268SMilanka Ringwald 
469ff3ef268SMilanka Ringwald // TODO: serialize extended_inquiry_response and provide parser
470ff3ef268SMilanka Ringwald /**
471ff3ef268SMilanka Ringwald  * @format 1B11321
472ff3ef268SMilanka Ringwald  * @param num_responses
473ff3ef268SMilanka Ringwald  * @param bd_addr
474ff3ef268SMilanka Ringwald  * @param page_scan_repetition_mode
475ff3ef268SMilanka Ringwald  * @param reserved
476ff3ef268SMilanka Ringwald  * @param class_of_device
477ff3ef268SMilanka Ringwald  * @param clock_offset
478ff3ef268SMilanka Ringwald  * @param rssi
479ff3ef268SMilanka Ringwald  */
480ff3ef268SMilanka Ringwald #define HCI_EVENT_EXTENDED_INQUIRY_RESPONSE                0x2F
481ff3ef268SMilanka Ringwald 
482ff3ef268SMilanka Ringwald  /**
483ff3ef268SMilanka Ringwald   * @format 1H
484ff3ef268SMilanka Ringwald   * @param status
485ff3ef268SMilanka Ringwald   * @param handle
486ff3ef268SMilanka Ringwald   */
487ff3ef268SMilanka Ringwald #define HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE          0x30
488ff3ef268SMilanka Ringwald 
489ff3ef268SMilanka Ringwald #define HCI_EVENT_IO_CAPABILITY_REQUEST                    0x31
490ff3ef268SMilanka Ringwald #define HCI_EVENT_IO_CAPABILITY_RESPONSE                   0x32
491ff3ef268SMilanka Ringwald 
492ff3ef268SMilanka Ringwald /**
493ff3ef268SMilanka Ringwald  * @format B4
494ff3ef268SMilanka Ringwald  * @param bd_addr
495ff3ef268SMilanka Ringwald  * @param numeric_value
496ff3ef268SMilanka Ringwald  */
497ff3ef268SMilanka Ringwald #define HCI_EVENT_USER_CONFIRMATION_REQUEST                0x33
498ff3ef268SMilanka Ringwald 
499ff3ef268SMilanka Ringwald /**
500ff3ef268SMilanka Ringwald  * @format B
501ff3ef268SMilanka Ringwald  * @param bd_addr
502ff3ef268SMilanka Ringwald  */
503ff3ef268SMilanka Ringwald #define HCI_EVENT_USER_PASSKEY_REQUEST                     0x34
504ff3ef268SMilanka Ringwald 
505ff3ef268SMilanka Ringwald /**
506ff3ef268SMilanka Ringwald  * @format B
507ff3ef268SMilanka Ringwald  * @param bd_addr
508ff3ef268SMilanka Ringwald  */
509ff3ef268SMilanka Ringwald #define HCI_EVENT_REMOTE_OOB_DATA_REQUEST                  0x35
510ff3ef268SMilanka Ringwald 
511ff3ef268SMilanka Ringwald /**
512ff3ef268SMilanka Ringwald  * @format 1B
513ff3ef268SMilanka Ringwald  * @param status
514ff3ef268SMilanka Ringwald  * @param bd_addr
515ff3ef268SMilanka Ringwald  */
516ff3ef268SMilanka Ringwald #define HCI_EVENT_SIMPLE_PAIRING_COMPLETE                  0x36
517ff3ef268SMilanka Ringwald 
518ff3ef268SMilanka Ringwald #define HCI_EVENT_LE_META                                  0x3E
519ff3ef268SMilanka Ringwald 
520ff3ef268SMilanka Ringwald // last used HCI_EVENT in 2.1 is 0x3d
521ff3ef268SMilanka Ringwald // last used HCI_EVENT in 4.1 is 0x57
522ff3ef268SMilanka Ringwald 
523ff3ef268SMilanka Ringwald #define HCI_EVENT_VENDOR_SPECIFIC                          0xFF
524ff3ef268SMilanka Ringwald 
525ff3ef268SMilanka Ringwald /**
526ff3ef268SMilanka Ringwald  * @format 11H11B2221
527ff3ef268SMilanka Ringwald  * @param subevent_code
528ff3ef268SMilanka Ringwald  * @param status
529ff3ef268SMilanka Ringwald  * @param connection_handle
530ff3ef268SMilanka Ringwald  * @param role
531ff3ef268SMilanka Ringwald  * @param peer_address_type
532ff3ef268SMilanka Ringwald  * @param peer_address
533ff3ef268SMilanka Ringwald  * @param conn_interval
534ff3ef268SMilanka Ringwald  * @param conn_latency
535ff3ef268SMilanka Ringwald  * @param supervision_timeout
536ff3ef268SMilanka Ringwald  * @param master_clock_accuracy
537ff3ef268SMilanka Ringwald  */
538ff3ef268SMilanka Ringwald #define HCI_SUBEVENT_LE_CONNECTION_COMPLETE                0x01
539ff3ef268SMilanka Ringwald 
540ff3ef268SMilanka Ringwald // array of advertisements, not handled by event accessor generator
541ff3ef268SMilanka Ringwald #define HCI_SUBEVENT_LE_ADVERTISING_REPORT                 0x02
542ff3ef268SMilanka Ringwald 
543ff3ef268SMilanka Ringwald /**
544ff3ef268SMilanka Ringwald  * @format 11H222
545ff3ef268SMilanka Ringwald  * @param subevent_code
546ff3ef268SMilanka Ringwald  * @param status
547ff3ef268SMilanka Ringwald  * @param connection_handle
548ff3ef268SMilanka Ringwald  * @param conn_interval
549ff3ef268SMilanka Ringwald  * @param conn_latency
550ff3ef268SMilanka Ringwald  * @param supervision_timeout
551ff3ef268SMilanka Ringwald  */
552ff3ef268SMilanka Ringwald  #define HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE         0x03
553ff3ef268SMilanka Ringwald 
554ff3ef268SMilanka Ringwald /**
555ff3ef268SMilanka Ringwald  * @format 1HD2
556ff3ef268SMilanka Ringwald  * @param subevent_code
557ff3ef268SMilanka Ringwald  * @param connection_handle
558ff3ef268SMilanka Ringwald  * @param random_number
559ff3ef268SMilanka Ringwald  * @param encryption_diversifier
560ff3ef268SMilanka Ringwald  */
561ff3ef268SMilanka Ringwald #define HCI_SUBEVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 0x04
562ff3ef268SMilanka Ringwald 
563ff3ef268SMilanka Ringwald /**
564ff3ef268SMilanka Ringwald  * @format 1HD2
565ff3ef268SMilanka Ringwald  * @param subevent_code
566ff3ef268SMilanka Ringwald  * @param connection_handle
567ff3ef268SMilanka Ringwald  * @param random_number
568ff3ef268SMilanka Ringwald  * @param encryption_diversifier
569ff3ef268SMilanka Ringwald  */
570ff3ef268SMilanka Ringwald #define HCI_SUBEVENT_LE_LONG_TERM_KEY_REQUEST              0x05
571ff3ef268SMilanka Ringwald 
572ff3ef268SMilanka Ringwald /**
573ff3ef268SMilanka Ringwald  * @format 1H2222
574ff3ef268SMilanka Ringwald  * @param subevent_code
575ff3ef268SMilanka Ringwald  * @param connection_handle
576ff3ef268SMilanka Ringwald  * @param interval_min
577ff3ef268SMilanka Ringwald  * @param interval_max
578ff3ef268SMilanka Ringwald  * @param latency
579ff3ef268SMilanka Ringwald  * @param timeout
580ff3ef268SMilanka Ringwald  */
581ff3ef268SMilanka Ringwald #define HCI_SUBEVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST 0x06
582ff3ef268SMilanka Ringwald 
583ff3ef268SMilanka Ringwald /**
584ff3ef268SMilanka Ringwald  * @format 1H2222
585ff3ef268SMilanka Ringwald  * @param subevent_code
586ff3ef268SMilanka Ringwald  * @param connection_handle
587ff3ef268SMilanka Ringwald  * @param max_tx_octets
588ff3ef268SMilanka Ringwald  * @param max_tx_time
589ff3ef268SMilanka Ringwald  * @param max_rx_octets
590ff3ef268SMilanka Ringwald  * @param max_rx_time
591ff3ef268SMilanka Ringwald  */
592ff3ef268SMilanka Ringwald #define HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE 0x07
593ff3ef268SMilanka Ringwald 
594ff3ef268SMilanka Ringwald /**
595ff3ef268SMilanka Ringwald  * @format 11QQ
596ff3ef268SMilanka Ringwald  * @param subevent_code
597ff3ef268SMilanka Ringwald  * @param status
598ff3ef268SMilanka Ringwald  * @param dhkey_x x coordinate of P256 public key
599ff3ef268SMilanka Ringwald  * @param dhkey_y y coordinate of P256 public key
600ff3ef268SMilanka Ringwald  */
601ff3ef268SMilanka Ringwald #define HCI_SUBEVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE 0x08
602ff3ef268SMilanka Ringwald  /**
603ff3ef268SMilanka Ringwald  * @format 11Q
604ff3ef268SMilanka Ringwald  * @param subevent_code
605ff3ef268SMilanka Ringwald  * @param status
606ff3ef268SMilanka Ringwald  * @param dhkey Diffie-Hellman key
607ff3ef268SMilanka Ringwald  */
608ff3ef268SMilanka Ringwald #define HCI_SUBEVENT_LE_GENERATE_DHKEY_COMPLETE            0x09
609ff3ef268SMilanka Ringwald 
610ff3ef268SMilanka Ringwald /**
611ff3ef268SMilanka Ringwald  * @format 11H11BBB2221
612ff3ef268SMilanka Ringwald  * @param subevent_code
613ff3ef268SMilanka Ringwald  * @param status
614ff3ef268SMilanka Ringwald  * @param connection_handle
615ff3ef268SMilanka Ringwald  * @param role
616ff3ef268SMilanka Ringwald  * @param peer_address_type
617ff3ef268SMilanka Ringwald  * @param perr_addresss
618ff3ef268SMilanka Ringwald  * @param local_resolvable_private_addres
619ff3ef268SMilanka Ringwald  * @param peer_resolvable_private_addres
620ff3ef268SMilanka Ringwald  * @param conn_interval
621ff3ef268SMilanka Ringwald  * @param conn_latency
622ff3ef268SMilanka Ringwald  * @param supervision_timeout
623ff3ef268SMilanka Ringwald  * @param master_clock_accuracy
624ff3ef268SMilanka Ringwald  */
625ff3ef268SMilanka Ringwald #define HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE       0x0A
626ff3ef268SMilanka Ringwald 
627ff3ef268SMilanka Ringwald // array of advertisements, not handled by event accessor generator
628ff3ef268SMilanka Ringwald #define HCI_SUBEVENT_LE_DIRECT_ADVERTISING_REPORT          0x0B
629ff3ef268SMilanka Ringwald 
630ff3ef268SMilanka Ringwald 
631941b3855SMatthias Ringwald /**
632941b3855SMatthias Ringwald  * @format 1
633941b3855SMatthias Ringwald  * @param state
634941b3855SMatthias Ringwald  */
635941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE                                0x60
636941b3855SMatthias Ringwald 
63752aef63fSMatthias Ringwald /**
63852aef63fSMatthias Ringwald  * @format 1
63952aef63fSMatthias Ringwald  * @param number_connections
64052aef63fSMatthias Ringwald  */
641941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED               0x61
642941b3855SMatthias Ringwald 
643941b3855SMatthias Ringwald /**
644941b3855SMatthias Ringwald  * @format
645941b3855SMatthias Ringwald  */
646941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED                       0x62
647941b3855SMatthias Ringwald 
648941b3855SMatthias Ringwald /**
649827b1c43SMatthias Ringwald  * @format 1
650827b1c43SMatthias Ringwald  * @param discoverable
651827b1c43SMatthias Ringwald  */
652827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED                 0x66
653827b1c43SMatthias Ringwald 
654827b1c43SMatthias Ringwald // Daemon Events
655827b1c43SMatthias Ringwald 
656827b1c43SMatthias Ringwald /**
657941b3855SMatthias Ringwald  * @format 112
658941b3855SMatthias Ringwald  * @param major
659941b3855SMatthias Ringwald  * @param minor
660941b3855SMatthias Ringwald  @ @param revision
661941b3855SMatthias Ringwald  */
662827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION                               0x63
663941b3855SMatthias Ringwald 
664941b3855SMatthias Ringwald // data: system bluetooth on/off (bool)
665e2334cdcSMatthias Ringwald /**
666e2334cdcSMatthias Ringwald  * @format 1
667e2334cdcSMatthias Ringwald  * param system_bluetooth_enabled
668e2334cdcSMatthias Ringwald  */
669827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED              0x64
670941b3855SMatthias Ringwald 
671941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes)
672e2334cdcSMatthias Ringwald 
673e2334cdcSMatthias Ringwald /*
674e2334cdcSMatthias Ringwald  * @format 1BT
675e2334cdcSMatthias Ringwald  * @param status == 0 to match read_remote_name_request
676e2334cdcSMatthias Ringwald  * @param address
677e2334cdcSMatthias Ringwald  * @param name
678e2334cdcSMatthias Ringwald  */
679827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED                    0x65
680941b3855SMatthias Ringwald 
68162c64df1SMatthias Ringwald // internal - data: event(8)
682e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED                     0x67
683941b3855SMatthias Ringwald 
68462c64df1SMatthias Ringwald // internal - data: event(8)
685e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED                     0x68
686941b3855SMatthias Ringwald 
68762c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8)
68862c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS                         0x74
68962c64df1SMatthias Ringwald 
69062c64df1SMatthias Ringwald /**
69162c64df1SMatthias Ringwald  * @format 12
69262c64df1SMatthias Ringwald  * @param status
69362c64df1SMatthias Ringwald  * @param psm
69462c64df1SMatthias Ringwald  */
69562c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED              0x75
69662c64df1SMatthias Ringwald 
69762c64df1SMatthias Ringwald /**
69862c64df1SMatthias Ringwald  * @format 21
69962c64df1SMatthias Ringwald  * @param rfcomm_cid
70062c64df1SMatthias Ringwald  * @param credits
70162c64df1SMatthias Ringwald  */
70262c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS                        0x84
70362c64df1SMatthias Ringwald 
70462c64df1SMatthias Ringwald /**
70562c64df1SMatthias Ringwald  * @format 11
70662c64df1SMatthias Ringwald  * @param status
70762c64df1SMatthias Ringwald  * @param channel_id
70862c64df1SMatthias Ringwald  */
709fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED             0x85
710fea5a680SMatthias Ringwald 
71162c64df1SMatthias Ringwald /**
71262c64df1SMatthias Ringwald  * @format 11
71362c64df1SMatthias Ringwald  * @param status
71462c64df1SMatthias Ringwald  * @param server_channel_id
71562c64df1SMatthias Ringwald  */
71662c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL             0x86
71762c64df1SMatthias Ringwald 
71862c64df1SMatthias Ringwald /**
71962c64df1SMatthias Ringwald   * @format 14
72062c64df1SMatthias Ringwald   * @param status
72162c64df1SMatthias Ringwald   * @param service_record_handle
72262c64df1SMatthias Ringwald   */
72362c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED                0x90
72462c64df1SMatthias Ringwald 
72562c64df1SMatthias Ringwald 
726827b1c43SMatthias Ringwald 
7273bc639ceSMatthias Ringwald // additional HCI events
72863fa3374SMatthias Ringwald 
72963fa3374SMatthias Ringwald /**
73062ca45d7SMatthias Ringwald  * @brief Indicates HCI transport enters/exits Sleep mode
73162ca45d7SMatthias Ringwald  * @format 1
73262ca45d7SMatthias Ringwald  * @param active
73362ca45d7SMatthias Ringwald  */
734d16a0392SMatthias Ringwald #define HCI_EVENT_TRANSPORT_SLEEP_MODE                     0x69
73562ca45d7SMatthias Ringwald 
73662ca45d7SMatthias Ringwald /**
73763fa3374SMatthias Ringwald  * @brief Outgoing packet
73863fa3374SMatthias Ringwald  */
73963fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT                    0x6E
74063fa3374SMatthias Ringwald 
7413bc639ceSMatthias Ringwald /**
7423bc639ceSMatthias Ringwald  * @format B
7433bc639ceSMatthias Ringwald  * @param handle
7443bc639ceSMatthias Ringwald  */
7453bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW                         0x6F
7463bc639ceSMatthias Ringwald 
74762c64df1SMatthias Ringwald 
748941b3855SMatthias Ringwald // L2CAP EVENTS
749941b3855SMatthias Ringwald 
750b072ba33SMatthias Ringwald /**
7517f1690cfSMatthias Ringwald  * @format 1BH222222111
752b072ba33SMatthias Ringwald  * @param status
753b072ba33SMatthias Ringwald  * @param address
754b072ba33SMatthias Ringwald  * @param handle
755b072ba33SMatthias Ringwald  * @param psm
756b072ba33SMatthias Ringwald  * @param local_cid
757b072ba33SMatthias Ringwald  * @param remote_cid
758b072ba33SMatthias Ringwald  * @param local_mtu
759b072ba33SMatthias Ringwald  * @param remote_mtu
760b072ba33SMatthias Ringwald  * @param flush_timeout
761bab5f4f0SMatthias Ringwald  * @param incoming
7627f1690cfSMatthias Ringwald  * @param mode
7637f1690cfSMatthias Ringwald  * @param fcs
764b072ba33SMatthias Ringwald  */
765941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED                         0x70
766941b3855SMatthias Ringwald 
767b072ba33SMatthias Ringwald /*
768b072ba33SMatthias Ringwald  * @format 2
769b072ba33SMatthias Ringwald  * @param local_cid
770b072ba33SMatthias Ringwald  */
771941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED                         0x71
772941b3855SMatthias Ringwald 
773b072ba33SMatthias Ringwald /**
7746d4269d3SMilanka Ringwald  * @format BH222
775b072ba33SMatthias Ringwald  * @param address
776b072ba33SMatthias Ringwald  * @param handle
777b072ba33SMatthias Ringwald  * @param psm
778b072ba33SMatthias Ringwald  * @param local_cid
779b072ba33SMatthias Ringwald  * @param remote_cid
780b072ba33SMatthias Ringwald  */
781941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION                    0x72
782941b3855SMatthias Ringwald 
783b072ba33SMatthias Ringwald // ??
784941b3855SMatthias Ringwald // data: event(8), len(8), handle(16)
785941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK                          0x73
786941b3855SMatthias Ringwald 
787b072ba33SMatthias Ringwald /**
788b072ba33SMatthias Ringwald  * @format H2222
789b072ba33SMatthias Ringwald  * @param handle
790b072ba33SMatthias Ringwald  * @param interval_min
791b072ba33SMatthias Ringwald  * @param interval_max
792b072ba33SMatthias Ringwald  * @param latencey
793b072ba33SMatthias Ringwald  * @param timeout_multiplier
794b072ba33SMatthias Ringwald  */
795941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST    0x76
796941b3855SMatthias Ringwald 
797941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail)
798b072ba33SMatthias Ringwald  /**
799b072ba33SMatthias Ringwald   * @format H2
800b072ba33SMatthias Ringwald   * @param handle
8012c737695SMatthias Ringwald   * @param result
802b072ba33SMatthias Ringwald   */
803941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE   0x77
804941b3855SMatthias Ringwald 
805b072ba33SMatthias Ringwald /**
806b072ba33SMatthias Ringwald  * @format 2
807b072ba33SMatthias Ringwald  * @param local_cid
808b072ba33SMatthias Ringwald  */
809b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW                           0x78
810b072ba33SMatthias Ringwald 
81144276248SMatthias Ringwald // LE Data Channels
81244276248SMatthias Ringwald 
81344276248SMatthias Ringwald /**
81444276248SMatthias Ringwald  * @format 1BH2222
81544276248SMatthias Ringwald  * @param address_type
81644276248SMatthias Ringwald  * @param address
81744276248SMatthias Ringwald  * @param handle
81844276248SMatthias Ringwald  * @param psm
81944276248SMatthias Ringwald  * @param local_cid
82044276248SMatthias Ringwald  * @param remote_cid
82144276248SMatthias Ringwald  * @param remote_mtu
82244276248SMatthias Ringwald  */
82344276248SMatthias Ringwald #define L2CAP_EVENT_LE_INCOMING_CONNECTION                 0x79
82444276248SMatthias Ringwald 
82544276248SMatthias Ringwald /**
82612242deaSMatthias Ringwald  * @format 11BH122222
82744276248SMatthias Ringwald  * @param status
82844276248SMatthias Ringwald  * @param address_type
82944276248SMatthias Ringwald  * @param address
83044276248SMatthias Ringwald  * @param handle
83112242deaSMatthias Ringwald  * @param incoming
83244276248SMatthias Ringwald  * @param psm
83344276248SMatthias Ringwald  * @param local_cid
83444276248SMatthias Ringwald  * @param remote_cid
83544276248SMatthias Ringwald  * @param local_mtu
83644276248SMatthias Ringwald  * @param remote_mtu
83744276248SMatthias Ringwald  */
83844276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_OPENED                      0x7a
83944276248SMatthias Ringwald 
84044276248SMatthias Ringwald /*
84144276248SMatthias Ringwald  * @format 2
84244276248SMatthias Ringwald  * @param local_cid
84344276248SMatthias Ringwald  */
84444276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_CLOSED                      0x7b
84544276248SMatthias Ringwald 
84644276248SMatthias Ringwald /*
84744276248SMatthias Ringwald  * @format 2
84844276248SMatthias Ringwald  * @param local_cid
84944276248SMatthias Ringwald  */
85044276248SMatthias Ringwald #define L2CAP_EVENT_LE_CAN_SEND_NOW                        0x7c
85144276248SMatthias Ringwald 
85244276248SMatthias Ringwald /*
85344276248SMatthias Ringwald  * @format 2
85444276248SMatthias Ringwald  * @param local_cid
85544276248SMatthias Ringwald  */
85644276248SMatthias Ringwald #define L2CAP_EVENT_LE_PACKET_SENT                         0x7d
85744276248SMatthias Ringwald 
85866a72640SMatthias Ringwald /*
85966a72640SMatthias Ringwald  * @format 2
86066a72640SMatthias Ringwald  * @param local_cid
86166a72640SMatthias Ringwald  */
86266a72640SMatthias Ringwald #define L2CAP_EVENT_ERTM_BUFFER_RELEASED                   0x7e
86366a72640SMatthias Ringwald 
86444276248SMatthias Ringwald 
865941b3855SMatthias Ringwald // RFCOMM EVENTS
866b072ba33SMatthias Ringwald 
867941b3855SMatthias Ringwald /**
868bab5f4f0SMatthias Ringwald  * @format 1B21221
869941b3855SMatthias Ringwald  * @param status
870941b3855SMatthias Ringwald  * @param bd_addr
871941b3855SMatthias Ringwald  * @param con_handle
872941b3855SMatthias Ringwald  * @param server_channel
873941b3855SMatthias Ringwald  * @param rfcomm_cid
874941b3855SMatthias Ringwald  * @param max_frame_size
875bab5f4f0SMatthias Ringwald  * @param incoming
876941b3855SMatthias Ringwald  */
877f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED                        0x80
878941b3855SMatthias Ringwald 
879941b3855SMatthias Ringwald /**
880941b3855SMatthias Ringwald  * @format 2
881941b3855SMatthias Ringwald  * @param rfcomm_cid
882941b3855SMatthias Ringwald  */
883941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED                        0x81
884941b3855SMatthias Ringwald 
885941b3855SMatthias Ringwald /**
886941b3855SMatthias Ringwald  * @format B12
887941b3855SMatthias Ringwald  * @param bd_addr
888941b3855SMatthias Ringwald  * @param server_channel
889941b3855SMatthias Ringwald  * @param rfcomm_cid
890941b3855SMatthias Ringwald  */
891941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION                   0x82
892941b3855SMatthias Ringwald 
893941b3855SMatthias Ringwald /**
894941b3855SMatthias Ringwald  * @format 21
895941b3855SMatthias Ringwald  * @param rfcomm_cid
896941b3855SMatthias Ringwald  * @param line_status
897941b3855SMatthias Ringwald  */
898941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS                    0x83
899941b3855SMatthias Ringwald 
900941b3855SMatthias Ringwald /**
901941b3855SMatthias Ringwald  * @format 21
902941b3855SMatthias Ringwald  * @param rfcomm_cid
903941b3855SMatthias Ringwald  * @param modem_status
904941b3855SMatthias Ringwald  */
905941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS                   0x87
906941b3855SMatthias Ringwald 
907941b3855SMatthias Ringwald  /**
9087bd8e93bSMatthias Ringwald   * TODO: format for variable data 2?
909045013feSMatthias Ringwald   * param rfcomm_cid
910045013feSMatthias Ringwald   * param rpn_data
911941b3855SMatthias Ringwald   */
912941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION                    0x88
913941b3855SMatthias Ringwald 
914941b3855SMatthias Ringwald /**
915b072ba33SMatthias Ringwald  * @format 2
91662c468cbSMatthias Ringwald  * @param rfcomm_cid
917b072ba33SMatthias Ringwald  */
918b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW                          0x89
919b072ba33SMatthias Ringwald 
920b072ba33SMatthias Ringwald 
921b072ba33SMatthias Ringwald /**
922941b3855SMatthias Ringwald  * @format 1
923941b3855SMatthias Ringwald  * @param status
924941b3855SMatthias Ringwald  */
9255611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE                                 0x91
926941b3855SMatthias Ringwald 
927941b3855SMatthias Ringwald /**
928941b3855SMatthias Ringwald  * @format 1T
929941b3855SMatthias Ringwald  * @param rfcomm_channel
930941b3855SMatthias Ringwald  * @param name
931941b3855SMatthias Ringwald  */
9325611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE                           0x92
933941b3855SMatthias Ringwald 
934941b3855SMatthias Ringwald /**
9354225393cSMatthias Ringwald  * @format 22221
9364225393cSMatthias Ringwald  * @param record_id
937941b3855SMatthias Ringwald  * @param attribute_id
9384225393cSMatthias Ringwald  * @param attribute_length
9394225393cSMatthias Ringwald  * @param data_offset
9404225393cSMatthias Ringwald  * @param data
941941b3855SMatthias Ringwald  */
9425611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE                           0x93
943941b3855SMatthias Ringwald 
9444de250b4SMatthias Ringwald /**
9454de250b4SMatthias Ringwald  * @format 22LV
9464de250b4SMatthias Ringwald  * @param record_id
9474de250b4SMatthias Ringwald  * @param attribute_id
9484de250b4SMatthias Ringwald  * @param attribute_length
9494de250b4SMatthias Ringwald  * @param attribute_value
9504de250b4SMatthias Ringwald  */
9515611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE                          0x94
9524225393cSMatthias Ringwald 
9534225393cSMatthias Ringwald /**
9544225393cSMatthias Ringwald  * @format 224
9554225393cSMatthias Ringwald  * @param total_count
9564225393cSMatthias Ringwald  * @param record_index
9574225393cSMatthias Ringwald  * @param record_handle
9584225393cSMatthias Ringwald  * @note Not provided by daemon, only used for internal testing
9594225393cSMatthias Ringwald  */
9605611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE                    0x95
961941b3855SMatthias Ringwald 
962941b3855SMatthias Ringwald /**
963941b3855SMatthias Ringwald  * @format H1
964941b3855SMatthias Ringwald  * @param handle
9659cb80b17SMilanka Ringwald  * @param att_status  see ATT errors in bluetooth.h
966941b3855SMatthias Ringwald  */
9675611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE                                0xA0
968941b3855SMatthias Ringwald 
969941b3855SMatthias Ringwald /**
970941b3855SMatthias Ringwald  * @format HX
971941b3855SMatthias Ringwald  * @param handle
972941b3855SMatthias Ringwald  * @param service
973941b3855SMatthias Ringwald  */
9745611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT                          0xA1
975941b3855SMatthias Ringwald 
976941b3855SMatthias Ringwald /**
977941b3855SMatthias Ringwald  * @format HY
978941b3855SMatthias Ringwald  * @param handle
979941b3855SMatthias Ringwald  * @param characteristic
980941b3855SMatthias Ringwald  */
9815611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT                   0xA2
982941b3855SMatthias Ringwald 
983941b3855SMatthias Ringwald /**
984941b3855SMatthias Ringwald  * @format H2X
985941b3855SMatthias Ringwald  * @param handle
986941b3855SMatthias Ringwald  * @param include_handle
987941b3855SMatthias Ringwald  * @param service
988941b3855SMatthias Ringwald  */
9895611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT                 0xA3
990941b3855SMatthias Ringwald 
991941b3855SMatthias Ringwald /**
992941b3855SMatthias Ringwald  * @format HZ
993941b3855SMatthias Ringwald  * @param handle
994941b3855SMatthias Ringwald  * @param characteristic_descriptor
995941b3855SMatthias Ringwald  */
9965611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT   0xA4
997941b3855SMatthias Ringwald 
998941b3855SMatthias Ringwald /**
999941b3855SMatthias Ringwald  * @format H2LV
1000941b3855SMatthias Ringwald  * @param handle
1001941b3855SMatthias Ringwald  * @param value_handle
1002941b3855SMatthias Ringwald  * @param value_length
1003941b3855SMatthias Ringwald  * @param value
1004941b3855SMatthias Ringwald  */
10055611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT             0xA5
1006941b3855SMatthias Ringwald 
1007941b3855SMatthias Ringwald /**
1008941b3855SMatthias Ringwald  * @format H22LV
1009941b3855SMatthias Ringwald  * @param handle
1010941b3855SMatthias Ringwald  * @param value_handle
1011941b3855SMatthias Ringwald  * @param value_offset
1012941b3855SMatthias Ringwald  * @param value_length
1013941b3855SMatthias Ringwald  * @param value
1014941b3855SMatthias Ringwald  */
10155611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT        0xA6
1016941b3855SMatthias Ringwald 
1017941b3855SMatthias Ringwald /**
1018941b3855SMatthias Ringwald  * @format H2LV
1019941b3855SMatthias Ringwald  * @param handle
1020941b3855SMatthias Ringwald  * @param value_handle
1021941b3855SMatthias Ringwald  * @param value_length
1022941b3855SMatthias Ringwald  * @param value
1023941b3855SMatthias Ringwald  */
10245611a760SMatthias Ringwald #define GATT_EVENT_NOTIFICATION                                  0xA7
1025941b3855SMatthias Ringwald 
1026941b3855SMatthias Ringwald /**
1027941b3855SMatthias Ringwald  * @format H2LV
1028941b3855SMatthias Ringwald  * @param handle
1029941b3855SMatthias Ringwald  * @param value_handle
1030941b3855SMatthias Ringwald  * @param value_length
1031941b3855SMatthias Ringwald  * @param value
1032941b3855SMatthias Ringwald  */
10335611a760SMatthias Ringwald #define GATT_EVENT_INDICATION                                    0xA8
1034941b3855SMatthias Ringwald 
1035941b3855SMatthias Ringwald /**
1036941b3855SMatthias Ringwald  * @format H2LV
10372c737695SMatthias Ringwald  * @param handle
1038941b3855SMatthias Ringwald  * @param descriptor_handle
1039941b3855SMatthias Ringwald  * @param descriptor_length
1040941b3855SMatthias Ringwald  * @param descriptor
1041941b3855SMatthias Ringwald  */
10425611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT        0xA9
1043941b3855SMatthias Ringwald 
1044941b3855SMatthias Ringwald /**
1045941b3855SMatthias Ringwald  * @format H2LV
1046941b3855SMatthias Ringwald  * @param handle
1047941b3855SMatthias Ringwald  * @param descriptor_offset
1048941b3855SMatthias Ringwald  * @param descriptor_length
1049941b3855SMatthias Ringwald  * @param descriptor
1050941b3855SMatthias Ringwald  */
10515611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT   0xAA
1052941b3855SMatthias Ringwald 
1053941b3855SMatthias Ringwald /**
1054941b3855SMatthias Ringwald  * @format H2
1055941b3855SMatthias Ringwald  * @param handle
1056941b3855SMatthias Ringwald  * @param MTU
1057941b3855SMatthias Ringwald  */
10585611a760SMatthias Ringwald #define GATT_EVENT_MTU                                           0xAB
1059941b3855SMatthias Ringwald 
1060941b3855SMatthias Ringwald /**
106171af96a1SMatthias Ringwald  * @format H
106271af96a1SMatthias Ringwald  * @param handle
106371af96a1SMatthias Ringwald  */
106471af96a1SMatthias Ringwald #define GATT_EVENT_CAN_WRITE_WITHOUT_RESPONSE                    0xAC
106571af96a1SMatthias Ringwald 
106671af96a1SMatthias Ringwald /**
10675d964c8bSMatthias Ringwald  * @format 1BH
1068a43588baSMatthias Ringwald  * @param address_type
1069a43588baSMatthias Ringwald  * @param address
1070a43588baSMatthias Ringwald  * @param handle
1071a43588baSMatthias Ringwald  */
1072a43588baSMatthias Ringwald #define ATT_EVENT_CONNECTED                                      0xB3
1073a43588baSMatthias Ringwald 
1074a43588baSMatthias Ringwald /**
1075a43588baSMatthias Ringwald  * @format H
1076a43588baSMatthias Ringwald  * @param handle
1077a43588baSMatthias Ringwald  */
1078a43588baSMatthias Ringwald #define ATT_EVENT_DISCONNECTED                                   0xB4
1079a43588baSMatthias Ringwald 
1080a43588baSMatthias Ringwald /**
1081941b3855SMatthias Ringwald  * @format H2
1082941b3855SMatthias Ringwald  * @param handle
1083941b3855SMatthias Ringwald  * @param MTU
1084941b3855SMatthias Ringwald  */
10855611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE                          0xB5
1086941b3855SMatthias Ringwald 
108749d18261SMatthias Ringwald  /**
108849d18261SMatthias Ringwald   * @format 1H2
108949d18261SMatthias Ringwald   * @param status
109049d18261SMatthias Ringwald   * @param conn_handle
109149d18261SMatthias Ringwald   * @param attribute_handle
109249d18261SMatthias Ringwald   */
10935611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE               0xB6
1094941b3855SMatthias Ringwald 
109549d18261SMatthias Ringwald /**
109649d18261SMatthias Ringwald  * @format
109749d18261SMatthias Ringwald  */
109849d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW                                   0xB7
1099941b3855SMatthias Ringwald 
110049d18261SMatthias Ringwald // TODO: daemon only event
110149d18261SMatthias Ringwald 
110249d18261SMatthias Ringwald /**
110349d18261SMatthias Ringwald  * @format 12
110449d18261SMatthias Ringwald  * @param status
110549d18261SMatthias Ringwald  * @param service_uuid
110649d18261SMatthias Ringwald  */
1107941b3855SMatthias Ringwald  #define BNEP_EVENT_SERVICE_REGISTERED                      0xC0
1108941b3855SMatthias Ringwald 
110949d18261SMatthias Ringwald /**
111032b46fecSMatthias Ringwald  * @format 12222BH
111149d18261SMatthias Ringwald  * @param status
1112423c667cSMatthias Ringwald  * @param bnep_cid
111349d18261SMatthias Ringwald  * @param source_uuid
111449d18261SMatthias Ringwald  * @param destination_uuid
111549d18261SMatthias Ringwald  * @param mtu
111649d18261SMatthias Ringwald  * @param remote_address
111732b46fecSMatthias Ringwald  * @param con_handle
111849d18261SMatthias Ringwald  */
1119423c667cSMatthias Ringwald  #define BNEP_EVENT_CHANNEL_OPENED                   0xC1
1120941b3855SMatthias Ringwald 
112149d18261SMatthias Ringwald /**
1122423c667cSMatthias Ringwald  * @format 222B
1123423c667cSMatthias Ringwald  * @param bnep_cid
112449d18261SMatthias Ringwald  * @param source_uuid
112549d18261SMatthias Ringwald  * @param destination_uuid
112649d18261SMatthias Ringwald  * @param remote_address
112749d18261SMatthias Ringwald  */
1128941b3855SMatthias Ringwald  #define BNEP_EVENT_CHANNEL_CLOSED                          0xC2
1129941b3855SMatthias Ringwald 
113049d18261SMatthias Ringwald /**
1131423c667cSMatthias Ringwald  * @format 222B1
1132423c667cSMatthias Ringwald  * @param bnep_cid
113349d18261SMatthias Ringwald  * @param source_uuid
113449d18261SMatthias Ringwald  * @param destination_uuid
113549d18261SMatthias Ringwald  * @param remote_address
113649d18261SMatthias Ringwald  * @param channel_state
113749d18261SMatthias Ringwald  */
1138941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT                         0xC3
1139941b3855SMatthias Ringwald 
114049d18261SMatthias Ringwald /**
1141423c667cSMatthias Ringwald  * @format 222B
1142423c667cSMatthias Ringwald  * @param bnep_cid
114349d18261SMatthias Ringwald  * @param source_uuid
114449d18261SMatthias Ringwald  * @param destination_uuid
114549d18261SMatthias Ringwald  * @param remote_address
114649d18261SMatthias Ringwald  */
11472d4c8c04SMatthias Ringwald  #define BNEP_EVENT_CAN_SEND_NOW                           0xC4
1148941b3855SMatthias Ringwald 
1149941b3855SMatthias Ringwald  /**
1150941b3855SMatthias Ringwald   * @format H1B
1151941b3855SMatthias Ringwald   * @param handle
1152941b3855SMatthias Ringwald   * @param addr_type
1153941b3855SMatthias Ringwald   * @param address
1154941b3855SMatthias Ringwald   */
11555611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST                              0xD0
1156941b3855SMatthias Ringwald 
1157941b3855SMatthias Ringwald  /**
1158941b3855SMatthias Ringwald   * @format H1B
1159941b3855SMatthias Ringwald   * @param handle
1160941b3855SMatthias Ringwald   * @param addr_type
1161941b3855SMatthias Ringwald   * @param address
1162941b3855SMatthias Ringwald   */
11635611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL                               0xD1
1164941b3855SMatthias Ringwald 
1165941b3855SMatthias Ringwald  /**
1166941b3855SMatthias Ringwald   * @format H1B4
1167941b3855SMatthias Ringwald   * @param handle
1168941b3855SMatthias Ringwald   * @param addr_type
1169941b3855SMatthias Ringwald   * @param address
1170941b3855SMatthias Ringwald   * @param passkey
1171941b3855SMatthias Ringwald   */
11725611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER                          0xD2
1173941b3855SMatthias Ringwald 
1174941b3855SMatthias Ringwald  /**
1175941b3855SMatthias Ringwald   * @format H1B
1176941b3855SMatthias Ringwald   * @param handle
1177941b3855SMatthias Ringwald   * @param addr_type
1178941b3855SMatthias Ringwald   * @param address
1179941b3855SMatthias Ringwald   */
11805611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL                          0xD3
1181941b3855SMatthias Ringwald 
1182941b3855SMatthias Ringwald  /**
11832c737695SMatthias Ringwald   * @format H1B
1184941b3855SMatthias Ringwald   * @param handle
1185941b3855SMatthias Ringwald   * @param addr_type
1186941b3855SMatthias Ringwald   * @param address
1187941b3855SMatthias Ringwald   */
11885611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER                            0xD4
1189941b3855SMatthias Ringwald 
1190941b3855SMatthias Ringwald  /**
1191941b3855SMatthias Ringwald   * @format H1B
1192941b3855SMatthias Ringwald   * @param handle
1193941b3855SMatthias Ringwald   * @param addr_type
1194941b3855SMatthias Ringwald   * @param address
1195941b3855SMatthias Ringwald   */
11965611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL                            0xD5
1197941b3855SMatthias Ringwald 
1198941b3855SMatthias Ringwald  /**
11998362d86aSMatthias Ringwald   * @format H1B4
12008362d86aSMatthias Ringwald   * @param handle
12018362d86aSMatthias Ringwald   * @param addr_type
12028362d86aSMatthias Ringwald   * @param address
12038362d86aSMatthias Ringwald   * @param passkey
12048362d86aSMatthias Ringwald   */
12058362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST                      0xD6
12068362d86aSMatthias Ringwald 
12078362d86aSMatthias Ringwald  /**
12082c737695SMatthias Ringwald   * @format H1B
1209941b3855SMatthias Ringwald   * @param handle
1210941b3855SMatthias Ringwald   * @param addr_type
1211941b3855SMatthias Ringwald   * @param address
1212941b3855SMatthias Ringwald   */
12138362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL                       0xD7
1214941b3855SMatthias Ringwald 
1215941b3855SMatthias Ringwald  /**
1216941b3855SMatthias Ringwald   * @format H1B
1217941b3855SMatthias Ringwald   * @param handle
1218941b3855SMatthias Ringwald   * @param addr_type
1219941b3855SMatthias Ringwald   * @param address
1220941b3855SMatthias Ringwald   */
12218362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED                      0xD8
12228362d86aSMatthias Ringwald 
12238362d86aSMatthias Ringwald  /**
12248362d86aSMatthias Ringwald   * @format H1B
12258362d86aSMatthias Ringwald   * @param handle
12268362d86aSMatthias Ringwald   * @param addr_type
12278362d86aSMatthias Ringwald   * @param address
12288362d86aSMatthias Ringwald   */
12298362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED                       0xD9
1230941b3855SMatthias Ringwald 
1231941b3855SMatthias Ringwald  /**
123284182ed9SMatthias Ringwald   * @brief Identify resolving succeeded
123384182ed9SMatthias Ringwald   *
1234334126b3SMatthias Ringwald   * @format H1B1B2
1235941b3855SMatthias Ringwald   * @param handle
1236941b3855SMatthias Ringwald   * @param addr_type
1237941b3855SMatthias Ringwald   * @param address
123884182ed9SMatthias Ringwald   * @param identity_addr_type
123984182ed9SMatthias Ringwald   * @param identity_address
12406f8637a2SMatthias Ringwald   * @param index
124184182ed9SMatthias Ringwald   *
1242941b3855SMatthias Ringwald   */
12438362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED                    0xDA
1244941b3855SMatthias Ringwald 
1245941b3855SMatthias Ringwald  /**
1246941b3855SMatthias Ringwald   * @format H1B
1247941b3855SMatthias Ringwald   * @param handle
1248941b3855SMatthias Ringwald   * @param addr_type
1249941b3855SMatthias Ringwald   * @param address
1250941b3855SMatthias Ringwald   */
12518362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST                           0xDB
1252941b3855SMatthias Ringwald 
1253941b3855SMatthias Ringwald  /**
1254941b3855SMatthias Ringwald   * @format H1B1
1255941b3855SMatthias Ringwald   * @param handle
1256941b3855SMatthias Ringwald   * @param addr_type
1257941b3855SMatthias Ringwald   * @param address
1258941b3855SMatthias Ringwald   * @param authorization_result
1259941b3855SMatthias Ringwald   */
12608362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT                            0xDC
1261941b3855SMatthias Ringwald 
12623d7fe1e9SMatthias Ringwald  /**
12633d7fe1e9SMatthias Ringwald   * @format H1
12643d7fe1e9SMatthias Ringwald   * @param handle
12653d7fe1e9SMatthias Ringwald   * @param action see SM_KEYPRESS_*
12663d7fe1e9SMatthias Ringwald   */
12673d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION                           0xDD
12683d7fe1e9SMatthias Ringwald 
126984182ed9SMatthias Ringwald  /**
127084182ed9SMatthias Ringwald   * @brief Emitted during pairing to inform app about address used as identity
127184182ed9SMatthias Ringwald   *
1272fccb5f31SMatthias Ringwald   * @format H1B1B2
127384182ed9SMatthias Ringwald   * @param handle
127484182ed9SMatthias Ringwald   * @param addr_type
127584182ed9SMatthias Ringwald   * @param address
127684182ed9SMatthias Ringwald   * @param identity_addr_type
127784182ed9SMatthias Ringwald   * @param identity_address
12786f8637a2SMatthias Ringwald   * @param index
127984182ed9SMatthias Ringwald   */
128084182ed9SMatthias Ringwald #define SM_EVENT_IDENTITY_CREATED                                0xDE
12813d7fe1e9SMatthias Ringwald 
128236c1abd2SMatthias Ringwald  /**
128336c1abd2SMatthias Ringwald   * @brief Emitted to inform app that pairing is complete. Possible status values:
128436c1abd2SMatthias Ringwald   *        ERROR_CODE_SUCCESS                            -> pairing success
128536c1abd2SMatthias Ringwald   *        ERROR_CODE_CONNECTION_TIMEOUT                 -> timeout
128636c1abd2SMatthias Ringwald   *        ERROR_CODE_REMOTE_USER_TERMINATED_CONNECTION  -> disconnect
128736c1abd2SMatthias Ringwald   *        ERROR_CODE_AUTHENTICATION_FAILURE             -> SM protocol error, see reason field with SM_REASON_* from bluetooth.h
128836c1abd2SMatthias Ringwald   *
128936c1abd2SMatthias Ringwald   * @format H1B11
129036c1abd2SMatthias Ringwald   * @param handle
129136c1abd2SMatthias Ringwald   * @param addr_type
129236c1abd2SMatthias Ringwald   * @param address
129336c1abd2SMatthias Ringwald   * @param status
129436c1abd2SMatthias Ringwald   * @param reason if status == ERROR_CODE_AUTHENTICATION_FAILURE
129536c1abd2SMatthias Ringwald   */
129636c1abd2SMatthias Ringwald #define SM_EVENT_PAIRING_COMPLETE                                0xDF
129736c1abd2SMatthias Ringwald 
129836c1abd2SMatthias Ringwald 
1299941b3855SMatthias Ringwald // GAP
1300941b3855SMatthias Ringwald 
130146bc5396SMilanka Ringwald /**
130246bc5396SMilanka Ringwald  * @format H1
130346bc5396SMilanka Ringwald  * @param handle
130446bc5396SMilanka Ringwald  * @param security_level
130546bc5396SMilanka Ringwald  */
13065611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL                                 0xE0
1307941b3855SMatthias Ringwald 
130846bc5396SMilanka Ringwald /**
130946bc5396SMilanka Ringwald  * @format 1B
131046bc5396SMilanka Ringwald  * @param status
131146bc5396SMilanka Ringwald  * @param address
131246bc5396SMilanka Ringwald  */
13135611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED                    0xE1
1314941b3855SMatthias Ringwald 
1315941b3855SMatthias Ringwald /**
1316941b3855SMatthias Ringwald  * @format 11B1JV
1317941b3855SMatthias Ringwald  * @param advertising_event_type
1318941b3855SMatthias Ringwald  * @param address_type
1319941b3855SMatthias Ringwald  * @param address
1320941b3855SMatthias Ringwald  * @param rssi
1321941b3855SMatthias Ringwald  * @param data_length
1322941b3855SMatthias Ringwald  * @param data
1323941b3855SMatthias Ringwald  */
1324045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT                          0xE2
1325941b3855SMatthias Ringwald 
13261cfb383eSMatthias Ringwald  /**
13271cfb383eSMatthias Ringwald  * @format B132111JV
13281cfb383eSMatthias Ringwald  * @param bd_addr
13291cfb383eSMatthias Ringwald  * @param page_scan_repetition_mode
13301cfb383eSMatthias Ringwald  * @param class_of_device
13311cfb383eSMatthias Ringwald  * @param clock_offset
1332d79faacdSMatthias Ringwald  * @param rssi_available
13331cfb383eSMatthias Ringwald  * @param rssi
13341cfb383eSMatthias Ringwald  * @param name_available
13351cfb383eSMatthias Ringwald  * @param name_len
13361cfb383eSMatthias Ringwald  * @param name
13371cfb383eSMatthias Ringwald  */
13381cfb383eSMatthias Ringwald #define GAP_EVENT_INQUIRY_RESULT                              0xE3
13391cfb383eSMatthias Ringwald 
13401cfb383eSMatthias Ringwald /**
13411cfb383eSMatthias Ringwald  * @format 1
13421cfb383eSMatthias Ringwald  * @param status
13431cfb383eSMatthias Ringwald  */
13441cfb383eSMatthias Ringwald #define GAP_EVENT_INQUIRY_COMPLETE                            0xE4
13451cfb383eSMatthias Ringwald 
1346891b9fc2SMatthias Ringwald /**
1347891b9fc2SMatthias Ringwald  * @format H1
1348891b9fc2SMatthias Ringwald  * @param con_handle
1349891b9fc2SMatthias Ringwald  * @param rssi (signed integer -127..127)
1350891b9fc2SMatthias Ringwald  * @note Classic: rssi is in dB relative to Golden Receive Power Range
1351891b9fc2SMatthias Ringwald  * @note LE: rssi is absolute dBm
1352891b9fc2SMatthias Ringwald  */
1353891b9fc2SMatthias Ringwald #define GAP_EVENT_RSSI_MEASUREMENT                            0xE5
1354827b1c43SMatthias Ringwald 
1355e10ce426SMatthias Ringwald // Meta Events, see below for sub events
1356941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META                                 0xE8
135739d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META                                 0xE9
1358e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META                                0xEA
1359beaf082cSMatthias Ringwald #define HCI_EVENT_AVDTP_META                               0xEB
1360decc740cSMilanka Ringwald #define HCI_EVENT_AVRCP_META                               0xEC
1361f1b34e8dSMatthias Ringwald #define HCI_EVENT_GOEP_META                                0xED
1362f1b34e8dSMatthias Ringwald #define HCI_EVENT_PBAP_META                                0xEE
1363dd148ddbSMatthias Ringwald #define HCI_EVENT_HID_META                                 0xEF
13643e3fbf3dSMilanka Ringwald #define HCI_EVENT_A2DP_META                                0xF0
1365a4bfc4feSMatthias Ringwald #define HCI_EVENT_HIDS_META                                0xF1
136628e59789SMilanka Ringwald #define HCI_EVENT_GATTSERVICE_META                         0xF2
1367ad58991cSMilanka Ringwald #define HCI_EVENT_BIP_META                                 0xF3
1368ad58991cSMilanka Ringwald #define HCI_EVENT_MAP_META                                 0xF4
13691fbe4564SMatthias Ringwald #define HCI_EVENT_MESH_META                                0xF5
137039d235cbSMatthias Ringwald 
1371e10ce426SMatthias Ringwald // Potential other meta groups
1372e10ce426SMatthias Ringwald // #define HCI_EVENT_BNEP_META                                0xxx
1373e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META                                 0xxx
1374e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META                                0xxx
1375e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META                                 0xxx
1376e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META                                 0xxx
1377e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META                                  0xxx
137839d235cbSMatthias Ringwald 
1379d63c37a1SMatthias Ringwald 
1380d63c37a1SMatthias Ringwald /** HSP Subevent */
1381d63c37a1SMatthias Ringwald 
1382827b1c43SMatthias Ringwald /**
138399a10067SMatthias Ringwald  * @format 11
1384827b1c43SMatthias Ringwald  * @param subevent_code
1385827b1c43SMatthias Ringwald  * @param status 0 == OK
1386827b1c43SMatthias Ringwald  */
138799a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE             0x01
138899a10067SMatthias Ringwald 
138999a10067SMatthias Ringwald /**
139099a10067SMatthias Ringwald  * @format 11
139199a10067SMatthias Ringwald  * @param subevent_code
139299a10067SMatthias Ringwald  * @param status 0 == OK
139399a10067SMatthias Ringwald  */
139499a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE           0x02
139599a10067SMatthias Ringwald 
139699a10067SMatthias Ringwald 
139799a10067SMatthias Ringwald /**
139862c468cbSMatthias Ringwald  * @format 11H
139999a10067SMatthias Ringwald  * @param subevent_code
140099a10067SMatthias Ringwald  * @param status 0 == OK
140162c468cbSMatthias Ringwald  * @param handle
140299a10067SMatthias Ringwald  */
140399a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE             0x03
1404827b1c43SMatthias Ringwald 
1405827b1c43SMatthias Ringwald /**
1406827b1c43SMatthias Ringwald  * @format 11
1407827b1c43SMatthias Ringwald  * @param subevent_code
1408827b1c43SMatthias Ringwald  * @param status 0 == OK
1409827b1c43SMatthias Ringwald  */
141099a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE          0x04
1411827b1c43SMatthias Ringwald 
1412827b1c43SMatthias Ringwald /**
1413827b1c43SMatthias Ringwald  * @format 1
1414827b1c43SMatthias Ringwald  * @param subevent_code
1415827b1c43SMatthias Ringwald  */
141699a10067SMatthias Ringwald #define HSP_SUBEVENT_RING                                  0x05
1417827b1c43SMatthias Ringwald 
1418827b1c43SMatthias Ringwald /**
1419827b1c43SMatthias Ringwald  * @format 11
1420827b1c43SMatthias Ringwald  * @param subevent_code
1421827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
1422827b1c43SMatthias Ringwald  */
142399a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED               0x06
1424827b1c43SMatthias Ringwald 
1425827b1c43SMatthias Ringwald /**
1426827b1c43SMatthias Ringwald  * @format 11
1427827b1c43SMatthias Ringwald  * @param subevent_code
1428827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
1429827b1c43SMatthias Ringwald  */
143099a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED                  0x07
1431827b1c43SMatthias Ringwald 
1432827b1c43SMatthias Ringwald /**
1433827b1c43SMatthias Ringwald  * @format 1JV
1434827b1c43SMatthias Ringwald  * @param subevent_code
1435827b1c43SMatthias Ringwald  * @param value_length
1436827b1c43SMatthias Ringwald  * @param value
1437827b1c43SMatthias Ringwald  */
143899a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND                            0x08
1439827b1c43SMatthias Ringwald 
1440827b1c43SMatthias Ringwald /**
1441827b1c43SMatthias Ringwald  * @format 1JV
1442827b1c43SMatthias Ringwald  * @param subevent_code
1443827b1c43SMatthias Ringwald  * @param value_length
1444827b1c43SMatthias Ringwald  * @param value
1445827b1c43SMatthias Ringwald  */
144699a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION                         0x09
1447827b1c43SMatthias Ringwald 
1448941b3855SMatthias Ringwald 
1449d63c37a1SMatthias Ringwald /** HFP Subevent */
1450941b3855SMatthias Ringwald 
1451d63c37a1SMatthias Ringwald /**
1452a23045e2SMilanka Ringwald  * @format 11HB
1453d63c37a1SMatthias Ringwald  * @param subevent_code
1454d63c37a1SMatthias Ringwald  * @param status 0 == OK
1455a0653c3bSMilanka Ringwald  * @param con_handle
14566a7f44bdSMilanka Ringwald  * @param bd_addr
1457d63c37a1SMatthias Ringwald  */
1458941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED  0x01
1459d63c37a1SMatthias Ringwald 
1460d63c37a1SMatthias Ringwald /**
1461d63c37a1SMatthias Ringwald  * @format 1
1462d63c37a1SMatthias Ringwald  * @param subevent_code
1463d63c37a1SMatthias Ringwald  */
1464941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED     0x02
1465d63c37a1SMatthias Ringwald 
1466d63c37a1SMatthias Ringwald /**
1467a23045e2SMilanka Ringwald  * @format 11HB1
1468d63c37a1SMatthias Ringwald  * @param subevent_code
1469d63c37a1SMatthias Ringwald  * @param status 0 == OK
14706ff51cfdSMatthias Ringwald  * @param handle
14716a7f44bdSMilanka Ringwald  * @param bd_addr
1472d0c4aea6SMilanka Ringwald  * @param negotiated_codec
1473d63c37a1SMatthias Ringwald  */
1474941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED          0x03
1475d63c37a1SMatthias Ringwald 
1476d63c37a1SMatthias Ringwald /**
1477d63c37a1SMatthias Ringwald  * @format 1
1478d63c37a1SMatthias Ringwald  * @param subevent_code
1479d63c37a1SMatthias Ringwald  */
1480941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED             0x04
1481d63c37a1SMatthias Ringwald 
1482d63c37a1SMatthias Ringwald /**
1483d63c37a1SMatthias Ringwald  * @format 11
1484d63c37a1SMatthias Ringwald  * @param subevent_code
1485d63c37a1SMatthias Ringwald  * @param status 0 == OK
1486d63c37a1SMatthias Ringwald  */
1487941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE                              0x05
1488d63c37a1SMatthias Ringwald 
1489d63c37a1SMatthias Ringwald /**
1490c741b032SMilanka Ringwald  * @format 11111111T
1491d63c37a1SMatthias Ringwald  * @param subevent_code
1492d63c37a1SMatthias Ringwald  * @param indicator_index
1493d63c37a1SMatthias Ringwald  * @param indicator_status
1494c741b032SMilanka Ringwald  * @param indicator_min_range
1495c741b032SMilanka Ringwald  * @param indicator_max_range
1496c741b032SMilanka Ringwald  * @param indicator_mandatory
1497c741b032SMilanka Ringwald  * @param indicator_enabled
1498c741b032SMilanka Ringwald  * @param indicator_status_changed
1499d63c37a1SMatthias Ringwald  * @param indicator_name
1500d63c37a1SMatthias Ringwald  */
1501941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED           0x06
1502d63c37a1SMatthias Ringwald 
1503d63c37a1SMatthias Ringwald /**
15042c737695SMatthias Ringwald  * @format 111T
1505d63c37a1SMatthias Ringwald  * @param subevent_code
1506d63c37a1SMatthias Ringwald  * @param network_operator_mode
1507d63c37a1SMatthias Ringwald  * @param network_operator_format
1508d63c37a1SMatthias Ringwald  * @param network_operator_name
1509d63c37a1SMatthias Ringwald  */
1510941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED              0x07
1511d63c37a1SMatthias Ringwald 
1512d63c37a1SMatthias Ringwald /**
1513d63c37a1SMatthias Ringwald  * @format 11
1514d63c37a1SMatthias Ringwald  * @param subevent_code
1515d63c37a1SMatthias Ringwald  * @param error
1516d63c37a1SMatthias Ringwald  */
1517941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR             0x08
1518d63c37a1SMatthias Ringwald 
1519d63c37a1SMatthias Ringwald /**
1520d63c37a1SMatthias Ringwald  * @format 1
1521d63c37a1SMatthias Ringwald  * @param subevent_code
1522d63c37a1SMatthias Ringwald  */
1523aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG                           0x0A
1524d63c37a1SMatthias Ringwald 
1525d63c37a1SMatthias Ringwald /**
1526d63c37a1SMatthias Ringwald  * @format 1
1527d63c37a1SMatthias Ringwald  * @param subevent_code
1528d63c37a1SMatthias Ringwald  */
1529aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG                            0x0B
1530d63c37a1SMatthias Ringwald 
1531d63c37a1SMatthias Ringwald /**
1532d63c37a1SMatthias Ringwald  * @format 1
1533d63c37a1SMatthias Ringwald  * @param subevent_code
1534d63c37a1SMatthias Ringwald  */
1535aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED                          0x0C
1536d63c37a1SMatthias Ringwald 
1537d63c37a1SMatthias Ringwald /**
1538d63c37a1SMatthias Ringwald  * @format 1T
1539d63c37a1SMatthias Ringwald  * @param subevent_code
1540d63c37a1SMatthias Ringwald  * @param number
1541d63c37a1SMatthias Ringwald  */
1542aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER                   0x0D
1543d63c37a1SMatthias Ringwald 
1544d63c37a1SMatthias Ringwald /**
1545d63c37a1SMatthias Ringwald  * @format 1
1546d63c37a1SMatthias Ringwald  * @param subevent_code
1547d63c37a1SMatthias Ringwald  */
1548d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG               0x0E
1549d63c37a1SMatthias Ringwald 
1550d63c37a1SMatthias Ringwald /**
1551d63c37a1SMatthias Ringwald  * @format 1T
1552d63c37a1SMatthias Ringwald  * @param subevent_code
1553d63c37a1SMatthias Ringwald  * @param number
1554d63c37a1SMatthias Ringwald  */
1555d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG                     0x0F
1556d63c37a1SMatthias Ringwald 
1557d63c37a1SMatthias Ringwald /**
1558d63c37a1SMatthias Ringwald  * @format 1T
1559d63c37a1SMatthias Ringwald  * @param subevent_code
1560d63c37a1SMatthias Ringwald  * @param dtmf code
1561d63c37a1SMatthias Ringwald  */
1562d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES                      0x10
1563d63c37a1SMatthias Ringwald 
1564d63c37a1SMatthias Ringwald /**
1565d63c37a1SMatthias Ringwald  * @format 1
1566d63c37a1SMatthias Ringwald  * @param subevent_code
1567d63c37a1SMatthias Ringwald  */
1568d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_CALL_ANSWERED                            0x11
1569d63c37a1SMatthias Ringwald 
1570d63c37a1SMatthias Ringwald /**
1571d63c37a1SMatthias Ringwald  * @format 1
1572d63c37a1SMatthias Ringwald  * @param subevent_code
1573d63c37a1SMatthias Ringwald  */
1574d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL                          0x12
1575d63c37a1SMatthias Ringwald 
1576d63c37a1SMatthias Ringwald /**
1577d63c37a1SMatthias Ringwald  * @format 1
1578d63c37a1SMatthias Ringwald  * @param subevent_code
1579d63c37a1SMatthias Ringwald  */
1580d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING                                     0x13
1581d63c37a1SMatthias Ringwald 
1582d63c37a1SMatthias Ringwald /**
1583d63c37a1SMatthias Ringwald  * @format 111
1584d63c37a1SMatthias Ringwald  * @param subevent_code
1585d63c37a1SMatthias Ringwald  * @param status
1586d63c37a1SMatthias Ringwald  * @param gain
1587d63c37a1SMatthias Ringwald  */
1588d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SPEAKER_VOLUME                           0x14
1589d63c37a1SMatthias Ringwald 
1590d63c37a1SMatthias Ringwald /**
1591d63c37a1SMatthias Ringwald  * @format 111
1592d63c37a1SMatthias Ringwald  * @param subevent_code
1593d63c37a1SMatthias Ringwald  * @param status
1594d63c37a1SMatthias Ringwald  * @param gain
1595d63c37a1SMatthias Ringwald  */
1596d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME                        0x15
1597d63c37a1SMatthias Ringwald 
1598d63c37a1SMatthias Ringwald /**
1599d63c37a1SMatthias Ringwald  * @format 11T
1600d63c37a1SMatthias Ringwald  * @param subevent_code
1601d63c37a1SMatthias Ringwald  * @param type
1602d63c37a1SMatthias Ringwald  * @param number
1603d63c37a1SMatthias Ringwald  */
1604d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION                0x16
1605d63c37a1SMatthias Ringwald 
1606d63c37a1SMatthias Ringwald /**
1607d63c37a1SMatthias Ringwald  * @format 11T
1608d63c37a1SMatthias Ringwald  * @param subevent_code
1609d63c37a1SMatthias Ringwald  * @param type
1610d63c37a1SMatthias Ringwald  * @param number
1611d63c37a1SMatthias Ringwald  */
161289f1e358SMilanka Ringwald #define HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION 0x17
1613d63c37a1SMatthias Ringwald 
1614d63c37a1SMatthias Ringwald /**
16150aee97efSMilanka Ringwald  * @format 1111111T
1616d63c37a1SMatthias Ringwald  * @param subevent_code
1617d63c37a1SMatthias Ringwald  * @param clcc_idx
1618d63c37a1SMatthias Ringwald  * @param clcc_dir
1619d63c37a1SMatthias Ringwald  * @param clcc_status
16200aee97efSMilanka Ringwald  * @param clcc_mode
1621d63c37a1SMatthias Ringwald  * @param clcc_mpty
1622d63c37a1SMatthias Ringwald  * @param bnip_type
1623d63c37a1SMatthias Ringwald  * @param bnip_number
1624d63c37a1SMatthias Ringwald  */
1625d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS                     0x18
1626d63c37a1SMatthias Ringwald 
1627d63c37a1SMatthias Ringwald /**
1628d63c37a1SMatthias Ringwald  * @format 111T
1629d63c37a1SMatthias Ringwald  * @param subevent_code
1630d63c37a1SMatthias Ringwald  * @param status
1631d63c37a1SMatthias Ringwald  * @param bnip_type
1632d63c37a1SMatthias Ringwald  * @param bnip_number
1633d63c37a1SMatthias Ringwald  */
1634d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION            0x19
1635d63c37a1SMatthias Ringwald 
1636d63c37a1SMatthias Ringwald /**
1637d63c37a1SMatthias Ringwald  * @format 1T
1638d63c37a1SMatthias Ringwald  * @param subevent_code
1639d63c37a1SMatthias Ringwald  * @param value
1640d63c37a1SMatthias Ringwald  */
1641d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS                 0x1A
1642941b3855SMatthias Ringwald 
1643941b3855SMatthias Ringwald // ANCS Client
1644a4815874SMatthias Ringwald 
1645a4815874SMatthias Ringwald /**
1646e10ce426SMatthias Ringwald  * @format 1H
1647e10ce426SMatthias Ringwald  * @param subevent_code
1648a4815874SMatthias Ringwald  * @param handle
1649a4815874SMatthias Ringwald  */
1650e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED                              0xF0
1651a4815874SMatthias Ringwald 
1652a4815874SMatthias Ringwald /**
1653e10ce426SMatthias Ringwald  * @format 1H2T
1654e10ce426SMatthias Ringwald  * @param subevent_code
1655a4815874SMatthias Ringwald  * @param handle
1656a4815874SMatthias Ringwald  * @param attribute_id
1657a4815874SMatthias Ringwald  * @param text
1658a4815874SMatthias Ringwald  */
1659e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION                           0xF1
1660a4815874SMatthias Ringwald 
1661a4815874SMatthias Ringwald /**
1662e10ce426SMatthias Ringwald  * @format 1H
1663e10ce426SMatthias Ringwald  * @param subevent_code
1664a4815874SMatthias Ringwald  * @param handle
1665a4815874SMatthias Ringwald  */
1666e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED                           0xF2
1667941b3855SMatthias Ringwald 
1668a23045e2SMilanka Ringwald 
1669a23045e2SMilanka Ringwald /** AVDTP Subevent */
1670a23045e2SMilanka Ringwald 
16713338b9aeSMilanka Ringwald /**
1672f1042e9dSMilanka Ringwald  * @format 1211
16732c708e8aSMilanka Ringwald  * @param subevent_code
1674f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1675f1042e9dSMilanka Ringwald  * @param local_seid
16762c708e8aSMilanka Ringwald  * @param signal_identifier
16772c708e8aSMilanka Ringwald  */
16782c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_ACCEPT                     0x01
16792c708e8aSMilanka Ringwald 
16802c708e8aSMilanka Ringwald /**
16817050d2caSMilanka Ringwald  * @format 1211
16822c708e8aSMilanka Ringwald  * @param subevent_code
1683f9bca1f3SMilanka Ringwald  * @param avdtp_cid
16844ccacc40SMilanka Ringwald  * @param local_seid
16852c708e8aSMilanka Ringwald  * @param signal_identifier
16862c708e8aSMilanka Ringwald  */
16872c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_REJECT                     0x02
16882c708e8aSMilanka Ringwald 
16892c708e8aSMilanka Ringwald /**
16907050d2caSMilanka Ringwald  * @format 1211
16912c708e8aSMilanka Ringwald  * @param subevent_code
1692f9bca1f3SMilanka Ringwald  * @param avdtp_cid
16934ccacc40SMilanka Ringwald  * @param local_seid
16942c708e8aSMilanka Ringwald  * @param signal_identifier
16952c708e8aSMilanka Ringwald  */
16962c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT             0x03
16972c708e8aSMilanka Ringwald 
16982c708e8aSMilanka Ringwald /**
16997050d2caSMilanka Ringwald  * @format 12B1
17003338b9aeSMilanka Ringwald  * @param subevent_code
1701f9bca1f3SMilanka Ringwald  * @param avdtp_cid
17023338b9aeSMilanka Ringwald  * @param bd_addr
17033338b9aeSMilanka Ringwald  * @param status 0 == OK
17043338b9aeSMilanka Ringwald  */
17052c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED     0x04
1706a23045e2SMilanka Ringwald 
17073338b9aeSMilanka Ringwald /**
17087050d2caSMilanka Ringwald  * @format 12
17093338b9aeSMilanka Ringwald  * @param subevent_code
1710f9bca1f3SMilanka Ringwald  * @param avdtp_cid
17113338b9aeSMilanka Ringwald  */
17122c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED        0x05
17133338b9aeSMilanka Ringwald 
17143338b9aeSMilanka Ringwald /**
17157050d2caSMilanka Ringwald  * @format 121111
17163338b9aeSMilanka Ringwald  * @param subevent_code
1717f9bca1f3SMilanka Ringwald  * @param avdtp_cid
17184ccacc40SMilanka Ringwald  * @param remote_seid        0x01 – 0x3E
17193338b9aeSMilanka Ringwald  * @param in_use      0-not in use, 1-in use
17203338b9aeSMilanka Ringwald  * @param media_type  0-audio, 1-video, 2-multimedia
17213338b9aeSMilanka Ringwald  * @param sep_type    0-source, 1-sink
17223338b9aeSMilanka Ringwald  */
17232c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND                  0x06
17243338b9aeSMilanka Ringwald 
17253338b9aeSMilanka Ringwald /**
17267050d2caSMilanka Ringwald  * @format 121111111111
17273338b9aeSMilanka Ringwald  * @param subevent_code
1728f9bca1f3SMilanka Ringwald  * @param avdtp_cid
17294ccacc40SMilanka Ringwald  * @param local_seid
17304ccacc40SMilanka Ringwald  * @param remote_seid
17313338b9aeSMilanka Ringwald  * @param media_type
1732ea7bd529SMilanka Ringwald  * @param sampling_frequency_bitmap
1733ea7bd529SMilanka Ringwald  * @param channel_mode_bitmap
1734ea7bd529SMilanka Ringwald  * @param block_length_bitmap
1735ea7bd529SMilanka Ringwald  * @param subbands_bitmap
1736ea7bd529SMilanka Ringwald  * @param allocation_method_bitmap
17373338b9aeSMilanka Ringwald  * @param min_bitpool_value
17383338b9aeSMilanka Ringwald  * @param max_bitpool_value
17393338b9aeSMilanka Ringwald  */
17402c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY          0x07
17413338b9aeSMilanka Ringwald 
17423338b9aeSMilanka Ringwald /**
17437050d2caSMilanka Ringwald  * @format 121112LV
17443338b9aeSMilanka Ringwald  * @param subevent_code
1745f9bca1f3SMilanka Ringwald  * @param avdtp_cid
17464ccacc40SMilanka Ringwald  * @param local_seid
17474ccacc40SMilanka Ringwald  * @param remote_seid
17483338b9aeSMilanka Ringwald  * @param media_type
17493338b9aeSMilanka Ringwald  * @param media_codec_type
17503338b9aeSMilanka Ringwald  * @param media_codec_information_len
17513338b9aeSMilanka Ringwald  * @param media_codec_information
17523338b9aeSMilanka Ringwald  */
17532c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY        0x08
1754a23045e2SMilanka Ringwald 
175567ae582dSMilanka Ringwald 
175667ae582dSMilanka Ringwald /**
175767ae582dSMilanka Ringwald  * @format 1211
175867ae582dSMilanka Ringwald  * @param subevent_code
175967ae582dSMilanka Ringwald  * @param avdtp_cid
176067ae582dSMilanka Ringwald  * @param local_seid
176167ae582dSMilanka Ringwald  * @param remote_seid
176267ae582dSMilanka Ringwald  */
176367ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_TRANSPORT_CAPABILITY        0x09
176467ae582dSMilanka Ringwald 
176567ae582dSMilanka Ringwald 
176667ae582dSMilanka Ringwald /**
176767ae582dSMilanka Ringwald  * @format 1211
176867ae582dSMilanka Ringwald  * @param subevent_code
176967ae582dSMilanka Ringwald  * @param avdtp_cid
177067ae582dSMilanka Ringwald  * @param local_seid
177167ae582dSMilanka Ringwald  * @param remote_seid
177267ae582dSMilanka Ringwald  */
177367ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_REPORTING_CAPABILITY        0x0A
177467ae582dSMilanka Ringwald 
177567ae582dSMilanka Ringwald 
177667ae582dSMilanka Ringwald /**
177767ae582dSMilanka Ringwald  * @format 1211111
177867ae582dSMilanka Ringwald  * @param subevent_code
177967ae582dSMilanka Ringwald  * @param avdtp_cid
178067ae582dSMilanka Ringwald  * @param local_seid
178167ae582dSMilanka Ringwald  * @param remote_seid
178267ae582dSMilanka Ringwald  * @param recovery_type
178367ae582dSMilanka Ringwald  * @param maximum_recovery_window_size
178467ae582dSMilanka Ringwald  * @param maximum_number_media_packets
178567ae582dSMilanka Ringwald  */
178667ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_RECOVERY_CAPABILITY        0x0B
178767ae582dSMilanka Ringwald 
178867ae582dSMilanka Ringwald 
178967ae582dSMilanka Ringwald /**
179067ae582dSMilanka Ringwald  * @format 12112LV
179167ae582dSMilanka Ringwald  * @param subevent_code
179267ae582dSMilanka Ringwald  * @param avdtp_cid
179367ae582dSMilanka Ringwald  * @param local_seid
179467ae582dSMilanka Ringwald  * @param remote_seid
179567ae582dSMilanka Ringwald  * @param cp_type
179667ae582dSMilanka Ringwald  * @param cp_type_value_len
179767ae582dSMilanka Ringwald  * @param cp_type_value
179867ae582dSMilanka Ringwald  */
179967ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONTENT_PROTECTION_CAPABILITY        0x0C
180067ae582dSMilanka Ringwald 
180167ae582dSMilanka Ringwald 
180267ae582dSMilanka Ringwald /**
180367ae582dSMilanka Ringwald  * @format 121111111111
180467ae582dSMilanka Ringwald  * @param subevent_code
180567ae582dSMilanka Ringwald  * @param avdtp_cid
180667ae582dSMilanka Ringwald  * @param local_seid
180767ae582dSMilanka Ringwald  * @param remote_seid
180867ae582dSMilanka Ringwald  * @param fragmentation
180967ae582dSMilanka Ringwald  * @param transport_identifiers_num
181067ae582dSMilanka Ringwald  * @param transport_session_identifier_1
181167ae582dSMilanka Ringwald  * @param transport_session_identifier_2
181267ae582dSMilanka Ringwald  * @param transport_session_identifier_3
181367ae582dSMilanka Ringwald  * @param tcid_1
181467ae582dSMilanka Ringwald  * @param tcid_2
181567ae582dSMilanka Ringwald  * @param tcid_3
181667ae582dSMilanka Ringwald  */
181767ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MULTIPLEXING_CAPABILITY        0x0D
181867ae582dSMilanka Ringwald 
181967ae582dSMilanka Ringwald 
182067ae582dSMilanka Ringwald /**
182167ae582dSMilanka Ringwald  * @format 1211
182267ae582dSMilanka Ringwald  * @param subevent_code
182367ae582dSMilanka Ringwald  * @param avdtp_cid
182467ae582dSMilanka Ringwald  * @param local_seid
182567ae582dSMilanka Ringwald  * @param remote_seid
182667ae582dSMilanka Ringwald  */
182767ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY        0x0E
182867ae582dSMilanka Ringwald 
182967ae582dSMilanka Ringwald 
183067ae582dSMilanka Ringwald /**
183167ae582dSMilanka Ringwald  * @format 1211111
183267ae582dSMilanka Ringwald  * @param subevent_code
183367ae582dSMilanka Ringwald  * @param avdtp_cid
183467ae582dSMilanka Ringwald  * @param local_seid
183567ae582dSMilanka Ringwald  * @param remote_seid
183667ae582dSMilanka Ringwald  * @param back_ch
183767ae582dSMilanka Ringwald  * @param media
183867ae582dSMilanka Ringwald  * @param recovery
183967ae582dSMilanka Ringwald  */
184067ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_HEADER_COMPRESSION_CAPABILITY        0x0F
184167ae582dSMilanka Ringwald 
184267ae582dSMilanka Ringwald 
1843ea7bd529SMilanka Ringwald /**
18447050d2caSMilanka Ringwald  * @format 12111121111111
1845ea7bd529SMilanka Ringwald  * @param subevent_code
1846f9bca1f3SMilanka Ringwald  * @param avdtp_cid
18474ccacc40SMilanka Ringwald  * @param local_seid
18484ccacc40SMilanka Ringwald  * @param remote_seid
1849ea7bd529SMilanka Ringwald  * @param reconfigure
1850ea7bd529SMilanka Ringwald  * @param media_type
1851ea7bd529SMilanka Ringwald  * @param sampling_frequency
1852ea7bd529SMilanka Ringwald  * @param channel_mode
1853ea7bd529SMilanka Ringwald  * @param num_channels
1854ea7bd529SMilanka Ringwald  * @param block_length
1855ea7bd529SMilanka Ringwald  * @param subbands
1856ea7bd529SMilanka Ringwald  * @param allocation_method
1857ea7bd529SMilanka Ringwald  * @param min_bitpool_value
1858ea7bd529SMilanka Ringwald  * @param max_bitpool_value
1859ea7bd529SMilanka Ringwald  */
186067ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION        0x10
1861ea7bd529SMilanka Ringwald 
1862ea7bd529SMilanka Ringwald /**
18637050d2caSMilanka Ringwald  * @format 1211112LV
1864ea7bd529SMilanka Ringwald  * @param subevent_code
1865f9bca1f3SMilanka Ringwald  * @param avdtp_cid
18664ccacc40SMilanka Ringwald  * @param local_seid
18674ccacc40SMilanka Ringwald  * @param remote_seid
1868ea7bd529SMilanka Ringwald  * @param reconfigure
1869ea7bd529SMilanka Ringwald  * @param media_type
1870ea7bd529SMilanka Ringwald  * @param media_codec_type
1871ea7bd529SMilanka Ringwald  * @param media_codec_information_len
1872ea7bd529SMilanka Ringwald  * @param media_codec_information
1873ea7bd529SMilanka Ringwald  */
187467ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION        0x11
1875decc740cSMilanka Ringwald 
187685a0c7cdSMilanka Ringwald /**
1877ef5ad9d6SMilanka Ringwald  * @format 12B111
187885a0c7cdSMilanka Ringwald  * @param subevent_code
1879f9bca1f3SMilanka Ringwald  * @param avdtp_cid
1880ef5ad9d6SMilanka Ringwald  * @param bd_addr
18814ccacc40SMilanka Ringwald  * @param local_seid
18824ccacc40SMilanka Ringwald  * @param remote_seid
188385a0c7cdSMilanka Ringwald  * @param status 0 == OK
188485a0c7cdSMilanka Ringwald  */
188567ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED     0x12
188685a0c7cdSMilanka Ringwald 
188785a0c7cdSMilanka Ringwald /**
188834b22aacSMilanka Ringwald  * @format 121
188985a0c7cdSMilanka Ringwald  * @param subevent_code
1890f9bca1f3SMilanka Ringwald  * @param avdtp_cid
189134b22aacSMilanka Ringwald  * @param local_seid
189285a0c7cdSMilanka Ringwald  */
189367ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED        0x13
189485a0c7cdSMilanka Ringwald 
1895f7103c90SMilanka Ringwald /**
18967050d2caSMilanka Ringwald  * @format 1212
1897f7103c90SMilanka Ringwald  * @param subevent_code
1898f9bca1f3SMilanka Ringwald  * @param avdtp_cid
18994ccacc40SMilanka Ringwald  * @param local_seid
1900a04ed5e9SMilanka Ringwald  * @param sequence_number
1901f7103c90SMilanka Ringwald  */
190267ae582dSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW   0x14
190385a0c7cdSMilanka Ringwald 
1904578eda3eSMilanka Ringwald /**
1905578eda3eSMilanka Ringwald  * @format 1211
1906578eda3eSMilanka Ringwald  * @param subevent_code
1907578eda3eSMilanka Ringwald  * @param avdtp_cid
1908578eda3eSMilanka Ringwald  * @param local_seid
1909578eda3eSMilanka Ringwald  * @param remote_seid
1910578eda3eSMilanka Ringwald  */
19110f5bb594SMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CAPABILITIES_DONE           0x15
1912578eda3eSMilanka Ringwald 
1913578eda3eSMilanka Ringwald 
1914c0491de3SMilanka Ringwald /**
1915c0491de3SMilanka Ringwald  * @format 12
1916c0491de3SMilanka Ringwald  * @param subevent_code
1917c0491de3SMilanka Ringwald  * @param avdtp_cid
1918c0491de3SMilanka Ringwald  */
1919c0491de3SMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_SEP_DICOVERY_DONE           0x16
1920c0491de3SMilanka Ringwald 
1921ff6bc02cSMilanka Ringwald /**
1922ff6bc02cSMilanka Ringwald  * @format 1212
1923ff6bc02cSMilanka Ringwald  * @param subevent_code
1924ff6bc02cSMilanka Ringwald  * @param avdtp_cid
1925ff6bc02cSMilanka Ringwald  * @param local_seid
1926ff6bc02cSMilanka Ringwald  * @param delay_100us
1927ff6bc02cSMilanka Ringwald  */
1928ff6bc02cSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_DELAY_REPORT               0x17
1929decc740cSMilanka Ringwald 
193046e6b063SMilanka Ringwald /** A2DP Subevent */
19317050d2caSMilanka Ringwald /* Stream goes through following states:
19327050d2caSMilanka Ringwald  * - OPEN         - indicated with A2DP_SUBEVENT_STREAM_ESTABLISHED event
19337050d2caSMilanka Ringwald  * - START        - indicated with A2DP_SUBEVENT_STREAM_STARTED event
19347050d2caSMilanka Ringwald  * - SUSPEND      - indicated with A2DP_SUBEVENT_STREAM_SUSPENDED event
19357050d2caSMilanka Ringwald  * - ABORT/STOP   - indicated with A2DP_SUBEVENT_STREAM_RELEASED event
19367050d2caSMilanka Ringwald 
19377050d2caSMilanka Ringwald  OPEN state will be followed by ABORT/STOP. Stream is ready but media transfer is not started.
19387050d2caSMilanka Ringwald  START can come only after the stream is OPENED, and indicates that media transfer is started.
19397050d2caSMilanka Ringwald  SUSPEND is optional, it pauses the stream.
19407050d2caSMilanka Ringwald  */
194146e6b063SMilanka Ringwald 
194246e6b063SMilanka Ringwald /**
19437050d2caSMilanka Ringwald  * @format 121            Sent only by A2DP source.
19447050d2caSMilanka Ringwald  * @param subevent_code
1945f1042e9dSMilanka Ringwald  * @param a2dp_cid
19467050d2caSMilanka Ringwald  * @param local_seid
19477050d2caSMilanka Ringwald  */
19487050d2caSMilanka Ringwald #define A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW         0x01
19497050d2caSMilanka Ringwald 
19507050d2caSMilanka Ringwald /**
1951f1042e9dSMilanka Ringwald  * @format 12111121111111
1952f1042e9dSMilanka Ringwald  * @param subevent_code
1953f1042e9dSMilanka Ringwald  * @param a2dp_cid
1954f1042e9dSMilanka Ringwald  * @param int_seid
1955f1042e9dSMilanka Ringwald  * @param acp_seid
1956f1042e9dSMilanka Ringwald  * @param reconfigure
1957f1042e9dSMilanka Ringwald  * @param media_type
1958f1042e9dSMilanka Ringwald  * @param sampling_frequency
1959f1042e9dSMilanka Ringwald  * @param channel_mode
1960f1042e9dSMilanka Ringwald  * @param num_channels
1961f1042e9dSMilanka Ringwald  * @param block_length
1962f1042e9dSMilanka Ringwald  * @param subbands
1963f1042e9dSMilanka Ringwald  * @param allocation_method
1964f1042e9dSMilanka Ringwald  * @param min_bitpool_value
1965f1042e9dSMilanka Ringwald  * @param max_bitpool_value
1966f1042e9dSMilanka Ringwald  */
1967f1042e9dSMilanka Ringwald #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION      0x02
1968f1042e9dSMilanka Ringwald 
1969f1042e9dSMilanka Ringwald /**
1970f1042e9dSMilanka Ringwald  * @format 1211112LV
1971f1042e9dSMilanka Ringwald  * @param subevent_code
1972f1042e9dSMilanka Ringwald  * @param a2dp_cid
1973f1042e9dSMilanka Ringwald  * @param int_seid
1974f1042e9dSMilanka Ringwald  * @param acp_seid
1975f1042e9dSMilanka Ringwald  * @param reconfigure
1976f1042e9dSMilanka Ringwald  * @param media_type
1977f1042e9dSMilanka Ringwald  * @param media_codec_type
1978f1042e9dSMilanka Ringwald  * @param media_codec_information_len
1979f1042e9dSMilanka Ringwald  * @param media_codec_information
1980f1042e9dSMilanka Ringwald  */
1981f1042e9dSMilanka Ringwald #define A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION    0x03
1982f1042e9dSMilanka Ringwald 
1983f1042e9dSMilanka Ringwald /**
1984ef5ad9d6SMilanka Ringwald  * @format 12B111          Stream is opened byt not started.
198546e6b063SMilanka Ringwald  * @param subevent_code
198646e6b063SMilanka Ringwald  * @param a2dp_cid
1987ef5ad9d6SMilanka Ringwald  * @param bd_addr
198846e6b063SMilanka Ringwald  * @param local_seid
198946e6b063SMilanka Ringwald  * @param remote_seid
199046e6b063SMilanka Ringwald  * @param status
199146e6b063SMilanka Ringwald  */
1992f1042e9dSMilanka Ringwald #define A2DP_SUBEVENT_STREAM_ESTABLISHED                           0x04
199346e6b063SMilanka Ringwald 
1994a42de583SMilanka Ringwald /**
199534b22aacSMilanka Ringwald  * @format 121            Indicates that media transfer is started.
1996a42de583SMilanka Ringwald  * @param subevent_code
199746e6b063SMilanka Ringwald  * @param a2dp_cid
199846e6b063SMilanka Ringwald  * @param local_seid
1999a42de583SMilanka Ringwald  */
2000f1042e9dSMilanka Ringwald #define A2DP_SUBEVENT_STREAM_STARTED                               0x05
200146e6b063SMilanka Ringwald 
200246e6b063SMilanka Ringwald /**
200334b22aacSMilanka Ringwald  * @format 121           Stream is paused.
200446e6b063SMilanka Ringwald  * @param subevent_code
200546e6b063SMilanka Ringwald  * @param a2dp_cid
200646e6b063SMilanka Ringwald  * @param local_seid
200746e6b063SMilanka Ringwald  */
2008f1042e9dSMilanka Ringwald #define A2DP_SUBEVENT_STREAM_SUSPENDED                              0x06
2009a42de583SMilanka Ringwald 
2010a42de583SMilanka Ringwald /**
2011133bececSMilanka Ringwald  * @format 121           Stream is stoped or aborted.
2012133bececSMilanka Ringwald  * @param subevent_code
2013133bececSMilanka Ringwald  * @param a2dp_cid
2014133bececSMilanka Ringwald  * @param local_seid
2015133bececSMilanka Ringwald  */
2016133bececSMilanka Ringwald #define A2DP_SUBEVENT_STREAM_STOPPED                                0x07
2017133bececSMilanka Ringwald 
2018133bececSMilanka Ringwald /**
201934b22aacSMilanka Ringwald  * @format 121            Stream is released.
202046e6b063SMilanka Ringwald  * @param subevent_code
2021f1042e9dSMilanka Ringwald  * @param a2dp_cid
202246e6b063SMilanka Ringwald  * @param local_seid
202346e6b063SMilanka Ringwald  */
2024133bececSMilanka Ringwald #define A2DP_SUBEVENT_STREAM_RELEASED                               0x08
2025ba155c22SMilanka Ringwald 
202634b22aacSMilanka Ringwald /**
202734b22aacSMilanka Ringwald  * @format 1211
202834b22aacSMilanka Ringwald  * @param subevent_code
202934b22aacSMilanka Ringwald  * @param a2dp_cid
203034b22aacSMilanka Ringwald  * @param local_seid
203134b22aacSMilanka Ringwald  * @param signal_identifier
203234b22aacSMilanka Ringwald  */
2033133bececSMilanka Ringwald #define A2DP_SUBEVENT_COMMAND_ACCEPTED                              0x09
20347050d2caSMilanka Ringwald 
203534b22aacSMilanka Ringwald /**
203634b22aacSMilanka Ringwald  * @format 1211
203734b22aacSMilanka Ringwald  * @param subevent_code
203834b22aacSMilanka Ringwald  * @param a2dp_cid
203934b22aacSMilanka Ringwald  * @param local_seid
204034b22aacSMilanka Ringwald  * @param signal_identifier
204134b22aacSMilanka Ringwald  */
2042133bececSMilanka Ringwald #define A2DP_SUBEVENT_COMMAND_REJECTED                              0x0A
20437050d2caSMilanka Ringwald 
20445448c259SMilanka Ringwald /**
204563331bf4SMilanka Ringwald  * @format 12B1
20465448c259SMilanka Ringwald  * @param subevent_code
20475448c259SMilanka Ringwald  * @param a2dp_cid
20485448c259SMilanka Ringwald  * @param bd_addr
204963331bf4SMilanka Ringwald  * @param status 0 == OK
20505448c259SMilanka Ringwald  */
205163331bf4SMilanka Ringwald #define A2DP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED              0x0B
20525448c259SMilanka Ringwald 
205346c48853SMilanka Ringwald /**
2054a466d508SMilanka Ringwald  * @format 12            Signaling channel is released.
205546c48853SMilanka Ringwald  * @param subevent_code
205646c48853SMilanka Ringwald  * @param a2dp_cid
205746c48853SMilanka Ringwald  */
2058133bececSMilanka Ringwald #define A2DP_SUBEVENT_SIGNALING_CONNECTION_RELEASED                  0x0C
205946c48853SMilanka Ringwald 
2060b8dffb25SMatthias Ringwald /**
2061b8dffb25SMatthias Ringwald  * @format 1211          Stream was reconfigured
2062b8dffb25SMatthias Ringwald  * @param subevent_code
2063b8dffb25SMatthias Ringwald  * @param a2dp_cid
2064b8dffb25SMatthias Ringwald  * @param local_seid
2065b8dffb25SMatthias Ringwald  * @param status
2066b8dffb25SMatthias Ringwald  */
2067b8dffb25SMatthias Ringwald #define A2DP_SUBEVENT_STREAM_RECONFIGURED                            0x0D
206846c48853SMilanka Ringwald 
2069ff6bc02cSMilanka Ringwald /**
20700f5bb594SMilanka Ringwald  * @format 1211
20710f5bb594SMilanka Ringwald  * @param subevent_code
20720f5bb594SMilanka Ringwald  * @param avdtp_cid
20730f5bb594SMilanka Ringwald  * @param local_seid
20740f5bb594SMilanka Ringwald  * @param remote_seid
20750f5bb594SMilanka Ringwald  */
20760f5bb594SMilanka Ringwald #define A2DP_SUBEVENT_SIGNALING_DELAY_REPORTING_CAPABILITY           0x0E
20770f5bb594SMilanka Ringwald 
20780f5bb594SMilanka Ringwald 
20790f5bb594SMilanka Ringwald /**
2080ff6bc02cSMilanka Ringwald  * @format 1212
2081ff6bc02cSMilanka Ringwald  * @param subevent_code
2082ff6bc02cSMilanka Ringwald  * @param avdtp_cid
2083ff6bc02cSMilanka Ringwald  * @param local_seid
2084ff6bc02cSMilanka Ringwald  * @param delay_100us
2085ff6bc02cSMilanka Ringwald  */
20860f5bb594SMilanka Ringwald #define A2DP_SUBEVENT_SIGNALING_DELAY_REPORT                         0x0F
2087ff6bc02cSMilanka Ringwald 
20880f5bb594SMilanka Ringwald /**
20890f5bb594SMilanka Ringwald  * @format 1211
20900f5bb594SMilanka Ringwald  * @param subevent_code
20910f5bb594SMilanka Ringwald  * @param avdtp_cid
20920f5bb594SMilanka Ringwald  * @param local_seid
20930f5bb594SMilanka Ringwald  * @param remote_seid
20940f5bb594SMilanka Ringwald  */
20950f5bb594SMilanka Ringwald #define A2DP_SUBEVENT_SIGNALING_CAPABILITIES_DONE                    0x10
2096ff6bc02cSMilanka Ringwald 
2097decc740cSMilanka Ringwald /** AVRCP Subevent */
2098decc740cSMilanka Ringwald 
2099decc740cSMilanka Ringwald /**
21006086246cSMilanka Ringwald  * @format 11B2
2101decc740cSMilanka Ringwald  * @param subevent_code
21022a029560SMilanka Ringwald  * @param status 0 == OK
2103decc740cSMilanka Ringwald  * @param bd_addr
2104b193c45eSMilanka Ringwald  * @param avrcp_cid
2105decc740cSMilanka Ringwald  */
2106decc740cSMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_ESTABLISHED                           0x01
2107decc740cSMilanka Ringwald 
2108decc740cSMilanka Ringwald /**
2109b193c45eSMilanka Ringwald  * @format 12
2110decc740cSMilanka Ringwald  * @param subevent_code
2111b193c45eSMilanka Ringwald  * @param avrcp_cid
2112decc740cSMilanka Ringwald  */
21136eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_RELEASED                              0x02
2114decc740cSMilanka Ringwald 
2115cd41da7eSMilanka Ringwald /**
2116b193c45eSMilanka Ringwald  * @format 12111
21172a029560SMilanka Ringwald  * @param subevent_code
2118b193c45eSMilanka Ringwald  * @param avrcp_cid
2119d3b6a85eSMatthias Ringwald  * @param command_type
21202a029560SMilanka Ringwald  * @param repeat_mode
21212a029560SMilanka Ringwald  * @param shuffle_mode
21222a029560SMilanka Ringwald  */
21231bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE                          0x03
2124cd41da7eSMilanka Ringwald 
21256eb7ba29SMilanka Ringwald /**
2126b193c45eSMilanka Ringwald  * @format 121441
21276eb7ba29SMilanka Ringwald  * @param subevent_code
2128b193c45eSMilanka Ringwald  * @param avrcp_cid
2129d3b6a85eSMatthias Ringwald  * @param command_type
21306eb7ba29SMilanka Ringwald  * @param song_length
21316eb7ba29SMilanka Ringwald  * @param song_position
21326eb7ba29SMilanka Ringwald  * @param play_status
21336eb7ba29SMilanka Ringwald  */
21341bf7a74fSMilanka Ringwald  #define AVRCP_SUBEVENT_PLAY_STATUS                                     0x04
21356eb7ba29SMilanka Ringwald 
21366eb7ba29SMilanka Ringwald /**
2137b193c45eSMilanka Ringwald  * @format 1211
21386eb7ba29SMilanka Ringwald  * @param subevent_code
2139b193c45eSMilanka Ringwald  * @param avrcp_cid
2140d3b6a85eSMatthias Ringwald  * @param command_type
21416aecb8a4SMatthias Ringwald  * @param play_status
21426eb7ba29SMilanka Ringwald  */
21431bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED             0x05
21446eb7ba29SMilanka Ringwald 
21456eb7ba29SMilanka Ringwald /**
2146ee6d17f2SMatthias Ringwald  * @format 121
21476eb7ba29SMilanka Ringwald  * @param subevent_code
2148b193c45eSMilanka Ringwald  * @param avrcp_cid
2149d3b6a85eSMatthias Ringwald  * @param command_type
21506eb7ba29SMilanka Ringwald  */
21511bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED                       0x06
21526eb7ba29SMilanka Ringwald 
21536eb7ba29SMilanka Ringwald /**
2154b193c45eSMilanka Ringwald  * @format 121
21556eb7ba29SMilanka Ringwald  * @param subevent_code
2156b193c45eSMilanka Ringwald  * @param avrcp_cid
2157d3b6a85eSMatthias Ringwald  * @param command_type
21586eb7ba29SMilanka Ringwald  */
21591bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED          0x07
21606eb7ba29SMilanka Ringwald 
21616eb7ba29SMilanka Ringwald /**
2162b193c45eSMilanka Ringwald  * @format 121
21636eb7ba29SMilanka Ringwald  * @param subevent_code
2164b193c45eSMilanka Ringwald  * @param avrcp_cid
2165d3b6a85eSMatthias Ringwald  * @param command_type
21666eb7ba29SMilanka Ringwald  */
21671bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED            0x08
21686eb7ba29SMilanka Ringwald 
21696eb7ba29SMilanka Ringwald /**
2170b193c45eSMilanka Ringwald  * @format 1211
21716eb7ba29SMilanka Ringwald  * @param subevent_code
2172b193c45eSMilanka Ringwald  * @param avrcp_cid
2173d3b6a85eSMatthias Ringwald  * @param command_type
21746eb7ba29SMilanka Ringwald  * @param absolute_volume
21756eb7ba29SMilanka Ringwald  */
21761bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED                       0x09
21776eb7ba29SMilanka Ringwald 
21786eb7ba29SMilanka Ringwald /**
2179b193c45eSMilanka Ringwald  * @format 1211
21806eb7ba29SMilanka Ringwald  * @param subevent_code
2181b193c45eSMilanka Ringwald  * @param avrcp_cid
2182d3b6a85eSMatthias Ringwald  * @param command_type
21836eb7ba29SMilanka Ringwald  * @param absolute_volume
21846eb7ba29SMilanka Ringwald  */
21851bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE                      0x0A
21866eb7ba29SMilanka Ringwald 
21876eb7ba29SMilanka Ringwald /**
2188b193c45eSMilanka Ringwald  * @format 1211
21896eb7ba29SMilanka Ringwald  * @param subevent_code
2190b193c45eSMilanka Ringwald  * @param avrcp_cid
2191d3b6a85eSMatthias Ringwald  * @param command_type
21926eb7ba29SMilanka Ringwald  * @param notification_id
21936eb7ba29SMilanka Ringwald  */
21941bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE                       0x0B
21956eb7ba29SMilanka Ringwald 
21966eb7ba29SMilanka Ringwald /**
2197b193c45eSMilanka Ringwald  * @format 1211
21986eb7ba29SMilanka Ringwald  * @param subevent_code
2199b193c45eSMilanka Ringwald  * @param avrcp_cid
2200d3b6a85eSMatthias Ringwald  * @param command_type
22016eb7ba29SMilanka Ringwald  * @param operation_id
22026eb7ba29SMilanka Ringwald  */
22031bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_START                                    0x0C
22046eb7ba29SMilanka Ringwald 
22056eb7ba29SMilanka Ringwald /**
2206b193c45eSMilanka Ringwald  * @format 1211
22076eb7ba29SMilanka Ringwald  * @param subevent_code
2208b193c45eSMilanka Ringwald  * @param avrcp_cid
2209d3b6a85eSMatthias Ringwald  * @param command_type
22106eb7ba29SMilanka Ringwald  * @param operation_id
22116eb7ba29SMilanka Ringwald  */
22121bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_COMPLETE                                 0x0D
22136eb7ba29SMilanka Ringwald 
22146eb7ba29SMilanka Ringwald /**
2215b193c45eSMilanka Ringwald  * @format 121
22166eb7ba29SMilanka Ringwald  * @param subevent_code
2217b193c45eSMilanka Ringwald  * @param avrcp_cid
2218d3b6a85eSMatthias Ringwald  * @param command_type
22196eb7ba29SMilanka Ringwald  */
22201bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE                   0x0E
22216eb7ba29SMilanka Ringwald 
2222f1b34e8dSMatthias Ringwald /**
22234b338011SMilanka Ringwald  * @format 12
22244b338011SMilanka Ringwald  * @param subevent_code
22254b338011SMilanka Ringwald  * @param avrcp_cid
22264b338011SMilanka Ringwald  */
22271bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_COMPANY_IDS_QUERY                                    0x0F
2228e0bbf3edSMilanka Ringwald 
2229e0bbf3edSMilanka Ringwald /**
2230e0bbf3edSMilanka Ringwald  * @format 12
2231e0bbf3edSMilanka Ringwald  * @param subevent_code
2232e0bbf3edSMilanka Ringwald  * @param avrcp_cid
2233e0bbf3edSMilanka Ringwald  */
22341bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_EVENT_IDS_QUERY                                      0x10
2235c045af99SMilanka Ringwald 
2236c045af99SMilanka Ringwald /**
2237c045af99SMilanka Ringwald  * @format 12
2238c045af99SMilanka Ringwald  * @param subevent_code
2239c045af99SMilanka Ringwald  * @param avrcp_cid
2240c045af99SMilanka Ringwald  */
22411bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_PLAY_STATUS_QUERY                                    0x11
22424b338011SMilanka Ringwald 
22434b338011SMilanka Ringwald /**
2244831d3fd5SMilanka Ringwald  * @format 12111
2245831d3fd5SMilanka Ringwald  * @param subevent_code
2246831d3fd5SMilanka Ringwald  * @param avrcp_cid
2247831d3fd5SMilanka Ringwald  * @param operation_id
2248831d3fd5SMilanka Ringwald  * @param operands_length
2249831d3fd5SMilanka Ringwald  * @param operand
2250831d3fd5SMilanka Ringwald  */
22511bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION                                            0x12
22521bf7a74fSMilanka Ringwald 
22531bf7a74fSMilanka Ringwald /**
22541bf7a74fSMilanka Ringwald  * @format 1211
22551bf7a74fSMilanka Ringwald  * @param subevent_code
22561bf7a74fSMilanka Ringwald  * @param avrcp_cid
22571bf7a74fSMilanka Ringwald  * @param command_type
22581bf7a74fSMilanka Ringwald  * @param track
22591bf7a74fSMilanka Ringwald  */
22601bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_TRACK_INFO                                 0x13
22611bf7a74fSMilanka Ringwald 
22621bf7a74fSMilanka Ringwald /**
22631bf7a74fSMilanka Ringwald  * @format 1211
22641bf7a74fSMilanka Ringwald  * @param subevent_code
22651bf7a74fSMilanka Ringwald  * @param avrcp_cid
22661bf7a74fSMilanka Ringwald  * @param command_type
22671bf7a74fSMilanka Ringwald  * @param total_tracks
22681bf7a74fSMilanka Ringwald  */
22691bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_TOTAL_TRACKS_INFO                          0x14
22701bf7a74fSMilanka Ringwald 
22711bf7a74fSMilanka Ringwald /**
22721bf7a74fSMilanka Ringwald  * @format 1214
22731bf7a74fSMilanka Ringwald  * @param subevent_code
22741bf7a74fSMilanka Ringwald  * @param avrcp_cid
22751bf7a74fSMilanka Ringwald  * @param command_type
22761bf7a74fSMilanka Ringwald  * @param song_length in ms
22771bf7a74fSMilanka Ringwald  */
22781bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_SONG_LENGTH_MS_INFO                        0x15
22791bf7a74fSMilanka Ringwald 
22801bf7a74fSMilanka Ringwald /**
22811bf7a74fSMilanka Ringwald  * @format 121JV
22821bf7a74fSMilanka Ringwald  * @param subevent_code
22831bf7a74fSMilanka Ringwald  * @param avrcp_cid
22841bf7a74fSMilanka Ringwald  * @param command_type
22851bf7a74fSMilanka Ringwald  * @param value_len
22861bf7a74fSMilanka Ringwald  * @param value
22871bf7a74fSMilanka Ringwald  */
22881bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_TITLE_INFO                                 0x16
22891bf7a74fSMilanka Ringwald 
22901bf7a74fSMilanka Ringwald  /*
22911bf7a74fSMilanka Ringwald  * @format 121JV
22921bf7a74fSMilanka Ringwald  * @param subevent_code
22931bf7a74fSMilanka Ringwald  * @param avrcp_cid
22941bf7a74fSMilanka Ringwald  * @param command_type
22951bf7a74fSMilanka Ringwald  * @param value_len
22961bf7a74fSMilanka Ringwald  * @param value
22971bf7a74fSMilanka Ringwald  */
22981bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_ARTIST_INFO                                0x17
22991bf7a74fSMilanka Ringwald 
23001bf7a74fSMilanka Ringwald  /*
23011bf7a74fSMilanka Ringwald  * @format 121JV
23021bf7a74fSMilanka Ringwald  * @param subevent_code
23031bf7a74fSMilanka Ringwald  * @param avrcp_cid
23041bf7a74fSMilanka Ringwald  * @param command_type
23051bf7a74fSMilanka Ringwald  * @param value_len
23061bf7a74fSMilanka Ringwald  * @param value
23071bf7a74fSMilanka Ringwald  */
23081bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_ALBUM_INFO                                 0x18
23091bf7a74fSMilanka Ringwald 
23101bf7a74fSMilanka Ringwald  /*
23111bf7a74fSMilanka Ringwald  * @format 121JV
23121bf7a74fSMilanka Ringwald  * @param subevent_code
23131bf7a74fSMilanka Ringwald  * @param avrcp_cid
23141bf7a74fSMilanka Ringwald  * @param command_type
23151bf7a74fSMilanka Ringwald  * @param value_len
23161bf7a74fSMilanka Ringwald  * @param value
23171bf7a74fSMilanka Ringwald  */
23181bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_GENRE_INFO                                 0x19
23191bf7a74fSMilanka Ringwald 
23201bf7a74fSMilanka Ringwald /*
23211bf7a74fSMilanka Ringwald  * @format 1211
23221bf7a74fSMilanka Ringwald  * @param subevent_code
23231bf7a74fSMilanka Ringwald  * @param avrcp_cid
23241bf7a74fSMilanka Ringwald  * @param command_type
23251bf7a74fSMilanka Ringwald  * @param status
23261bf7a74fSMilanka Ringwald  */
23271bf7a74fSMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_INFO_DONE                                  0x1A
23281bf7a74fSMilanka Ringwald 
2329c3fca900SMilanka Ringwald /**
2330576a1127SMilanka Ringwald  * @format 1B2
2331576a1127SMilanka Ringwald  * @param subevent_code
2332576a1127SMilanka Ringwald  * @param bd_addr
2333576a1127SMilanka Ringwald  * @param browsing_cid
2334576a1127SMilanka Ringwald  */
2335576a1127SMilanka Ringwald #define AVRCP_SUBEVENT_INCOMING_BROWSING_CONNECTION                          0x1B
2336576a1127SMilanka Ringwald 
2337576a1127SMilanka Ringwald /**
2338c3fca900SMilanka Ringwald  * @format 11B2
2339c3fca900SMilanka Ringwald  * @param subevent_code
2340c3fca900SMilanka Ringwald  * @param status 0 == OK
2341c3fca900SMilanka Ringwald  * @param bd_addr
2342c3fca900SMilanka Ringwald  * @param browsing_cid
2343c3fca900SMilanka Ringwald  */
2344576a1127SMilanka Ringwald #define AVRCP_SUBEVENT_BROWSING_CONNECTION_ESTABLISHED                        0x1C
2345c3fca900SMilanka Ringwald 
2346c3fca900SMilanka Ringwald /**
2347c3fca900SMilanka Ringwald  * @format 12
2348c3fca900SMilanka Ringwald  * @param subevent_code
2349c3fca900SMilanka Ringwald  * @param browsing_cid
2350c3fca900SMilanka Ringwald  */
2351576a1127SMilanka Ringwald #define AVRCP_SUBEVENT_BROWSING_CONNECTION_RELEASED                           0x1D
23524c954014SMilanka Ringwald 
23533d49a24eSMilanka Ringwald /**
2354be65baf4SMilanka Ringwald  * @format 12211
2355e30788a3SMilanka Ringwald  * @param subevent_code
2356e30788a3SMilanka Ringwald  * @param browsing_cid
2357be65baf4SMilanka Ringwald  * @param uid_counter
2358954cc391SMilanka Ringwald  * @param browsing_status
2359954cc391SMilanka Ringwald  * @param bluetooth_status
2360e30788a3SMilanka Ringwald  */
2361be65baf4SMilanka Ringwald #define AVRCP_SUBEVENT_BROWSING_DONE                                          0x1E
2362e30788a3SMilanka Ringwald 
2363bd0f378aSMilanka Ringwald /**
2364bd0f378aSMilanka Ringwald  * @format 1214
2365bd0f378aSMilanka Ringwald  * @param subevent_code
2366bd0f378aSMilanka Ringwald  * @param browsing_cid
2367bd0f378aSMilanka Ringwald  * @param scope
2368bd0f378aSMilanka Ringwald  * @param attr_bitmap
2369bd0f378aSMilanka Ringwald  */
2370bd0f378aSMilanka Ringwald #define AVRCP_SUBEVENT_BROWSING_GET_FOLDER_ITEMS                              0x1F
2371bd0f378aSMilanka Ringwald 
2372bd0f378aSMilanka Ringwald /**
2373bd0f378aSMilanka Ringwald  * @format 121
2374bd0f378aSMilanka Ringwald  * @param subevent_code
2375bd0f378aSMilanka Ringwald  * @param browsing_cid
2376bd0f378aSMilanka Ringwald  * @param scope
2377bd0f378aSMilanka Ringwald  */
2378bd0f378aSMilanka Ringwald #define AVRCP_SUBEVENT_BROWSING_GET_TOTAL_NUM_ITEMS                           0x20
23796fa3dbf2SMilanka Ringwald 
23806fa3dbf2SMilanka Ringwald /**
23816fa3dbf2SMilanka Ringwald  * @format 1214
23826fa3dbf2SMilanka Ringwald  * @param subevent_code
23836fa3dbf2SMilanka Ringwald  * @param avrcp_cid
23846fa3dbf2SMilanka Ringwald  * @param command_type
23856fa3dbf2SMilanka Ringwald  * @param playback_position_ms
23866fa3dbf2SMilanka Ringwald  */
23876fa3dbf2SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_POS_CHANGED                      0x21
23886fa3dbf2SMilanka Ringwald 
2389e30788a3SMilanka Ringwald 
23904c954014SMilanka Ringwald /**
2391f1b34e8dSMatthias Ringwald  * @format 121BH1
2392f1b34e8dSMatthias Ringwald  * @param subevent_code
2393f1b34e8dSMatthias Ringwald  * @param goep_cid
2394f1b34e8dSMatthias Ringwald  * @param status
2395f1b34e8dSMatthias Ringwald  * @param bd_addr
2396f1b34e8dSMatthias Ringwald  * @param con_handle
2397f1b34e8dSMatthias Ringwald  * @param incoming
2398f1b34e8dSMatthias Ringwald  */
2399f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_OPENED                                    0x01
24006eb7ba29SMilanka Ringwald 
2401f1b34e8dSMatthias Ringwald /**
2402f1b34e8dSMatthias Ringwald  * @format 12
2403f1b34e8dSMatthias Ringwald  * @param subevent_code
2404f1b34e8dSMatthias Ringwald  * @param goep_cid
2405f1b34e8dSMatthias Ringwald */
2406f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_CLOSED                                    0x02
2407f1b34e8dSMatthias Ringwald 
2408f1b34e8dSMatthias Ringwald /**
2409f1b34e8dSMatthias Ringwald  * @format 12
2410f1b34e8dSMatthias Ringwald  * @param subevent_code
2411f1b34e8dSMatthias Ringwald  * @param goep_cid
2412f1b34e8dSMatthias Ringwald */
2413f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CAN_SEND_NOW                                         0x03
2414f1b34e8dSMatthias Ringwald 
2415f1b34e8dSMatthias Ringwald /**
2416f1b34e8dSMatthias Ringwald  * @format 121BH1
2417f1b34e8dSMatthias Ringwald  * @param subevent_code
2418f1b34e8dSMatthias Ringwald  * @param pbap_cid
2419f1b34e8dSMatthias Ringwald  * @param status
2420f1b34e8dSMatthias Ringwald  * @param bd_addr
2421f1b34e8dSMatthias Ringwald  * @param con_handle
2422f1b34e8dSMatthias Ringwald  * @param incoming
2423f1b34e8dSMatthias Ringwald  */
2424f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_OPENED                                    0x01
2425f1b34e8dSMatthias Ringwald 
2426f1b34e8dSMatthias Ringwald /**
2427f1b34e8dSMatthias Ringwald  * @format 12
2428f1b34e8dSMatthias Ringwald  * @param subevent_code
2429f1b34e8dSMatthias Ringwald  * @param goep_cid
2430f1b34e8dSMatthias Ringwald */
2431f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_CLOSED                                    0x02
2432f1b34e8dSMatthias Ringwald 
2433f1b34e8dSMatthias Ringwald /**
2434f1b34e8dSMatthias Ringwald  * @format 121
2435f1b34e8dSMatthias Ringwald  * @param subevent_code
2436f1b34e8dSMatthias Ringwald  * @param goep_cid
2437f1b34e8dSMatthias Ringwald  * @param status
2438f1b34e8dSMatthias Ringwald  */
2439f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_OPERATION_COMPLETED                                  0x03
24406eb7ba29SMilanka Ringwald 
2441fafbca75SMatthias Ringwald /**
2442fafbca75SMatthias Ringwald  * @format 1212
2443fafbca75SMatthias Ringwald  * @param subevent_code
2444fafbca75SMatthias Ringwald  * @param goep_cid
2445fafbca75SMatthias Ringwald  * @param status
2446fafbca75SMatthias Ringwald  * @param phoneboook_size
2447fafbca75SMatthias Ringwald  */
2448fafbca75SMatthias Ringwald #define PBAP_SUBEVENT_PHONEBOOK_SIZE                                       0x04
2449fafbca75SMatthias Ringwald 
2450c1bc0b8eSMatthias Ringwald /**
2451c1bc0b8eSMatthias Ringwald  * @format 1211
2452c1bc0b8eSMatthias Ringwald  * @param subevent_code
2453c1bc0b8eSMatthias Ringwald  * @param goep_cid
2454c1bc0b8eSMatthias Ringwald  * @param user_id_required
2455c1bc0b8eSMatthias Ringwald  * @param full_access
2456c1bc0b8eSMatthias Ringwald  */
2457c1bc0b8eSMatthias Ringwald #define PBAP_SUBEVENT_AUTHENTICATION_REQUEST                               0x05
2458c1bc0b8eSMatthias Ringwald 
2459ad514860SMatthias Ringwald /**
2460ad514860SMatthias Ringwald  * @format 12JVJV
2461ad514860SMatthias Ringwald  * @param subevent_code
2462ad514860SMatthias Ringwald  * @param goep_cid
2463ad514860SMatthias Ringwald  * @param name_len
2464ad514860SMatthias Ringwald  * @param name
2465ad514860SMatthias Ringwald  * @param handle_len
2466ad514860SMatthias Ringwald  * @param handle
2467ad514860SMatthias Ringwald  */
2468ad514860SMatthias Ringwald #define PBAP_SUBEVENT_CARD_RESULT                                          0x06
2469ad514860SMatthias Ringwald 
2470c1bc0b8eSMatthias Ringwald 
2471a4bfc4feSMatthias Ringwald // HID Meta Event Group
2472a4bfc4feSMatthias Ringwald 
2473dd148ddbSMatthias Ringwald /**
2474dd148ddbSMatthias Ringwald  * @format 121BH1
2475dd148ddbSMatthias Ringwald  * @param subevent_code
2476dd148ddbSMatthias Ringwald  * @param hid_cid
2477dd148ddbSMatthias Ringwald  * @param status
2478dd148ddbSMatthias Ringwald  * @param bd_addr
2479dd148ddbSMatthias Ringwald  * @param con_handle
2480dd148ddbSMatthias Ringwald  * @param incoming
2481dd148ddbSMatthias Ringwald  */
2482dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_OPENED                                     0x01
2483dd148ddbSMatthias Ringwald 
2484dd148ddbSMatthias Ringwald /**
2485dd148ddbSMatthias Ringwald  * @format 12
2486dd148ddbSMatthias Ringwald  * @param subevent_code
2487dd148ddbSMatthias Ringwald  * @param hid_cid
2488dd148ddbSMatthias Ringwald */
2489dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_CLOSED                                     0x02
2490dd148ddbSMatthias Ringwald 
2491dd148ddbSMatthias Ringwald /**
2492dd148ddbSMatthias Ringwald  * @format 12
2493dd148ddbSMatthias Ringwald  * @param subevent_code
2494dd148ddbSMatthias Ringwald  * @param hid_cid
2495dd148ddbSMatthias Ringwald */
2496dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CAN_SEND_NOW                                          0x03
2497dd148ddbSMatthias Ringwald 
24986510739bSMilanka Ringwald /**
24996510739bSMilanka Ringwald  * @format 12
25006510739bSMilanka Ringwald  * @param subevent_code
25016510739bSMilanka Ringwald  * @param con_handle
25026510739bSMilanka Ringwald */
25036510739bSMilanka Ringwald #define HID_SUBEVENT_SUSPEND                                               0x04
25046510739bSMilanka Ringwald 
25056510739bSMilanka Ringwald /**
25066510739bSMilanka Ringwald  * @format 12
25076510739bSMilanka Ringwald  * @param subevent_code
25086510739bSMilanka Ringwald  * @param con_handle
25096510739bSMilanka Ringwald */
25106510739bSMilanka Ringwald #define HID_SUBEVENT_EXIT_SUSPEND                                          0x05
25116510739bSMilanka Ringwald 
25126510739bSMilanka Ringwald 
2513a4bfc4feSMatthias Ringwald // HIDS Meta Event Group
2514a4bfc4feSMatthias Ringwald 
2515a4bfc4feSMatthias Ringwald /**
2516a4bfc4feSMatthias Ringwald  * @format 12
2517a4bfc4feSMatthias Ringwald  * @param subevent_code
2518a4bfc4feSMatthias Ringwald  * @param con_handle
2519a4bfc4feSMatthias Ringwald */
2520a4bfc4feSMatthias Ringwald #define HIDS_SUBEVENT_CAN_SEND_NOW                                          0x01
2521a4bfc4feSMatthias Ringwald 
2522a4bfc4feSMatthias Ringwald /**
2523a4bfc4feSMatthias Ringwald  * @format 121
2524a4bfc4feSMatthias Ringwald  * @param subevent_code
2525a4bfc4feSMatthias Ringwald  * @param con_handle
2526a4bfc4feSMatthias Ringwald  * @param protocol_mode
2527a4bfc4feSMatthias Ringwald */
2528a4bfc4feSMatthias Ringwald #define HIDS_SUBEVENT_PROTOCOL_MODE                                         0x02
2529a4bfc4feSMatthias Ringwald 
2530a4bfc4feSMatthias Ringwald /**
2531a4bfc4feSMatthias Ringwald  * @format 121
2532a4bfc4feSMatthias Ringwald  * @param subevent_code
2533a4bfc4feSMatthias Ringwald  * @param con_handle
2534a4bfc4feSMatthias Ringwald  * @param enable
2535a4bfc4feSMatthias Ringwald */
2536a4bfc4feSMatthias Ringwald #define HIDS_SUBEVENT_BOOT_MOUSE_INPUT_REPORT_ENABLE                        0x03
2537a4bfc4feSMatthias Ringwald 
2538a4bfc4feSMatthias Ringwald /**
2539a4bfc4feSMatthias Ringwald  * @format 121
2540a4bfc4feSMatthias Ringwald  * @param subevent_code
2541a4bfc4feSMatthias Ringwald  * @param con_handle
2542a4bfc4feSMatthias Ringwald  * @param enable
2543a4bfc4feSMatthias Ringwald */
2544a4bfc4feSMatthias Ringwald #define HIDS_SUBEVENT_BOOT_KEYBOARD_INPUT_REPORT_ENABLE                     0x04
2545a4bfc4feSMatthias Ringwald 
2546a4bfc4feSMatthias Ringwald /**
2547a4bfc4feSMatthias Ringwald  * @format 121
2548a4bfc4feSMatthias Ringwald  * @param subevent_code
2549a4bfc4feSMatthias Ringwald  * @param con_handle
2550a4bfc4feSMatthias Ringwald  * @param enable
2551a4bfc4feSMatthias Ringwald */
2552a4bfc4feSMatthias Ringwald #define HIDS_SUBEVENT_INPUT_REPORT_ENABLE                                   0x05
2553a4bfc4feSMatthias Ringwald 
25540235c9e5SMilanka Ringwald /**
25550235c9e5SMilanka Ringwald  * @format 121
25560235c9e5SMilanka Ringwald  * @param subevent_code
25570235c9e5SMilanka Ringwald  * @param con_handle
25580235c9e5SMilanka Ringwald  * @param enable
25590235c9e5SMilanka Ringwald */
25600235c9e5SMilanka Ringwald #define HIDS_SUBEVENT_OUTPUT_REPORT_ENABLE                                  0x06
25610235c9e5SMilanka Ringwald 
25620235c9e5SMilanka Ringwald /**
25630235c9e5SMilanka Ringwald  * @format 121
25640235c9e5SMilanka Ringwald  * @param subevent_code
25650235c9e5SMilanka Ringwald  * @param con_handle
25660235c9e5SMilanka Ringwald  * @param enable
25670235c9e5SMilanka Ringwald */
25680235c9e5SMilanka Ringwald #define HIDS_SUBEVENT_FEATURE_REPORT_ENABLE                                 0x07
25690235c9e5SMilanka Ringwald 
25700235c9e5SMilanka Ringwald /**
25710235c9e5SMilanka Ringwald  * @format 12
25720235c9e5SMilanka Ringwald  * @param subevent_code
25730235c9e5SMilanka Ringwald  * @param con_handle
25740235c9e5SMilanka Ringwald */
25750235c9e5SMilanka Ringwald #define HIDS_SUBEVENT_SUSPEND                                               0x08
25760235c9e5SMilanka Ringwald 
25770235c9e5SMilanka Ringwald /**
25780235c9e5SMilanka Ringwald  * @format 12
25790235c9e5SMilanka Ringwald  * @param subevent_code
25800235c9e5SMilanka Ringwald  * @param con_handle
25810235c9e5SMilanka Ringwald */
25820235c9e5SMilanka Ringwald #define HIDS_SUBEVENT_EXIT_SUSPEND                                          0x09
25839fe70df8SMilanka Ringwald 
25849fe70df8SMilanka Ringwald /**
25859fe70df8SMilanka Ringwald  * @format 1211
25869fe70df8SMilanka Ringwald  * @param subevent_code
25879fe70df8SMilanka Ringwald  * @param con_handle
25889fe70df8SMilanka Ringwald  * @param measurement_type  // 0 - force magnitude, 1 - torque magnitude, see cycling_power_sensor_measurement_context_t
25899fe70df8SMilanka Ringwald  * @param is_enhanced
25909fe70df8SMilanka Ringwald */
259128e59789SMilanka Ringwald #define GATTSERVICE_SUBEVENT_CYCLING_POWER_START_CALIBRATION               0x01
25929fe70df8SMilanka Ringwald 
25939fe70df8SMilanka Ringwald /**
25949fe70df8SMilanka Ringwald  * @format 12
25959fe70df8SMilanka Ringwald  * @param subevent_code
25969fe70df8SMilanka Ringwald  * @param con_handle
25979fe70df8SMilanka Ringwald */
259828e59789SMilanka Ringwald #define GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_START                 0x02
25999fe70df8SMilanka Ringwald 
26009fe70df8SMilanka Ringwald /**
26019fe70df8SMilanka Ringwald  * @format 12
26029fe70df8SMilanka Ringwald  * @param subevent_code
26039fe70df8SMilanka Ringwald  * @param con_handle
26049fe70df8SMilanka Ringwald */
260528e59789SMilanka Ringwald #define GATTSERVICE_SUBEVENT_CYCLING_POWER_BROADCAST_STOP                  0x03
2606ad58991cSMilanka Ringwald 
2607ad58991cSMilanka Ringwald 
2608ad58991cSMilanka Ringwald // MAP Meta Event Group
2609ad58991cSMilanka Ringwald 
2610ad58991cSMilanka Ringwald /**
2611ad58991cSMilanka Ringwald  * @format 121BH1
2612ad58991cSMilanka Ringwald  * @param subevent_code
2613ad58991cSMilanka Ringwald  * @param map_cid
2614ad58991cSMilanka Ringwald  * @param status
2615ad58991cSMilanka Ringwald  * @param bd_addr
2616ad58991cSMilanka Ringwald  * @param con_handle
2617ad58991cSMilanka Ringwald  * @param incoming
2618ad58991cSMilanka Ringwald  */
2619ad58991cSMilanka Ringwald #define MAP_SUBEVENT_CONNECTION_OPENED                                    0x01
2620ad58991cSMilanka Ringwald 
2621ad58991cSMilanka Ringwald /**
2622ad58991cSMilanka Ringwald  * @format 12
2623ad58991cSMilanka Ringwald  * @param subevent_code
26245160ece6SMilanka Ringwald  * @param map_cid
2625ad58991cSMilanka Ringwald */
2626ad58991cSMilanka Ringwald #define MAP_SUBEVENT_CONNECTION_CLOSED                                    0x02
2627ad58991cSMilanka Ringwald 
2628ad58991cSMilanka Ringwald /**
2629ad58991cSMilanka Ringwald  * @format 121
2630ad58991cSMilanka Ringwald  * @param subevent_code
26315160ece6SMilanka Ringwald  * @param map_cid
2632ad58991cSMilanka Ringwald  * @param status
2633ad58991cSMilanka Ringwald  */
2634ad58991cSMilanka Ringwald #define MAP_SUBEVENT_OPERATION_COMPLETED                                  0x03
2635ad58991cSMilanka Ringwald 
2636ad58991cSMilanka Ringwald 
26375160ece6SMilanka Ringwald /**
26385160ece6SMilanka Ringwald  * @format 12LV
26395160ece6SMilanka Ringwald  * @param subevent_code
26405160ece6SMilanka Ringwald  * @param map_cid
26415160ece6SMilanka Ringwald  * @param name_len
26425160ece6SMilanka Ringwald  * @param name
26435160ece6SMilanka Ringwald  */
26445160ece6SMilanka Ringwald #define MAP_SUBEVENT_FOLDER_LISTING_ITEM                                  0x04
26455160ece6SMilanka Ringwald 
26465160ece6SMilanka Ringwald /**
26475160ece6SMilanka Ringwald  * @format 12D
26485160ece6SMilanka Ringwald  * @param subevent_code
26495160ece6SMilanka Ringwald  * @param map_cid
26505160ece6SMilanka Ringwald  * @param handle
26515160ece6SMilanka Ringwald 
26525160ece6SMilanka Ringwald  */
26535160ece6SMilanka Ringwald #define MAP_SUBEVENT_MESSAGE_LISTING_ITEM                                 0x05
26545160ece6SMilanka Ringwald 
26555160ece6SMilanka Ringwald /**
26565160ece6SMilanka Ringwald  * @format 12
26575160ece6SMilanka Ringwald  * @param subevent_code
26585160ece6SMilanka Ringwald  * @param map_cid
26595160ece6SMilanka Ringwald  */
26605160ece6SMilanka Ringwald #define MAP_SUBEVENT_PARSING_DONE                                         0x06
26615160ece6SMilanka Ringwald 
26625160ece6SMilanka Ringwald 
26631fbe4564SMatthias Ringwald // MESH Meta Event Group
26645160ece6SMilanka Ringwald 
26651fbe4564SMatthias Ringwald /**
26661fbe4564SMatthias Ringwald  * @format 1
26671fbe4564SMatthias Ringwald  * @param subevent_code
26681fbe4564SMatthias Ringwald  */
26691fbe4564SMatthias Ringwald #define MESH_SUBEVENT_CAN_SEND_NOW                                          0x01
26701fbe4564SMatthias Ringwald 
26711fbe4564SMatthias Ringwald /**
26721fbe4564SMatthias Ringwald  * @format 11
26731fbe4564SMatthias Ringwald  * @param subevent_code
26741fbe4564SMatthias Ringwald  * @param status
26751fbe4564SMatthias Ringwald  */
26767bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_TRANSPORT_PDU_SENT                                          0x02
267726ecb624SMilanka Ringwald 
267826ecb624SMilanka Ringwald /**
267926ecb624SMilanka Ringwald  * @format 1121
268026ecb624SMilanka Ringwald  * @param subevent_code
268126ecb624SMilanka Ringwald  * @param status
268226ecb624SMilanka Ringwald  * @param pb_transport_cid
268326ecb624SMilanka Ringwald  * @param pb_type
268426ecb624SMilanka Ringwald  */
26857bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_TRANSPORT_LINK_OPEN                                         0x03
26861fbe4564SMatthias Ringwald 
26871fbe4564SMatthias Ringwald /**
26881fbe4564SMatthias Ringwald  * @format 112
26891fbe4564SMatthias Ringwald  * @param subevent_code
269026ecb624SMilanka Ringwald  * @param pb_transport_cid
2691f8962c62SMatthias Ringwald  * @param reason
26921fbe4564SMatthias Ringwald  */
26937bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_TRANSPORT_LINK_CLOSED                                       0x04
26941fbe4564SMatthias Ringwald 
26951fbe4564SMatthias Ringwald /**
26961fbe4564SMatthias Ringwald  * @format 121
26971fbe4564SMatthias Ringwald  * @param subevent_code
269826ecb624SMilanka Ringwald  * @param pb_transport_cid
26991fbe4564SMatthias Ringwald  * @param attention_time in seconds
27001fbe4564SMatthias Ringwald  */
27017bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_ATTENTION_TIMER                                        0x10
27021fbe4564SMatthias Ringwald 
27031fbe4564SMatthias Ringwald /**
27041fbe4564SMatthias Ringwald  * Device Role
27051fbe4564SMatthias Ringwald  * @format 12
27061fbe4564SMatthias Ringwald  * @param subevent_code
270726ecb624SMilanka Ringwald  * @param pb_transport_cid
27081fbe4564SMatthias Ringwald  */
27097bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_START_EMIT_PUBLIC_KEY_OOB                              0x11
27101fbe4564SMatthias Ringwald 
27111fbe4564SMatthias Ringwald /**
27121fbe4564SMatthias Ringwald  * Device Role
27131fbe4564SMatthias Ringwald  * @format 12
27141fbe4564SMatthias Ringwald  * @param subevent_code
271526ecb624SMilanka Ringwald  * @param pb_transport_cid
27161fbe4564SMatthias Ringwald  */
27177bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_STOP_EMIT_PUBLIC_KEY_OOB                               0x12
27181fbe4564SMatthias Ringwald 
27191fbe4564SMatthias Ringwald /**
27201fbe4564SMatthias Ringwald  * Device Role
27211fbe4564SMatthias Ringwald  * @format 12
27221fbe4564SMatthias Ringwald  * @param subevent_code
272326ecb624SMilanka Ringwald  * @param pb_transport_cid
27241fbe4564SMatthias Ringwald  */
27257bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_INPUT_OOB_REQUEST                                      0x13
27261fbe4564SMatthias Ringwald 
27271fbe4564SMatthias Ringwald /**
27281fbe4564SMatthias Ringwald  * Device Role
27291fbe4564SMatthias Ringwald  * @format 124
27301fbe4564SMatthias Ringwald  * @param subevent_code
273126ecb624SMilanka Ringwald  * @param pb_transport_cid
27321fbe4564SMatthias Ringwald  * @param output_oob number
27331fbe4564SMatthias Ringwald  */
27347bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_START_EMIT_OUTPUT_OOB                                  0x15
27351fbe4564SMatthias Ringwald 
27361fbe4564SMatthias Ringwald /**
27371fbe4564SMatthias Ringwald  * Device Role
27381fbe4564SMatthias Ringwald  * @format 12
27391fbe4564SMatthias Ringwald  * @param subevent_code
274026ecb624SMilanka Ringwald  * @param pb_transport_cid
27411fbe4564SMatthias Ringwald  */
27427bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_STOP_EMIT_OUTPUT_OOB                                   0x16
27431fbe4564SMatthias Ringwald 
27441fbe4564SMatthias Ringwald /**
27451fbe4564SMatthias Ringwald  * Provisioner Role
27461fbe4564SMatthias Ringwald  * @format 12
27471fbe4564SMatthias Ringwald  * @param subevent_code
274826ecb624SMilanka Ringwald  * @param pb_transport_cid
27491fbe4564SMatthias Ringwald  */
27507bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_START_RECEIVE_PUBLIC_KEY_OOB                           0x17
27511fbe4564SMatthias Ringwald 
27521fbe4564SMatthias Ringwald /**
27531fbe4564SMatthias Ringwald  * Provisioner Role
27541fbe4564SMatthias Ringwald  * @format 12
27551fbe4564SMatthias Ringwald  * @param subevent_code
275626ecb624SMilanka Ringwald  * @param pb_transport_cid
27571fbe4564SMatthias Ringwald  */
27587bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_STOP_RECEIVE_PUBLIC_KEY_OOB                            0x18
27591fbe4564SMatthias Ringwald 
27601fbe4564SMatthias Ringwald /**
27611fbe4564SMatthias Ringwald  * Provisioner Role
27621fbe4564SMatthias Ringwald  * @format 12
27631fbe4564SMatthias Ringwald  * @param subevent_code
276426ecb624SMilanka Ringwald  * @param pb_transport_cid
27651fbe4564SMatthias Ringwald  */
27667bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_OUTPUT_OOB_REQUEST                                     0x19
27671fbe4564SMatthias Ringwald 
27681fbe4564SMatthias Ringwald /**
27691fbe4564SMatthias Ringwald  * Provisioner Role
27701fbe4564SMatthias Ringwald  * @format 124
27711fbe4564SMatthias Ringwald  * @param subevent_code
277226ecb624SMilanka Ringwald  * @param pb_transport_cid
27731fbe4564SMatthias Ringwald  * @param output_oob number
27741fbe4564SMatthias Ringwald  */
27757bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_START_EMIT_INPUT_OOB                                   0x1a
27761fbe4564SMatthias Ringwald 
27771fbe4564SMatthias Ringwald /**
27781fbe4564SMatthias Ringwald  * Provisioner Role
27791fbe4564SMatthias Ringwald  * @format 12
27801fbe4564SMatthias Ringwald  * @param subevent_code
278126ecb624SMilanka Ringwald  * @param pb_transport_cid
27821fbe4564SMatthias Ringwald  */
27837bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_STOP_EMIT_INPUT_OOB                                    0x1b
27841fbe4564SMatthias Ringwald 
27851fbe4564SMatthias Ringwald /**
27861fbe4564SMatthias Ringwald  * Provisioner Role
27871fbe4564SMatthias Ringwald  * @format 1212111212
27881fbe4564SMatthias Ringwald  * @param subevent_code
278926ecb624SMilanka Ringwald  * @param pb_transport_cid
27901fbe4564SMatthias Ringwald  * @param num_elements
27911fbe4564SMatthias Ringwald  * @param algorithms
27921fbe4564SMatthias Ringwald  * @param public_key
27931fbe4564SMatthias Ringwald  * @param static_oob_type
27941fbe4564SMatthias Ringwald  * @param output_oob_size
27951fbe4564SMatthias Ringwald  * @param output_oob_action
27961fbe4564SMatthias Ringwald  * @param input_oob_size
27971fbe4564SMatthias Ringwald  * @param input_oob_action
27981fbe4564SMatthias Ringwald  */
27997bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_CAPABILITIES                                           0x1c
28001fbe4564SMatthias Ringwald 
28011fbe4564SMatthias Ringwald /**
28021fbe4564SMatthias Ringwald  * @format 12
28031fbe4564SMatthias Ringwald  * @param subevent_code
280426ecb624SMilanka Ringwald  * @param pb_transport_cid
28051fbe4564SMatthias Ringwald  */
28067bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PB_PROV_COMPLETE                                               0x1d
28075160ece6SMilanka Ringwald 
280882b0bf42SMatthias Ringwald /**
280975c1e527SMatthias Ringwald  * @format 11
281075c1e527SMatthias Ringwald  * @param subevent_code
281175c1e527SMatthias Ringwald  * @param attention_time in seconds
281275c1e527SMatthias Ringwald  */
281375c1e527SMatthias Ringwald #define MESH_SUBEVENT_ATTENTION_TIMER                                                0x1e
281475c1e527SMatthias Ringwald 
281575c1e527SMatthias Ringwald /**
281682b0bf42SMatthias Ringwald  * @format 11H
281782b0bf42SMatthias Ringwald  * @param subevent_code
281882b0bf42SMatthias Ringwald  * @param status
281982b0bf42SMatthias Ringwald  * @param con_handle
282082b0bf42SMatthias Ringwald  */
28217bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PROXY_CONNECTED                                                0x20
282282b0bf42SMatthias Ringwald 
282382b0bf42SMatthias Ringwald /**
282482b0bf42SMatthias Ringwald  * @format 1H
282582b0bf42SMatthias Ringwald  * @param subevent_code
282682b0bf42SMatthias Ringwald  * @param con_handle
282782b0bf42SMatthias Ringwald  */
28287bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PROXY_PDU_SENT                                                 0x21
282982b0bf42SMatthias Ringwald 
283082b0bf42SMatthias Ringwald /**
283182b0bf42SMatthias Ringwald  * @format 1H
283282b0bf42SMatthias Ringwald  * @param subevent_code
283382b0bf42SMatthias Ringwald  * @param con_handle
283482b0bf42SMatthias Ringwald  */
28357bd12f9fSMilanka Ringwald #define MESH_SUBEVENT_PROXY_DISCONNECTED                                             0x22
283682b0bf42SMatthias Ringwald 
28371d2d76deSMilanka Ringwald /**
28381d2d76deSMilanka Ringwald  * @format 1H
28391d2d76deSMilanka Ringwald  * @param subevent_code
28401d2d76deSMilanka Ringwald  * @param con_handle
28411d2d76deSMilanka Ringwald  */
28421d2d76deSMilanka Ringwald #define MESH_SUBEVENT_MESSAGE_SENT                                                   0x23
284381097db9SMilanka Ringwald 
284481097db9SMilanka Ringwald /**
284581097db9SMilanka Ringwald  * @format 114411
284681097db9SMilanka Ringwald  * @param subevent_code
284781097db9SMilanka Ringwald  * @param element_index
284881097db9SMilanka Ringwald  * @param model_identifier
284981097db9SMilanka Ringwald  * @param state_identifier
285081097db9SMilanka Ringwald  * @param reason
285181097db9SMilanka Ringwald  * @param value
285281097db9SMilanka Ringwald  */
285381097db9SMilanka Ringwald #define MESH_SUBEVENT_STATE_UPDATE_BOOL                                              0x24
28541d2d76deSMilanka Ringwald 
285592c33ebfSMilanka Ringwald /**
285692c33ebfSMilanka Ringwald  * @format 114412
285792c33ebfSMilanka Ringwald  * @param subevent_code
285892c33ebfSMilanka Ringwald  * @param element_index
285992c33ebfSMilanka Ringwald  * @param model_identifier
286092c33ebfSMilanka Ringwald  * @param state_identifier
286192c33ebfSMilanka Ringwald  * @param reason
286292c33ebfSMilanka Ringwald  * @param value
286392c33ebfSMilanka Ringwald  */
286492c33ebfSMilanka Ringwald #define MESH_SUBEVENT_STATE_UPDATE_INT16                                              0x25
286592c33ebfSMilanka Ringwald 
286692c33ebfSMilanka Ringwald // Mesh Client Events
286792c33ebfSMilanka Ringwald /**
2868b7a54332SMilanka Ringwald  * @format 11442
2869b7a54332SMilanka Ringwald  * @param subevent_code
2870b7a54332SMilanka Ringwald  * @param element_index
2871b7a54332SMilanka Ringwald  * @param model_identifier
2872b7a54332SMilanka Ringwald  * @param opcode
2873b7a54332SMilanka Ringwald  * @param dest
2874b7a54332SMilanka Ringwald  */
2875b7a54332SMilanka Ringwald #define MESH_SUBEVENT_MESSAGE_NOT_ACKNOWLEDGED                                        0x30
2876b7a54332SMilanka Ringwald 
2877b7a54332SMilanka Ringwald /**
287892c33ebfSMilanka Ringwald  * @format 114114
287992c33ebfSMilanka Ringwald  * @param subevent_code
288092c33ebfSMilanka Ringwald  * @param element_index
288192c33ebfSMilanka Ringwald  * @param model_identifier
288292c33ebfSMilanka Ringwald  * @param present_value
288392c33ebfSMilanka Ringwald  * @param target_value       // optinal, if value > 0, than remaining_time_ms must be read
288492c33ebfSMilanka Ringwald  * @param remaining_time_ms
288592c33ebfSMilanka Ringwald  */
2886b7a54332SMilanka Ringwald #define MESH_SUBEVENT_GENERIC_ON_OFF_STATUS                                           0x31
288792c33ebfSMilanka Ringwald 
288887b3ac30SMilanka Ringwald /**
288987b3ac30SMilanka Ringwald  * @format 114224
289087b3ac30SMilanka Ringwald  * @param subevent_code
289187b3ac30SMilanka Ringwald  * @param element_index
289287b3ac30SMilanka Ringwald  * @param model_identifier
289387b3ac30SMilanka Ringwald  * @param present_value
289487b3ac30SMilanka Ringwald  * @param target_value       // optinal, if value > 0, than remaining_time_ms must be read
289587b3ac30SMilanka Ringwald  * @param remaining_time_ms
289687b3ac30SMilanka Ringwald  */
2897b7a54332SMilanka Ringwald #define MESH_SUBEVENT_GENERIC_LEVEL_STATUS                                           0x32
289892c33ebfSMilanka Ringwald 
2899859ea319SMilanka Ringwald /**
290045f04363SMatthias Ringwald  * @format 1222211
2901859ea319SMilanka Ringwald  * @param subevent_code
2902859ea319SMilanka Ringwald  * @param dest
2903859ea319SMilanka Ringwald  * @param netkey_index
2904859ea319SMilanka Ringwald  * @param appkey_index
2905859ea319SMilanka Ringwald  * @param company_id
2906859ea319SMilanka Ringwald  * @param test_id
290745f04363SMatthias Ringwald  * @param acknowledged
2908859ea319SMilanka Ringwald  */
2909204019bbSMatthias Ringwald #define MESH_SUBEVENT_HEALTH_PERFORM_TEST                                            0x33
2910859ea319SMilanka Ringwald 
2911584bbe7dSMilanka Ringwald /**
2912584bbe7dSMilanka Ringwald  * @format 11
2913584bbe7dSMilanka Ringwald  * @param subevent_code
2914584bbe7dSMilanka Ringwald  * @param element_index
2915584bbe7dSMilanka Ringwald  */
2916204019bbSMatthias Ringwald #define MESH_SUBEVENT_HEALTH_ATTENTION_TIMER_CHANGED                                 0x34
2917859ea319SMilanka Ringwald 
2918941b3855SMatthias Ringwald #endif
2919