xref: /btstack/src/btstack_defines.h (revision d0c4aea60c0bc49e428588460f6272fce9ebc224)
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
122941b3855SMatthias Ringwald 
123941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED                         0x70
124941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED                  0x71
125941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS                         0x72
126941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF                          0x73
127941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU                        0x74
128941b3855SMatthias Ringwald 
129941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED                      0x80
130941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE                               0x81
131941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND                              0x82
132941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID                                 0x83
133e5057641SMatthias Ringwald #define SDP_QUERY_BUSY                                     0x84
134941b3855SMatthias Ringwald 
135941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS            0x90
136941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT                0x91
137941b3855SMatthias Ringwald 
138941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED                          0x93
139941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY                                   0x94
140616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE                         0x95
141616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96
142616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG                         0x97
143616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98
144616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED   0x99
145941b3855SMatthias Ringwald 
146941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED                    0xA0
147941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED                         0xA1
148941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU                          0xA2
149941b3855SMatthias Ringwald 
15062c64df1SMatthias Ringwald 
15162c64df1SMatthias Ringwald 
15262c64df1SMatthias Ringwald // DAEMON COMMANDS
153b3f90e25SMatthias Ringwald 
154b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d
155b3f90e25SMatthias Ringwald 
156b3f90e25SMatthias Ringwald // cmds for BTstack
157b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE
158b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE                                  0x01
159b3f90e25SMatthias Ringwald 
160045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE
161b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE                             0x02
162b3f90e25SMatthias Ringwald 
163045013feSMatthias Ringwald // set capture mode: param on
164b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE                       0x03
165b3f90e25SMatthias Ringwald 
166b3f90e25SMatthias Ringwald // get BTstack version
167b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION                                0x04
168b3f90e25SMatthias Ringwald 
169b3f90e25SMatthias Ringwald // get system Bluetooth state
170b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED               0x05
171b3f90e25SMatthias Ringwald 
172b3f90e25SMatthias Ringwald // set system Bluetooth state
173b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED               0x06
174b3f90e25SMatthias Ringwald 
175b3f90e25SMatthias Ringwald // enable inquiry scan for this client
176b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE                           0x07
177b3f90e25SMatthias Ringwald 
178b3f90e25SMatthias Ringwald // set global Bluetooth state
179b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED                      0x08
180b3f90e25SMatthias Ringwald 
181045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16)
182b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL                               0x20
183b3f90e25SMatthias Ringwald 
184045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8)
185b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT                                   0x21
186b3f90e25SMatthias Ringwald 
187045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16)
188b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE                             0x22
189b3f90e25SMatthias Ringwald 
190045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16)
191b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE                           0x23
192b3f90e25SMatthias Ringwald 
193045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16)
194b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION                            0x24
195b3f90e25SMatthias Ringwald 
196045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8)
197b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION                           0x25
198b3f90e25SMatthias Ringwald 
199045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16)
200b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU                           0x26
201b3f90e25SMatthias Ringwald 
202b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size)
203b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD                        0x30
204b3f90e25SMatthias Ringwald 
205b3f90e25SMatthias Ringwald // unregister SDP Service Record
206b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD                      0x31
207b3f90e25SMatthias Ringwald 
208b3f90e25SMatthias Ringwald // Get remote RFCOMM services
209b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES                   0x32
210b3f90e25SMatthias Ringwald 
211b3f90e25SMatthias Ringwald // Get remote SDP services
212b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES                          0x33
213b3f90e25SMatthias Ringwald 
214b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands
215b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL       0x40
216b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT     0x41
217b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE     0x42
218b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE   0x43
219b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION    0x44
220b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION   0x45
221b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL   0x46
222b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS   0x47
223b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48
224b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS                 0x49
225b3f90e25SMatthias Ringwald 
226b3f90e25SMatthias Ringwald // GAP Classic 0x50
227b3f90e25SMatthias Ringwald #define GAP_DISCONNECT              0x50
228b3f90e25SMatthias Ringwald 
229b3f90e25SMatthias Ringwald // GAP LE      0x60
230b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START           0x60
231b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP            0x61
232b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT              0x62
233b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL       0x63
234b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS  0x64
235b3f90e25SMatthias Ringwald 
236b3f90e25SMatthias Ringwald // GATT (Client) 0x70
237b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES                       0x70
238b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16                 0x71
239b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128                0x72
240b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE                  0x73
241b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE                0x74
242b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128     0x75
243b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS                 0x76
244b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC                        0x77
245b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC                   0x78
246b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE      0x79
247b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC                       0x7A
248b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC                  0x7B
249b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC         0x7C
250b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR                      0X7D
251b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR                 0X7E
252b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR                     0X7F
253b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR                0X80
254b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION           0X81
255b3f90e25SMatthias Ringwald #define GATT_GET_MTU                                             0x82
256b3f90e25SMatthias Ringwald 
257941b3855SMatthias Ringwald 
25862c64df1SMatthias Ringwald 
259941b3855SMatthias Ringwald // EVENTS
260941b3855SMatthias Ringwald 
261941b3855SMatthias Ringwald /**
262941b3855SMatthias Ringwald  * @format 1
263941b3855SMatthias Ringwald  * @param state
264941b3855SMatthias Ringwald  */
265941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE                                0x60
266941b3855SMatthias Ringwald 
267941b3855SMatthias Ringwald // data: event(8), len(8), nr hci connections
268941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED               0x61
269941b3855SMatthias Ringwald 
270941b3855SMatthias Ringwald /**
271941b3855SMatthias Ringwald  * @format
272941b3855SMatthias Ringwald  */
273941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED                       0x62
274941b3855SMatthias Ringwald 
275941b3855SMatthias Ringwald /**
276827b1c43SMatthias Ringwald  * @format 1
277827b1c43SMatthias Ringwald  * @param discoverable
278827b1c43SMatthias Ringwald  */
279827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED                 0x66
280827b1c43SMatthias Ringwald 
281827b1c43SMatthias Ringwald // Daemon Events
282827b1c43SMatthias Ringwald 
283827b1c43SMatthias Ringwald /**
284941b3855SMatthias Ringwald  * @format 112
285941b3855SMatthias Ringwald  * @param major
286941b3855SMatthias Ringwald  * @param minor
287941b3855SMatthias Ringwald  @ @param revision
288941b3855SMatthias Ringwald  */
289827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION                               0x63
290941b3855SMatthias Ringwald 
291941b3855SMatthias Ringwald // data: system bluetooth on/off (bool)
292e2334cdcSMatthias Ringwald /**
293e2334cdcSMatthias Ringwald  * @format 1
294e2334cdcSMatthias Ringwald  * param system_bluetooth_enabled
295e2334cdcSMatthias Ringwald  */
296827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED              0x64
297941b3855SMatthias Ringwald 
298941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes)
299e2334cdcSMatthias Ringwald 
300e2334cdcSMatthias Ringwald /*
301e2334cdcSMatthias Ringwald  * @format 1BT
302e2334cdcSMatthias Ringwald  * @param status == 0 to match read_remote_name_request
303e2334cdcSMatthias Ringwald  * @param address
304e2334cdcSMatthias Ringwald  * @param name
305e2334cdcSMatthias Ringwald  */
306827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED                    0x65
307941b3855SMatthias Ringwald 
30862c64df1SMatthias Ringwald // internal - data: event(8)
309e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED                     0x67
310941b3855SMatthias Ringwald 
31162c64df1SMatthias Ringwald // internal - data: event(8)
312e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED                     0x68
313941b3855SMatthias Ringwald 
31462c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8)
31562c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS                         0x74
31662c64df1SMatthias Ringwald 
31762c64df1SMatthias Ringwald /**
31862c64df1SMatthias Ringwald  * @format 12
31962c64df1SMatthias Ringwald  * @param status
32062c64df1SMatthias Ringwald  * @param psm
32162c64df1SMatthias Ringwald  */
32262c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED              0x75
32362c64df1SMatthias Ringwald 
32462c64df1SMatthias Ringwald /**
32562c64df1SMatthias Ringwald  * @format 21
32662c64df1SMatthias Ringwald  * @param rfcomm_cid
32762c64df1SMatthias Ringwald  * @param credits
32862c64df1SMatthias Ringwald  */
32962c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS                        0x84
33062c64df1SMatthias Ringwald 
33162c64df1SMatthias Ringwald /**
33262c64df1SMatthias Ringwald  * @format 11
33362c64df1SMatthias Ringwald  * @param status
33462c64df1SMatthias Ringwald  * @param channel_id
33562c64df1SMatthias Ringwald  */
336fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED             0x85
337fea5a680SMatthias Ringwald 
33862c64df1SMatthias Ringwald /**
33962c64df1SMatthias Ringwald  * @format 11
34062c64df1SMatthias Ringwald  * @param status
34162c64df1SMatthias Ringwald  * @param server_channel_id
34262c64df1SMatthias Ringwald  */
34362c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL             0x86
34462c64df1SMatthias Ringwald 
34562c64df1SMatthias Ringwald /**
34662c64df1SMatthias Ringwald   * @format 14
34762c64df1SMatthias Ringwald   * @param status
34862c64df1SMatthias Ringwald   * @param service_record_handle
34962c64df1SMatthias Ringwald   */
35062c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED                0x90
35162c64df1SMatthias Ringwald 
35262c64df1SMatthias Ringwald 
353827b1c43SMatthias Ringwald 
3543bc639ceSMatthias Ringwald // additional HCI events
35563fa3374SMatthias Ringwald 
35663fa3374SMatthias Ringwald /**
35763fa3374SMatthias Ringwald  * @brief Outgoing packet
35863fa3374SMatthias Ringwald  */
35963fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT                    0x6E
36063fa3374SMatthias Ringwald 
3613bc639ceSMatthias Ringwald /**
3623bc639ceSMatthias Ringwald  * @format B
3633bc639ceSMatthias Ringwald  * @param handle
3643bc639ceSMatthias Ringwald  */
3653bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW                         0x6F
3663bc639ceSMatthias Ringwald 
36762c64df1SMatthias Ringwald 
368941b3855SMatthias Ringwald // L2CAP EVENTS
369941b3855SMatthias Ringwald 
370b072ba33SMatthias Ringwald /**
371b072ba33SMatthias Ringwald  * @format 1BH222222
372b072ba33SMatthias Ringwald  * @param status
373b072ba33SMatthias Ringwald  * @param address
374b072ba33SMatthias Ringwald  * @param handle
375b072ba33SMatthias Ringwald  * @param psm
376b072ba33SMatthias Ringwald  * @param local_cid
377b072ba33SMatthias Ringwald  * @param remote_cid
378b072ba33SMatthias Ringwald  * @param local_mtu
379b072ba33SMatthias Ringwald  * @param remote_mtu
380b072ba33SMatthias Ringwald  * @param flush_timeout
381b072ba33SMatthias Ringwald  */
382941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED                         0x70
383941b3855SMatthias Ringwald 
384b072ba33SMatthias Ringwald /*
385b072ba33SMatthias Ringwald  * @format 2
386b072ba33SMatthias Ringwald  * @param local_cid
387b072ba33SMatthias Ringwald  */
388941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED                         0x71
389941b3855SMatthias Ringwald 
390b072ba33SMatthias Ringwald /**
3916d4269d3SMilanka Ringwald  * @format BH222
392b072ba33SMatthias Ringwald  * @param address
393b072ba33SMatthias Ringwald  * @param handle
394b072ba33SMatthias Ringwald  * @param psm
395b072ba33SMatthias Ringwald  * @param local_cid
396b072ba33SMatthias Ringwald  * @param remote_cid
397b072ba33SMatthias Ringwald  */
398941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION                    0x72
399941b3855SMatthias Ringwald 
400b072ba33SMatthias Ringwald // ??
401941b3855SMatthias Ringwald // data: event(8), len(8), handle(16)
402941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK                          0x73
403941b3855SMatthias Ringwald 
404b072ba33SMatthias Ringwald /**
405b072ba33SMatthias Ringwald  * @format H2222
406b072ba33SMatthias Ringwald  * @param handle
407b072ba33SMatthias Ringwald  * @param interval_min
408b072ba33SMatthias Ringwald  * @param interval_max
409b072ba33SMatthias Ringwald  * @param latencey
410b072ba33SMatthias Ringwald  * @param timeout_multiplier
411b072ba33SMatthias Ringwald  */
412941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST    0x76
413941b3855SMatthias Ringwald 
414941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail)
415b072ba33SMatthias Ringwald  /**
416b072ba33SMatthias Ringwald   * @format H2
417b072ba33SMatthias Ringwald   * @param handle
418b072ba33SMatthias Ringwald   * @result
419b072ba33SMatthias Ringwald   */
420941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE   0x77
421941b3855SMatthias Ringwald 
422b072ba33SMatthias Ringwald /**
423b072ba33SMatthias Ringwald  * @format 2
424b072ba33SMatthias Ringwald  * @param local_cid
425b072ba33SMatthias Ringwald  */
426b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW                           0x78
427b072ba33SMatthias Ringwald 
428941b3855SMatthias Ringwald // RFCOMM EVENTS
429b072ba33SMatthias Ringwald 
430941b3855SMatthias Ringwald /**
431941b3855SMatthias Ringwald  * @format 1B2122
432941b3855SMatthias Ringwald  * @param status
433941b3855SMatthias Ringwald  * @param bd_addr
434941b3855SMatthias Ringwald  * @param con_handle
435941b3855SMatthias Ringwald  * @param server_channel
436941b3855SMatthias Ringwald  * @param rfcomm_cid
437941b3855SMatthias Ringwald  * @param max_frame_size
438941b3855SMatthias Ringwald  */
439f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED                        0x80
440941b3855SMatthias Ringwald 
441941b3855SMatthias Ringwald /**
442941b3855SMatthias Ringwald  * @format 2
443941b3855SMatthias Ringwald  * @param rfcomm_cid
444941b3855SMatthias Ringwald  */
445941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED                        0x81
446941b3855SMatthias Ringwald 
447941b3855SMatthias Ringwald /**
448941b3855SMatthias Ringwald  * @format B12
449941b3855SMatthias Ringwald  * @param bd_addr
450941b3855SMatthias Ringwald  * @param server_channel
451941b3855SMatthias Ringwald  * @param rfcomm_cid
452941b3855SMatthias Ringwald  */
453941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION                   0x82
454941b3855SMatthias Ringwald 
455941b3855SMatthias Ringwald /**
456941b3855SMatthias Ringwald  * @format 21
457941b3855SMatthias Ringwald  * @param rfcomm_cid
458941b3855SMatthias Ringwald  * @param line_status
459941b3855SMatthias Ringwald  */
460941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS                    0x83
461941b3855SMatthias Ringwald 
462941b3855SMatthias Ringwald /**
463941b3855SMatthias Ringwald  * @format 21
464941b3855SMatthias Ringwald  * @param rfcomm_cid
465941b3855SMatthias Ringwald  * @param modem_status
466941b3855SMatthias Ringwald  */
467941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS                   0x87
468941b3855SMatthias Ringwald 
469941b3855SMatthias Ringwald  /**
4707bd8e93bSMatthias Ringwald   * TODO: format for variable data 2?
471045013feSMatthias Ringwald   * param rfcomm_cid
472045013feSMatthias Ringwald   * param rpn_data
473941b3855SMatthias Ringwald   */
474941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION                    0x88
475941b3855SMatthias Ringwald 
476941b3855SMatthias Ringwald /**
477b072ba33SMatthias Ringwald  * @format 2
47862c468cbSMatthias Ringwald  * @param rfcomm_cid
479b072ba33SMatthias Ringwald  */
480b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW                          0x89
481b072ba33SMatthias Ringwald 
482b072ba33SMatthias Ringwald 
483b072ba33SMatthias Ringwald /**
484941b3855SMatthias Ringwald  * @format 1
485941b3855SMatthias Ringwald  * @param status
486941b3855SMatthias Ringwald  */
4875611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE                                 0x91
488941b3855SMatthias Ringwald 
489941b3855SMatthias Ringwald /**
490941b3855SMatthias Ringwald  * @format 1T
491941b3855SMatthias Ringwald  * @param rfcomm_channel
492941b3855SMatthias Ringwald  * @param name
493941b3855SMatthias Ringwald  */
4945611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE                           0x92
495941b3855SMatthias Ringwald 
496941b3855SMatthias Ringwald /**
4974225393cSMatthias Ringwald  * @format 22221
4984225393cSMatthias Ringwald  * @param record_id
499941b3855SMatthias Ringwald  * @param attribute_id
5004225393cSMatthias Ringwald  * @param attribute_length
5014225393cSMatthias Ringwald  * @param data_offset
5024225393cSMatthias Ringwald  * @param data
503941b3855SMatthias Ringwald  */
5045611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE                           0x93
505941b3855SMatthias Ringwald 
5064de250b4SMatthias Ringwald /**
5074de250b4SMatthias Ringwald  * @format 22LV
5084de250b4SMatthias Ringwald  * @param record_id
5094de250b4SMatthias Ringwald  * @param attribute_id
5104de250b4SMatthias Ringwald  * @param attribute_length
5114de250b4SMatthias Ringwald  * @param attribute_value
5124de250b4SMatthias Ringwald  */
5135611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE                          0x94
5144225393cSMatthias Ringwald 
5154225393cSMatthias Ringwald /**
5164225393cSMatthias Ringwald  * @format 224
5174225393cSMatthias Ringwald  * @param total_count
5184225393cSMatthias Ringwald  * @param record_index
5194225393cSMatthias Ringwald  * @param record_handle
5204225393cSMatthias Ringwald  * @note Not provided by daemon, only used for internal testing
5214225393cSMatthias Ringwald  */
5225611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE                    0x95
523941b3855SMatthias Ringwald 
524941b3855SMatthias Ringwald /**
525941b3855SMatthias Ringwald  * @format H1
526941b3855SMatthias Ringwald  * @param handle
527941b3855SMatthias Ringwald  * @param status
528941b3855SMatthias Ringwald  */
5295611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE                                0xA0
530941b3855SMatthias Ringwald 
531941b3855SMatthias Ringwald /**
532941b3855SMatthias Ringwald  * @format HX
533941b3855SMatthias Ringwald  * @param handle
534941b3855SMatthias Ringwald  * @param service
535941b3855SMatthias Ringwald  */
5365611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT                          0xA1
537941b3855SMatthias Ringwald 
538941b3855SMatthias Ringwald /**
539941b3855SMatthias Ringwald  * @format HY
540941b3855SMatthias Ringwald  * @param handle
541941b3855SMatthias Ringwald  * @param characteristic
542941b3855SMatthias Ringwald  */
5435611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT                   0xA2
544941b3855SMatthias Ringwald 
545941b3855SMatthias Ringwald /**
546941b3855SMatthias Ringwald  * @format H2X
547941b3855SMatthias Ringwald  * @param handle
548941b3855SMatthias Ringwald  * @param include_handle
549941b3855SMatthias Ringwald  * @param service
550941b3855SMatthias Ringwald  */
5515611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT                 0xA3
552941b3855SMatthias Ringwald 
553941b3855SMatthias Ringwald /**
554941b3855SMatthias Ringwald  * @format HZ
555941b3855SMatthias Ringwald  * @param handle
556941b3855SMatthias Ringwald  * @param characteristic_descriptor
557941b3855SMatthias Ringwald  */
5585611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT   0xA4
559941b3855SMatthias Ringwald 
560941b3855SMatthias Ringwald /**
561941b3855SMatthias Ringwald  * @format H2LV
562941b3855SMatthias Ringwald  * @param handle
563941b3855SMatthias Ringwald  * @param value_handle
564941b3855SMatthias Ringwald  * @param value_length
565941b3855SMatthias Ringwald  * @param value
566941b3855SMatthias Ringwald  */
5675611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT             0xA5
568941b3855SMatthias Ringwald 
569941b3855SMatthias Ringwald /**
570941b3855SMatthias Ringwald  * @format H22LV
571941b3855SMatthias Ringwald  * @param handle
572941b3855SMatthias Ringwald  * @param value_handle
573941b3855SMatthias Ringwald  * @param value_offset
574941b3855SMatthias Ringwald  * @param value_length
575941b3855SMatthias Ringwald  * @param value
576941b3855SMatthias Ringwald  */
5775611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT        0xA6
578941b3855SMatthias Ringwald 
579941b3855SMatthias Ringwald /**
580941b3855SMatthias Ringwald  * @format H2LV
581941b3855SMatthias Ringwald  * @param handle
582941b3855SMatthias Ringwald  * @param value_handle
583941b3855SMatthias Ringwald  * @param value_length
584941b3855SMatthias Ringwald  * @param value
585941b3855SMatthias Ringwald  */
5865611a760SMatthias Ringwald #define GATT_EVENT_NOTIFICATION                                  0xA7
587941b3855SMatthias Ringwald 
588941b3855SMatthias Ringwald /**
589941b3855SMatthias Ringwald  * @format H2LV
590941b3855SMatthias Ringwald  * @param handle
591941b3855SMatthias Ringwald  * @param value_handle
592941b3855SMatthias Ringwald  * @param value_length
593941b3855SMatthias Ringwald  * @param value
594941b3855SMatthias Ringwald  */
5955611a760SMatthias Ringwald #define GATT_EVENT_INDICATION                                    0xA8
596941b3855SMatthias Ringwald 
597941b3855SMatthias Ringwald /**
598941b3855SMatthias Ringwald  * @format H2LV
599941b3855SMatthias Ringwald  * @param descriptor_handle
600941b3855SMatthias Ringwald  * @param descriptor_length
601941b3855SMatthias Ringwald  * @param descriptor
602941b3855SMatthias Ringwald  */
6035611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT        0xA9
604941b3855SMatthias Ringwald 
605941b3855SMatthias Ringwald /**
606941b3855SMatthias Ringwald  * @format H2LV
607941b3855SMatthias Ringwald  * @param handle
608941b3855SMatthias Ringwald  * @param descriptor_offset
609941b3855SMatthias Ringwald  * @param descriptor_length
610941b3855SMatthias Ringwald  * @param descriptor
611941b3855SMatthias Ringwald  */
6125611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT   0xAA
613941b3855SMatthias Ringwald 
614941b3855SMatthias Ringwald /**
615941b3855SMatthias Ringwald  * @format H2
616941b3855SMatthias Ringwald  * @param handle
617941b3855SMatthias Ringwald  * @param MTU
618941b3855SMatthias Ringwald  */
6195611a760SMatthias Ringwald #define GATT_EVENT_MTU                                           0xAB
620941b3855SMatthias Ringwald 
621941b3855SMatthias Ringwald /**
622941b3855SMatthias Ringwald  * @format H2
623941b3855SMatthias Ringwald  * @param handle
624941b3855SMatthias Ringwald  * @param MTU
625941b3855SMatthias Ringwald  */
6265611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE                          0xB5
627941b3855SMatthias Ringwald 
62849d18261SMatthias Ringwald  /**
62949d18261SMatthias Ringwald   * @format 1H2
63049d18261SMatthias Ringwald   * @param status
63149d18261SMatthias Ringwald   * @param conn_handle
63249d18261SMatthias Ringwald   * @param attribute_handle
63349d18261SMatthias Ringwald   */
6345611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE               0xB6
635941b3855SMatthias Ringwald 
63649d18261SMatthias Ringwald /**
63749d18261SMatthias Ringwald  * @format
63849d18261SMatthias Ringwald  */
63949d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW                                   0xB7
640941b3855SMatthias Ringwald 
64149d18261SMatthias Ringwald // TODO: daemon only event
64249d18261SMatthias Ringwald 
64349d18261SMatthias Ringwald /**
64449d18261SMatthias Ringwald  * @format 12
64549d18261SMatthias Ringwald  * @param status
64649d18261SMatthias Ringwald  * @param service_uuid
64749d18261SMatthias Ringwald  */
648941b3855SMatthias Ringwald  #define BNEP_EVENT_SERVICE_REGISTERED                      0xC0
649941b3855SMatthias Ringwald 
65049d18261SMatthias Ringwald /**
651423c667cSMatthias Ringwald  * @format 12222B
65249d18261SMatthias Ringwald  * @param status
653423c667cSMatthias Ringwald  * @param bnep_cid
65449d18261SMatthias Ringwald  * @param source_uuid
65549d18261SMatthias Ringwald  * @param destination_uuid
65649d18261SMatthias Ringwald  * @param mtu
65749d18261SMatthias Ringwald  * @param remote_address
65849d18261SMatthias Ringwald  */
659423c667cSMatthias Ringwald  #define BNEP_EVENT_CHANNEL_OPENED                   0xC1
660941b3855SMatthias Ringwald 
66149d18261SMatthias Ringwald /**
662423c667cSMatthias Ringwald  * @format 222B
663423c667cSMatthias Ringwald  * @param bnep_cid
66449d18261SMatthias Ringwald  * @param source_uuid
66549d18261SMatthias Ringwald  * @param destination_uuid
66649d18261SMatthias Ringwald  * @param remote_address
66749d18261SMatthias Ringwald  */
668941b3855SMatthias Ringwald  #define BNEP_EVENT_CHANNEL_CLOSED                          0xC2
669941b3855SMatthias Ringwald 
67049d18261SMatthias Ringwald /**
671423c667cSMatthias Ringwald  * @format 222B1
672423c667cSMatthias Ringwald  * @param bnep_cid
67349d18261SMatthias Ringwald  * @param source_uuid
67449d18261SMatthias Ringwald  * @param destination_uuid
67549d18261SMatthias Ringwald  * @param remote_address
67649d18261SMatthias Ringwald  * @param channel_state
67749d18261SMatthias Ringwald  */
678941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT                         0xC3
679941b3855SMatthias Ringwald 
68049d18261SMatthias Ringwald /**
681423c667cSMatthias Ringwald  * @format 222B
682423c667cSMatthias Ringwald  * @param bnep_cid
68349d18261SMatthias Ringwald  * @param source_uuid
68449d18261SMatthias Ringwald  * @param destination_uuid
68549d18261SMatthias Ringwald  * @param remote_address
68649d18261SMatthias Ringwald  */
6872d4c8c04SMatthias Ringwald  #define BNEP_EVENT_CAN_SEND_NOW                           0xC4
688941b3855SMatthias Ringwald 
689941b3855SMatthias Ringwald  /**
690941b3855SMatthias Ringwald   * @format H1B
691941b3855SMatthias Ringwald   * @param handle
692941b3855SMatthias Ringwald   * @param addr_type
693941b3855SMatthias Ringwald   * @param address
694941b3855SMatthias Ringwald   */
6955611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST                              0xD0
696941b3855SMatthias Ringwald 
697941b3855SMatthias Ringwald  /**
698941b3855SMatthias Ringwald   * @format H1B
699941b3855SMatthias Ringwald   * @param handle
700941b3855SMatthias Ringwald   * @param addr_type
701941b3855SMatthias Ringwald   * @param address
702941b3855SMatthias Ringwald   */
7035611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL                               0xD1
704941b3855SMatthias Ringwald 
705941b3855SMatthias Ringwald  /**
706941b3855SMatthias Ringwald   * @format H1B4
707941b3855SMatthias Ringwald   * @param handle
708941b3855SMatthias Ringwald   * @param addr_type
709941b3855SMatthias Ringwald   * @param address
710941b3855SMatthias Ringwald   * @param passkey
711941b3855SMatthias Ringwald   */
7125611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER                          0xD2
713941b3855SMatthias Ringwald 
714941b3855SMatthias Ringwald  /**
715941b3855SMatthias Ringwald   * @format H1B
716941b3855SMatthias Ringwald   * @param handle
717941b3855SMatthias Ringwald   * @param addr_type
718941b3855SMatthias Ringwald   * @param address
719941b3855SMatthias Ringwald   */
7205611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL                          0xD3
721941b3855SMatthias Ringwald 
722941b3855SMatthias Ringwald  /**
723941b3855SMatthias Ringwald   * @format H1B421
724941b3855SMatthias Ringwald   * @param handle
725941b3855SMatthias Ringwald   * @param addr_type
726941b3855SMatthias Ringwald   * @param address
727941b3855SMatthias Ringwald   */
7285611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER                            0xD4
729941b3855SMatthias Ringwald 
730941b3855SMatthias Ringwald  /**
731941b3855SMatthias Ringwald   * @format H1B
732941b3855SMatthias Ringwald   * @param handle
733941b3855SMatthias Ringwald   * @param addr_type
734941b3855SMatthias Ringwald   * @param address
735941b3855SMatthias Ringwald   */
7365611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL                            0xD5
737941b3855SMatthias Ringwald 
738941b3855SMatthias Ringwald  /**
7398362d86aSMatthias Ringwald   * @format H1B4
7408362d86aSMatthias Ringwald   * @param handle
7418362d86aSMatthias Ringwald   * @param addr_type
7428362d86aSMatthias Ringwald   * @param address
7438362d86aSMatthias Ringwald   * @param passkey
7448362d86aSMatthias Ringwald   */
7458362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST                      0xD6
7468362d86aSMatthias Ringwald 
7478362d86aSMatthias Ringwald  /**
7488362d86aSMatthias Ringwald   * @format H1B4
749941b3855SMatthias Ringwald   * @param handle
750941b3855SMatthias Ringwald   * @param addr_type
751941b3855SMatthias Ringwald   * @param address
752941b3855SMatthias Ringwald   */
7538362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL                       0xD7
754941b3855SMatthias Ringwald 
755941b3855SMatthias Ringwald  /**
756941b3855SMatthias Ringwald   * @format H1B
757941b3855SMatthias Ringwald   * @param handle
758941b3855SMatthias Ringwald   * @param addr_type
759941b3855SMatthias Ringwald   * @param address
760941b3855SMatthias Ringwald   */
7618362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED                      0xD8
7628362d86aSMatthias Ringwald 
7638362d86aSMatthias Ringwald  /**
7648362d86aSMatthias Ringwald   * @format H1B
7658362d86aSMatthias Ringwald   * @param handle
7668362d86aSMatthias Ringwald   * @param addr_type
7678362d86aSMatthias Ringwald   * @param address
7688362d86aSMatthias Ringwald   */
7698362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED                       0xD9
770941b3855SMatthias Ringwald 
771941b3855SMatthias Ringwald  /**
772941b3855SMatthias Ringwald   * @format H1B2
773941b3855SMatthias Ringwald   * @param handle
774941b3855SMatthias Ringwald   * @param addr_type
775941b3855SMatthias Ringwald   * @param address
776941b3855SMatthias Ringwald   * @param le_device_db_index
777941b3855SMatthias Ringwald   */
7788362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED                    0xDA
779941b3855SMatthias Ringwald 
780941b3855SMatthias Ringwald  /**
781941b3855SMatthias Ringwald   * @format H1B
782941b3855SMatthias Ringwald   * @param handle
783941b3855SMatthias Ringwald   * @param addr_type
784941b3855SMatthias Ringwald   * @param address
785941b3855SMatthias Ringwald   */
7868362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST                           0xDB
787941b3855SMatthias Ringwald 
788941b3855SMatthias Ringwald  /**
789941b3855SMatthias Ringwald   * @format H1B1
790941b3855SMatthias Ringwald   * @param handle
791941b3855SMatthias Ringwald   * @param addr_type
792941b3855SMatthias Ringwald   * @param address
793941b3855SMatthias Ringwald   * @param authorization_result
794941b3855SMatthias Ringwald   */
7958362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT                            0xDC
796941b3855SMatthias Ringwald 
7973d7fe1e9SMatthias Ringwald  /**
7983d7fe1e9SMatthias Ringwald   * @format H1
7993d7fe1e9SMatthias Ringwald   * @param handle
8003d7fe1e9SMatthias Ringwald   * @param action see SM_KEYPRESS_*
8013d7fe1e9SMatthias Ringwald   */
8023d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION                           0xDD
8033d7fe1e9SMatthias Ringwald 
8043d7fe1e9SMatthias Ringwald 
805941b3855SMatthias Ringwald // GAP
806941b3855SMatthias Ringwald 
80746bc5396SMilanka Ringwald /**
80846bc5396SMilanka Ringwald  * @format H1
80946bc5396SMilanka Ringwald  * @param handle
81046bc5396SMilanka Ringwald  * @param security_level
81146bc5396SMilanka Ringwald  */
8125611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL                                 0xE0
813941b3855SMatthias Ringwald 
81446bc5396SMilanka Ringwald /**
81546bc5396SMilanka Ringwald  * @format 1B
81646bc5396SMilanka Ringwald  * @param status
81746bc5396SMilanka Ringwald  * @param address
81846bc5396SMilanka Ringwald  */
8195611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED                    0xE1
820941b3855SMatthias Ringwald 
821941b3855SMatthias Ringwald /**
822941b3855SMatthias Ringwald  * @format 11B1JV
823941b3855SMatthias Ringwald  * @param advertising_event_type
824941b3855SMatthias Ringwald  * @param address_type
825941b3855SMatthias Ringwald  * @param address
826941b3855SMatthias Ringwald  * @param rssi
827941b3855SMatthias Ringwald  * @param data_length
828941b3855SMatthias Ringwald  * @param data
829941b3855SMatthias Ringwald  */
830045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT                          0xE2
831941b3855SMatthias Ringwald 
832827b1c43SMatthias Ringwald 
833e10ce426SMatthias Ringwald // Meta Events, see below for sub events
834941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META                                 0xE8
83539d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META                                 0xE9
836e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META                                0xEA
83739d235cbSMatthias Ringwald 
838e10ce426SMatthias Ringwald // Potential other meta groups
839e10ce426SMatthias Ringwald  // #define HCI_EVENT_BNEP_META                                0xxx
840e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META                                 0xxx
841e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META                                0xxx
842e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META                                 0xxx
843e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META                                 0xxx
844e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META                                  0xxx
84539d235cbSMatthias Ringwald 
846d63c37a1SMatthias Ringwald 
847d63c37a1SMatthias Ringwald /** HSP Subevent */
848d63c37a1SMatthias Ringwald 
849827b1c43SMatthias Ringwald /**
85099a10067SMatthias Ringwald  * @format 11
851827b1c43SMatthias Ringwald  * @param subevent_code
852827b1c43SMatthias Ringwald  * @param status 0 == OK
853827b1c43SMatthias Ringwald  */
85499a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE             0x01
85599a10067SMatthias Ringwald 
85699a10067SMatthias Ringwald /**
85799a10067SMatthias Ringwald  * @format 11
85899a10067SMatthias Ringwald  * @param subevent_code
85999a10067SMatthias Ringwald  * @param status 0 == OK
86099a10067SMatthias Ringwald  */
86199a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE           0x02
86299a10067SMatthias Ringwald 
86399a10067SMatthias Ringwald 
86499a10067SMatthias Ringwald /**
86562c468cbSMatthias Ringwald  * @format 11H
86699a10067SMatthias Ringwald  * @param subevent_code
86799a10067SMatthias Ringwald  * @param status 0 == OK
86862c468cbSMatthias Ringwald  * @param handle
86999a10067SMatthias Ringwald  */
87099a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE             0x03
871827b1c43SMatthias Ringwald 
872827b1c43SMatthias Ringwald /**
873827b1c43SMatthias Ringwald  * @format 11
874827b1c43SMatthias Ringwald  * @param subevent_code
875827b1c43SMatthias Ringwald  * @param status 0 == OK
876827b1c43SMatthias Ringwald  */
87799a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE          0x04
878827b1c43SMatthias Ringwald 
879827b1c43SMatthias Ringwald /**
880827b1c43SMatthias Ringwald  * @format 1
881827b1c43SMatthias Ringwald  * @param subevent_code
882827b1c43SMatthias Ringwald  */
88399a10067SMatthias Ringwald #define HSP_SUBEVENT_RING                                  0x05
884827b1c43SMatthias Ringwald 
885827b1c43SMatthias Ringwald /**
886827b1c43SMatthias Ringwald  * @format 11
887827b1c43SMatthias Ringwald  * @param subevent_code
888827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
889827b1c43SMatthias Ringwald  */
89099a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED               0x06
891827b1c43SMatthias Ringwald 
892827b1c43SMatthias Ringwald /**
893827b1c43SMatthias Ringwald  * @format 11
894827b1c43SMatthias Ringwald  * @param subevent_code
895827b1c43SMatthias Ringwald  * @param gain Valid range: [0,15]
896827b1c43SMatthias Ringwald  */
89799a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED                  0x07
898827b1c43SMatthias Ringwald 
899827b1c43SMatthias Ringwald /**
900827b1c43SMatthias Ringwald  * @format 1JV
901827b1c43SMatthias Ringwald  * @param subevent_code
902827b1c43SMatthias Ringwald  * @param value_length
903827b1c43SMatthias Ringwald  * @param value
904827b1c43SMatthias Ringwald  */
90599a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND                            0x08
906827b1c43SMatthias Ringwald 
907827b1c43SMatthias Ringwald /**
908827b1c43SMatthias Ringwald  * @format 1JV
909827b1c43SMatthias Ringwald  * @param subevent_code
910827b1c43SMatthias Ringwald  * @param value_length
911827b1c43SMatthias Ringwald  * @param value
912827b1c43SMatthias Ringwald  */
91399a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION                         0x09
914827b1c43SMatthias Ringwald 
915941b3855SMatthias Ringwald 
916d63c37a1SMatthias Ringwald /** HFP Subevent */
917941b3855SMatthias Ringwald 
918d63c37a1SMatthias Ringwald /**
9196a7f44bdSMilanka Ringwald  * @format 11HB1
920d63c37a1SMatthias Ringwald  * @param subevent_code
921d63c37a1SMatthias Ringwald  * @param status 0 == OK
922a0653c3bSMilanka Ringwald  * @param con_handle
9236a7f44bdSMilanka Ringwald  * @param bd_addr
924d63c37a1SMatthias Ringwald  */
925941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED  0x01
926d63c37a1SMatthias Ringwald 
927d63c37a1SMatthias Ringwald /**
928d63c37a1SMatthias Ringwald  * @format 1
929d63c37a1SMatthias Ringwald  * @param subevent_code
930d63c37a1SMatthias Ringwald  */
931941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED     0x02
932d63c37a1SMatthias Ringwald 
933d63c37a1SMatthias Ringwald /**
934*d0c4aea6SMilanka Ringwald  * @format 11HB11
935d63c37a1SMatthias Ringwald  * @param subevent_code
936d63c37a1SMatthias Ringwald  * @param status 0 == OK
9376ff51cfdSMatthias Ringwald  * @param handle
9386a7f44bdSMilanka Ringwald  * @param bd_addr
939*d0c4aea6SMilanka Ringwald  * @param negotiated_codec
940d63c37a1SMatthias Ringwald  */
941941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED          0x03
942d63c37a1SMatthias Ringwald 
943d63c37a1SMatthias Ringwald /**
944d63c37a1SMatthias Ringwald  * @format 1
945d63c37a1SMatthias Ringwald  * @param subevent_code
946d63c37a1SMatthias Ringwald  */
947941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED             0x04
948d63c37a1SMatthias Ringwald 
949d63c37a1SMatthias Ringwald /**
950d63c37a1SMatthias Ringwald  * @format 11
951d63c37a1SMatthias Ringwald  * @param subevent_code
952d63c37a1SMatthias Ringwald  * @param status 0 == OK
953d63c37a1SMatthias Ringwald  */
954941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE                              0x05
955d63c37a1SMatthias Ringwald 
956d63c37a1SMatthias Ringwald /**
957d63c37a1SMatthias Ringwald  * @format 111T
958d63c37a1SMatthias Ringwald  * @param subevent_code
959d63c37a1SMatthias Ringwald  * @param indicator_index
960d63c37a1SMatthias Ringwald  * @param indicator_status
961d63c37a1SMatthias Ringwald  * @param indicator_name
962d63c37a1SMatthias Ringwald  */
963941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED           0x06
964d63c37a1SMatthias Ringwald 
965d63c37a1SMatthias Ringwald /**
966d63c37a1SMatthias Ringwald  * @format 1111T
967d63c37a1SMatthias Ringwald  * @param subevent_code
968d63c37a1SMatthias Ringwald  * @param network_operator_mode
969d63c37a1SMatthias Ringwald  * @param network_operator_format
970d63c37a1SMatthias Ringwald  * @param network_operator_name
971d63c37a1SMatthias Ringwald  */
972941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED              0x07
973d63c37a1SMatthias Ringwald 
974d63c37a1SMatthias Ringwald /**
975d63c37a1SMatthias Ringwald  * @format 11
976d63c37a1SMatthias Ringwald  * @param subevent_code
977d63c37a1SMatthias Ringwald  * @param error
978d63c37a1SMatthias Ringwald  */
979941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR             0x08
980d63c37a1SMatthias Ringwald 
981d63c37a1SMatthias Ringwald /**
982d63c37a1SMatthias Ringwald  * @format 1
983d63c37a1SMatthias Ringwald  * @param subevent_code
984d63c37a1SMatthias Ringwald  */
985aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG                           0x0A
986d63c37a1SMatthias Ringwald 
987d63c37a1SMatthias Ringwald /**
988d63c37a1SMatthias Ringwald  * @format 1
989d63c37a1SMatthias Ringwald  * @param subevent_code
990d63c37a1SMatthias Ringwald  */
991aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG                            0x0B
992d63c37a1SMatthias Ringwald 
993d63c37a1SMatthias Ringwald /**
994d63c37a1SMatthias Ringwald  * @format 1
995d63c37a1SMatthias Ringwald  * @param subevent_code
996d63c37a1SMatthias Ringwald  */
997aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED                          0x0C
998d63c37a1SMatthias Ringwald 
999d63c37a1SMatthias Ringwald /**
1000d63c37a1SMatthias Ringwald  * @format 1T
1001d63c37a1SMatthias Ringwald  * @param subevent_code
1002d63c37a1SMatthias Ringwald  * @param number
1003d63c37a1SMatthias Ringwald  */
1004aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER                   0x0D
1005d63c37a1SMatthias Ringwald 
1006d63c37a1SMatthias Ringwald /**
1007d63c37a1SMatthias Ringwald  * @format 1
1008d63c37a1SMatthias Ringwald  * @param subevent_code
1009d63c37a1SMatthias Ringwald  */
1010d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG               0x0E
1011d63c37a1SMatthias Ringwald 
1012d63c37a1SMatthias Ringwald /**
1013d63c37a1SMatthias Ringwald  * @format 1T
1014d63c37a1SMatthias Ringwald  * @param subevent_code
1015d63c37a1SMatthias Ringwald  * @param number
1016d63c37a1SMatthias Ringwald  */
1017d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG                     0x0F
1018d63c37a1SMatthias Ringwald 
1019d63c37a1SMatthias Ringwald /**
1020d63c37a1SMatthias Ringwald  * @format 1T
1021d63c37a1SMatthias Ringwald  * @param subevent_code
1022d63c37a1SMatthias Ringwald  * @param dtmf code
1023d63c37a1SMatthias Ringwald  */
1024d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES                      0x10
1025d63c37a1SMatthias Ringwald 
1026d63c37a1SMatthias Ringwald /**
1027d63c37a1SMatthias Ringwald  * @format 1
1028d63c37a1SMatthias Ringwald  * @param subevent_code
1029d63c37a1SMatthias Ringwald  */
1030d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_CALL_ANSWERED                            0x11
1031d63c37a1SMatthias Ringwald 
1032d63c37a1SMatthias Ringwald /**
1033d63c37a1SMatthias Ringwald  * @format 1
1034d63c37a1SMatthias Ringwald  * @param subevent_code
1035d63c37a1SMatthias Ringwald  */
1036d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL                          0x12
1037d63c37a1SMatthias Ringwald 
1038d63c37a1SMatthias Ringwald /**
1039d63c37a1SMatthias Ringwald  * @format 1
1040d63c37a1SMatthias Ringwald  * @param subevent_code
1041d63c37a1SMatthias Ringwald  */
1042d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING                                     0x13
1043d63c37a1SMatthias Ringwald 
1044d63c37a1SMatthias Ringwald /**
1045d63c37a1SMatthias Ringwald  * @format 111
1046d63c37a1SMatthias Ringwald  * @param subevent_code
1047d63c37a1SMatthias Ringwald  * @param status
1048d63c37a1SMatthias Ringwald  * @param gain
1049d63c37a1SMatthias Ringwald  */
1050d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SPEAKER_VOLUME                           0x14
1051d63c37a1SMatthias Ringwald 
1052d63c37a1SMatthias Ringwald /**
1053d63c37a1SMatthias Ringwald  * @format 111
1054d63c37a1SMatthias Ringwald  * @param subevent_code
1055d63c37a1SMatthias Ringwald  * @param status
1056d63c37a1SMatthias Ringwald  * @param gain
1057d63c37a1SMatthias Ringwald  */
1058d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME                        0x15
1059d63c37a1SMatthias Ringwald 
1060d63c37a1SMatthias Ringwald /**
1061d63c37a1SMatthias Ringwald  * @format 11T
1062d63c37a1SMatthias Ringwald  * @param subevent_code
1063d63c37a1SMatthias Ringwald  * @param type
1064d63c37a1SMatthias Ringwald  * @param number
1065d63c37a1SMatthias Ringwald  */
1066d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION                0x16
1067d63c37a1SMatthias Ringwald 
1068d63c37a1SMatthias Ringwald /**
1069d63c37a1SMatthias Ringwald  * @format 11T
1070d63c37a1SMatthias Ringwald  * @param subevent_code
1071d63c37a1SMatthias Ringwald  * @param type
1072d63c37a1SMatthias Ringwald  * @param number
1073d63c37a1SMatthias Ringwald  */
1074d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALLING_LINE_INDETIFICATION_NOTIFICATION 0x17
1075d63c37a1SMatthias Ringwald 
1076d63c37a1SMatthias Ringwald /**
1077d63c37a1SMatthias Ringwald  * @format 111111T
1078d63c37a1SMatthias Ringwald  * @param subevent_code
1079d63c37a1SMatthias Ringwald  * @param clcc_idx
1080d63c37a1SMatthias Ringwald  * @param clcc_dir
1081d63c37a1SMatthias Ringwald  * @param clcc_status
1082d63c37a1SMatthias Ringwald  * @param clcc_mpty
1083d63c37a1SMatthias Ringwald  * @param bnip_type
1084d63c37a1SMatthias Ringwald  * @param bnip_number
1085d63c37a1SMatthias Ringwald  */
1086d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS                     0x18
1087d63c37a1SMatthias Ringwald 
1088d63c37a1SMatthias Ringwald /**
1089d63c37a1SMatthias Ringwald  * @format 111T
1090d63c37a1SMatthias Ringwald  * @param subevent_code
1091d63c37a1SMatthias Ringwald  * @param status
1092d63c37a1SMatthias Ringwald  * @param bnip_type
1093d63c37a1SMatthias Ringwald  * @param bnip_number
1094d63c37a1SMatthias Ringwald  */
1095d63c37a1SMatthias Ringwald  #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION            0x19
1096d63c37a1SMatthias Ringwald 
1097d63c37a1SMatthias Ringwald /**
1098d63c37a1SMatthias Ringwald  * @format 1T
1099d63c37a1SMatthias Ringwald  * @param subevent_code
1100d63c37a1SMatthias Ringwald  * @param value
1101d63c37a1SMatthias Ringwald  */
1102d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS                 0x1A
1103941b3855SMatthias Ringwald 
1104941b3855SMatthias Ringwald // ANCS Client
1105a4815874SMatthias Ringwald 
1106a4815874SMatthias Ringwald /**
1107e10ce426SMatthias Ringwald  * @format 1H
1108e10ce426SMatthias Ringwald  * @param subevent_code
1109a4815874SMatthias Ringwald  * @param handle
1110a4815874SMatthias Ringwald  */
1111e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED                              0xF0
1112a4815874SMatthias Ringwald 
1113a4815874SMatthias Ringwald /**
1114e10ce426SMatthias Ringwald  * @format 1H2T
1115e10ce426SMatthias Ringwald  * @param subevent_code
1116a4815874SMatthias Ringwald  * @param handle
1117a4815874SMatthias Ringwald  * @param attribute_id
1118a4815874SMatthias Ringwald  * @param text
1119a4815874SMatthias Ringwald  */
1120e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION                           0xF1
1121a4815874SMatthias Ringwald 
1122a4815874SMatthias Ringwald /**
1123e10ce426SMatthias Ringwald  * @format 1H
1124e10ce426SMatthias Ringwald  * @param subevent_code
1125a4815874SMatthias Ringwald  * @param handle
1126a4815874SMatthias Ringwald  */
1127e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED                           0xF2
1128941b3855SMatthias Ringwald 
1129941b3855SMatthias Ringwald #endif
1130