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