xref: /btstack/src/btstack_defines.h (revision 1cfb383e5600f0f096470a696c715ff0fac54bde)
1941b3855SMatthias Ringwald /*
2941b3855SMatthias Ringwald  * Copyright (C) 2015 BlueKitchen GmbH
3941b3855SMatthias Ringwald  *
4941b3855SMatthias Ringwald  * Redistribution and use in source and binary forms, with or without
5941b3855SMatthias Ringwald  * modification, are permitted provided that the following conditions
6941b3855SMatthias Ringwald  * are met:
7941b3855SMatthias Ringwald  *
8941b3855SMatthias Ringwald  * 1. Redistributions of source code must retain the above copyright
9941b3855SMatthias Ringwald  *    notice, this list of conditions and the following disclaimer.
10941b3855SMatthias Ringwald  * 2. Redistributions in binary form must reproduce the above copyright
11941b3855SMatthias Ringwald  *    notice, this list of conditions and the following disclaimer in the
12941b3855SMatthias Ringwald  *    documentation and/or other materials provided with the distribution.
13941b3855SMatthias Ringwald  * 3. Neither the name of the copyright holders nor the names of
14941b3855SMatthias Ringwald  *    contributors may be used to endorse or promote products derived
15941b3855SMatthias Ringwald  *    from this software without specific prior written permission.
16941b3855SMatthias Ringwald  * 4. Any redistribution, use, or modification is done solely for
17941b3855SMatthias Ringwald  *    personal benefit and not for any commercial purpose or for
18941b3855SMatthias Ringwald  *    monetary gain.
19941b3855SMatthias Ringwald  *
20941b3855SMatthias Ringwald  * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS
21941b3855SMatthias Ringwald  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22941b3855SMatthias Ringwald  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23941b3855SMatthias Ringwald  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS
24941b3855SMatthias Ringwald  * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25941b3855SMatthias Ringwald  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26941b3855SMatthias Ringwald  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
27941b3855SMatthias Ringwald  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28941b3855SMatthias Ringwald  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29941b3855SMatthias Ringwald  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
30941b3855SMatthias Ringwald  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31941b3855SMatthias Ringwald  * SUCH DAMAGE.
32941b3855SMatthias Ringwald  *
33941b3855SMatthias Ringwald  * Please inquire about commercial licensing options at
34941b3855SMatthias Ringwald  * [email protected]
35941b3855SMatthias Ringwald  *
36941b3855SMatthias Ringwald  */
37941b3855SMatthias Ringwald 
38941b3855SMatthias Ringwald /*
39941b3855SMatthias Ringwald  * btstack-defines.h
40941b3855SMatthias Ringwald  *
41941b3855SMatthias Ringwald  * BTstack definitions, events, and error codes */
42941b3855SMatthias Ringwald 
43941b3855SMatthias Ringwald #ifndef __BTSTACK_DEFINES_H
44941b3855SMatthias Ringwald #define __BTSTACK_DEFINES_H
45941b3855SMatthias Ringwald 
468974fcd6SMatthias Ringwald #include <stdint.h>
478974fcd6SMatthias Ringwald #include "btstack_linked_list.h"
488974fcd6SMatthias Ringwald 
49f3963406SMatthias Ringwald 
50f3963406SMatthias Ringwald // UNUSED macro
51f3963406SMatthias Ringwald #define UNUSED(x) (void)(sizeof(x))
52f3963406SMatthias Ringwald 
538974fcd6SMatthias Ringwald // TYPES
548974fcd6SMatthias Ringwald 
558974fcd6SMatthias Ringwald // packet handler
568974fcd6SMatthias Ringwald typedef void (*btstack_packet_handler_t) (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size);
578974fcd6SMatthias Ringwald 
588974fcd6SMatthias Ringwald // packet callback supporting multiple registrations
598974fcd6SMatthias Ringwald typedef struct {
608974fcd6SMatthias Ringwald     btstack_linked_item_t    item;
618974fcd6SMatthias Ringwald     btstack_packet_handler_t callback;
628974fcd6SMatthias Ringwald } btstack_packet_callback_registration_t;
638974fcd6SMatthias Ringwald 
64bb38f057SMatthias Ringwald // context callback supporting multiple registrations
65bb38f057SMatthias Ringwald typedef struct {
66bb38f057SMatthias Ringwald   btstack_linked_item_t * item;
67bb38f057SMatthias Ringwald   void (*callback)(void * context);
68bb38f057SMatthias Ringwald   void * context;
69bb38f057SMatthias Ringwald } btstack_context_callback_registration_t;
70bb38f057SMatthias Ringwald 
71f7a05cdaSMatthias Ringwald /**
728974fcd6SMatthias Ringwald  * @brief 128 bit key used with AES128 in Security Manager
73f7a05cdaSMatthias Ringwald  */
748974fcd6SMatthias Ringwald typedef uint8_t sm_key_t[16];
75f7a05cdaSMatthias Ringwald 
76941b3855SMatthias Ringwald // DEFINES
77941b3855SMatthias Ringwald 
787149bde5SMatthias Ringwald // hci con handles (12 bit): 0x0000..0x0fff
797149bde5SMatthias Ringwald #define HCI_CON_HANDLE_INVALID 0xffff
807149bde5SMatthias Ringwald 
817149bde5SMatthias Ringwald 
82941b3855SMatthias Ringwald #define DAEMON_EVENT_PACKET     0x05
83941b3855SMatthias Ringwald 
84941b3855SMatthias Ringwald // L2CAP data
85941b3855SMatthias Ringwald #define L2CAP_DATA_PACKET       0x06
86941b3855SMatthias Ringwald 
87941b3855SMatthias Ringwald // RFCOMM data
88941b3855SMatthias Ringwald #define RFCOMM_DATA_PACKET      0x07
89941b3855SMatthias Ringwald 
90941b3855SMatthias Ringwald // Attribute protocol data
91941b3855SMatthias Ringwald #define ATT_DATA_PACKET         0x08
92941b3855SMatthias Ringwald 
93941b3855SMatthias Ringwald // Security Manager protocol data
94941b3855SMatthias Ringwald #define SM_DATA_PACKET          0x09
95941b3855SMatthias Ringwald 
96f1b34e8dSMatthias Ringwald // SDP query result - only used by daemon
97941b3855SMatthias Ringwald // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k)
98941b3855SMatthias Ringwald #define SDP_CLIENT_PACKET       0x0a
99941b3855SMatthias Ringwald 
100941b3855SMatthias Ringwald // BNEP data
101941b3855SMatthias Ringwald #define BNEP_DATA_PACKET        0x0b
102941b3855SMatthias Ringwald 
103941b3855SMatthias Ringwald // Unicast Connectionless Data
104941b3855SMatthias Ringwald #define UCD_DATA_PACKET         0x0c
105941b3855SMatthias Ringwald 
106f1b34e8dSMatthias Ringwald // GOEP data
107f1b34e8dSMatthias Ringwald #define GOEP_DATA_PACKET        0x0d
108f1b34e8dSMatthias Ringwald 
109f1b34e8dSMatthias Ringwald // PBAP data
110f1b34e8dSMatthias Ringwald #define PBAP_DATA_PACKET        0x0e
111f1b34e8dSMatthias Ringwald 
112941b3855SMatthias Ringwald // debug log messages
113941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET      0xfc
114941b3855SMatthias Ringwald 
115941b3855SMatthias Ringwald 
116941b3855SMatthias Ringwald // ERRORS
117941b3855SMatthias Ringwald 
118941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors
119941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED              0x50
120941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH         0x51
121941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED                  0x52
122941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN                  0x53
123941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED                              0x54
124941b3855SMatthias Ringwald #define BTSTACK_BUSY                                       0x55
125941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED                        0x56
126941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL                           0x57
127941b3855SMatthias Ringwald 
128941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them
129941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60
130941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61
131941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62
132941b3855SMatthias Ringwald 
133941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL        0x63
134941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING           0x64
135941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM       0x65
136941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY  0x66
137941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67
138941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT       0x68
139941b3855SMatthias Ringwald 
140941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED                   0x69
141941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU                  0x6A
1427e8856ebSMatthias Ringwald #define L2CAP_SERVICE_DOES_NOT_EXIST                       0x6B
14394530c77SMatthias Ringwald #define L2CAP_LOCAL_CID_DOES_NOT_EXIST                     0x6C
144941b3855SMatthias Ringwald 
145941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED                         0x70
146941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED                  0x71
147941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS                         0x72
148941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF                          0x73
149941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU                        0x74
150941b3855SMatthias Ringwald 
151941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED                      0x80
152941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE                               0x81
153941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND                              0x82
154941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID                                 0x83
155e5057641SMatthias Ringwald #define SDP_QUERY_BUSY                                     0x84
156941b3855SMatthias Ringwald 
157941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS            0x90
158941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT                0x91
159941b3855SMatthias Ringwald 
160941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED                          0x93
161941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY                                   0x94
162616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE                         0x95
163616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96
164616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG                         0x97
165616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98
166616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED   0x99
167941b3855SMatthias Ringwald 
168941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED                    0xA0
169941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED                         0xA1
170941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU                          0xA2
171941b3855SMatthias Ringwald 
17262c64df1SMatthias Ringwald // DAEMON COMMANDS
173b3f90e25SMatthias Ringwald 
174b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d
175b3f90e25SMatthias Ringwald 
176b3f90e25SMatthias Ringwald // cmds for BTstack
177b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE
178b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE                                  0x01
179b3f90e25SMatthias Ringwald 
180045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE
181b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE                             0x02
182b3f90e25SMatthias Ringwald 
183045013feSMatthias Ringwald // set capture mode: param on
184b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE                       0x03
185b3f90e25SMatthias Ringwald 
186b3f90e25SMatthias Ringwald // get BTstack version
187b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION                                0x04
188b3f90e25SMatthias Ringwald 
189b3f90e25SMatthias Ringwald // get system Bluetooth state
190b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED               0x05
191b3f90e25SMatthias Ringwald 
192b3f90e25SMatthias Ringwald // set system Bluetooth state
193b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED               0x06
194b3f90e25SMatthias Ringwald 
195b3f90e25SMatthias Ringwald // enable inquiry scan for this client
196b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE                           0x07
197b3f90e25SMatthias Ringwald 
198b3f90e25SMatthias Ringwald // set global Bluetooth state
199b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED                      0x08
200b3f90e25SMatthias Ringwald 
201045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16)
202b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL                               0x20
203b3f90e25SMatthias Ringwald 
204045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8)
205b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT                                   0x21
206b3f90e25SMatthias Ringwald 
207045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16)
208b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE                             0x22
209b3f90e25SMatthias Ringwald 
210045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16)
211b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE                           0x23
212b3f90e25SMatthias Ringwald 
213045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16)
214b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION                            0x24
215b3f90e25SMatthias Ringwald 
216045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8)
217b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION                           0x25
218b3f90e25SMatthias Ringwald 
219045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16)
220b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU                           0x26
221b3f90e25SMatthias Ringwald 
222b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size)
223b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD                        0x30
224b3f90e25SMatthias Ringwald 
225b3f90e25SMatthias Ringwald // unregister SDP Service Record
226b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD                      0x31
227b3f90e25SMatthias Ringwald 
228b3f90e25SMatthias Ringwald // Get remote RFCOMM services
229b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES                   0x32
230b3f90e25SMatthias Ringwald 
231b3f90e25SMatthias Ringwald // Get remote SDP services
232b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES                          0x33
233b3f90e25SMatthias Ringwald 
234b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands
235b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL       0x40
236b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT     0x41
237b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE     0x42
238b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE   0x43
239b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION    0x44
240b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION   0x45
241b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL   0x46
242b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS   0x47
243b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48
244b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS                 0x49
245b3f90e25SMatthias Ringwald 
246b3f90e25SMatthias Ringwald // GAP Classic 0x50
247b3f90e25SMatthias Ringwald #define GAP_DISCONNECT              0x50
248b3f90e25SMatthias Ringwald 
249b3f90e25SMatthias Ringwald // GAP LE      0x60
250b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START           0x60
251b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP            0x61
252b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT              0x62
253b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL       0x63
254b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS  0x64
255b3f90e25SMatthias Ringwald 
256b3f90e25SMatthias Ringwald // GATT (Client) 0x70
257b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES                       0x70
258b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16                 0x71
259b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128                0x72
260b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE                  0x73
261b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE                0x74
262b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128     0x75
263b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS                 0x76
264b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC                        0x77
265b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC                   0x78
266b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE      0x79
267b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC                       0x7A
268b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC                  0x7B
269b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC         0x7C
270b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR                      0X7D
271b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR                 0X7E
272b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR                     0X7F
273b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR                0X80
274b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION           0X81
275b3f90e25SMatthias Ringwald #define GATT_GET_MTU                                             0x82
276b3f90e25SMatthias Ringwald 
277f1b34e8dSMatthias Ringwald // OBEX ERRORS
278f1b34e8dSMatthias Ringwald #define OBEX_UNKNOWN_ERROR       0x90
279f1b34e8dSMatthias Ringwald #define OBEX_CONNECT_FAILED      0x91
280f1b34e8dSMatthias Ringwald #define OBEX_DISCONNECTED        0x92
281f1b34e8dSMatthias Ringwald #define OBEX_NOT_FOUND           0x93
28262c64df1SMatthias Ringwald 
283941b3855SMatthias Ringwald // EVENTS
284941b3855SMatthias Ringwald 
285941b3855SMatthias Ringwald /**
286941b3855SMatthias Ringwald  * @format 1
287941b3855SMatthias Ringwald  * @param state
288941b3855SMatthias Ringwald  */
289941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE                                0x60
290941b3855SMatthias Ringwald 
29152aef63fSMatthias Ringwald /**
29252aef63fSMatthias Ringwald  * @format 1
29352aef63fSMatthias Ringwald  * @param number_connections
29452aef63fSMatthias Ringwald  */
295941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED               0x61
296941b3855SMatthias Ringwald 
297941b3855SMatthias Ringwald /**
298941b3855SMatthias Ringwald  * @format
299941b3855SMatthias Ringwald  */
300941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED                       0x62
301941b3855SMatthias Ringwald 
302941b3855SMatthias Ringwald /**
303827b1c43SMatthias Ringwald  * @format 1
304827b1c43SMatthias Ringwald  * @param discoverable
305827b1c43SMatthias Ringwald  */
306827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED                 0x66
307827b1c43SMatthias Ringwald 
308827b1c43SMatthias Ringwald // Daemon Events
309827b1c43SMatthias Ringwald 
310827b1c43SMatthias Ringwald /**
311941b3855SMatthias Ringwald  * @format 112
312941b3855SMatthias Ringwald  * @param major
313941b3855SMatthias Ringwald  * @param minor
314941b3855SMatthias Ringwald  @ @param revision
315941b3855SMatthias Ringwald  */
316827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION                               0x63
317941b3855SMatthias Ringwald 
318941b3855SMatthias Ringwald // data: system bluetooth on/off (bool)
319e2334cdcSMatthias Ringwald /**
320e2334cdcSMatthias Ringwald  * @format 1
321e2334cdcSMatthias Ringwald  * param system_bluetooth_enabled
322e2334cdcSMatthias Ringwald  */
323827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED              0x64
324941b3855SMatthias Ringwald 
325941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes)
326e2334cdcSMatthias Ringwald 
327e2334cdcSMatthias Ringwald /*
328e2334cdcSMatthias Ringwald  * @format 1BT
329e2334cdcSMatthias Ringwald  * @param status == 0 to match read_remote_name_request
330e2334cdcSMatthias Ringwald  * @param address
331e2334cdcSMatthias Ringwald  * @param name
332e2334cdcSMatthias Ringwald  */
333827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED                    0x65
334941b3855SMatthias Ringwald 
33562c64df1SMatthias Ringwald // internal - data: event(8)
336e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED                     0x67
337941b3855SMatthias Ringwald 
33862c64df1SMatthias Ringwald // internal - data: event(8)
339e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED                     0x68
340941b3855SMatthias Ringwald 
34162c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8)
34262c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS                         0x74
34362c64df1SMatthias Ringwald 
34462c64df1SMatthias Ringwald /**
34562c64df1SMatthias Ringwald  * @format 12
34662c64df1SMatthias Ringwald  * @param status
34762c64df1SMatthias Ringwald  * @param psm
34862c64df1SMatthias Ringwald  */
34962c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED              0x75
35062c64df1SMatthias Ringwald 
35162c64df1SMatthias Ringwald /**
35262c64df1SMatthias Ringwald  * @format 21
35362c64df1SMatthias Ringwald  * @param rfcomm_cid
35462c64df1SMatthias Ringwald  * @param credits
35562c64df1SMatthias Ringwald  */
35662c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS                        0x84
35762c64df1SMatthias Ringwald 
35862c64df1SMatthias Ringwald /**
35962c64df1SMatthias Ringwald  * @format 11
36062c64df1SMatthias Ringwald  * @param status
36162c64df1SMatthias Ringwald  * @param channel_id
36262c64df1SMatthias Ringwald  */
363fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED             0x85
364fea5a680SMatthias Ringwald 
36562c64df1SMatthias Ringwald /**
36662c64df1SMatthias Ringwald  * @format 11
36762c64df1SMatthias Ringwald  * @param status
36862c64df1SMatthias Ringwald  * @param server_channel_id
36962c64df1SMatthias Ringwald  */
37062c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL             0x86
37162c64df1SMatthias Ringwald 
37262c64df1SMatthias Ringwald /**
37362c64df1SMatthias Ringwald   * @format 14
37462c64df1SMatthias Ringwald   * @param status
37562c64df1SMatthias Ringwald   * @param service_record_handle
37662c64df1SMatthias Ringwald   */
37762c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED                0x90
37862c64df1SMatthias Ringwald 
37962c64df1SMatthias Ringwald 
380827b1c43SMatthias Ringwald 
3813bc639ceSMatthias Ringwald // additional HCI events
38263fa3374SMatthias Ringwald 
38363fa3374SMatthias Ringwald /**
38462ca45d7SMatthias Ringwald  * @brief Indicates HCI transport enters/exits Sleep mode
38562ca45d7SMatthias Ringwald  * @format 1
38662ca45d7SMatthias Ringwald  * @param active
38762ca45d7SMatthias Ringwald  */
388d16a0392SMatthias Ringwald #define HCI_EVENT_TRANSPORT_SLEEP_MODE                     0x69
38962ca45d7SMatthias Ringwald 
39062ca45d7SMatthias Ringwald /**
39163fa3374SMatthias Ringwald  * @brief Outgoing packet
39263fa3374SMatthias Ringwald  */
39363fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT                    0x6E
39463fa3374SMatthias Ringwald 
3953bc639ceSMatthias Ringwald /**
3963bc639ceSMatthias Ringwald  * @format B
3973bc639ceSMatthias Ringwald  * @param handle
3983bc639ceSMatthias Ringwald  */
3993bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW                         0x6F
4003bc639ceSMatthias Ringwald 
40162c64df1SMatthias Ringwald 
402941b3855SMatthias Ringwald // L2CAP EVENTS
403941b3855SMatthias Ringwald 
404b072ba33SMatthias Ringwald /**
405bab5f4f0SMatthias Ringwald  * @format 1BH2222221
406b072ba33SMatthias Ringwald  * @param status
407b072ba33SMatthias Ringwald  * @param address
408b072ba33SMatthias Ringwald  * @param handle
409b072ba33SMatthias Ringwald  * @param psm
410b072ba33SMatthias Ringwald  * @param local_cid
411b072ba33SMatthias Ringwald  * @param remote_cid
412b072ba33SMatthias Ringwald  * @param local_mtu
413b072ba33SMatthias Ringwald  * @param remote_mtu
414b072ba33SMatthias Ringwald  * @param flush_timeout
415bab5f4f0SMatthias Ringwald  * @param incoming
416b072ba33SMatthias Ringwald  */
417941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED                         0x70
418941b3855SMatthias Ringwald 
419b072ba33SMatthias Ringwald /*
420b072ba33SMatthias Ringwald  * @format 2
421b072ba33SMatthias Ringwald  * @param local_cid
422b072ba33SMatthias Ringwald  */
423941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED                         0x71
424941b3855SMatthias Ringwald 
425b072ba33SMatthias Ringwald /**
4266d4269d3SMilanka Ringwald  * @format BH222
427b072ba33SMatthias Ringwald  * @param address
428b072ba33SMatthias Ringwald  * @param handle
429b072ba33SMatthias Ringwald  * @param psm
430b072ba33SMatthias Ringwald  * @param local_cid
431b072ba33SMatthias Ringwald  * @param remote_cid
432b072ba33SMatthias Ringwald  */
433941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION                    0x72
434941b3855SMatthias Ringwald 
435b072ba33SMatthias Ringwald // ??
436941b3855SMatthias Ringwald // data: event(8), len(8), handle(16)
437941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK                          0x73
438941b3855SMatthias Ringwald 
439b072ba33SMatthias Ringwald /**
440b072ba33SMatthias Ringwald  * @format H2222
441b072ba33SMatthias Ringwald  * @param handle
442b072ba33SMatthias Ringwald  * @param interval_min
443b072ba33SMatthias Ringwald  * @param interval_max
444b072ba33SMatthias Ringwald  * @param latencey
445b072ba33SMatthias Ringwald  * @param timeout_multiplier
446b072ba33SMatthias Ringwald  */
447941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST    0x76
448941b3855SMatthias Ringwald 
449941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail)
450b072ba33SMatthias Ringwald  /**
451b072ba33SMatthias Ringwald   * @format H2
452b072ba33SMatthias Ringwald   * @param handle
4532c737695SMatthias Ringwald   * @param result
454b072ba33SMatthias Ringwald   */
455941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE   0x77
456941b3855SMatthias Ringwald 
457b072ba33SMatthias Ringwald /**
458b072ba33SMatthias Ringwald  * @format 2
459b072ba33SMatthias Ringwald  * @param local_cid
460b072ba33SMatthias Ringwald  */
461b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW                           0x78
462b072ba33SMatthias Ringwald 
46344276248SMatthias Ringwald // LE Data Channels
46444276248SMatthias Ringwald 
46544276248SMatthias Ringwald /**
46644276248SMatthias Ringwald  * @format 1BH2222
46744276248SMatthias Ringwald  * @param address_type
46844276248SMatthias Ringwald  * @param address
46944276248SMatthias Ringwald  * @param handle
47044276248SMatthias Ringwald  * @param psm
47144276248SMatthias Ringwald  * @param local_cid
47244276248SMatthias Ringwald  * @param remote_cid
47344276248SMatthias Ringwald  * @param remote_mtu
47444276248SMatthias Ringwald  */
47544276248SMatthias Ringwald #define L2CAP_EVENT_LE_INCOMING_CONNECTION                 0x79
47644276248SMatthias Ringwald 
47744276248SMatthias Ringwald /**
47812242deaSMatthias Ringwald  * @format 11BH122222
47944276248SMatthias Ringwald  * @param status
48044276248SMatthias Ringwald  * @param address_type
48144276248SMatthias Ringwald  * @param address
48244276248SMatthias Ringwald  * @param handle
48312242deaSMatthias Ringwald  * @param incoming
48444276248SMatthias Ringwald  * @param psm
48544276248SMatthias Ringwald  * @param local_cid
48644276248SMatthias Ringwald  * @param remote_cid
48744276248SMatthias Ringwald  * @param local_mtu
48844276248SMatthias Ringwald  * @param remote_mtu
48944276248SMatthias Ringwald  */
49044276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_OPENED                      0x7a
49144276248SMatthias Ringwald 
49244276248SMatthias Ringwald /*
49344276248SMatthias Ringwald  * @format 2
49444276248SMatthias Ringwald  * @param local_cid
49544276248SMatthias Ringwald  */
49644276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_CLOSED                      0x7b
49744276248SMatthias Ringwald 
49844276248SMatthias Ringwald /*
49944276248SMatthias Ringwald  * @format 2
50044276248SMatthias Ringwald  * @param local_cid
50144276248SMatthias Ringwald  */
50244276248SMatthias Ringwald #define L2CAP_EVENT_LE_CAN_SEND_NOW                        0x7c
50344276248SMatthias Ringwald 
50444276248SMatthias Ringwald /*
50544276248SMatthias Ringwald  * @format 2
50644276248SMatthias Ringwald  * @param local_cid
50744276248SMatthias Ringwald  */
50844276248SMatthias Ringwald #define L2CAP_EVENT_LE_PACKET_SENT                         0x7d
50944276248SMatthias Ringwald 
51044276248SMatthias Ringwald 
511941b3855SMatthias Ringwald // RFCOMM EVENTS
512b072ba33SMatthias Ringwald 
513941b3855SMatthias Ringwald /**
514bab5f4f0SMatthias Ringwald  * @format 1B21221
515941b3855SMatthias Ringwald  * @param status
516941b3855SMatthias Ringwald  * @param bd_addr
517941b3855SMatthias Ringwald  * @param con_handle
518941b3855SMatthias Ringwald  * @param server_channel
519941b3855SMatthias Ringwald  * @param rfcomm_cid
520941b3855SMatthias Ringwald  * @param max_frame_size
521bab5f4f0SMatthias Ringwald  * @param incoming
522941b3855SMatthias Ringwald  */
523f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED                        0x80
524941b3855SMatthias Ringwald 
525941b3855SMatthias Ringwald /**
526941b3855SMatthias Ringwald  * @format 2
527941b3855SMatthias Ringwald  * @param rfcomm_cid
528941b3855SMatthias Ringwald  */
529941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED                        0x81
530941b3855SMatthias Ringwald 
531941b3855SMatthias Ringwald /**
532941b3855SMatthias Ringwald  * @format B12
533941b3855SMatthias Ringwald  * @param bd_addr
534941b3855SMatthias Ringwald  * @param server_channel
535941b3855SMatthias Ringwald  * @param rfcomm_cid
536941b3855SMatthias Ringwald  */
537941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION                   0x82
538941b3855SMatthias Ringwald 
539941b3855SMatthias Ringwald /**
540941b3855SMatthias Ringwald  * @format 21
541941b3855SMatthias Ringwald  * @param rfcomm_cid
542941b3855SMatthias Ringwald  * @param line_status
543941b3855SMatthias Ringwald  */
544941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS                    0x83
545941b3855SMatthias Ringwald 
546941b3855SMatthias Ringwald /**
547941b3855SMatthias Ringwald  * @format 21
548941b3855SMatthias Ringwald  * @param rfcomm_cid
549941b3855SMatthias Ringwald  * @param modem_status
550941b3855SMatthias Ringwald  */
551941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS                   0x87
552941b3855SMatthias Ringwald 
553941b3855SMatthias Ringwald  /**
5547bd8e93bSMatthias Ringwald   * TODO: format for variable data 2?
555045013feSMatthias Ringwald   * param rfcomm_cid
556045013feSMatthias Ringwald   * param rpn_data
557941b3855SMatthias Ringwald   */
558941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION                    0x88
559941b3855SMatthias Ringwald 
560941b3855SMatthias Ringwald /**
561b072ba33SMatthias Ringwald  * @format 2
56262c468cbSMatthias Ringwald  * @param rfcomm_cid
563b072ba33SMatthias Ringwald  */
564b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW                          0x89
565b072ba33SMatthias Ringwald 
566b072ba33SMatthias Ringwald 
567b072ba33SMatthias Ringwald /**
568941b3855SMatthias Ringwald  * @format 1
569941b3855SMatthias Ringwald  * @param status
570941b3855SMatthias Ringwald  */
5715611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE                                 0x91
572941b3855SMatthias Ringwald 
573941b3855SMatthias Ringwald /**
574941b3855SMatthias Ringwald  * @format 1T
575941b3855SMatthias Ringwald  * @param rfcomm_channel
576941b3855SMatthias Ringwald  * @param name
577941b3855SMatthias Ringwald  */
5785611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE                           0x92
579941b3855SMatthias Ringwald 
580941b3855SMatthias Ringwald /**
5814225393cSMatthias Ringwald  * @format 22221
5824225393cSMatthias Ringwald  * @param record_id
583941b3855SMatthias Ringwald  * @param attribute_id
5844225393cSMatthias Ringwald  * @param attribute_length
5854225393cSMatthias Ringwald  * @param data_offset
5864225393cSMatthias Ringwald  * @param data
587941b3855SMatthias Ringwald  */
5885611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE                           0x93
589941b3855SMatthias Ringwald 
5904de250b4SMatthias Ringwald /**
5914de250b4SMatthias Ringwald  * @format 22LV
5924de250b4SMatthias Ringwald  * @param record_id
5934de250b4SMatthias Ringwald  * @param attribute_id
5944de250b4SMatthias Ringwald  * @param attribute_length
5954de250b4SMatthias Ringwald  * @param attribute_value
5964de250b4SMatthias Ringwald  */
5975611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE                          0x94
5984225393cSMatthias Ringwald 
5994225393cSMatthias Ringwald /**
6004225393cSMatthias Ringwald  * @format 224
6014225393cSMatthias Ringwald  * @param total_count
6024225393cSMatthias Ringwald  * @param record_index
6034225393cSMatthias Ringwald  * @param record_handle
6044225393cSMatthias Ringwald  * @note Not provided by daemon, only used for internal testing
6054225393cSMatthias Ringwald  */
6065611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE                    0x95
607941b3855SMatthias Ringwald 
608941b3855SMatthias Ringwald /**
609941b3855SMatthias Ringwald  * @format H1
610941b3855SMatthias Ringwald  * @param handle
611941b3855SMatthias Ringwald  * @param status
612941b3855SMatthias Ringwald  */
6135611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE                                0xA0
614941b3855SMatthias Ringwald 
615941b3855SMatthias Ringwald /**
616941b3855SMatthias Ringwald  * @format HX
617941b3855SMatthias Ringwald  * @param handle
618941b3855SMatthias Ringwald  * @param service
619941b3855SMatthias Ringwald  */
6205611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT                          0xA1
621941b3855SMatthias Ringwald 
622941b3855SMatthias Ringwald /**
623941b3855SMatthias Ringwald  * @format HY
624941b3855SMatthias Ringwald  * @param handle
625941b3855SMatthias Ringwald  * @param characteristic
626941b3855SMatthias Ringwald  */
6275611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT                   0xA2
628941b3855SMatthias Ringwald 
629941b3855SMatthias Ringwald /**
630941b3855SMatthias Ringwald  * @format H2X
631941b3855SMatthias Ringwald  * @param handle
632941b3855SMatthias Ringwald  * @param include_handle
633941b3855SMatthias Ringwald  * @param service
634941b3855SMatthias Ringwald  */
6355611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT                 0xA3
636941b3855SMatthias Ringwald 
637941b3855SMatthias Ringwald /**
638941b3855SMatthias Ringwald  * @format HZ
639941b3855SMatthias Ringwald  * @param handle
640941b3855SMatthias Ringwald  * @param characteristic_descriptor
641941b3855SMatthias Ringwald  */
6425611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT   0xA4
643941b3855SMatthias Ringwald 
644941b3855SMatthias Ringwald /**
645941b3855SMatthias Ringwald  * @format H2LV
646941b3855SMatthias Ringwald  * @param handle
647941b3855SMatthias Ringwald  * @param value_handle
648941b3855SMatthias Ringwald  * @param value_length
649941b3855SMatthias Ringwald  * @param value
650941b3855SMatthias Ringwald  */
6515611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT             0xA5
652941b3855SMatthias Ringwald 
653941b3855SMatthias Ringwald /**
654941b3855SMatthias Ringwald  * @format H22LV
655941b3855SMatthias Ringwald  * @param handle
656941b3855SMatthias Ringwald  * @param value_handle
657941b3855SMatthias Ringwald  * @param value_offset
658941b3855SMatthias Ringwald  * @param value_length
659941b3855SMatthias Ringwald  * @param value
660941b3855SMatthias Ringwald  */
6615611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT        0xA6
662941b3855SMatthias Ringwald 
663941b3855SMatthias Ringwald /**
664941b3855SMatthias Ringwald  * @format H2LV
665941b3855SMatthias Ringwald  * @param handle
666941b3855SMatthias Ringwald  * @param value_handle
667941b3855SMatthias Ringwald  * @param value_length
668941b3855SMatthias Ringwald  * @param value
669941b3855SMatthias Ringwald  */
6705611a760SMatthias Ringwald #define GATT_EVENT_NOTIFICATION                                  0xA7
671941b3855SMatthias Ringwald 
672941b3855SMatthias Ringwald /**
673941b3855SMatthias Ringwald  * @format H2LV
674941b3855SMatthias Ringwald  * @param handle
675941b3855SMatthias Ringwald  * @param value_handle
676941b3855SMatthias Ringwald  * @param value_length
677941b3855SMatthias Ringwald  * @param value
678941b3855SMatthias Ringwald  */
6795611a760SMatthias Ringwald #define GATT_EVENT_INDICATION                                    0xA8
680941b3855SMatthias Ringwald 
681941b3855SMatthias Ringwald /**
682941b3855SMatthias Ringwald  * @format H2LV
6832c737695SMatthias Ringwald  * @param handle
684941b3855SMatthias Ringwald  * @param descriptor_handle
685941b3855SMatthias Ringwald  * @param descriptor_length
686941b3855SMatthias Ringwald  * @param descriptor
687941b3855SMatthias Ringwald  */
6885611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT        0xA9
689941b3855SMatthias Ringwald 
690941b3855SMatthias Ringwald /**
691941b3855SMatthias Ringwald  * @format H2LV
692941b3855SMatthias Ringwald  * @param handle
693941b3855SMatthias Ringwald  * @param descriptor_offset
694941b3855SMatthias Ringwald  * @param descriptor_length
695941b3855SMatthias Ringwald  * @param descriptor
696941b3855SMatthias Ringwald  */
6975611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT   0xAA
698941b3855SMatthias Ringwald 
699941b3855SMatthias Ringwald /**
700941b3855SMatthias Ringwald  * @format H2
701941b3855SMatthias Ringwald  * @param handle
702941b3855SMatthias Ringwald  * @param MTU
703941b3855SMatthias Ringwald  */
7045611a760SMatthias Ringwald #define GATT_EVENT_MTU                                           0xAB
705941b3855SMatthias Ringwald 
706941b3855SMatthias Ringwald /**
707941b3855SMatthias Ringwald  * @format H2
708941b3855SMatthias Ringwald  * @param handle
709941b3855SMatthias Ringwald  * @param MTU
710941b3855SMatthias Ringwald  */
7115611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE                          0xB5
712941b3855SMatthias Ringwald 
71349d18261SMatthias Ringwald  /**
71449d18261SMatthias Ringwald   * @format 1H2
71549d18261SMatthias Ringwald   * @param status
71649d18261SMatthias Ringwald   * @param conn_handle
71749d18261SMatthias Ringwald   * @param attribute_handle
71849d18261SMatthias Ringwald   */
7195611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE               0xB6
720941b3855SMatthias Ringwald 
72149d18261SMatthias Ringwald /**
72249d18261SMatthias Ringwald  * @format
72349d18261SMatthias Ringwald  */
72449d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW                                   0xB7
725941b3855SMatthias Ringwald 
72649d18261SMatthias Ringwald // TODO: daemon only event
72749d18261SMatthias Ringwald 
72849d18261SMatthias Ringwald /**
72949d18261SMatthias Ringwald  * @format 12
73049d18261SMatthias Ringwald  * @param status
73149d18261SMatthias Ringwald  * @param service_uuid
73249d18261SMatthias Ringwald  */
733941b3855SMatthias Ringwald  #define BNEP_EVENT_SERVICE_REGISTERED                      0xC0
734941b3855SMatthias Ringwald 
73549d18261SMatthias Ringwald /**
736423c667cSMatthias Ringwald  * @format 12222B
73749d18261SMatthias Ringwald  * @param status
738423c667cSMatthias Ringwald  * @param bnep_cid
73949d18261SMatthias Ringwald  * @param source_uuid
74049d18261SMatthias Ringwald  * @param destination_uuid
74149d18261SMatthias Ringwald  * @param mtu
74249d18261SMatthias Ringwald  * @param remote_address
74349d18261SMatthias Ringwald  */
744423c667cSMatthias Ringwald  #define BNEP_EVENT_CHANNEL_OPENED                   0xC1
745941b3855SMatthias Ringwald 
74649d18261SMatthias Ringwald /**
747423c667cSMatthias Ringwald  * @format 222B
748423c667cSMatthias Ringwald  * @param bnep_cid
74949d18261SMatthias Ringwald  * @param source_uuid
75049d18261SMatthias Ringwald  * @param destination_uuid
75149d18261SMatthias Ringwald  * @param remote_address
75249d18261SMatthias Ringwald  */
753941b3855SMatthias Ringwald  #define BNEP_EVENT_CHANNEL_CLOSED                          0xC2
754941b3855SMatthias Ringwald 
75549d18261SMatthias Ringwald /**
756423c667cSMatthias Ringwald  * @format 222B1
757423c667cSMatthias Ringwald  * @param bnep_cid
75849d18261SMatthias Ringwald  * @param source_uuid
75949d18261SMatthias Ringwald  * @param destination_uuid
76049d18261SMatthias Ringwald  * @param remote_address
76149d18261SMatthias Ringwald  * @param channel_state
76249d18261SMatthias Ringwald  */
763941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT                         0xC3
764941b3855SMatthias Ringwald 
76549d18261SMatthias Ringwald /**
766423c667cSMatthias Ringwald  * @format 222B
767423c667cSMatthias Ringwald  * @param bnep_cid
76849d18261SMatthias Ringwald  * @param source_uuid
76949d18261SMatthias Ringwald  * @param destination_uuid
77049d18261SMatthias Ringwald  * @param remote_address
77149d18261SMatthias Ringwald  */
7722d4c8c04SMatthias Ringwald  #define BNEP_EVENT_CAN_SEND_NOW                           0xC4
773941b3855SMatthias Ringwald 
774941b3855SMatthias Ringwald  /**
775941b3855SMatthias Ringwald   * @format H1B
776941b3855SMatthias Ringwald   * @param handle
777941b3855SMatthias Ringwald   * @param addr_type
778941b3855SMatthias Ringwald   * @param address
779941b3855SMatthias Ringwald   */
7805611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST                              0xD0
781941b3855SMatthias Ringwald 
782941b3855SMatthias Ringwald  /**
783941b3855SMatthias Ringwald   * @format H1B
784941b3855SMatthias Ringwald   * @param handle
785941b3855SMatthias Ringwald   * @param addr_type
786941b3855SMatthias Ringwald   * @param address
787941b3855SMatthias Ringwald   */
7885611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL                               0xD1
789941b3855SMatthias Ringwald 
790941b3855SMatthias Ringwald  /**
791941b3855SMatthias Ringwald   * @format H1B4
792941b3855SMatthias Ringwald   * @param handle
793941b3855SMatthias Ringwald   * @param addr_type
794941b3855SMatthias Ringwald   * @param address
795941b3855SMatthias Ringwald   * @param passkey
796941b3855SMatthias Ringwald   */
7975611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER                          0xD2
798941b3855SMatthias Ringwald 
799941b3855SMatthias Ringwald  /**
800941b3855SMatthias Ringwald   * @format H1B
801941b3855SMatthias Ringwald   * @param handle
802941b3855SMatthias Ringwald   * @param addr_type
803941b3855SMatthias Ringwald   * @param address
804941b3855SMatthias Ringwald   */
8055611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL                          0xD3
806941b3855SMatthias Ringwald 
807941b3855SMatthias Ringwald  /**
8082c737695SMatthias Ringwald   * @format H1B
809941b3855SMatthias Ringwald   * @param handle
810941b3855SMatthias Ringwald   * @param addr_type
811941b3855SMatthias Ringwald   * @param address
812941b3855SMatthias Ringwald   */
8135611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER                            0xD4
814941b3855SMatthias Ringwald 
815941b3855SMatthias Ringwald  /**
816941b3855SMatthias Ringwald   * @format H1B
817941b3855SMatthias Ringwald   * @param handle
818941b3855SMatthias Ringwald   * @param addr_type
819941b3855SMatthias Ringwald   * @param address
820941b3855SMatthias Ringwald   */
8215611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL                            0xD5
822941b3855SMatthias Ringwald 
823941b3855SMatthias Ringwald  /**
8248362d86aSMatthias Ringwald   * @format H1B4
8258362d86aSMatthias Ringwald   * @param handle
8268362d86aSMatthias Ringwald   * @param addr_type
8278362d86aSMatthias Ringwald   * @param address
8288362d86aSMatthias Ringwald   * @param passkey
8298362d86aSMatthias Ringwald   */
8308362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST                      0xD6
8318362d86aSMatthias Ringwald 
8328362d86aSMatthias Ringwald  /**
8332c737695SMatthias Ringwald   * @format H1B
834941b3855SMatthias Ringwald   * @param handle
835941b3855SMatthias Ringwald   * @param addr_type
836941b3855SMatthias Ringwald   * @param address
837941b3855SMatthias Ringwald   */
8388362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL                       0xD7
839941b3855SMatthias Ringwald 
840941b3855SMatthias Ringwald  /**
841941b3855SMatthias Ringwald   * @format H1B
842941b3855SMatthias Ringwald   * @param handle
843941b3855SMatthias Ringwald   * @param addr_type
844941b3855SMatthias Ringwald   * @param address
845941b3855SMatthias Ringwald   */
8468362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED                      0xD8
8478362d86aSMatthias Ringwald 
8488362d86aSMatthias Ringwald  /**
8498362d86aSMatthias Ringwald   * @format H1B
8508362d86aSMatthias Ringwald   * @param handle
8518362d86aSMatthias Ringwald   * @param addr_type
8528362d86aSMatthias Ringwald   * @param address
8538362d86aSMatthias Ringwald   */
8548362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED                       0xD9
855941b3855SMatthias Ringwald 
856941b3855SMatthias Ringwald  /**
85784182ed9SMatthias Ringwald   * @brief Identify resolving succeeded
85884182ed9SMatthias Ringwald   *
859334126b3SMatthias Ringwald   * @format H1B1B2
860941b3855SMatthias Ringwald   * @param handle
861941b3855SMatthias Ringwald   * @param addr_type
862941b3855SMatthias Ringwald   * @param address
86384182ed9SMatthias Ringwald   * @param identity_addr_type
86484182ed9SMatthias Ringwald   * @param identity_address
865334126b3SMatthias Ringwald   * @param index_internal
86684182ed9SMatthias Ringwald   *
867941b3855SMatthias Ringwald   */
8688362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED                    0xDA
869941b3855SMatthias Ringwald 
870941b3855SMatthias Ringwald  /**
871941b3855SMatthias Ringwald   * @format H1B
872941b3855SMatthias Ringwald   * @param handle
873941b3855SMatthias Ringwald   * @param addr_type
874941b3855SMatthias Ringwald   * @param address
875941b3855SMatthias Ringwald   */
8768362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST                           0xDB
877941b3855SMatthias Ringwald 
878941b3855SMatthias Ringwald  /**
879941b3855SMatthias Ringwald   * @format H1B1
880941b3855SMatthias Ringwald   * @param handle
881941b3855SMatthias Ringwald   * @param addr_type
882941b3855SMatthias Ringwald   * @param address
883941b3855SMatthias Ringwald   * @param authorization_result
884941b3855SMatthias Ringwald   */
8858362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT                            0xDC
886941b3855SMatthias Ringwald 
8873d7fe1e9SMatthias Ringwald  /**
8883d7fe1e9SMatthias Ringwald   * @format H1
8893d7fe1e9SMatthias Ringwald   * @param handle
8903d7fe1e9SMatthias Ringwald   * @param action see SM_KEYPRESS_*
8913d7fe1e9SMatthias Ringwald   */
8923d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION                           0xDD
8933d7fe1e9SMatthias Ringwald 
89484182ed9SMatthias Ringwald  /**
89584182ed9SMatthias Ringwald   * @brief Emitted during pairing to inform app about address used as identity
89684182ed9SMatthias Ringwald   *
89784182ed9SMatthias Ringwald   * @format H1B1B
89884182ed9SMatthias Ringwald   * @param handle
89984182ed9SMatthias Ringwald   * @param addr_type
90084182ed9SMatthias Ringwald   * @param address
90184182ed9SMatthias Ringwald   * @param identity_addr_type
90284182ed9SMatthias Ringwald   * @param identity_address
90384182ed9SMatthias Ringwald   */
90484182ed9SMatthias Ringwald #define SM_EVENT_IDENTITY_CREATED                                0xDE
9053d7fe1e9SMatthias Ringwald 
906941b3855SMatthias Ringwald // GAP
907941b3855SMatthias Ringwald 
90846bc5396SMilanka Ringwald /**
90946bc5396SMilanka Ringwald  * @format H1
91046bc5396SMilanka Ringwald  * @param handle
91146bc5396SMilanka Ringwald  * @param security_level
91246bc5396SMilanka Ringwald  */
9135611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL                                 0xE0
914941b3855SMatthias Ringwald 
91546bc5396SMilanka Ringwald /**
91646bc5396SMilanka Ringwald  * @format 1B
91746bc5396SMilanka Ringwald  * @param status
91846bc5396SMilanka Ringwald  * @param address
91946bc5396SMilanka Ringwald  */
9205611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED                    0xE1
921941b3855SMatthias Ringwald 
922941b3855SMatthias Ringwald /**
923941b3855SMatthias Ringwald  * @format 11B1JV
924941b3855SMatthias Ringwald  * @param advertising_event_type
925941b3855SMatthias Ringwald  * @param address_type
926941b3855SMatthias Ringwald  * @param address
927941b3855SMatthias Ringwald  * @param rssi
928941b3855SMatthias Ringwald  * @param data_length
929941b3855SMatthias Ringwald  * @param data
930941b3855SMatthias Ringwald  */
931045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT                          0xE2
932941b3855SMatthias Ringwald 
933*1cfb383eSMatthias Ringwald  /**
934*1cfb383eSMatthias Ringwald  * @format B132111JV
935*1cfb383eSMatthias Ringwald  * @param bd_addr
936*1cfb383eSMatthias Ringwald  * @param page_scan_repetition_mode
937*1cfb383eSMatthias Ringwald  * @param class_of_device
938*1cfb383eSMatthias Ringwald  * @param clock_offset
939*1cfb383eSMatthias Ringwald  * @param rssi_availabe
940*1cfb383eSMatthias Ringwald  * @param rssi
941*1cfb383eSMatthias Ringwald  * @param name_available
942*1cfb383eSMatthias Ringwald  * @param name_len
943*1cfb383eSMatthias Ringwald  * @param name
944*1cfb383eSMatthias Ringwald  */
945*1cfb383eSMatthias Ringwald #define GAP_EVENT_INQUIRY_RESULT                              0xE3
946*1cfb383eSMatthias Ringwald 
947*1cfb383eSMatthias Ringwald /**
948*1cfb383eSMatthias Ringwald  * @format 1
949*1cfb383eSMatthias Ringwald  * @param status
950*1cfb383eSMatthias Ringwald  */
951*1cfb383eSMatthias Ringwald #define GAP_EVENT_INQUIRY_COMPLETE                            0xE4
952*1cfb383eSMatthias Ringwald 
953827b1c43SMatthias Ringwald 
954e10ce426SMatthias Ringwald // Meta Events, see below for sub events
955941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META                                 0xE8
95639d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META                                 0xE9
957e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META                                0xEA
958beaf082cSMatthias Ringwald #define HCI_EVENT_AVDTP_META                               0xEB
959decc740cSMilanka Ringwald #define HCI_EVENT_AVRCP_META                               0xEC
960f1b34e8dSMatthias Ringwald #define HCI_EVENT_GOEP_META                                0xED
961f1b34e8dSMatthias Ringwald #define HCI_EVENT_PBAP_META                                0xEE
962dd148ddbSMatthias Ringwald #define HCI_EVENT_HID_META                                 0xEF
96339d235cbSMatthias Ringwald 
964e10ce426SMatthias Ringwald // Potential other meta groups
965e10ce426SMatthias Ringwald // #define HCI_EVENT_BNEP_META                                0xxx
966e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META                                 0xxx
967e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META                                0xxx
968e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META                                 0xxx
969e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META                                 0xxx
970e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META                                  0xxx
97139d235cbSMatthias Ringwald 
972d63c37a1SMatthias Ringwald 
973d63c37a1SMatthias Ringwald /** HSP Subevent */
974d63c37a1SMatthias Ringwald 
975827b1c43SMatthias Ringwald /**
97699a10067SMatthias Ringwald  * @format 11
977827b1c43SMatthias Ringwald  * @param subevent_code
978827b1c43SMatthias Ringwald  * @param status 0 == OK
979827b1c43SMatthias Ringwald  */
98099a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE             0x01
98199a10067SMatthias Ringwald 
98299a10067SMatthias Ringwald /**
98399a10067SMatthias Ringwald  * @format 11
98499a10067SMatthias Ringwald  * @param subevent_code
98599a10067SMatthias Ringwald  * @param status 0 == OK
98699a10067SMatthias Ringwald  */
98799a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE           0x02
98899a10067SMatthias Ringwald 
98999a10067SMatthias Ringwald 
99099a10067SMatthias Ringwald /**
99162c468cbSMatthias Ringwald  * @format 11H
99299a10067SMatthias Ringwald  * @param subevent_code
99399a10067SMatthias Ringwald  * @param status 0 == OK
99462c468cbSMatthias Ringwald  * @param handle
99599a10067SMatthias Ringwald  */
99699a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE             0x03
997827b1c43SMatthias Ringwald 
998827b1c43SMatthias Ringwald /**
999827b1c43SMatthias Ringwald  * @format 11
1000827b1c43SMatthias Ringwald  * @param subevent_code
1001827b1c43SMatthias Ringwald  * @param status 0 == OK
1002827b1c43SMatthias Ringwald  */
100399a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE          0x04
1004827b1c43SMatthias Ringwald 
1005827b1c43SMatthias Ringwald /**
1006827b1c43SMatthias Ringwald  * @format 1
1007827b1c43SMatthias Ringwald  * @param subevent_code
1008827b1c43SMatthias Ringwald  */
100999a10067SMatthias Ringwald #define HSP_SUBEVENT_RING                                  0x05
1010827b1c43SMatthias Ringwald 
1011827b1c43SMatthias Ringwald /**
1012827b1c43SMatthias Ringwald  * @format 11
1013827b1c43SMatthias Ringwald  * @param subevent_code
1014827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
1015827b1c43SMatthias Ringwald  */
101699a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED               0x06
1017827b1c43SMatthias Ringwald 
1018827b1c43SMatthias Ringwald /**
1019827b1c43SMatthias Ringwald  * @format 11
1020827b1c43SMatthias Ringwald  * @param subevent_code
1021827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
1022827b1c43SMatthias Ringwald  */
102399a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED                  0x07
1024827b1c43SMatthias Ringwald 
1025827b1c43SMatthias Ringwald /**
1026827b1c43SMatthias Ringwald  * @format 1JV
1027827b1c43SMatthias Ringwald  * @param subevent_code
1028827b1c43SMatthias Ringwald  * @param value_length
1029827b1c43SMatthias Ringwald  * @param value
1030827b1c43SMatthias Ringwald  */
103199a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND                            0x08
1032827b1c43SMatthias Ringwald 
1033827b1c43SMatthias Ringwald /**
1034827b1c43SMatthias Ringwald  * @format 1JV
1035827b1c43SMatthias Ringwald  * @param subevent_code
1036827b1c43SMatthias Ringwald  * @param value_length
1037827b1c43SMatthias Ringwald  * @param value
1038827b1c43SMatthias Ringwald  */
103999a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION                         0x09
1040827b1c43SMatthias Ringwald 
1041941b3855SMatthias Ringwald 
1042d63c37a1SMatthias Ringwald /** HFP Subevent */
1043941b3855SMatthias Ringwald 
1044d63c37a1SMatthias Ringwald /**
1045a23045e2SMilanka Ringwald  * @format 11HB
1046d63c37a1SMatthias Ringwald  * @param subevent_code
1047d63c37a1SMatthias Ringwald  * @param status 0 == OK
1048a0653c3bSMilanka Ringwald  * @param con_handle
10496a7f44bdSMilanka Ringwald  * @param bd_addr
1050d63c37a1SMatthias Ringwald  */
1051941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED  0x01
1052d63c37a1SMatthias Ringwald 
1053d63c37a1SMatthias Ringwald /**
1054d63c37a1SMatthias Ringwald  * @format 1
1055d63c37a1SMatthias Ringwald  * @param subevent_code
1056d63c37a1SMatthias Ringwald  */
1057941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED     0x02
1058d63c37a1SMatthias Ringwald 
1059d63c37a1SMatthias Ringwald /**
1060a23045e2SMilanka Ringwald  * @format 11HB1
1061d63c37a1SMatthias Ringwald  * @param subevent_code
1062d63c37a1SMatthias Ringwald  * @param status 0 == OK
10636ff51cfdSMatthias Ringwald  * @param handle
10646a7f44bdSMilanka Ringwald  * @param bd_addr
1065d0c4aea6SMilanka Ringwald  * @param negotiated_codec
1066d63c37a1SMatthias Ringwald  */
1067941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED          0x03
1068d63c37a1SMatthias Ringwald 
1069d63c37a1SMatthias Ringwald /**
1070d63c37a1SMatthias Ringwald  * @format 1
1071d63c37a1SMatthias Ringwald  * @param subevent_code
1072d63c37a1SMatthias Ringwald  */
1073941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED             0x04
1074d63c37a1SMatthias Ringwald 
1075d63c37a1SMatthias Ringwald /**
1076d63c37a1SMatthias Ringwald  * @format 11
1077d63c37a1SMatthias Ringwald  * @param subevent_code
1078d63c37a1SMatthias Ringwald  * @param status 0 == OK
1079d63c37a1SMatthias Ringwald  */
1080941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE                              0x05
1081d63c37a1SMatthias Ringwald 
1082d63c37a1SMatthias Ringwald /**
1083d63c37a1SMatthias Ringwald  * @format 111T
1084d63c37a1SMatthias Ringwald  * @param subevent_code
1085d63c37a1SMatthias Ringwald  * @param indicator_index
1086d63c37a1SMatthias Ringwald  * @param indicator_status
1087d63c37a1SMatthias Ringwald  * @param indicator_name
1088d63c37a1SMatthias Ringwald  */
1089941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED           0x06
1090d63c37a1SMatthias Ringwald 
1091d63c37a1SMatthias Ringwald /**
10922c737695SMatthias Ringwald  * @format 111T
1093d63c37a1SMatthias Ringwald  * @param subevent_code
1094d63c37a1SMatthias Ringwald  * @param network_operator_mode
1095d63c37a1SMatthias Ringwald  * @param network_operator_format
1096d63c37a1SMatthias Ringwald  * @param network_operator_name
1097d63c37a1SMatthias Ringwald  */
1098941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED              0x07
1099d63c37a1SMatthias Ringwald 
1100d63c37a1SMatthias Ringwald /**
1101d63c37a1SMatthias Ringwald  * @format 11
1102d63c37a1SMatthias Ringwald  * @param subevent_code
1103d63c37a1SMatthias Ringwald  * @param error
1104d63c37a1SMatthias Ringwald  */
1105941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR             0x08
1106d63c37a1SMatthias Ringwald 
1107d63c37a1SMatthias Ringwald /**
1108d63c37a1SMatthias Ringwald  * @format 1
1109d63c37a1SMatthias Ringwald  * @param subevent_code
1110d63c37a1SMatthias Ringwald  */
1111aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG                           0x0A
1112d63c37a1SMatthias Ringwald 
1113d63c37a1SMatthias Ringwald /**
1114d63c37a1SMatthias Ringwald  * @format 1
1115d63c37a1SMatthias Ringwald  * @param subevent_code
1116d63c37a1SMatthias Ringwald  */
1117aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG                            0x0B
1118d63c37a1SMatthias Ringwald 
1119d63c37a1SMatthias Ringwald /**
1120d63c37a1SMatthias Ringwald  * @format 1
1121d63c37a1SMatthias Ringwald  * @param subevent_code
1122d63c37a1SMatthias Ringwald  */
1123aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED                          0x0C
1124d63c37a1SMatthias Ringwald 
1125d63c37a1SMatthias Ringwald /**
1126d63c37a1SMatthias Ringwald  * @format 1T
1127d63c37a1SMatthias Ringwald  * @param subevent_code
1128d63c37a1SMatthias Ringwald  * @param number
1129d63c37a1SMatthias Ringwald  */
1130aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER                   0x0D
1131d63c37a1SMatthias Ringwald 
1132d63c37a1SMatthias Ringwald /**
1133d63c37a1SMatthias Ringwald  * @format 1
1134d63c37a1SMatthias Ringwald  * @param subevent_code
1135d63c37a1SMatthias Ringwald  */
1136d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG               0x0E
1137d63c37a1SMatthias Ringwald 
1138d63c37a1SMatthias Ringwald /**
1139d63c37a1SMatthias Ringwald  * @format 1T
1140d63c37a1SMatthias Ringwald  * @param subevent_code
1141d63c37a1SMatthias Ringwald  * @param number
1142d63c37a1SMatthias Ringwald  */
1143d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG                     0x0F
1144d63c37a1SMatthias Ringwald 
1145d63c37a1SMatthias Ringwald /**
1146d63c37a1SMatthias Ringwald  * @format 1T
1147d63c37a1SMatthias Ringwald  * @param subevent_code
1148d63c37a1SMatthias Ringwald  * @param dtmf code
1149d63c37a1SMatthias Ringwald  */
1150d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES                      0x10
1151d63c37a1SMatthias Ringwald 
1152d63c37a1SMatthias Ringwald /**
1153d63c37a1SMatthias Ringwald  * @format 1
1154d63c37a1SMatthias Ringwald  * @param subevent_code
1155d63c37a1SMatthias Ringwald  */
1156d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_CALL_ANSWERED                            0x11
1157d63c37a1SMatthias Ringwald 
1158d63c37a1SMatthias Ringwald /**
1159d63c37a1SMatthias Ringwald  * @format 1
1160d63c37a1SMatthias Ringwald  * @param subevent_code
1161d63c37a1SMatthias Ringwald  */
1162d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL                          0x12
1163d63c37a1SMatthias Ringwald 
1164d63c37a1SMatthias Ringwald /**
1165d63c37a1SMatthias Ringwald  * @format 1
1166d63c37a1SMatthias Ringwald  * @param subevent_code
1167d63c37a1SMatthias Ringwald  */
1168d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING                                     0x13
1169d63c37a1SMatthias Ringwald 
1170d63c37a1SMatthias Ringwald /**
1171d63c37a1SMatthias Ringwald  * @format 111
1172d63c37a1SMatthias Ringwald  * @param subevent_code
1173d63c37a1SMatthias Ringwald  * @param status
1174d63c37a1SMatthias Ringwald  * @param gain
1175d63c37a1SMatthias Ringwald  */
1176d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SPEAKER_VOLUME                           0x14
1177d63c37a1SMatthias Ringwald 
1178d63c37a1SMatthias Ringwald /**
1179d63c37a1SMatthias Ringwald  * @format 111
1180d63c37a1SMatthias Ringwald  * @param subevent_code
1181d63c37a1SMatthias Ringwald  * @param status
1182d63c37a1SMatthias Ringwald  * @param gain
1183d63c37a1SMatthias Ringwald  */
1184d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME                        0x15
1185d63c37a1SMatthias Ringwald 
1186d63c37a1SMatthias Ringwald /**
1187d63c37a1SMatthias Ringwald  * @format 11T
1188d63c37a1SMatthias Ringwald  * @param subevent_code
1189d63c37a1SMatthias Ringwald  * @param type
1190d63c37a1SMatthias Ringwald  * @param number
1191d63c37a1SMatthias Ringwald  */
1192d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION                0x16
1193d63c37a1SMatthias Ringwald 
1194d63c37a1SMatthias Ringwald /**
1195d63c37a1SMatthias Ringwald  * @format 11T
1196d63c37a1SMatthias Ringwald  * @param subevent_code
1197d63c37a1SMatthias Ringwald  * @param type
1198d63c37a1SMatthias Ringwald  * @param number
1199d63c37a1SMatthias Ringwald  */
1200d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALLING_LINE_INDETIFICATION_NOTIFICATION 0x17
1201d63c37a1SMatthias Ringwald 
1202d63c37a1SMatthias Ringwald /**
1203d63c37a1SMatthias Ringwald  * @format 111111T
1204d63c37a1SMatthias Ringwald  * @param subevent_code
1205d63c37a1SMatthias Ringwald  * @param clcc_idx
1206d63c37a1SMatthias Ringwald  * @param clcc_dir
1207d63c37a1SMatthias Ringwald  * @param clcc_status
1208d63c37a1SMatthias Ringwald  * @param clcc_mpty
1209d63c37a1SMatthias Ringwald  * @param bnip_type
1210d63c37a1SMatthias Ringwald  * @param bnip_number
1211d63c37a1SMatthias Ringwald  */
1212d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS                     0x18
1213d63c37a1SMatthias Ringwald 
1214d63c37a1SMatthias Ringwald /**
1215d63c37a1SMatthias Ringwald  * @format 111T
1216d63c37a1SMatthias Ringwald  * @param subevent_code
1217d63c37a1SMatthias Ringwald  * @param status
1218d63c37a1SMatthias Ringwald  * @param bnip_type
1219d63c37a1SMatthias Ringwald  * @param bnip_number
1220d63c37a1SMatthias Ringwald  */
1221d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION            0x19
1222d63c37a1SMatthias Ringwald 
1223d63c37a1SMatthias Ringwald /**
1224d63c37a1SMatthias Ringwald  * @format 1T
1225d63c37a1SMatthias Ringwald  * @param subevent_code
1226d63c37a1SMatthias Ringwald  * @param value
1227d63c37a1SMatthias Ringwald  */
1228d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS                 0x1A
1229941b3855SMatthias Ringwald 
1230941b3855SMatthias Ringwald // ANCS Client
1231a4815874SMatthias Ringwald 
1232a4815874SMatthias Ringwald /**
1233e10ce426SMatthias Ringwald  * @format 1H
1234e10ce426SMatthias Ringwald  * @param subevent_code
1235a4815874SMatthias Ringwald  * @param handle
1236a4815874SMatthias Ringwald  */
1237e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED                              0xF0
1238a4815874SMatthias Ringwald 
1239a4815874SMatthias Ringwald /**
1240e10ce426SMatthias Ringwald  * @format 1H2T
1241e10ce426SMatthias Ringwald  * @param subevent_code
1242a4815874SMatthias Ringwald  * @param handle
1243a4815874SMatthias Ringwald  * @param attribute_id
1244a4815874SMatthias Ringwald  * @param text
1245a4815874SMatthias Ringwald  */
1246e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION                           0xF1
1247a4815874SMatthias Ringwald 
1248a4815874SMatthias Ringwald /**
1249e10ce426SMatthias Ringwald  * @format 1H
1250e10ce426SMatthias Ringwald  * @param subevent_code
1251a4815874SMatthias Ringwald  * @param handle
1252a4815874SMatthias Ringwald  */
1253e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED                           0xF2
1254941b3855SMatthias Ringwald 
1255a23045e2SMilanka Ringwald 
1256a23045e2SMilanka Ringwald /** AVDTP Subevent */
1257a23045e2SMilanka Ringwald 
12583338b9aeSMilanka Ringwald /**
12592c737695SMatthias Ringwald  * @format 1H11
12602c708e8aSMilanka Ringwald  * @param subevent_code
12612c708e8aSMilanka Ringwald  * @param con_handle
12622c708e8aSMilanka Ringwald  * @param signal_identifier
12632c708e8aSMilanka Ringwald  * @param status 0 == OK
12642c708e8aSMilanka Ringwald  */
12652c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_ACCEPT                     0x01
12662c708e8aSMilanka Ringwald 
12672c708e8aSMilanka Ringwald /**
12682c708e8aSMilanka Ringwald  * @format 1H1
12692c708e8aSMilanka Ringwald  * @param subevent_code
12702c708e8aSMilanka Ringwald  * @param con_handle
12712c708e8aSMilanka Ringwald  * @param signal_identifier
12722c708e8aSMilanka Ringwald  */
12732c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_REJECT                     0x02
12742c708e8aSMilanka Ringwald 
12752c708e8aSMilanka Ringwald /**
12762c708e8aSMilanka Ringwald  * @format 1H1
12772c708e8aSMilanka Ringwald  * @param subevent_code
12782c708e8aSMilanka Ringwald  * @param con_handle
12792c708e8aSMilanka Ringwald  * @param signal_identifier
12802c708e8aSMilanka Ringwald  */
12812c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT             0x03
12822c708e8aSMilanka Ringwald 
12832c708e8aSMilanka Ringwald /**
12843338b9aeSMilanka Ringwald  * @format 1HB1
12853338b9aeSMilanka Ringwald  * @param subevent_code
12863338b9aeSMilanka Ringwald  * @param con_handle
12873338b9aeSMilanka Ringwald  * @param bd_addr
12883338b9aeSMilanka Ringwald  * @param status 0 == OK
12893338b9aeSMilanka Ringwald  */
12902c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED     0x04
1291a23045e2SMilanka Ringwald 
12923338b9aeSMilanka Ringwald /**
129385a0c7cdSMilanka Ringwald  * @format 1H
12943338b9aeSMilanka Ringwald  * @param subevent_code
129585a0c7cdSMilanka Ringwald  * @param con_handle
12963338b9aeSMilanka Ringwald  */
12972c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED        0x05
12983338b9aeSMilanka Ringwald 
12993338b9aeSMilanka Ringwald /**
13003338b9aeSMilanka Ringwald  * @format 1H1111
13013338b9aeSMilanka Ringwald  * @param subevent_code
13023338b9aeSMilanka Ringwald  * @param handle
13033338b9aeSMilanka Ringwald  * @param seid        0x01 – 0x3E
13043338b9aeSMilanka Ringwald  * @param in_use      0-not in use, 1-in use
13053338b9aeSMilanka Ringwald  * @param media_type  0-audio, 1-video, 2-multimedia
13063338b9aeSMilanka Ringwald  * @param sep_type    0-source, 1-sink
13073338b9aeSMilanka Ringwald  */
13082c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND                  0x06
13093338b9aeSMilanka Ringwald 
13103338b9aeSMilanka Ringwald /**
13113338b9aeSMilanka Ringwald  * @format 1H11111111
13123338b9aeSMilanka Ringwald  * @param subevent_code
13133338b9aeSMilanka Ringwald  * @param con_handle
13143338b9aeSMilanka Ringwald  * @param media_type
1315ea7bd529SMilanka Ringwald  * @param sampling_frequency_bitmap
1316ea7bd529SMilanka Ringwald  * @param channel_mode_bitmap
1317ea7bd529SMilanka Ringwald  * @param block_length_bitmap
1318ea7bd529SMilanka Ringwald  * @param subbands_bitmap
1319ea7bd529SMilanka Ringwald  * @param allocation_method_bitmap
13203338b9aeSMilanka Ringwald  * @param min_bitpool_value
13213338b9aeSMilanka Ringwald  * @param max_bitpool_value
13223338b9aeSMilanka Ringwald  */
13232c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY          0x07
13243338b9aeSMilanka Ringwald 
13253338b9aeSMilanka Ringwald /**
13262c737695SMatthias Ringwald  * @format 1H12LV
13273338b9aeSMilanka Ringwald  * @param subevent_code
13283338b9aeSMilanka Ringwald  * @param con_handle
13293338b9aeSMilanka Ringwald  * @param media_type
13303338b9aeSMilanka Ringwald  * @param media_codec_type
13313338b9aeSMilanka Ringwald  * @param media_codec_information_len
13323338b9aeSMilanka Ringwald  * @param media_codec_information
13333338b9aeSMilanka Ringwald  */
13342c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY        0x08
1335a23045e2SMilanka Ringwald 
1336ea7bd529SMilanka Ringwald /**
133760099f8bSMilanka Ringwald  * @format 1H1121111111
1338ea7bd529SMilanka Ringwald  * @param subevent_code
1339ea7bd529SMilanka Ringwald  * @param con_handle
1340ea7bd529SMilanka Ringwald  * @param reconfigure
1341ea7bd529SMilanka Ringwald  * @param media_type
1342ea7bd529SMilanka Ringwald  * @param sampling_frequency
1343ea7bd529SMilanka Ringwald  * @param channel_mode
1344ea7bd529SMilanka Ringwald  * @param num_channels
1345ea7bd529SMilanka Ringwald  * @param block_length
1346ea7bd529SMilanka Ringwald  * @param subbands
1347ea7bd529SMilanka Ringwald  * @param allocation_method
1348ea7bd529SMilanka Ringwald  * @param min_bitpool_value
1349ea7bd529SMilanka Ringwald  * @param max_bitpool_value
1350ea7bd529SMilanka Ringwald  */
13512c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION        0x09
1352ea7bd529SMilanka Ringwald 
1353ea7bd529SMilanka Ringwald /**
13542c737695SMatthias Ringwald  * @format 1H112LV
1355ea7bd529SMilanka Ringwald  * @param subevent_code
1356ea7bd529SMilanka Ringwald  * @param con_handle
1357ea7bd529SMilanka Ringwald  * @param reconfigure
1358ea7bd529SMilanka Ringwald  * @param media_type
1359ea7bd529SMilanka Ringwald  * @param media_codec_type
1360ea7bd529SMilanka Ringwald  * @param media_codec_information_len
1361ea7bd529SMilanka Ringwald  * @param media_codec_information
1362ea7bd529SMilanka Ringwald  */
13632c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION        0x0A
1364decc740cSMilanka Ringwald 
136585a0c7cdSMilanka Ringwald /**
136685a0c7cdSMilanka Ringwald  * @format 1H1
136785a0c7cdSMilanka Ringwald  * @param subevent_code
136885a0c7cdSMilanka Ringwald  * @param con_handle
136985a0c7cdSMilanka Ringwald  * @param status 0 == OK
137085a0c7cdSMilanka Ringwald  */
137185a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED     0x0B
137285a0c7cdSMilanka Ringwald 
137385a0c7cdSMilanka Ringwald /**
137485a0c7cdSMilanka Ringwald  * @format 1H
137585a0c7cdSMilanka Ringwald  * @param subevent_code
137685a0c7cdSMilanka Ringwald  * @param con_handle
137785a0c7cdSMilanka Ringwald  */
137885a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED        0x0C
137985a0c7cdSMilanka Ringwald 
138085a0c7cdSMilanka Ringwald 
1381decc740cSMilanka Ringwald 
1382decc740cSMilanka Ringwald /** AVRCP Subevent */
1383decc740cSMilanka Ringwald 
1384decc740cSMilanka Ringwald /**
138585a0c7cdSMilanka Ringwald  * @format 1H12B
1386decc740cSMilanka Ringwald  * @param subevent_code
1387decc740cSMilanka Ringwald  * @param con_handle
13882a029560SMilanka Ringwald  * @param status 0 == OK
1389decc740cSMilanka Ringwald  * @param local_cid
1390decc740cSMilanka Ringwald  * @param bd_addr
1391decc740cSMilanka Ringwald  */
1392decc740cSMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_ESTABLISHED                           0x01
1393decc740cSMilanka Ringwald 
1394decc740cSMilanka Ringwald /**
1395decc740cSMilanka Ringwald  * @format 1H
1396decc740cSMilanka Ringwald  * @param subevent_code
1397decc740cSMilanka Ringwald  * @param con_handle
1398decc740cSMilanka Ringwald  */
13996eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_RELEASED                              0x02
1400decc740cSMilanka Ringwald 
1401cd41da7eSMilanka Ringwald /**
1402e222d6a0SMatthias Ringwald  * @format 1H1114JVJVJVJV
1403cd41da7eSMilanka Ringwald  * @param subevent_code
1404cd41da7eSMilanka Ringwald  * @param con_handle
14052a029560SMilanka Ringwald  * @param status
1406e222d6a0SMatthias Ringwald  * @param track
1407e222d6a0SMatthias Ringwald  * @param total_tracks
1408e222d6a0SMatthias Ringwald  * @param song_length in ms
1409cd41da7eSMilanka Ringwald  * @param title_len
1410cd41da7eSMilanka Ringwald  * @param title
1411cd41da7eSMilanka Ringwald  * @param artist_len
1412cd41da7eSMilanka Ringwald  * @param artist
1413cd41da7eSMilanka Ringwald  * @param album_len
1414cd41da7eSMilanka Ringwald  * @param album
1415cd41da7eSMilanka Ringwald  * @param genre_len
1416cd41da7eSMilanka Ringwald  * @param genre
1417cd41da7eSMilanka Ringwald  */
14182a029560SMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_INFO                                 0x03
1419cd41da7eSMilanka Ringwald 
14202a029560SMilanka Ringwald /**
14212a029560SMilanka Ringwald  * @format 1H111
14222a029560SMilanka Ringwald  * @param subevent_code
14232a029560SMilanka Ringwald  * @param con_handle
14242a029560SMilanka Ringwald  * @param status
14252a029560SMilanka Ringwald  * @param repeat_mode
14262a029560SMilanka Ringwald  * @param shuffle_mode
14272a029560SMilanka Ringwald  */
14282a029560SMilanka Ringwald #define AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE                          0x04
1429cd41da7eSMilanka Ringwald 
14306eb7ba29SMilanka Ringwald /**
14316eb7ba29SMilanka Ringwald  * @format 1H1441
14326eb7ba29SMilanka Ringwald  * @param subevent_code
14336eb7ba29SMilanka Ringwald  * @param con_handle
14346eb7ba29SMilanka Ringwald  * @param status
14356eb7ba29SMilanka Ringwald  * @param song_length
14366eb7ba29SMilanka Ringwald  * @param song_position
14376eb7ba29SMilanka Ringwald  * @param play_status
14386eb7ba29SMilanka Ringwald  */
14396eb7ba29SMilanka Ringwald  #define AVRCP_SUBEVENT_PLAY_STATUS                                     0x05
14406eb7ba29SMilanka Ringwald 
14416eb7ba29SMilanka Ringwald /**
14426eb7ba29SMilanka Ringwald  * @format 1H11
14436eb7ba29SMilanka Ringwald  * @param subevent_code
14446eb7ba29SMilanka Ringwald  * @param con_handle
14456eb7ba29SMilanka Ringwald  * @param status
14466eb7ba29SMilanka Ringwald  * @param playback_status
14476eb7ba29SMilanka Ringwald  */
14486eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED             0x06
14496eb7ba29SMilanka Ringwald 
14506eb7ba29SMilanka Ringwald /**
14516eb7ba29SMilanka Ringwald  * @format 1H11
14526eb7ba29SMilanka Ringwald  * @param subevent_code
14536eb7ba29SMilanka Ringwald  * @param con_handle
14546eb7ba29SMilanka Ringwald  * @param status
14556eb7ba29SMilanka Ringwald  * @param track_status
14566eb7ba29SMilanka Ringwald  */
14576eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED                       0x07
14586eb7ba29SMilanka Ringwald 
14596eb7ba29SMilanka Ringwald /**
14606eb7ba29SMilanka Ringwald  * @format 1H1
14616eb7ba29SMilanka Ringwald  * @param subevent_code
14626eb7ba29SMilanka Ringwald  * @param con_handle
14636eb7ba29SMilanka Ringwald  * @param status
14646eb7ba29SMilanka Ringwald  */
14656eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED          0x08
14666eb7ba29SMilanka Ringwald 
14676eb7ba29SMilanka Ringwald /**
14686eb7ba29SMilanka Ringwald  * @format 1H1
14696eb7ba29SMilanka Ringwald  * @param subevent_code
14706eb7ba29SMilanka Ringwald  * @param con_handle
14716eb7ba29SMilanka Ringwald  * @param status
14726eb7ba29SMilanka Ringwald  */
14736eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED            0x09
14746eb7ba29SMilanka Ringwald 
14756eb7ba29SMilanka Ringwald /**
14766eb7ba29SMilanka Ringwald  * @format 1H11
14776eb7ba29SMilanka Ringwald  * @param subevent_code
14786eb7ba29SMilanka Ringwald  * @param con_handle
14796eb7ba29SMilanka Ringwald  * @param status
14806eb7ba29SMilanka Ringwald  * @param absolute_volume
14816eb7ba29SMilanka Ringwald  */
14826eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED                       0x0A
14836eb7ba29SMilanka Ringwald 
14846eb7ba29SMilanka Ringwald /**
14856eb7ba29SMilanka Ringwald  * @format 1H11
14866eb7ba29SMilanka Ringwald  * @param subevent_code
14876eb7ba29SMilanka Ringwald  * @param con_handle
14886eb7ba29SMilanka Ringwald  * @param status
14896eb7ba29SMilanka Ringwald  * @param absolute_volume
14906eb7ba29SMilanka Ringwald  */
14916eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE                      0x0B
14926eb7ba29SMilanka Ringwald 
14936eb7ba29SMilanka Ringwald /**
14946eb7ba29SMilanka Ringwald  * @format 1H11
14956eb7ba29SMilanka Ringwald  * @param subevent_code
14966eb7ba29SMilanka Ringwald  * @param con_handle
14976eb7ba29SMilanka Ringwald  * @param status
14986eb7ba29SMilanka Ringwald  * @param notification_id
14996eb7ba29SMilanka Ringwald  */
15006eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE                       0x0C
15016eb7ba29SMilanka Ringwald 
15026eb7ba29SMilanka Ringwald /**
15036eb7ba29SMilanka Ringwald  * @format 1H11
15046eb7ba29SMilanka Ringwald  * @param subevent_code
15056eb7ba29SMilanka Ringwald  * @param con_handle
15066eb7ba29SMilanka Ringwald  * @param status
15076eb7ba29SMilanka Ringwald  * @param operation_id
15086eb7ba29SMilanka Ringwald  */
15096eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_START                                    0x0D
15106eb7ba29SMilanka Ringwald 
15116eb7ba29SMilanka Ringwald /**
15126eb7ba29SMilanka Ringwald  * @format 1H11
15136eb7ba29SMilanka Ringwald  * @param subevent_code
15146eb7ba29SMilanka Ringwald  * @param con_handle
15156eb7ba29SMilanka Ringwald  * @param status
15166eb7ba29SMilanka Ringwald  * @param operation_id
15176eb7ba29SMilanka Ringwald  */
15186eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_COMPLETE                                 0x0E
15196eb7ba29SMilanka Ringwald 
15206eb7ba29SMilanka Ringwald /**
15216eb7ba29SMilanka Ringwald  * @format 1H1
15226eb7ba29SMilanka Ringwald  * @param subevent_code
15236eb7ba29SMilanka Ringwald  * @param con_handle
15246eb7ba29SMilanka Ringwald  * @param status
15256eb7ba29SMilanka Ringwald  */
15266eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE                   0x0F
15276eb7ba29SMilanka Ringwald 
1528f1b34e8dSMatthias Ringwald /**
1529f1b34e8dSMatthias Ringwald  * @format 121BH1
1530f1b34e8dSMatthias Ringwald  * @param subevent_code
1531f1b34e8dSMatthias Ringwald  * @param goep_cid
1532f1b34e8dSMatthias Ringwald  * @param status
1533f1b34e8dSMatthias Ringwald  * @param bd_addr
1534f1b34e8dSMatthias Ringwald  * @param con_handle
1535f1b34e8dSMatthias Ringwald  * @param incoming
1536f1b34e8dSMatthias Ringwald  */
1537f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_OPENED                                    0x01
15386eb7ba29SMilanka Ringwald 
1539f1b34e8dSMatthias Ringwald /**
1540f1b34e8dSMatthias Ringwald  * @format 12
1541f1b34e8dSMatthias Ringwald  * @param subevent_code
1542f1b34e8dSMatthias Ringwald  * @param goep_cid
1543f1b34e8dSMatthias Ringwald */
1544f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_CLOSED                                    0x02
1545f1b34e8dSMatthias Ringwald 
1546f1b34e8dSMatthias Ringwald /**
1547f1b34e8dSMatthias Ringwald  * @format 12
1548f1b34e8dSMatthias Ringwald  * @param subevent_code
1549f1b34e8dSMatthias Ringwald  * @param goep_cid
1550f1b34e8dSMatthias Ringwald */
1551f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CAN_SEND_NOW                                         0x03
1552f1b34e8dSMatthias Ringwald 
1553f1b34e8dSMatthias Ringwald /**
1554f1b34e8dSMatthias Ringwald  * @format 121BH1
1555f1b34e8dSMatthias Ringwald  * @param subevent_code
1556f1b34e8dSMatthias Ringwald  * @param pbap_cid
1557f1b34e8dSMatthias Ringwald  * @param status
1558f1b34e8dSMatthias Ringwald  * @param bd_addr
1559f1b34e8dSMatthias Ringwald  * @param con_handle
1560f1b34e8dSMatthias Ringwald  * @param incoming
1561f1b34e8dSMatthias Ringwald  */
1562f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_OPENED                                    0x01
1563f1b34e8dSMatthias Ringwald 
1564f1b34e8dSMatthias Ringwald /**
1565f1b34e8dSMatthias Ringwald  * @format 12
1566f1b34e8dSMatthias Ringwald  * @param subevent_code
1567f1b34e8dSMatthias Ringwald  * @param goep_cid
1568f1b34e8dSMatthias Ringwald */
1569f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_CLOSED                                    0x02
1570f1b34e8dSMatthias Ringwald 
1571f1b34e8dSMatthias Ringwald /**
1572f1b34e8dSMatthias Ringwald  * @format 121
1573f1b34e8dSMatthias Ringwald  * @param subevent_code
1574f1b34e8dSMatthias Ringwald  * @param goep_cid
1575f1b34e8dSMatthias Ringwald  * @param status
1576f1b34e8dSMatthias Ringwald  */
1577f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_OPERATION_COMPLETED                                  0x03
15786eb7ba29SMilanka Ringwald 
1579dd148ddbSMatthias Ringwald /**
1580dd148ddbSMatthias Ringwald  * @format 121BH1
1581dd148ddbSMatthias Ringwald  * @param subevent_code
1582dd148ddbSMatthias Ringwald  * @param hid_cid
1583dd148ddbSMatthias Ringwald  * @param status
1584dd148ddbSMatthias Ringwald  * @param bd_addr
1585dd148ddbSMatthias Ringwald  * @param con_handle
1586dd148ddbSMatthias Ringwald  * @param incoming
1587dd148ddbSMatthias Ringwald  */
1588dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_OPENED                                     0x01
1589dd148ddbSMatthias Ringwald 
1590dd148ddbSMatthias Ringwald /**
1591dd148ddbSMatthias Ringwald  * @format 12
1592dd148ddbSMatthias Ringwald  * @param subevent_code
1593dd148ddbSMatthias Ringwald  * @param hid_cid
1594dd148ddbSMatthias Ringwald */
1595dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_CLOSED                                     0x02
1596dd148ddbSMatthias Ringwald 
1597dd148ddbSMatthias Ringwald /**
1598dd148ddbSMatthias Ringwald  * @format 12
1599dd148ddbSMatthias Ringwald  * @param subevent_code
1600dd148ddbSMatthias Ringwald  * @param hid_cid
1601dd148ddbSMatthias Ringwald */
1602dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CAN_SEND_NOW                                          0x03
1603dd148ddbSMatthias Ringwald 
1604941b3855SMatthias Ringwald #endif
1605