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