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 46*f7a05cdaSMatthias Ringwald /** 47*f7a05cdaSMatthias Ringwald * Address types 48*f7a05cdaSMatthias Ringwald * @note: BTstack uses a custom addr type to refer to classic ACL and SCO devices 49*f7a05cdaSMatthias Ringwald */ 50*f7a05cdaSMatthias Ringwald typedef enum { 51*f7a05cdaSMatthias Ringwald BD_ADDR_TYPE_LE_PUBLIC = 0, 52*f7a05cdaSMatthias Ringwald BD_ADDR_TYPE_LE_RANDOM = 1, 53*f7a05cdaSMatthias Ringwald BD_ADDR_TYPE_SCO = 0xfe, 54*f7a05cdaSMatthias Ringwald BD_ADDR_TYPE_CLASSIC = 0xff, 55*f7a05cdaSMatthias Ringwald BD_ADDR_TYPE_UNKNOWN = 0xfe 56*f7a05cdaSMatthias Ringwald } bd_addr_type_t; 57*f7a05cdaSMatthias Ringwald 58941b3855SMatthias Ringwald // DEFINES 59941b3855SMatthias Ringwald 60941b3855SMatthias Ringwald #define DAEMON_EVENT_PACKET 0x05 61941b3855SMatthias Ringwald 62941b3855SMatthias Ringwald // L2CAP data 63941b3855SMatthias Ringwald #define L2CAP_DATA_PACKET 0x06 64941b3855SMatthias Ringwald 65941b3855SMatthias Ringwald // RFCOMM data 66941b3855SMatthias Ringwald #define RFCOMM_DATA_PACKET 0x07 67941b3855SMatthias Ringwald 68941b3855SMatthias Ringwald // Attribute protocol data 69941b3855SMatthias Ringwald #define ATT_DATA_PACKET 0x08 70941b3855SMatthias Ringwald 71941b3855SMatthias Ringwald // Security Manager protocol data 72941b3855SMatthias Ringwald #define SM_DATA_PACKET 0x09 73941b3855SMatthias Ringwald 74941b3855SMatthias Ringwald // SDP query result 75941b3855SMatthias Ringwald // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k) 76941b3855SMatthias Ringwald #define SDP_CLIENT_PACKET 0x0a 77941b3855SMatthias Ringwald 78941b3855SMatthias Ringwald // BNEP data 79941b3855SMatthias Ringwald #define BNEP_DATA_PACKET 0x0b 80941b3855SMatthias Ringwald 81941b3855SMatthias Ringwald // Unicast Connectionless Data 82941b3855SMatthias Ringwald #define UCD_DATA_PACKET 0x0c 83941b3855SMatthias Ringwald 84941b3855SMatthias Ringwald // debug log messages 85941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET 0xfc 86941b3855SMatthias Ringwald 87941b3855SMatthias Ringwald 88941b3855SMatthias Ringwald // ERRORS 89941b3855SMatthias Ringwald 90941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors 91941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED 0x50 92941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH 0x51 93941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED 0x52 94941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN 0x53 95941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED 0x54 96941b3855SMatthias Ringwald #define BTSTACK_BUSY 0x55 97941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED 0x56 98941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL 0x57 99941b3855SMatthias Ringwald 100941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them 101941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60 102941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61 103941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62 104941b3855SMatthias Ringwald 105941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL 0x63 106941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING 0x64 107941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM 0x65 108941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY 0x66 109941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67 110941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT 0x68 111941b3855SMatthias Ringwald 112941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED 0x69 113941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU 0x6A 114941b3855SMatthias Ringwald 115941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED 0x70 116941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED 0x71 117941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS 0x72 118941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF 0x73 119941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU 0x74 120941b3855SMatthias Ringwald 121941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED 0x80 122941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE 0x81 123941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND 0x82 124941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID 0x83 125941b3855SMatthias Ringwald 126941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS 0x90 127941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT 0x91 128941b3855SMatthias Ringwald 129941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED 0x93 130941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY 0x94 131616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE 0x95 132616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96 133616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG 0x97 134616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98 135616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED 0x99 136941b3855SMatthias Ringwald 137941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED 0xA0 138941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED 0xA1 139941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU 0xA2 140941b3855SMatthias Ringwald 141b3f90e25SMatthias Ringwald // COMMANDS 142b3f90e25SMatthias Ringwald 143b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d 144b3f90e25SMatthias Ringwald 145b3f90e25SMatthias Ringwald // cmds for BTstack 146b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE 147b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE 0x01 148b3f90e25SMatthias Ringwald 149b3f90e25SMatthias Ringwald // set power mode: @param HCI_POWER_MODE 150b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE 0x02 151b3f90e25SMatthias Ringwald 152b3f90e25SMatthias Ringwald // set capture mode: @param on 153b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE 0x03 154b3f90e25SMatthias Ringwald 155b3f90e25SMatthias Ringwald // get BTstack version 156b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION 0x04 157b3f90e25SMatthias Ringwald 158b3f90e25SMatthias Ringwald // get system Bluetooth state 159b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED 0x05 160b3f90e25SMatthias Ringwald 161b3f90e25SMatthias Ringwald // set system Bluetooth state 162b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED 0x06 163b3f90e25SMatthias Ringwald 164b3f90e25SMatthias Ringwald // enable inquiry scan for this client 165b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE 0x07 166b3f90e25SMatthias Ringwald 167b3f90e25SMatthias Ringwald // set global Bluetooth state 168b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED 0x08 169b3f90e25SMatthias Ringwald 170b3f90e25SMatthias Ringwald // create l2cap channel: @param bd_addr(48), psm (16) 171b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL 0x20 172b3f90e25SMatthias Ringwald 173b3f90e25SMatthias Ringwald // disconnect l2cap disconnect, @param channel(16), reason(8) 174b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT 0x21 175b3f90e25SMatthias Ringwald 176b3f90e25SMatthias Ringwald // register l2cap service: @param psm(16), mtu (16) 177b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE 0x22 178b3f90e25SMatthias Ringwald 179b3f90e25SMatthias Ringwald // unregister l2cap disconnect, @param psm(16) 180b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE 0x23 181b3f90e25SMatthias Ringwald 182b3f90e25SMatthias Ringwald // accept connection @param bd_addr(48), dest cid (16) 183b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION 0x24 184b3f90e25SMatthias Ringwald 185b3f90e25SMatthias Ringwald // decline l2cap disconnect,@param bd_addr(48), dest cid (16), reason(8) 186b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION 0x25 187b3f90e25SMatthias Ringwald 188b3f90e25SMatthias Ringwald // create l2cap channel: @param bd_addr(48), psm (16), mtu (16) 189b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU 0x26 190b3f90e25SMatthias Ringwald 191b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size) 192b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD 0x30 193b3f90e25SMatthias Ringwald 194b3f90e25SMatthias Ringwald // unregister SDP Service Record 195b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD 0x31 196b3f90e25SMatthias Ringwald 197b3f90e25SMatthias Ringwald // Get remote RFCOMM services 198b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES 0x32 199b3f90e25SMatthias Ringwald 200b3f90e25SMatthias Ringwald // Get remote SDP services 201b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES 0x33 202b3f90e25SMatthias Ringwald 203b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands 204b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL 0x40 205b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT 0x41 206b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE 0x42 207b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE 0x43 208b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION 0x44 209b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION 0x45 210b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL 0x46 211b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS 0x47 212b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48 213b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS 0x49 214b3f90e25SMatthias Ringwald 215b3f90e25SMatthias Ringwald // GAP Classic 0x50 216b3f90e25SMatthias Ringwald #define GAP_DISCONNECT 0x50 217b3f90e25SMatthias Ringwald 218b3f90e25SMatthias Ringwald // GAP LE 0x60 219b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START 0x60 220b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP 0x61 221b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT 0x62 222b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL 0x63 223b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS 0x64 224b3f90e25SMatthias Ringwald 225b3f90e25SMatthias Ringwald // GATT (Client) 0x70 226b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES 0x70 227b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16 0x71 228b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128 0x72 229b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE 0x73 230b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE 0x74 231b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128 0x75 232b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS 0x76 233b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC 0x77 234b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC 0x78 235b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE 0x79 236b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC 0x7A 237b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7B 238b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7C 239b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR 0X7D 240b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR 0X7E 241b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR 0X7F 242b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR 0X80 243b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION 0X81 244b3f90e25SMatthias Ringwald #define GATT_GET_MTU 0x82 245b3f90e25SMatthias Ringwald 246941b3855SMatthias Ringwald 247941b3855SMatthias Ringwald // EVENTS 248941b3855SMatthias Ringwald 249941b3855SMatthias Ringwald /** 250941b3855SMatthias Ringwald * @format 1 251941b3855SMatthias Ringwald * @param state 252941b3855SMatthias Ringwald */ 253941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE 0x60 254941b3855SMatthias Ringwald 255941b3855SMatthias Ringwald // data: event(8), len(8), nr hci connections 256941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 0x61 257941b3855SMatthias Ringwald 258941b3855SMatthias Ringwald /** 259941b3855SMatthias Ringwald * @format 260941b3855SMatthias Ringwald */ 261941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED 0x62 262941b3855SMatthias Ringwald 263941b3855SMatthias Ringwald /** 264941b3855SMatthias Ringwald * @format 112 265941b3855SMatthias Ringwald * @param major 266941b3855SMatthias Ringwald * @param minor 267941b3855SMatthias Ringwald @ @param revision 268941b3855SMatthias Ringwald */ 269941b3855SMatthias Ringwald #define BTSTACK_EVENT_VERSION 0x63 270941b3855SMatthias Ringwald 271941b3855SMatthias Ringwald // data: system bluetooth on/off (bool) 272941b3855SMatthias Ringwald #define BTSTACK_EVENT_SYSTEM_BLUETOOTH_ENABLED 0x64 273941b3855SMatthias Ringwald 274941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes) 275941b3855SMatthias Ringwald #define BTSTACK_EVENT_REMOTE_NAME_CACHED 0x65 276941b3855SMatthias Ringwald 277941b3855SMatthias Ringwald // data: discoverable enabled (bool) 278941b3855SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED 0x66 279941b3855SMatthias Ringwald 280941b3855SMatthias Ringwald // Daemon Events used internally 281941b3855SMatthias Ringwald 282941b3855SMatthias Ringwald // data: event(8) 283941b3855SMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED 0x68 284941b3855SMatthias Ringwald 285941b3855SMatthias Ringwald // data: event(8) 286941b3855SMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED 0x69 287941b3855SMatthias Ringwald 288941b3855SMatthias Ringwald // data: event(8), nr_connections(8) 289941b3855SMatthias Ringwald #define DAEMON_NR_CONNECTIONS_CHANGED 0x6A 290941b3855SMatthias Ringwald 291941b3855SMatthias Ringwald // data: event(8) 292941b3855SMatthias Ringwald #define DAEMON_EVENT_NEW_RFCOMM_CREDITS 0x6B 293941b3855SMatthias Ringwald 294941b3855SMatthias Ringwald // data: event(8) 295941b3855SMatthias Ringwald #define DAEMON_EVENT_HCI_PACKET_SENT 0x6C 296941b3855SMatthias Ringwald 297941b3855SMatthias Ringwald // L2CAP EVENTS 298941b3855SMatthias Ringwald 299941b3855SMatthias Ringwald // data: event (8), len(8), status (8), address(48), handle (16), psm (16), local_cid(16), remote_cid (16), local_mtu(16), remote_mtu(16), flush_timeout(16) 300941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED 0x70 301941b3855SMatthias Ringwald 302941b3855SMatthias Ringwald // data: event (8), len(8), channel (16) 303941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED 0x71 304941b3855SMatthias Ringwald 305941b3855SMatthias Ringwald // data: event (8), len(8), address(48), handle (16), psm (16), local_cid(16), remote_cid (16) 306941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION 0x72 307941b3855SMatthias Ringwald 308941b3855SMatthias Ringwald // data: event(8), len(8), handle(16) 309941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK 0x73 310941b3855SMatthias Ringwald 311941b3855SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8) 312941b3855SMatthias Ringwald #define L2CAP_EVENT_CREDITS 0x74 313941b3855SMatthias Ringwald 314941b3855SMatthias Ringwald // data: event(8), len(8), status (8), psm (16) 315941b3855SMatthias Ringwald #define L2CAP_EVENT_SERVICE_REGISTERED 0x75 316941b3855SMatthias Ringwald 317941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), interval min(16), interval max(16), latency(16), timeout multiplier(16) 318941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 0x76 319941b3855SMatthias Ringwald 320941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail) 321941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 0x77 322941b3855SMatthias Ringwald 323941b3855SMatthias Ringwald // RFCOMM EVENTS 324941b3855SMatthias Ringwald /** 325941b3855SMatthias Ringwald * @format 1B2122 326941b3855SMatthias Ringwald * @param status 327941b3855SMatthias Ringwald * @param bd_addr 328941b3855SMatthias Ringwald * @param con_handle 329941b3855SMatthias Ringwald * @param server_channel 330941b3855SMatthias Ringwald * @param rfcomm_cid 331941b3855SMatthias Ringwald * @param max_frame_size 332941b3855SMatthias Ringwald */ 333941b3855SMatthias Ringwald #define RFCOMM_EVENT_OPEN_CHANNEL_COMPLETE 0x80 334941b3855SMatthias Ringwald 335941b3855SMatthias Ringwald /** 336941b3855SMatthias Ringwald * @format 2 337941b3855SMatthias Ringwald * @param rfcomm_cid 338941b3855SMatthias Ringwald */ 339941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED 0x81 340941b3855SMatthias Ringwald 341941b3855SMatthias Ringwald /** 342941b3855SMatthias Ringwald * @format B12 343941b3855SMatthias Ringwald * @param bd_addr 344941b3855SMatthias Ringwald * @param server_channel 345941b3855SMatthias Ringwald * @param rfcomm_cid 346941b3855SMatthias Ringwald */ 347941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION 0x82 348941b3855SMatthias Ringwald 349941b3855SMatthias Ringwald /** 350941b3855SMatthias Ringwald * @format 21 351941b3855SMatthias Ringwald * @param rfcomm_cid 352941b3855SMatthias Ringwald * @param line_status 353941b3855SMatthias Ringwald */ 354941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS 0x83 355941b3855SMatthias Ringwald 356941b3855SMatthias Ringwald /** 357941b3855SMatthias Ringwald * @format 21 358941b3855SMatthias Ringwald * @param rfcomm_cid 359941b3855SMatthias Ringwald * @param credits 360941b3855SMatthias Ringwald */ 361941b3855SMatthias Ringwald #define RFCOMM_EVENT_CREDITS 0x84 362941b3855SMatthias Ringwald 363941b3855SMatthias Ringwald /** 364941b3855SMatthias Ringwald * @format 11 365941b3855SMatthias Ringwald * @param status 366941b3855SMatthias Ringwald * @param channel_id 367941b3855SMatthias Ringwald */ 368941b3855SMatthias Ringwald #define RFCOMM_EVENT_SERVICE_REGISTERED 0x85 369941b3855SMatthias Ringwald 370941b3855SMatthias Ringwald /** 371941b3855SMatthias Ringwald * @format 11 372941b3855SMatthias Ringwald * @param status 373941b3855SMatthias Ringwald * @param server_channel_id 374941b3855SMatthias Ringwald */ 375941b3855SMatthias Ringwald #define RFCOMM_EVENT_PERSISTENT_CHANNEL 0x86 376941b3855SMatthias Ringwald 377941b3855SMatthias Ringwald // data: event (8), len(8), rfcomm_cid (16), modem status (8) 378941b3855SMatthias Ringwald 379941b3855SMatthias Ringwald /** 380941b3855SMatthias Ringwald * @format 21 381941b3855SMatthias Ringwald * @param rfcomm_cid 382941b3855SMatthias Ringwald * @param modem_status 383941b3855SMatthias Ringwald */ 384941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS 0x87 385941b3855SMatthias Ringwald 386941b3855SMatthias Ringwald // data: event (8), len(8), rfcomm_cid (16), rpn_data_t (67) 387941b3855SMatthias Ringwald /** 388941b3855SMatthias Ringwald * TODO: format for variable data 389941b3855SMatthias Ringwald * @param rfcomm_cid 390941b3855SMatthias Ringwald * @param rpn_data 391941b3855SMatthias Ringwald */ 392941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION 0x88 393941b3855SMatthias Ringwald 394941b3855SMatthias Ringwald 395941b3855SMatthias Ringwald // data: event(8), len(8), status(8), service_record_handle(32) 396941b3855SMatthias Ringwald /** 397941b3855SMatthias Ringwald * @format 14 398941b3855SMatthias Ringwald * @param status 399941b3855SMatthias Ringwald * @param service_record_handle 400941b3855SMatthias Ringwald */ 401941b3855SMatthias Ringwald #define SDP_SERVICE_REGISTERED 0x90 402941b3855SMatthias Ringwald 403941b3855SMatthias Ringwald // data: event(8), len(8), status(8) 404941b3855SMatthias Ringwald /** 405941b3855SMatthias Ringwald * @format 1 406941b3855SMatthias Ringwald * @param status 407941b3855SMatthias Ringwald */ 408941b3855SMatthias Ringwald #define SDP_QUERY_COMPLETE 0x91 409941b3855SMatthias Ringwald 410941b3855SMatthias Ringwald // data: event(8), len(8), rfcomm channel(8), name(var) 411941b3855SMatthias Ringwald /** 412941b3855SMatthias Ringwald * @format 1T 413941b3855SMatthias Ringwald * @param rfcomm_channel 414941b3855SMatthias Ringwald * @param name 415941b3855SMatthias Ringwald * @brief SDP_QUERY_RFCOMM_SERVICE 0x92 416941b3855SMatthias Ringwald */ 417941b3855SMatthias Ringwald #define SDP_QUERY_RFCOMM_SERVICE 0x92 418941b3855SMatthias Ringwald 419941b3855SMatthias Ringwald // data: event(8), len(8), record nr(16), attribute id(16), attribute value(var) 420941b3855SMatthias Ringwald /** 421941b3855SMatthias Ringwald * TODO: format for variable data 422941b3855SMatthias Ringwald * @param record_nr 423941b3855SMatthias Ringwald * @param attribute_id 424941b3855SMatthias Ringwald * @param attribute_value 425941b3855SMatthias Ringwald */ 426941b3855SMatthias Ringwald #define SDP_QUERY_ATTRIBUTE_VALUE 0x93 427941b3855SMatthias Ringwald 428941b3855SMatthias Ringwald // not provided by daemon, only used for internal testing 429941b3855SMatthias Ringwald #define SDP_QUERY_SERVICE_RECORD_HANDLE 0x94 430941b3855SMatthias Ringwald 431941b3855SMatthias Ringwald /** 432941b3855SMatthias Ringwald * @format H1 433941b3855SMatthias Ringwald * @param handle 434941b3855SMatthias Ringwald * @param status 435941b3855SMatthias Ringwald */ 436941b3855SMatthias Ringwald #define GATT_QUERY_COMPLETE 0xA0 437941b3855SMatthias Ringwald 438941b3855SMatthias Ringwald /** 439941b3855SMatthias Ringwald * @format HX 440941b3855SMatthias Ringwald * @param handle 441941b3855SMatthias Ringwald * @param service 442941b3855SMatthias Ringwald */ 443941b3855SMatthias Ringwald #define GATT_SERVICE_QUERY_RESULT 0xA1 444941b3855SMatthias Ringwald 445941b3855SMatthias Ringwald /** 446941b3855SMatthias Ringwald * @format HY 447941b3855SMatthias Ringwald * @param handle 448941b3855SMatthias Ringwald * @param characteristic 449941b3855SMatthias Ringwald */ 450941b3855SMatthias Ringwald #define GATT_CHARACTERISTIC_QUERY_RESULT 0xA2 451941b3855SMatthias Ringwald 452941b3855SMatthias Ringwald /** 453941b3855SMatthias Ringwald * @format H2X 454941b3855SMatthias Ringwald * @param handle 455941b3855SMatthias Ringwald * @param include_handle 456941b3855SMatthias Ringwald * @param service 457941b3855SMatthias Ringwald */ 458941b3855SMatthias Ringwald #define GATT_INCLUDED_SERVICE_QUERY_RESULT 0xA3 459941b3855SMatthias Ringwald 460941b3855SMatthias Ringwald /** 461941b3855SMatthias Ringwald * @format HZ 462941b3855SMatthias Ringwald * @param handle 463941b3855SMatthias Ringwald * @param characteristic_descriptor 464941b3855SMatthias Ringwald */ 465941b3855SMatthias Ringwald #define GATT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 0xA4 466941b3855SMatthias Ringwald 467941b3855SMatthias Ringwald /** 468941b3855SMatthias Ringwald * @format H2LV 469941b3855SMatthias Ringwald * @param handle 470941b3855SMatthias Ringwald * @param value_handle 471941b3855SMatthias Ringwald * @param value_length 472941b3855SMatthias Ringwald * @param value 473941b3855SMatthias Ringwald */ 474941b3855SMatthias Ringwald #define GATT_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA5 475941b3855SMatthias Ringwald 476941b3855SMatthias Ringwald /** 477941b3855SMatthias Ringwald * @format H22LV 478941b3855SMatthias Ringwald * @param handle 479941b3855SMatthias Ringwald * @param value_handle 480941b3855SMatthias Ringwald * @param value_offset 481941b3855SMatthias Ringwald * @param value_length 482941b3855SMatthias Ringwald * @param value 483941b3855SMatthias Ringwald */ 484941b3855SMatthias Ringwald #define GATT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA6 485941b3855SMatthias Ringwald 486941b3855SMatthias Ringwald /** 487941b3855SMatthias Ringwald * @format H2LV 488941b3855SMatthias Ringwald * @param handle 489941b3855SMatthias Ringwald * @param value_handle 490941b3855SMatthias Ringwald * @param value_length 491941b3855SMatthias Ringwald * @param value 492941b3855SMatthias Ringwald */ 493941b3855SMatthias Ringwald #define GATT_NOTIFICATION 0xA7 494941b3855SMatthias Ringwald 495941b3855SMatthias Ringwald /** 496941b3855SMatthias Ringwald * @format H2LV 497941b3855SMatthias Ringwald * @param handle 498941b3855SMatthias Ringwald * @param value_handle 499941b3855SMatthias Ringwald * @param value_length 500941b3855SMatthias Ringwald * @param value 501941b3855SMatthias Ringwald */ 502941b3855SMatthias Ringwald #define GATT_INDICATION 0xA8 503941b3855SMatthias Ringwald 504941b3855SMatthias Ringwald /** 505941b3855SMatthias Ringwald * @format H2LV 506941b3855SMatthias Ringwald * @param descriptor_handle 507941b3855SMatthias Ringwald * @param descriptor_length 508941b3855SMatthias Ringwald * @param descriptor 509941b3855SMatthias Ringwald */ 510941b3855SMatthias Ringwald #define GATT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xA9 511941b3855SMatthias Ringwald 512941b3855SMatthias Ringwald /** 513941b3855SMatthias Ringwald * @format H2LV 514941b3855SMatthias Ringwald * @param handle 515941b3855SMatthias Ringwald * @param descriptor_offset 516941b3855SMatthias Ringwald * @param descriptor_length 517941b3855SMatthias Ringwald * @param descriptor 518941b3855SMatthias Ringwald */ 519941b3855SMatthias Ringwald #define GATT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xAA 520941b3855SMatthias Ringwald 521941b3855SMatthias Ringwald /** 522941b3855SMatthias Ringwald * @format H2 523941b3855SMatthias Ringwald * @param handle 524941b3855SMatthias Ringwald * @param MTU 525941b3855SMatthias Ringwald */ 526941b3855SMatthias Ringwald #define GATT_MTU 0xAB 527941b3855SMatthias Ringwald 528941b3855SMatthias Ringwald /** 529941b3855SMatthias Ringwald * @format H2 530941b3855SMatthias Ringwald * @param handle 531941b3855SMatthias Ringwald * @param MTU 532941b3855SMatthias Ringwald */ 533941b3855SMatthias Ringwald #define ATT_MTU_EXCHANGE_COMPLETE 0xB5 534941b3855SMatthias Ringwald 535941b3855SMatthias Ringwald // data: event(8), len(8), status (8), hci_handle (16), attribute_handle (16) 536941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_COMPLETE 0xB6 537941b3855SMatthias Ringwald 538941b3855SMatthias Ringwald 539941b3855SMatthias Ringwald // data: event(8), len(8), status (8), bnep service uuid (16) 540941b3855SMatthias Ringwald #define BNEP_EVENT_SERVICE_REGISTERED 0xC0 541941b3855SMatthias Ringwald 542941b3855SMatthias Ringwald // data: event(8), len(8), status (8), bnep source uuid (16), bnep destination uuid (16), mtu (16), remote_address (48) 543941b3855SMatthias Ringwald #define BNEP_EVENT_OPEN_CHANNEL_COMPLETE 0xC1 544941b3855SMatthias Ringwald 545941b3855SMatthias Ringwald // data: event(8), len(8), bnep source uuid (16), bnep destination uuid (16), remote_address (48) 546941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_CLOSED 0xC2 547941b3855SMatthias Ringwald 548941b3855SMatthias Ringwald // data: event(8), len(8), bnep source uuid (16), bnep destination uuid (16), remote_address (48), channel state (8) 549941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT 0xC3 550941b3855SMatthias Ringwald 551941b3855SMatthias Ringwald // data: event(8), len(8) 552941b3855SMatthias Ringwald #define BNEP_EVENT_READY_TO_SEND 0xC4 553941b3855SMatthias Ringwald 554941b3855SMatthias Ringwald /** 555941b3855SMatthias Ringwald * @format H1B 556941b3855SMatthias Ringwald * @param handle 557941b3855SMatthias Ringwald * @param addr_type 558941b3855SMatthias Ringwald * @param address 559941b3855SMatthias Ringwald */ 560941b3855SMatthias Ringwald #define SM_JUST_WORKS_REQUEST 0xD0 561941b3855SMatthias Ringwald 562941b3855SMatthias Ringwald /** 563941b3855SMatthias Ringwald * @format H1B 564941b3855SMatthias Ringwald * @param handle 565941b3855SMatthias Ringwald * @param addr_type 566941b3855SMatthias Ringwald * @param address 567941b3855SMatthias Ringwald */ 568941b3855SMatthias Ringwald #define SM_JUST_WORKS_CANCEL 0xD1 569941b3855SMatthias Ringwald 570941b3855SMatthias Ringwald /** 571941b3855SMatthias Ringwald * @format H1B4 572941b3855SMatthias Ringwald * @param handle 573941b3855SMatthias Ringwald * @param addr_type 574941b3855SMatthias Ringwald * @param address 575941b3855SMatthias Ringwald * @param passkey 576941b3855SMatthias Ringwald */ 577941b3855SMatthias Ringwald #define SM_PASSKEY_DISPLAY_NUMBER 0xD2 578941b3855SMatthias Ringwald 579941b3855SMatthias Ringwald /** 580941b3855SMatthias Ringwald * @format H1B 581941b3855SMatthias Ringwald * @param handle 582941b3855SMatthias Ringwald * @param addr_type 583941b3855SMatthias Ringwald * @param address 584941b3855SMatthias Ringwald */ 585941b3855SMatthias Ringwald #define SM_PASSKEY_DISPLAY_CANCEL 0xD3 586941b3855SMatthias Ringwald 587941b3855SMatthias Ringwald /** 588941b3855SMatthias Ringwald * @format H1B421 589941b3855SMatthias Ringwald * @param handle 590941b3855SMatthias Ringwald * @param addr_type 591941b3855SMatthias Ringwald * @param address 592941b3855SMatthias Ringwald */ 593941b3855SMatthias Ringwald #define SM_PASSKEY_INPUT_NUMBER 0xD4 594941b3855SMatthias Ringwald 595941b3855SMatthias Ringwald /** 596941b3855SMatthias Ringwald * @format H1B 597941b3855SMatthias Ringwald * @param handle 598941b3855SMatthias Ringwald * @param addr_type 599941b3855SMatthias Ringwald * @param address 600941b3855SMatthias Ringwald */ 601941b3855SMatthias Ringwald #define SM_PASSKEY_INPUT_CANCEL 0xD5 602941b3855SMatthias Ringwald 603941b3855SMatthias Ringwald /** 604941b3855SMatthias Ringwald * @format H1B 605941b3855SMatthias Ringwald * @param handle 606941b3855SMatthias Ringwald * @param addr_type 607941b3855SMatthias Ringwald * @param address 608941b3855SMatthias Ringwald */ 609941b3855SMatthias Ringwald #define SM_IDENTITY_RESOLVING_STARTED 0xD6 610941b3855SMatthias Ringwald 611941b3855SMatthias Ringwald /** 612941b3855SMatthias Ringwald * @format H1B 613941b3855SMatthias Ringwald * @param handle 614941b3855SMatthias Ringwald * @param addr_type 615941b3855SMatthias Ringwald * @param address 616941b3855SMatthias Ringwald */ 617941b3855SMatthias Ringwald #define SM_IDENTITY_RESOLVING_FAILED 0xD7 618941b3855SMatthias Ringwald 619941b3855SMatthias Ringwald /** 620941b3855SMatthias Ringwald * @format H1B2 621941b3855SMatthias Ringwald * @param handle 622941b3855SMatthias Ringwald * @param addr_type 623941b3855SMatthias Ringwald * @param address 624941b3855SMatthias Ringwald * @param le_device_db_index 625941b3855SMatthias Ringwald */ 626941b3855SMatthias Ringwald #define SM_IDENTITY_RESOLVING_SUCCEEDED 0xD8 627941b3855SMatthias Ringwald 628941b3855SMatthias Ringwald /** 629941b3855SMatthias Ringwald * @format H1B 630941b3855SMatthias Ringwald * @param handle 631941b3855SMatthias Ringwald * @param addr_type 632941b3855SMatthias Ringwald * @param address 633941b3855SMatthias Ringwald */ 634941b3855SMatthias Ringwald #define SM_AUTHORIZATION_REQUEST 0xD9 635941b3855SMatthias Ringwald 636941b3855SMatthias Ringwald /** 637941b3855SMatthias Ringwald * @format H1B1 638941b3855SMatthias Ringwald * @param handle 639941b3855SMatthias Ringwald * @param addr_type 640941b3855SMatthias Ringwald * @param address 641941b3855SMatthias Ringwald * @param authorization_result 642941b3855SMatthias Ringwald */ 643941b3855SMatthias Ringwald #define SM_AUTHORIZATION_RESULT 0xDA 644941b3855SMatthias Ringwald 645941b3855SMatthias Ringwald // GAP 646941b3855SMatthias Ringwald 647941b3855SMatthias Ringwald // data: event(8), len(8), hci_handle (16), security_level (8) 648941b3855SMatthias Ringwald #define GAP_SECURITY_LEVEL 0xE0 649941b3855SMatthias Ringwald 650941b3855SMatthias Ringwald // data: event(8), len(8), status (8), bd_addr(48) 651941b3855SMatthias Ringwald #define GAP_DEDICATED_BONDING_COMPLETED 0xE1 652941b3855SMatthias Ringwald 653941b3855SMatthias Ringwald /** 654941b3855SMatthias Ringwald * @format 11B1JV 655941b3855SMatthias Ringwald * @param advertising_event_type 656941b3855SMatthias Ringwald * @param address_type 657941b3855SMatthias Ringwald * @param address 658941b3855SMatthias Ringwald * @param rssi 659941b3855SMatthias Ringwald * @param data_length 660941b3855SMatthias Ringwald * @param data 661941b3855SMatthias Ringwald */ 662941b3855SMatthias Ringwald #define GAP_LE_ADVERTISING_REPORT 0xE2 663941b3855SMatthias Ringwald 664941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META 0xE8 665941b3855SMatthias Ringwald 666941b3855SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 0x01 667941b3855SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 0x02 668941b3855SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 0x03 669941b3855SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 0x04 670941b3855SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND 0x05 671941b3855SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION 0x06 672941b3855SMatthias Ringwald #define HSP_SUBEVENT_ERROR 0x07 673941b3855SMatthias Ringwald #define HSP_SUBEVENT_RING 0x08 674941b3855SMatthias Ringwald 675941b3855SMatthias Ringwald #define HCI_EVENT_HFP_META 0xE9 676941b3855SMatthias Ringwald 677941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 0x01 678941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 0x02 679941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 0x03 680941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 0x04 681941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE 0x05 682941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 0x06 683941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 0x07 684941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 0x08 685941b3855SMatthias Ringwald #define HFP_SUBEVENT_CODECS_CONNECTION_COMPLETE 0x09 686941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 0x0A 687941b3855SMatthias Ringwald 688941b3855SMatthias Ringwald // ANCS Client 689941b3855SMatthias Ringwald #define ANCS_CLIENT_CONNECTED 0xF0 690941b3855SMatthias Ringwald #define ANCS_CLIENT_NOTIFICATION 0xF1 691941b3855SMatthias Ringwald #define ANCS_CLIENT_DISCONNECTED 0xF2 692941b3855SMatthias Ringwald 693941b3855SMatthias Ringwald // #define HCI_EVENT_HFP_META 0xxx 694941b3855SMatthias Ringwald // #define HCI_EVENT_GATT_META 0xxx 695941b3855SMatthias Ringwald // #define HCI_EVENT_SDP_META 0xxx 696941b3855SMatthias Ringwald // #define HCI_EVENT_ANCS_META 0xxx 697941b3855SMatthias Ringwald // #define HCI_EVENT_SM_META 0xxx 698941b3855SMatthias Ringwald // #define HCI_EVENT_GAP_META 0xxx 699941b3855SMatthias Ringwald // #define HCI_EVENT_BNEP_META 0xxx 700941b3855SMatthias Ringwald // #define HCI_EVENT_PAN_META 0xxx 701941b3855SMatthias Ringwald 702941b3855SMatthias Ringwald #endif 703