xref: /btstack/src/btstack_defines.h (revision 84182ed9e3e29a33130e2aa6e89bf1ac02ab3e46)
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 
498974fcd6SMatthias Ringwald // TYPES
508974fcd6SMatthias Ringwald 
518974fcd6SMatthias Ringwald // packet handler
528974fcd6SMatthias Ringwald typedef void (*btstack_packet_handler_t) (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size);
538974fcd6SMatthias Ringwald 
548974fcd6SMatthias Ringwald // packet callback supporting multiple registrations
558974fcd6SMatthias Ringwald typedef struct {
568974fcd6SMatthias Ringwald     btstack_linked_item_t    item;
578974fcd6SMatthias Ringwald     btstack_packet_handler_t callback;
588974fcd6SMatthias Ringwald } btstack_packet_callback_registration_t;
598974fcd6SMatthias Ringwald 
60f7a05cdaSMatthias Ringwald /**
618974fcd6SMatthias Ringwald  * @brief 128 bit key used with AES128 in Security Manager
62f7a05cdaSMatthias Ringwald  */
638974fcd6SMatthias Ringwald typedef uint8_t sm_key_t[16];
64f7a05cdaSMatthias Ringwald 
65941b3855SMatthias Ringwald // DEFINES
66941b3855SMatthias Ringwald 
67941b3855SMatthias Ringwald #define DAEMON_EVENT_PACKET     0x05
68941b3855SMatthias Ringwald 
69941b3855SMatthias Ringwald // L2CAP data
70941b3855SMatthias Ringwald #define L2CAP_DATA_PACKET       0x06
71941b3855SMatthias Ringwald 
72941b3855SMatthias Ringwald // RFCOMM data
73941b3855SMatthias Ringwald #define RFCOMM_DATA_PACKET      0x07
74941b3855SMatthias Ringwald 
75941b3855SMatthias Ringwald // Attribute protocol data
76941b3855SMatthias Ringwald #define ATT_DATA_PACKET         0x08
77941b3855SMatthias Ringwald 
78941b3855SMatthias Ringwald // Security Manager protocol data
79941b3855SMatthias Ringwald #define SM_DATA_PACKET          0x09
80941b3855SMatthias Ringwald 
81941b3855SMatthias Ringwald // SDP query result
82941b3855SMatthias Ringwald // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k)
83941b3855SMatthias Ringwald #define SDP_CLIENT_PACKET       0x0a
84941b3855SMatthias Ringwald 
85941b3855SMatthias Ringwald // BNEP data
86941b3855SMatthias Ringwald #define BNEP_DATA_PACKET        0x0b
87941b3855SMatthias Ringwald 
88941b3855SMatthias Ringwald // Unicast Connectionless Data
89941b3855SMatthias Ringwald #define UCD_DATA_PACKET         0x0c
90941b3855SMatthias Ringwald 
91941b3855SMatthias Ringwald // debug log messages
92941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET      0xfc
93941b3855SMatthias Ringwald 
94941b3855SMatthias Ringwald 
95941b3855SMatthias Ringwald // ERRORS
96941b3855SMatthias Ringwald 
97941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors
98941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED              0x50
99941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH         0x51
100941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED                  0x52
101941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN                  0x53
102941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED                              0x54
103941b3855SMatthias Ringwald #define BTSTACK_BUSY                                       0x55
104941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED                        0x56
105941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL                           0x57
106941b3855SMatthias Ringwald 
107941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them
108941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60
109941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61
110941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62
111941b3855SMatthias Ringwald 
112941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL        0x63
113941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING           0x64
114941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM       0x65
115941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY  0x66
116941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67
117941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT       0x68
118941b3855SMatthias Ringwald 
119941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED                   0x69
120941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU                  0x6A
1217e8856ebSMatthias Ringwald #define L2CAP_SERVICE_DOES_NOT_EXIST                       0x6B
12294530c77SMatthias Ringwald #define L2CAP_LOCAL_CID_DOES_NOT_EXIST                     0x6C
123941b3855SMatthias Ringwald 
124941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED                         0x70
125941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED                  0x71
126941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS                         0x72
127941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF                          0x73
128941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU                        0x74
129941b3855SMatthias Ringwald 
130941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED                      0x80
131941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE                               0x81
132941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND                              0x82
133941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID                                 0x83
134e5057641SMatthias Ringwald #define SDP_QUERY_BUSY                                     0x84
135941b3855SMatthias Ringwald 
136941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS            0x90
137941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT                0x91
138941b3855SMatthias Ringwald 
139941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED                          0x93
140941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY                                   0x94
141616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE                         0x95
142616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96
143616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG                         0x97
144616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98
145616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED   0x99
146941b3855SMatthias Ringwald 
147941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED                    0xA0
148941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED                         0xA1
149941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU                          0xA2
150941b3855SMatthias Ringwald 
15162c64df1SMatthias Ringwald 
15262c64df1SMatthias Ringwald 
15362c64df1SMatthias Ringwald // DAEMON COMMANDS
154b3f90e25SMatthias Ringwald 
155b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d
156b3f90e25SMatthias Ringwald 
157b3f90e25SMatthias Ringwald // cmds for BTstack
158b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE
159b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE                                  0x01
160b3f90e25SMatthias Ringwald 
161045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE
162b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE                             0x02
163b3f90e25SMatthias Ringwald 
164045013feSMatthias Ringwald // set capture mode: param on
165b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE                       0x03
166b3f90e25SMatthias Ringwald 
167b3f90e25SMatthias Ringwald // get BTstack version
168b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION                                0x04
169b3f90e25SMatthias Ringwald 
170b3f90e25SMatthias Ringwald // get system Bluetooth state
171b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED               0x05
172b3f90e25SMatthias Ringwald 
173b3f90e25SMatthias Ringwald // set system Bluetooth state
174b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED               0x06
175b3f90e25SMatthias Ringwald 
176b3f90e25SMatthias Ringwald // enable inquiry scan for this client
177b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE                           0x07
178b3f90e25SMatthias Ringwald 
179b3f90e25SMatthias Ringwald // set global Bluetooth state
180b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED                      0x08
181b3f90e25SMatthias Ringwald 
182045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16)
183b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL                               0x20
184b3f90e25SMatthias Ringwald 
185045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8)
186b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT                                   0x21
187b3f90e25SMatthias Ringwald 
188045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16)
189b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE                             0x22
190b3f90e25SMatthias Ringwald 
191045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16)
192b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE                           0x23
193b3f90e25SMatthias Ringwald 
194045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16)
195b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION                            0x24
196b3f90e25SMatthias Ringwald 
197045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8)
198b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION                           0x25
199b3f90e25SMatthias Ringwald 
200045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16)
201b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU                           0x26
202b3f90e25SMatthias Ringwald 
203b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size)
204b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD                        0x30
205b3f90e25SMatthias Ringwald 
206b3f90e25SMatthias Ringwald // unregister SDP Service Record
207b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD                      0x31
208b3f90e25SMatthias Ringwald 
209b3f90e25SMatthias Ringwald // Get remote RFCOMM services
210b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES                   0x32
211b3f90e25SMatthias Ringwald 
212b3f90e25SMatthias Ringwald // Get remote SDP services
213b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES                          0x33
214b3f90e25SMatthias Ringwald 
215b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands
216b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL       0x40
217b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT     0x41
218b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE     0x42
219b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE   0x43
220b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION    0x44
221b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION   0x45
222b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL   0x46
223b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS   0x47
224b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48
225b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS                 0x49
226b3f90e25SMatthias Ringwald 
227b3f90e25SMatthias Ringwald // GAP Classic 0x50
228b3f90e25SMatthias Ringwald #define GAP_DISCONNECT              0x50
229b3f90e25SMatthias Ringwald 
230b3f90e25SMatthias Ringwald // GAP LE      0x60
231b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START           0x60
232b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP            0x61
233b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT              0x62
234b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL       0x63
235b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS  0x64
236b3f90e25SMatthias Ringwald 
237b3f90e25SMatthias Ringwald // GATT (Client) 0x70
238b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES                       0x70
239b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16                 0x71
240b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128                0x72
241b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE                  0x73
242b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE                0x74
243b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128     0x75
244b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS                 0x76
245b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC                        0x77
246b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC                   0x78
247b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE      0x79
248b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC                       0x7A
249b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC                  0x7B
250b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC         0x7C
251b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR                      0X7D
252b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR                 0X7E
253b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR                     0X7F
254b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR                0X80
255b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION           0X81
256b3f90e25SMatthias Ringwald #define GATT_GET_MTU                                             0x82
257b3f90e25SMatthias Ringwald 
258941b3855SMatthias Ringwald 
25962c64df1SMatthias Ringwald 
260941b3855SMatthias Ringwald // EVENTS
261941b3855SMatthias Ringwald 
262941b3855SMatthias Ringwald /**
263941b3855SMatthias Ringwald  * @format 1
264941b3855SMatthias Ringwald  * @param state
265941b3855SMatthias Ringwald  */
266941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE                                0x60
267941b3855SMatthias Ringwald 
268941b3855SMatthias Ringwald // data: event(8), len(8), nr hci connections
269941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED               0x61
270941b3855SMatthias Ringwald 
271941b3855SMatthias Ringwald /**
272941b3855SMatthias Ringwald  * @format
273941b3855SMatthias Ringwald  */
274941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED                       0x62
275941b3855SMatthias Ringwald 
276941b3855SMatthias Ringwald /**
277827b1c43SMatthias Ringwald  * @format 1
278827b1c43SMatthias Ringwald  * @param discoverable
279827b1c43SMatthias Ringwald  */
280827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED                 0x66
281827b1c43SMatthias Ringwald 
282827b1c43SMatthias Ringwald // Daemon Events
283827b1c43SMatthias Ringwald 
284827b1c43SMatthias Ringwald /**
285941b3855SMatthias Ringwald  * @format 112
286941b3855SMatthias Ringwald  * @param major
287941b3855SMatthias Ringwald  * @param minor
288941b3855SMatthias Ringwald  @ @param revision
289941b3855SMatthias Ringwald  */
290827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION                               0x63
291941b3855SMatthias Ringwald 
292941b3855SMatthias Ringwald // data: system bluetooth on/off (bool)
293e2334cdcSMatthias Ringwald /**
294e2334cdcSMatthias Ringwald  * @format 1
295e2334cdcSMatthias Ringwald  * param system_bluetooth_enabled
296e2334cdcSMatthias Ringwald  */
297827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED              0x64
298941b3855SMatthias Ringwald 
299941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes)
300e2334cdcSMatthias Ringwald 
301e2334cdcSMatthias Ringwald /*
302e2334cdcSMatthias Ringwald  * @format 1BT
303e2334cdcSMatthias Ringwald  * @param status == 0 to match read_remote_name_request
304e2334cdcSMatthias Ringwald  * @param address
305e2334cdcSMatthias Ringwald  * @param name
306e2334cdcSMatthias Ringwald  */
307827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED                    0x65
308941b3855SMatthias Ringwald 
30962c64df1SMatthias Ringwald // internal - data: event(8)
310e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED                     0x67
311941b3855SMatthias Ringwald 
31262c64df1SMatthias Ringwald // internal - data: event(8)
313e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED                     0x68
314941b3855SMatthias Ringwald 
31562c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8)
31662c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS                         0x74
31762c64df1SMatthias Ringwald 
31862c64df1SMatthias Ringwald /**
31962c64df1SMatthias Ringwald  * @format 12
32062c64df1SMatthias Ringwald  * @param status
32162c64df1SMatthias Ringwald  * @param psm
32262c64df1SMatthias Ringwald  */
32362c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED              0x75
32462c64df1SMatthias Ringwald 
32562c64df1SMatthias Ringwald /**
32662c64df1SMatthias Ringwald  * @format 21
32762c64df1SMatthias Ringwald  * @param rfcomm_cid
32862c64df1SMatthias Ringwald  * @param credits
32962c64df1SMatthias Ringwald  */
33062c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS                        0x84
33162c64df1SMatthias Ringwald 
33262c64df1SMatthias Ringwald /**
33362c64df1SMatthias Ringwald  * @format 11
33462c64df1SMatthias Ringwald  * @param status
33562c64df1SMatthias Ringwald  * @param channel_id
33662c64df1SMatthias Ringwald  */
337fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED             0x85
338fea5a680SMatthias Ringwald 
33962c64df1SMatthias Ringwald /**
34062c64df1SMatthias Ringwald  * @format 11
34162c64df1SMatthias Ringwald  * @param status
34262c64df1SMatthias Ringwald  * @param server_channel_id
34362c64df1SMatthias Ringwald  */
34462c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL             0x86
34562c64df1SMatthias Ringwald 
34662c64df1SMatthias Ringwald /**
34762c64df1SMatthias Ringwald   * @format 14
34862c64df1SMatthias Ringwald   * @param status
34962c64df1SMatthias Ringwald   * @param service_record_handle
35062c64df1SMatthias Ringwald   */
35162c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED                0x90
35262c64df1SMatthias Ringwald 
35362c64df1SMatthias Ringwald 
354827b1c43SMatthias Ringwald 
3553bc639ceSMatthias Ringwald // additional HCI events
35663fa3374SMatthias Ringwald 
35763fa3374SMatthias Ringwald /**
35863fa3374SMatthias Ringwald  * @brief Outgoing packet
35963fa3374SMatthias Ringwald  */
36063fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT                    0x6E
36163fa3374SMatthias Ringwald 
3623bc639ceSMatthias Ringwald /**
3633bc639ceSMatthias Ringwald  * @format B
3643bc639ceSMatthias Ringwald  * @param handle
3653bc639ceSMatthias Ringwald  */
3663bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW                         0x6F
3673bc639ceSMatthias Ringwald 
36862c64df1SMatthias Ringwald 
369941b3855SMatthias Ringwald // L2CAP EVENTS
370941b3855SMatthias Ringwald 
371b072ba33SMatthias Ringwald /**
372bab5f4f0SMatthias Ringwald  * @format 1BH2222221
373b072ba33SMatthias Ringwald  * @param status
374b072ba33SMatthias Ringwald  * @param address
375b072ba33SMatthias Ringwald  * @param handle
376b072ba33SMatthias Ringwald  * @param psm
377b072ba33SMatthias Ringwald  * @param local_cid
378b072ba33SMatthias Ringwald  * @param remote_cid
379b072ba33SMatthias Ringwald  * @param local_mtu
380b072ba33SMatthias Ringwald  * @param remote_mtu
381b072ba33SMatthias Ringwald  * @param flush_timeout
382bab5f4f0SMatthias Ringwald  * @param incoming
383b072ba33SMatthias Ringwald  */
384941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED                         0x70
385941b3855SMatthias Ringwald 
386b072ba33SMatthias Ringwald /*
387b072ba33SMatthias Ringwald  * @format 2
388b072ba33SMatthias Ringwald  * @param local_cid
389b072ba33SMatthias Ringwald  */
390941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED                         0x71
391941b3855SMatthias Ringwald 
392b072ba33SMatthias Ringwald /**
3936d4269d3SMilanka Ringwald  * @format BH222
394b072ba33SMatthias Ringwald  * @param address
395b072ba33SMatthias Ringwald  * @param handle
396b072ba33SMatthias Ringwald  * @param psm
397b072ba33SMatthias Ringwald  * @param local_cid
398b072ba33SMatthias Ringwald  * @param remote_cid
399b072ba33SMatthias Ringwald  */
400941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION                    0x72
401941b3855SMatthias Ringwald 
402b072ba33SMatthias Ringwald // ??
403941b3855SMatthias Ringwald // data: event(8), len(8), handle(16)
404941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK                          0x73
405941b3855SMatthias Ringwald 
406b072ba33SMatthias Ringwald /**
407b072ba33SMatthias Ringwald  * @format H2222
408b072ba33SMatthias Ringwald  * @param handle
409b072ba33SMatthias Ringwald  * @param interval_min
410b072ba33SMatthias Ringwald  * @param interval_max
411b072ba33SMatthias Ringwald  * @param latencey
412b072ba33SMatthias Ringwald  * @param timeout_multiplier
413b072ba33SMatthias Ringwald  */
414941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST    0x76
415941b3855SMatthias Ringwald 
416941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail)
417b072ba33SMatthias Ringwald  /**
418b072ba33SMatthias Ringwald   * @format H2
419b072ba33SMatthias Ringwald   * @param handle
420b072ba33SMatthias Ringwald   * @result
421b072ba33SMatthias Ringwald   */
422941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE   0x77
423941b3855SMatthias Ringwald 
424b072ba33SMatthias Ringwald /**
425b072ba33SMatthias Ringwald  * @format 2
426b072ba33SMatthias Ringwald  * @param local_cid
427b072ba33SMatthias Ringwald  */
428b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW                           0x78
429b072ba33SMatthias Ringwald 
43044276248SMatthias Ringwald // LE Data Channels
43144276248SMatthias Ringwald 
43244276248SMatthias Ringwald /**
43344276248SMatthias Ringwald  * @format 1BH2222
43444276248SMatthias Ringwald  * @param address_type
43544276248SMatthias Ringwald  * @param address
43644276248SMatthias Ringwald  * @param handle
43744276248SMatthias Ringwald  * @param psm
43844276248SMatthias Ringwald  * @param local_cid
43944276248SMatthias Ringwald  * @param remote_cid
44044276248SMatthias Ringwald  * @param remote_mtu
44144276248SMatthias Ringwald  */
44244276248SMatthias Ringwald #define L2CAP_EVENT_LE_INCOMING_CONNECTION                 0x79
44344276248SMatthias Ringwald 
44444276248SMatthias Ringwald /**
44512242deaSMatthias Ringwald  * @format 11BH122222
44644276248SMatthias Ringwald  * @param status
44744276248SMatthias Ringwald  * @param address_type
44844276248SMatthias Ringwald  * @param address
44944276248SMatthias Ringwald  * @param handle
45012242deaSMatthias Ringwald  * @param incoming
45144276248SMatthias Ringwald  * @param psm
45244276248SMatthias Ringwald  * @param local_cid
45344276248SMatthias Ringwald  * @param remote_cid
45444276248SMatthias Ringwald  * @param local_mtu
45544276248SMatthias Ringwald  * @param remote_mtu
45644276248SMatthias Ringwald  */
45744276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_OPENED                      0x7a
45844276248SMatthias Ringwald 
45944276248SMatthias Ringwald /*
46044276248SMatthias Ringwald  * @format 2
46144276248SMatthias Ringwald  * @param local_cid
46244276248SMatthias Ringwald  */
46344276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_CLOSED                      0x7b
46444276248SMatthias Ringwald 
46544276248SMatthias Ringwald /*
46644276248SMatthias Ringwald  * @format 2
46744276248SMatthias Ringwald  * @param local_cid
46844276248SMatthias Ringwald  */
46944276248SMatthias Ringwald #define L2CAP_EVENT_LE_CAN_SEND_NOW                        0x7c
47044276248SMatthias Ringwald 
47144276248SMatthias Ringwald /*
47244276248SMatthias Ringwald  * @format 2
47344276248SMatthias Ringwald  * @param local_cid
47444276248SMatthias Ringwald  */
47544276248SMatthias Ringwald #define L2CAP_EVENT_LE_PACKET_SENT                         0x7d
47644276248SMatthias Ringwald 
47744276248SMatthias Ringwald 
478941b3855SMatthias Ringwald // RFCOMM EVENTS
479b072ba33SMatthias Ringwald 
480941b3855SMatthias Ringwald /**
481bab5f4f0SMatthias Ringwald  * @format 1B21221
482941b3855SMatthias Ringwald  * @param status
483941b3855SMatthias Ringwald  * @param bd_addr
484941b3855SMatthias Ringwald  * @param con_handle
485941b3855SMatthias Ringwald  * @param server_channel
486941b3855SMatthias Ringwald  * @param rfcomm_cid
487941b3855SMatthias Ringwald  * @param max_frame_size
488bab5f4f0SMatthias Ringwald  * @param incoming
489941b3855SMatthias Ringwald  */
490f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED                        0x80
491941b3855SMatthias Ringwald 
492941b3855SMatthias Ringwald /**
493941b3855SMatthias Ringwald  * @format 2
494941b3855SMatthias Ringwald  * @param rfcomm_cid
495941b3855SMatthias Ringwald  */
496941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED                        0x81
497941b3855SMatthias Ringwald 
498941b3855SMatthias Ringwald /**
499941b3855SMatthias Ringwald  * @format B12
500941b3855SMatthias Ringwald  * @param bd_addr
501941b3855SMatthias Ringwald  * @param server_channel
502941b3855SMatthias Ringwald  * @param rfcomm_cid
503941b3855SMatthias Ringwald  */
504941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION                   0x82
505941b3855SMatthias Ringwald 
506941b3855SMatthias Ringwald /**
507941b3855SMatthias Ringwald  * @format 21
508941b3855SMatthias Ringwald  * @param rfcomm_cid
509941b3855SMatthias Ringwald  * @param line_status
510941b3855SMatthias Ringwald  */
511941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS                    0x83
512941b3855SMatthias Ringwald 
513941b3855SMatthias Ringwald /**
514941b3855SMatthias Ringwald  * @format 21
515941b3855SMatthias Ringwald  * @param rfcomm_cid
516941b3855SMatthias Ringwald  * @param modem_status
517941b3855SMatthias Ringwald  */
518941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS                   0x87
519941b3855SMatthias Ringwald 
520941b3855SMatthias Ringwald  /**
5217bd8e93bSMatthias Ringwald   * TODO: format for variable data 2?
522045013feSMatthias Ringwald   * param rfcomm_cid
523045013feSMatthias Ringwald   * param rpn_data
524941b3855SMatthias Ringwald   */
525941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION                    0x88
526941b3855SMatthias Ringwald 
527941b3855SMatthias Ringwald /**
528b072ba33SMatthias Ringwald  * @format 2
52962c468cbSMatthias Ringwald  * @param rfcomm_cid
530b072ba33SMatthias Ringwald  */
531b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW                          0x89
532b072ba33SMatthias Ringwald 
533b072ba33SMatthias Ringwald 
534b072ba33SMatthias Ringwald /**
535941b3855SMatthias Ringwald  * @format 1
536941b3855SMatthias Ringwald  * @param status
537941b3855SMatthias Ringwald  */
5385611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE                                 0x91
539941b3855SMatthias Ringwald 
540941b3855SMatthias Ringwald /**
541941b3855SMatthias Ringwald  * @format 1T
542941b3855SMatthias Ringwald  * @param rfcomm_channel
543941b3855SMatthias Ringwald  * @param name
544941b3855SMatthias Ringwald  */
5455611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE                           0x92
546941b3855SMatthias Ringwald 
547941b3855SMatthias Ringwald /**
5484225393cSMatthias Ringwald  * @format 22221
5494225393cSMatthias Ringwald  * @param record_id
550941b3855SMatthias Ringwald  * @param attribute_id
5514225393cSMatthias Ringwald  * @param attribute_length
5524225393cSMatthias Ringwald  * @param data_offset
5534225393cSMatthias Ringwald  * @param data
554941b3855SMatthias Ringwald  */
5555611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE                           0x93
556941b3855SMatthias Ringwald 
5574de250b4SMatthias Ringwald /**
5584de250b4SMatthias Ringwald  * @format 22LV
5594de250b4SMatthias Ringwald  * @param record_id
5604de250b4SMatthias Ringwald  * @param attribute_id
5614de250b4SMatthias Ringwald  * @param attribute_length
5624de250b4SMatthias Ringwald  * @param attribute_value
5634de250b4SMatthias Ringwald  */
5645611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE                          0x94
5654225393cSMatthias Ringwald 
5664225393cSMatthias Ringwald /**
5674225393cSMatthias Ringwald  * @format 224
5684225393cSMatthias Ringwald  * @param total_count
5694225393cSMatthias Ringwald  * @param record_index
5704225393cSMatthias Ringwald  * @param record_handle
5714225393cSMatthias Ringwald  * @note Not provided by daemon, only used for internal testing
5724225393cSMatthias Ringwald  */
5735611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE                    0x95
574941b3855SMatthias Ringwald 
575941b3855SMatthias Ringwald /**
576941b3855SMatthias Ringwald  * @format H1
577941b3855SMatthias Ringwald  * @param handle
578941b3855SMatthias Ringwald  * @param status
579941b3855SMatthias Ringwald  */
5805611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE                                0xA0
581941b3855SMatthias Ringwald 
582941b3855SMatthias Ringwald /**
583941b3855SMatthias Ringwald  * @format HX
584941b3855SMatthias Ringwald  * @param handle
585941b3855SMatthias Ringwald  * @param service
586941b3855SMatthias Ringwald  */
5875611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT                          0xA1
588941b3855SMatthias Ringwald 
589941b3855SMatthias Ringwald /**
590941b3855SMatthias Ringwald  * @format HY
591941b3855SMatthias Ringwald  * @param handle
592941b3855SMatthias Ringwald  * @param characteristic
593941b3855SMatthias Ringwald  */
5945611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT                   0xA2
595941b3855SMatthias Ringwald 
596941b3855SMatthias Ringwald /**
597941b3855SMatthias Ringwald  * @format H2X
598941b3855SMatthias Ringwald  * @param handle
599941b3855SMatthias Ringwald  * @param include_handle
600941b3855SMatthias Ringwald  * @param service
601941b3855SMatthias Ringwald  */
6025611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT                 0xA3
603941b3855SMatthias Ringwald 
604941b3855SMatthias Ringwald /**
605941b3855SMatthias Ringwald  * @format HZ
606941b3855SMatthias Ringwald  * @param handle
607941b3855SMatthias Ringwald  * @param characteristic_descriptor
608941b3855SMatthias Ringwald  */
6095611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT   0xA4
610941b3855SMatthias Ringwald 
611941b3855SMatthias Ringwald /**
612941b3855SMatthias Ringwald  * @format H2LV
613941b3855SMatthias Ringwald  * @param handle
614941b3855SMatthias Ringwald  * @param value_handle
615941b3855SMatthias Ringwald  * @param value_length
616941b3855SMatthias Ringwald  * @param value
617941b3855SMatthias Ringwald  */
6185611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT             0xA5
619941b3855SMatthias Ringwald 
620941b3855SMatthias Ringwald /**
621941b3855SMatthias Ringwald  * @format H22LV
622941b3855SMatthias Ringwald  * @param handle
623941b3855SMatthias Ringwald  * @param value_handle
624941b3855SMatthias Ringwald  * @param value_offset
625941b3855SMatthias Ringwald  * @param value_length
626941b3855SMatthias Ringwald  * @param value
627941b3855SMatthias Ringwald  */
6285611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT        0xA6
629941b3855SMatthias Ringwald 
630941b3855SMatthias Ringwald /**
631941b3855SMatthias Ringwald  * @format H2LV
632941b3855SMatthias Ringwald  * @param handle
633941b3855SMatthias Ringwald  * @param value_handle
634941b3855SMatthias Ringwald  * @param value_length
635941b3855SMatthias Ringwald  * @param value
636941b3855SMatthias Ringwald  */
6375611a760SMatthias Ringwald #define GATT_EVENT_NOTIFICATION                                  0xA7
638941b3855SMatthias Ringwald 
639941b3855SMatthias Ringwald /**
640941b3855SMatthias Ringwald  * @format H2LV
641941b3855SMatthias Ringwald  * @param handle
642941b3855SMatthias Ringwald  * @param value_handle
643941b3855SMatthias Ringwald  * @param value_length
644941b3855SMatthias Ringwald  * @param value
645941b3855SMatthias Ringwald  */
6465611a760SMatthias Ringwald #define GATT_EVENT_INDICATION                                    0xA8
647941b3855SMatthias Ringwald 
648941b3855SMatthias Ringwald /**
649941b3855SMatthias Ringwald  * @format H2LV
650941b3855SMatthias Ringwald  * @param descriptor_handle
651941b3855SMatthias Ringwald  * @param descriptor_length
652941b3855SMatthias Ringwald  * @param descriptor
653941b3855SMatthias Ringwald  */
6545611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT        0xA9
655941b3855SMatthias Ringwald 
656941b3855SMatthias Ringwald /**
657941b3855SMatthias Ringwald  * @format H2LV
658941b3855SMatthias Ringwald  * @param handle
659941b3855SMatthias Ringwald  * @param descriptor_offset
660941b3855SMatthias Ringwald  * @param descriptor_length
661941b3855SMatthias Ringwald  * @param descriptor
662941b3855SMatthias Ringwald  */
6635611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT   0xAA
664941b3855SMatthias Ringwald 
665941b3855SMatthias Ringwald /**
666941b3855SMatthias Ringwald  * @format H2
667941b3855SMatthias Ringwald  * @param handle
668941b3855SMatthias Ringwald  * @param MTU
669941b3855SMatthias Ringwald  */
6705611a760SMatthias Ringwald #define GATT_EVENT_MTU                                           0xAB
671941b3855SMatthias Ringwald 
672941b3855SMatthias Ringwald /**
673941b3855SMatthias Ringwald  * @format H2
674941b3855SMatthias Ringwald  * @param handle
675941b3855SMatthias Ringwald  * @param MTU
676941b3855SMatthias Ringwald  */
6775611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE                          0xB5
678941b3855SMatthias Ringwald 
67949d18261SMatthias Ringwald  /**
68049d18261SMatthias Ringwald   * @format 1H2
68149d18261SMatthias Ringwald   * @param status
68249d18261SMatthias Ringwald   * @param conn_handle
68349d18261SMatthias Ringwald   * @param attribute_handle
68449d18261SMatthias Ringwald   */
6855611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE               0xB6
686941b3855SMatthias Ringwald 
68749d18261SMatthias Ringwald /**
68849d18261SMatthias Ringwald  * @format
68949d18261SMatthias Ringwald  */
69049d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW                                   0xB7
691941b3855SMatthias Ringwald 
69249d18261SMatthias Ringwald // TODO: daemon only event
69349d18261SMatthias Ringwald 
69449d18261SMatthias Ringwald /**
69549d18261SMatthias Ringwald  * @format 12
69649d18261SMatthias Ringwald  * @param status
69749d18261SMatthias Ringwald  * @param service_uuid
69849d18261SMatthias Ringwald  */
699941b3855SMatthias Ringwald  #define BNEP_EVENT_SERVICE_REGISTERED                      0xC0
700941b3855SMatthias Ringwald 
70149d18261SMatthias Ringwald /**
702423c667cSMatthias Ringwald  * @format 12222B
70349d18261SMatthias Ringwald  * @param status
704423c667cSMatthias Ringwald  * @param bnep_cid
70549d18261SMatthias Ringwald  * @param source_uuid
70649d18261SMatthias Ringwald  * @param destination_uuid
70749d18261SMatthias Ringwald  * @param mtu
70849d18261SMatthias Ringwald  * @param remote_address
70949d18261SMatthias Ringwald  */
710423c667cSMatthias Ringwald  #define BNEP_EVENT_CHANNEL_OPENED                   0xC1
711941b3855SMatthias Ringwald 
71249d18261SMatthias Ringwald /**
713423c667cSMatthias Ringwald  * @format 222B
714423c667cSMatthias Ringwald  * @param bnep_cid
71549d18261SMatthias Ringwald  * @param source_uuid
71649d18261SMatthias Ringwald  * @param destination_uuid
71749d18261SMatthias Ringwald  * @param remote_address
71849d18261SMatthias Ringwald  */
719941b3855SMatthias Ringwald  #define BNEP_EVENT_CHANNEL_CLOSED                          0xC2
720941b3855SMatthias Ringwald 
72149d18261SMatthias Ringwald /**
722423c667cSMatthias Ringwald  * @format 222B1
723423c667cSMatthias Ringwald  * @param bnep_cid
72449d18261SMatthias Ringwald  * @param source_uuid
72549d18261SMatthias Ringwald  * @param destination_uuid
72649d18261SMatthias Ringwald  * @param remote_address
72749d18261SMatthias Ringwald  * @param channel_state
72849d18261SMatthias Ringwald  */
729941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT                         0xC3
730941b3855SMatthias Ringwald 
73149d18261SMatthias Ringwald /**
732423c667cSMatthias Ringwald  * @format 222B
733423c667cSMatthias Ringwald  * @param bnep_cid
73449d18261SMatthias Ringwald  * @param source_uuid
73549d18261SMatthias Ringwald  * @param destination_uuid
73649d18261SMatthias Ringwald  * @param remote_address
73749d18261SMatthias Ringwald  */
7382d4c8c04SMatthias Ringwald  #define BNEP_EVENT_CAN_SEND_NOW                           0xC4
739941b3855SMatthias Ringwald 
740941b3855SMatthias Ringwald  /**
741941b3855SMatthias Ringwald   * @format H1B
742941b3855SMatthias Ringwald   * @param handle
743941b3855SMatthias Ringwald   * @param addr_type
744941b3855SMatthias Ringwald   * @param address
745941b3855SMatthias Ringwald   */
7465611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST                              0xD0
747941b3855SMatthias Ringwald 
748941b3855SMatthias Ringwald  /**
749941b3855SMatthias Ringwald   * @format H1B
750941b3855SMatthias Ringwald   * @param handle
751941b3855SMatthias Ringwald   * @param addr_type
752941b3855SMatthias Ringwald   * @param address
753941b3855SMatthias Ringwald   */
7545611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL                               0xD1
755941b3855SMatthias Ringwald 
756941b3855SMatthias Ringwald  /**
757941b3855SMatthias Ringwald   * @format H1B4
758941b3855SMatthias Ringwald   * @param handle
759941b3855SMatthias Ringwald   * @param addr_type
760941b3855SMatthias Ringwald   * @param address
761941b3855SMatthias Ringwald   * @param passkey
762941b3855SMatthias Ringwald   */
7635611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER                          0xD2
764941b3855SMatthias Ringwald 
765941b3855SMatthias Ringwald  /**
766941b3855SMatthias Ringwald   * @format H1B
767941b3855SMatthias Ringwald   * @param handle
768941b3855SMatthias Ringwald   * @param addr_type
769941b3855SMatthias Ringwald   * @param address
770941b3855SMatthias Ringwald   */
7715611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL                          0xD3
772941b3855SMatthias Ringwald 
773941b3855SMatthias Ringwald  /**
774941b3855SMatthias Ringwald   * @format H1B421
775941b3855SMatthias Ringwald   * @param handle
776941b3855SMatthias Ringwald   * @param addr_type
777941b3855SMatthias Ringwald   * @param address
778941b3855SMatthias Ringwald   */
7795611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER                            0xD4
780941b3855SMatthias Ringwald 
781941b3855SMatthias Ringwald  /**
782941b3855SMatthias Ringwald   * @format H1B
783941b3855SMatthias Ringwald   * @param handle
784941b3855SMatthias Ringwald   * @param addr_type
785941b3855SMatthias Ringwald   * @param address
786941b3855SMatthias Ringwald   */
7875611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL                            0xD5
788941b3855SMatthias Ringwald 
789941b3855SMatthias Ringwald  /**
7908362d86aSMatthias Ringwald   * @format H1B4
7918362d86aSMatthias Ringwald   * @param handle
7928362d86aSMatthias Ringwald   * @param addr_type
7938362d86aSMatthias Ringwald   * @param address
7948362d86aSMatthias Ringwald   * @param passkey
7958362d86aSMatthias Ringwald   */
7968362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST                      0xD6
7978362d86aSMatthias Ringwald 
7988362d86aSMatthias Ringwald  /**
7998362d86aSMatthias Ringwald   * @format H1B4
800941b3855SMatthias Ringwald   * @param handle
801941b3855SMatthias Ringwald   * @param addr_type
802941b3855SMatthias Ringwald   * @param address
803941b3855SMatthias Ringwald   */
8048362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL                       0xD7
805941b3855SMatthias Ringwald 
806941b3855SMatthias Ringwald  /**
807941b3855SMatthias Ringwald   * @format H1B
808941b3855SMatthias Ringwald   * @param handle
809941b3855SMatthias Ringwald   * @param addr_type
810941b3855SMatthias Ringwald   * @param address
811941b3855SMatthias Ringwald   */
8128362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED                      0xD8
8138362d86aSMatthias Ringwald 
8148362d86aSMatthias Ringwald  /**
8158362d86aSMatthias Ringwald   * @format H1B
8168362d86aSMatthias Ringwald   * @param handle
8178362d86aSMatthias Ringwald   * @param addr_type
8188362d86aSMatthias Ringwald   * @param address
8198362d86aSMatthias Ringwald   */
8208362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED                       0xD9
821941b3855SMatthias Ringwald 
822941b3855SMatthias Ringwald  /**
823*84182ed9SMatthias Ringwald   * @brief Identify resolving succeeded
824*84182ed9SMatthias Ringwald   *
825*84182ed9SMatthias Ringwald   * @format H1B1B
826941b3855SMatthias Ringwald   * @param handle
827941b3855SMatthias Ringwald   * @param addr_type
828941b3855SMatthias Ringwald   * @param address
829*84182ed9SMatthias Ringwald   * @param identity_addr_type
830*84182ed9SMatthias Ringwald   * @param identity_address
831*84182ed9SMatthias Ringwald   *
832*84182ed9SMatthias Ringwald   * @note le_device_db_index was removed, please use provided identity information directly
833*84182ed9SMatthias Ringwald   *
834941b3855SMatthias Ringwald   */
8358362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED                    0xDA
836941b3855SMatthias Ringwald 
837941b3855SMatthias Ringwald  /**
838941b3855SMatthias Ringwald   * @format H1B
839941b3855SMatthias Ringwald   * @param handle
840941b3855SMatthias Ringwald   * @param addr_type
841941b3855SMatthias Ringwald   * @param address
842941b3855SMatthias Ringwald   */
8438362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST                           0xDB
844941b3855SMatthias Ringwald 
845941b3855SMatthias Ringwald  /**
846941b3855SMatthias Ringwald   * @format H1B1
847941b3855SMatthias Ringwald   * @param handle
848941b3855SMatthias Ringwald   * @param addr_type
849941b3855SMatthias Ringwald   * @param address
850941b3855SMatthias Ringwald   * @param authorization_result
851941b3855SMatthias Ringwald   */
8528362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT                            0xDC
853941b3855SMatthias Ringwald 
8543d7fe1e9SMatthias Ringwald  /**
8553d7fe1e9SMatthias Ringwald   * @format H1
8563d7fe1e9SMatthias Ringwald   * @param handle
8573d7fe1e9SMatthias Ringwald   * @param action see SM_KEYPRESS_*
8583d7fe1e9SMatthias Ringwald   */
8593d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION                           0xDD
8603d7fe1e9SMatthias Ringwald 
861*84182ed9SMatthias Ringwald  /**
862*84182ed9SMatthias Ringwald   * @brief Emitted during pairing to inform app about address used as identity
863*84182ed9SMatthias Ringwald   *
864*84182ed9SMatthias Ringwald   * @format H1B1B
865*84182ed9SMatthias Ringwald   * @param handle
866*84182ed9SMatthias Ringwald   * @param addr_type
867*84182ed9SMatthias Ringwald   * @param address
868*84182ed9SMatthias Ringwald   * @param identity_addr_type
869*84182ed9SMatthias Ringwald   * @param identity_address
870*84182ed9SMatthias Ringwald   */
871*84182ed9SMatthias Ringwald #define SM_EVENT_IDENTITY_CREATED                                0xDE
8723d7fe1e9SMatthias Ringwald 
873941b3855SMatthias Ringwald // GAP
874941b3855SMatthias Ringwald 
87546bc5396SMilanka Ringwald /**
87646bc5396SMilanka Ringwald  * @format H1
87746bc5396SMilanka Ringwald  * @param handle
87846bc5396SMilanka Ringwald  * @param security_level
87946bc5396SMilanka Ringwald  */
8805611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL                                 0xE0
881941b3855SMatthias Ringwald 
88246bc5396SMilanka Ringwald /**
88346bc5396SMilanka Ringwald  * @format 1B
88446bc5396SMilanka Ringwald  * @param status
88546bc5396SMilanka Ringwald  * @param address
88646bc5396SMilanka Ringwald  */
8875611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED                    0xE1
888941b3855SMatthias Ringwald 
889941b3855SMatthias Ringwald /**
890941b3855SMatthias Ringwald  * @format 11B1JV
891941b3855SMatthias Ringwald  * @param advertising_event_type
892941b3855SMatthias Ringwald  * @param address_type
893941b3855SMatthias Ringwald  * @param address
894941b3855SMatthias Ringwald  * @param rssi
895941b3855SMatthias Ringwald  * @param data_length
896941b3855SMatthias Ringwald  * @param data
897941b3855SMatthias Ringwald  */
898045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT                          0xE2
899941b3855SMatthias Ringwald 
900827b1c43SMatthias Ringwald 
901e10ce426SMatthias Ringwald // Meta Events, see below for sub events
902941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META                                 0xE8
90339d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META                                 0xE9
904e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META                                0xEA
90539d235cbSMatthias Ringwald 
906e10ce426SMatthias Ringwald // Potential other meta groups
907e10ce426SMatthias Ringwald  // #define HCI_EVENT_BNEP_META                                0xxx
908e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META                                 0xxx
909e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META                                0xxx
910e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META                                 0xxx
911e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META                                 0xxx
912e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META                                  0xxx
91339d235cbSMatthias Ringwald 
914d63c37a1SMatthias Ringwald 
915d63c37a1SMatthias Ringwald /** HSP Subevent */
916d63c37a1SMatthias Ringwald 
917827b1c43SMatthias Ringwald /**
91899a10067SMatthias Ringwald  * @format 11
919827b1c43SMatthias Ringwald  * @param subevent_code
920827b1c43SMatthias Ringwald  * @param status 0 == OK
921827b1c43SMatthias Ringwald  */
92299a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE             0x01
92399a10067SMatthias Ringwald 
92499a10067SMatthias Ringwald /**
92599a10067SMatthias Ringwald  * @format 11
92699a10067SMatthias Ringwald  * @param subevent_code
92799a10067SMatthias Ringwald  * @param status 0 == OK
92899a10067SMatthias Ringwald  */
92999a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE           0x02
93099a10067SMatthias Ringwald 
93199a10067SMatthias Ringwald 
93299a10067SMatthias Ringwald /**
93362c468cbSMatthias Ringwald  * @format 11H
93499a10067SMatthias Ringwald  * @param subevent_code
93599a10067SMatthias Ringwald  * @param status 0 == OK
93662c468cbSMatthias Ringwald  * @param handle
93799a10067SMatthias Ringwald  */
93899a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE             0x03
939827b1c43SMatthias Ringwald 
940827b1c43SMatthias Ringwald /**
941827b1c43SMatthias Ringwald  * @format 11
942827b1c43SMatthias Ringwald  * @param subevent_code
943827b1c43SMatthias Ringwald  * @param status 0 == OK
944827b1c43SMatthias Ringwald  */
94599a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE          0x04
946827b1c43SMatthias Ringwald 
947827b1c43SMatthias Ringwald /**
948827b1c43SMatthias Ringwald  * @format 1
949827b1c43SMatthias Ringwald  * @param subevent_code
950827b1c43SMatthias Ringwald  */
95199a10067SMatthias Ringwald #define HSP_SUBEVENT_RING                                  0x05
952827b1c43SMatthias Ringwald 
953827b1c43SMatthias Ringwald /**
954827b1c43SMatthias Ringwald  * @format 11
955827b1c43SMatthias Ringwald  * @param subevent_code
956827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
957827b1c43SMatthias Ringwald  */
95899a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED               0x06
959827b1c43SMatthias Ringwald 
960827b1c43SMatthias Ringwald /**
961827b1c43SMatthias Ringwald  * @format 11
962827b1c43SMatthias Ringwald  * @param subevent_code
963827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
964827b1c43SMatthias Ringwald  */
96599a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED                  0x07
966827b1c43SMatthias Ringwald 
967827b1c43SMatthias Ringwald /**
968827b1c43SMatthias Ringwald  * @format 1JV
969827b1c43SMatthias Ringwald  * @param subevent_code
970827b1c43SMatthias Ringwald  * @param value_length
971827b1c43SMatthias Ringwald  * @param value
972827b1c43SMatthias Ringwald  */
97399a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND                            0x08
974827b1c43SMatthias Ringwald 
975827b1c43SMatthias Ringwald /**
976827b1c43SMatthias Ringwald  * @format 1JV
977827b1c43SMatthias Ringwald  * @param subevent_code
978827b1c43SMatthias Ringwald  * @param value_length
979827b1c43SMatthias Ringwald  * @param value
980827b1c43SMatthias Ringwald  */
98199a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION                         0x09
982827b1c43SMatthias Ringwald 
983941b3855SMatthias Ringwald 
984d63c37a1SMatthias Ringwald /** HFP Subevent */
985941b3855SMatthias Ringwald 
986d63c37a1SMatthias Ringwald /**
9876a7f44bdSMilanka Ringwald  * @format 11HB1
988d63c37a1SMatthias Ringwald  * @param subevent_code
989d63c37a1SMatthias Ringwald  * @param status 0 == OK
990a0653c3bSMilanka Ringwald  * @param con_handle
9916a7f44bdSMilanka Ringwald  * @param bd_addr
992d63c37a1SMatthias Ringwald  */
993941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED  0x01
994d63c37a1SMatthias Ringwald 
995d63c37a1SMatthias Ringwald /**
996d63c37a1SMatthias Ringwald  * @format 1
997d63c37a1SMatthias Ringwald  * @param subevent_code
998d63c37a1SMatthias Ringwald  */
999941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED     0x02
1000d63c37a1SMatthias Ringwald 
1001d63c37a1SMatthias Ringwald /**
1002d0c4aea6SMilanka Ringwald  * @format 11HB11
1003d63c37a1SMatthias Ringwald  * @param subevent_code
1004d63c37a1SMatthias Ringwald  * @param status 0 == OK
10056ff51cfdSMatthias Ringwald  * @param handle
10066a7f44bdSMilanka Ringwald  * @param bd_addr
1007d0c4aea6SMilanka Ringwald  * @param negotiated_codec
1008d63c37a1SMatthias Ringwald  */
1009941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED          0x03
1010d63c37a1SMatthias Ringwald 
1011d63c37a1SMatthias Ringwald /**
1012d63c37a1SMatthias Ringwald  * @format 1
1013d63c37a1SMatthias Ringwald  * @param subevent_code
1014d63c37a1SMatthias Ringwald  */
1015941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED             0x04
1016d63c37a1SMatthias Ringwald 
1017d63c37a1SMatthias Ringwald /**
1018d63c37a1SMatthias Ringwald  * @format 11
1019d63c37a1SMatthias Ringwald  * @param subevent_code
1020d63c37a1SMatthias Ringwald  * @param status 0 == OK
1021d63c37a1SMatthias Ringwald  */
1022941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE                              0x05
1023d63c37a1SMatthias Ringwald 
1024d63c37a1SMatthias Ringwald /**
1025d63c37a1SMatthias Ringwald  * @format 111T
1026d63c37a1SMatthias Ringwald  * @param subevent_code
1027d63c37a1SMatthias Ringwald  * @param indicator_index
1028d63c37a1SMatthias Ringwald  * @param indicator_status
1029d63c37a1SMatthias Ringwald  * @param indicator_name
1030d63c37a1SMatthias Ringwald  */
1031941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED           0x06
1032d63c37a1SMatthias Ringwald 
1033d63c37a1SMatthias Ringwald /**
1034d63c37a1SMatthias Ringwald  * @format 1111T
1035d63c37a1SMatthias Ringwald  * @param subevent_code
1036d63c37a1SMatthias Ringwald  * @param network_operator_mode
1037d63c37a1SMatthias Ringwald  * @param network_operator_format
1038d63c37a1SMatthias Ringwald  * @param network_operator_name
1039d63c37a1SMatthias Ringwald  */
1040941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED              0x07
1041d63c37a1SMatthias Ringwald 
1042d63c37a1SMatthias Ringwald /**
1043d63c37a1SMatthias Ringwald  * @format 11
1044d63c37a1SMatthias Ringwald  * @param subevent_code
1045d63c37a1SMatthias Ringwald  * @param error
1046d63c37a1SMatthias Ringwald  */
1047941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR             0x08
1048d63c37a1SMatthias Ringwald 
1049d63c37a1SMatthias Ringwald /**
1050d63c37a1SMatthias Ringwald  * @format 1
1051d63c37a1SMatthias Ringwald  * @param subevent_code
1052d63c37a1SMatthias Ringwald  */
1053aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG                           0x0A
1054d63c37a1SMatthias Ringwald 
1055d63c37a1SMatthias Ringwald /**
1056d63c37a1SMatthias Ringwald  * @format 1
1057d63c37a1SMatthias Ringwald  * @param subevent_code
1058d63c37a1SMatthias Ringwald  */
1059aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG                            0x0B
1060d63c37a1SMatthias Ringwald 
1061d63c37a1SMatthias Ringwald /**
1062d63c37a1SMatthias Ringwald  * @format 1
1063d63c37a1SMatthias Ringwald  * @param subevent_code
1064d63c37a1SMatthias Ringwald  */
1065aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED                          0x0C
1066d63c37a1SMatthias Ringwald 
1067d63c37a1SMatthias Ringwald /**
1068d63c37a1SMatthias Ringwald  * @format 1T
1069d63c37a1SMatthias Ringwald  * @param subevent_code
1070d63c37a1SMatthias Ringwald  * @param number
1071d63c37a1SMatthias Ringwald  */
1072aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER                   0x0D
1073d63c37a1SMatthias Ringwald 
1074d63c37a1SMatthias Ringwald /**
1075d63c37a1SMatthias Ringwald  * @format 1
1076d63c37a1SMatthias Ringwald  * @param subevent_code
1077d63c37a1SMatthias Ringwald  */
1078d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG               0x0E
1079d63c37a1SMatthias Ringwald 
1080d63c37a1SMatthias Ringwald /**
1081d63c37a1SMatthias Ringwald  * @format 1T
1082d63c37a1SMatthias Ringwald  * @param subevent_code
1083d63c37a1SMatthias Ringwald  * @param number
1084d63c37a1SMatthias Ringwald  */
1085d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG                     0x0F
1086d63c37a1SMatthias Ringwald 
1087d63c37a1SMatthias Ringwald /**
1088d63c37a1SMatthias Ringwald  * @format 1T
1089d63c37a1SMatthias Ringwald  * @param subevent_code
1090d63c37a1SMatthias Ringwald  * @param dtmf code
1091d63c37a1SMatthias Ringwald  */
1092d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES                      0x10
1093d63c37a1SMatthias Ringwald 
1094d63c37a1SMatthias Ringwald /**
1095d63c37a1SMatthias Ringwald  * @format 1
1096d63c37a1SMatthias Ringwald  * @param subevent_code
1097d63c37a1SMatthias Ringwald  */
1098d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_CALL_ANSWERED                            0x11
1099d63c37a1SMatthias Ringwald 
1100d63c37a1SMatthias Ringwald /**
1101d63c37a1SMatthias Ringwald  * @format 1
1102d63c37a1SMatthias Ringwald  * @param subevent_code
1103d63c37a1SMatthias Ringwald  */
1104d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL                          0x12
1105d63c37a1SMatthias Ringwald 
1106d63c37a1SMatthias Ringwald /**
1107d63c37a1SMatthias Ringwald  * @format 1
1108d63c37a1SMatthias Ringwald  * @param subevent_code
1109d63c37a1SMatthias Ringwald  */
1110d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING                                     0x13
1111d63c37a1SMatthias Ringwald 
1112d63c37a1SMatthias Ringwald /**
1113d63c37a1SMatthias Ringwald  * @format 111
1114d63c37a1SMatthias Ringwald  * @param subevent_code
1115d63c37a1SMatthias Ringwald  * @param status
1116d63c37a1SMatthias Ringwald  * @param gain
1117d63c37a1SMatthias Ringwald  */
1118d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SPEAKER_VOLUME                           0x14
1119d63c37a1SMatthias Ringwald 
1120d63c37a1SMatthias Ringwald /**
1121d63c37a1SMatthias Ringwald  * @format 111
1122d63c37a1SMatthias Ringwald  * @param subevent_code
1123d63c37a1SMatthias Ringwald  * @param status
1124d63c37a1SMatthias Ringwald  * @param gain
1125d63c37a1SMatthias Ringwald  */
1126d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME                        0x15
1127d63c37a1SMatthias Ringwald 
1128d63c37a1SMatthias Ringwald /**
1129d63c37a1SMatthias Ringwald  * @format 11T
1130d63c37a1SMatthias Ringwald  * @param subevent_code
1131d63c37a1SMatthias Ringwald  * @param type
1132d63c37a1SMatthias Ringwald  * @param number
1133d63c37a1SMatthias Ringwald  */
1134d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION                0x16
1135d63c37a1SMatthias Ringwald 
1136d63c37a1SMatthias Ringwald /**
1137d63c37a1SMatthias Ringwald  * @format 11T
1138d63c37a1SMatthias Ringwald  * @param subevent_code
1139d63c37a1SMatthias Ringwald  * @param type
1140d63c37a1SMatthias Ringwald  * @param number
1141d63c37a1SMatthias Ringwald  */
1142d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALLING_LINE_INDETIFICATION_NOTIFICATION 0x17
1143d63c37a1SMatthias Ringwald 
1144d63c37a1SMatthias Ringwald /**
1145d63c37a1SMatthias Ringwald  * @format 111111T
1146d63c37a1SMatthias Ringwald  * @param subevent_code
1147d63c37a1SMatthias Ringwald  * @param clcc_idx
1148d63c37a1SMatthias Ringwald  * @param clcc_dir
1149d63c37a1SMatthias Ringwald  * @param clcc_status
1150d63c37a1SMatthias Ringwald  * @param clcc_mpty
1151d63c37a1SMatthias Ringwald  * @param bnip_type
1152d63c37a1SMatthias Ringwald  * @param bnip_number
1153d63c37a1SMatthias Ringwald  */
1154d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS                     0x18
1155d63c37a1SMatthias Ringwald 
1156d63c37a1SMatthias Ringwald /**
1157d63c37a1SMatthias Ringwald  * @format 111T
1158d63c37a1SMatthias Ringwald  * @param subevent_code
1159d63c37a1SMatthias Ringwald  * @param status
1160d63c37a1SMatthias Ringwald  * @param bnip_type
1161d63c37a1SMatthias Ringwald  * @param bnip_number
1162d63c37a1SMatthias Ringwald  */
1163d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION            0x19
1164d63c37a1SMatthias Ringwald 
1165d63c37a1SMatthias Ringwald /**
1166d63c37a1SMatthias Ringwald  * @format 1T
1167d63c37a1SMatthias Ringwald  * @param subevent_code
1168d63c37a1SMatthias Ringwald  * @param value
1169d63c37a1SMatthias Ringwald  */
1170d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS                 0x1A
1171941b3855SMatthias Ringwald 
1172941b3855SMatthias Ringwald // ANCS Client
1173a4815874SMatthias Ringwald 
1174a4815874SMatthias Ringwald /**
1175e10ce426SMatthias Ringwald  * @format 1H
1176e10ce426SMatthias Ringwald  * @param subevent_code
1177a4815874SMatthias Ringwald  * @param handle
1178a4815874SMatthias Ringwald  */
1179e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED                              0xF0
1180a4815874SMatthias Ringwald 
1181a4815874SMatthias Ringwald /**
1182e10ce426SMatthias Ringwald  * @format 1H2T
1183e10ce426SMatthias Ringwald  * @param subevent_code
1184a4815874SMatthias Ringwald  * @param handle
1185a4815874SMatthias Ringwald  * @param attribute_id
1186a4815874SMatthias Ringwald  * @param text
1187a4815874SMatthias Ringwald  */
1188e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION                           0xF1
1189a4815874SMatthias Ringwald 
1190a4815874SMatthias Ringwald /**
1191e10ce426SMatthias Ringwald  * @format 1H
1192e10ce426SMatthias Ringwald  * @param subevent_code
1193a4815874SMatthias Ringwald  * @param handle
1194a4815874SMatthias Ringwald  */
1195e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED                           0xF2
1196941b3855SMatthias Ringwald 
1197941b3855SMatthias Ringwald #endif
1198