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 49f3963406SMatthias Ringwald 50f3963406SMatthias Ringwald // UNUSED macro 51f3963406SMatthias Ringwald #define UNUSED(x) (void)(sizeof(x)) 52f3963406SMatthias Ringwald 538974fcd6SMatthias Ringwald // TYPES 548974fcd6SMatthias Ringwald 558974fcd6SMatthias Ringwald // packet handler 568974fcd6SMatthias Ringwald typedef void (*btstack_packet_handler_t) (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size); 578974fcd6SMatthias Ringwald 588974fcd6SMatthias Ringwald // packet callback supporting multiple registrations 598974fcd6SMatthias Ringwald typedef struct { 608974fcd6SMatthias Ringwald btstack_linked_item_t item; 618974fcd6SMatthias Ringwald btstack_packet_handler_t callback; 628974fcd6SMatthias Ringwald } btstack_packet_callback_registration_t; 638974fcd6SMatthias Ringwald 64bb38f057SMatthias Ringwald // context callback supporting multiple registrations 65bb38f057SMatthias Ringwald typedef struct { 66bb38f057SMatthias Ringwald btstack_linked_item_t * item; 67bb38f057SMatthias Ringwald void (*callback)(void * context); 68bb38f057SMatthias Ringwald void * context; 69bb38f057SMatthias Ringwald } btstack_context_callback_registration_t; 70bb38f057SMatthias Ringwald 71f7a05cdaSMatthias Ringwald /** 728974fcd6SMatthias Ringwald * @brief 128 bit key used with AES128 in Security Manager 73f7a05cdaSMatthias Ringwald */ 748974fcd6SMatthias Ringwald typedef uint8_t sm_key_t[16]; 75f7a05cdaSMatthias Ringwald 76941b3855SMatthias Ringwald // DEFINES 77941b3855SMatthias Ringwald 78941b3855SMatthias Ringwald #define DAEMON_EVENT_PACKET 0x05 79941b3855SMatthias Ringwald 80941b3855SMatthias Ringwald // L2CAP data 81941b3855SMatthias Ringwald #define L2CAP_DATA_PACKET 0x06 82941b3855SMatthias Ringwald 83941b3855SMatthias Ringwald // RFCOMM data 84941b3855SMatthias Ringwald #define RFCOMM_DATA_PACKET 0x07 85941b3855SMatthias Ringwald 86941b3855SMatthias Ringwald // Attribute protocol data 87941b3855SMatthias Ringwald #define ATT_DATA_PACKET 0x08 88941b3855SMatthias Ringwald 89941b3855SMatthias Ringwald // Security Manager protocol data 90941b3855SMatthias Ringwald #define SM_DATA_PACKET 0x09 91941b3855SMatthias Ringwald 92f1b34e8dSMatthias Ringwald // SDP query result - only used by daemon 93941b3855SMatthias Ringwald // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k) 94941b3855SMatthias Ringwald #define SDP_CLIENT_PACKET 0x0a 95941b3855SMatthias Ringwald 96941b3855SMatthias Ringwald // BNEP data 97941b3855SMatthias Ringwald #define BNEP_DATA_PACKET 0x0b 98941b3855SMatthias Ringwald 99941b3855SMatthias Ringwald // Unicast Connectionless Data 100941b3855SMatthias Ringwald #define UCD_DATA_PACKET 0x0c 101941b3855SMatthias Ringwald 102f1b34e8dSMatthias Ringwald // GOEP data 103f1b34e8dSMatthias Ringwald #define GOEP_DATA_PACKET 0x0d 104f1b34e8dSMatthias Ringwald 105f1b34e8dSMatthias Ringwald // PBAP data 106f1b34e8dSMatthias Ringwald #define PBAP_DATA_PACKET 0x0e 107f1b34e8dSMatthias Ringwald 108941b3855SMatthias Ringwald // debug log messages 109941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET 0xfc 110941b3855SMatthias Ringwald 111941b3855SMatthias Ringwald 112941b3855SMatthias Ringwald // ERRORS 113941b3855SMatthias Ringwald 114941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors 115941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED 0x50 116941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH 0x51 117941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED 0x52 118941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN 0x53 119941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED 0x54 120941b3855SMatthias Ringwald #define BTSTACK_BUSY 0x55 121941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED 0x56 122941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL 0x57 123941b3855SMatthias Ringwald 124941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them 125941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60 126941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61 127941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62 128941b3855SMatthias Ringwald 129941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL 0x63 130941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING 0x64 131941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM 0x65 132941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY 0x66 133941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67 134941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT 0x68 135941b3855SMatthias Ringwald 136941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED 0x69 137941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU 0x6A 1387e8856ebSMatthias Ringwald #define L2CAP_SERVICE_DOES_NOT_EXIST 0x6B 13994530c77SMatthias Ringwald #define L2CAP_LOCAL_CID_DOES_NOT_EXIST 0x6C 140941b3855SMatthias Ringwald 141941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED 0x70 142941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED 0x71 143941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS 0x72 144941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF 0x73 145941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU 0x74 146941b3855SMatthias Ringwald 147941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED 0x80 148941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE 0x81 149941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND 0x82 150941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID 0x83 151e5057641SMatthias Ringwald #define SDP_QUERY_BUSY 0x84 152941b3855SMatthias Ringwald 153941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS 0x90 154941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT 0x91 155941b3855SMatthias Ringwald 156941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED 0x93 157941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY 0x94 158616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE 0x95 159616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96 160616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG 0x97 161616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98 162616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED 0x99 163941b3855SMatthias Ringwald 164941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED 0xA0 165941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED 0xA1 166941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU 0xA2 167941b3855SMatthias Ringwald 16862c64df1SMatthias Ringwald // DAEMON COMMANDS 169b3f90e25SMatthias Ringwald 170b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d 171b3f90e25SMatthias Ringwald 172b3f90e25SMatthias Ringwald // cmds for BTstack 173b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE 174b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE 0x01 175b3f90e25SMatthias Ringwald 176045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE 177b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE 0x02 178b3f90e25SMatthias Ringwald 179045013feSMatthias Ringwald // set capture mode: param on 180b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE 0x03 181b3f90e25SMatthias Ringwald 182b3f90e25SMatthias Ringwald // get BTstack version 183b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION 0x04 184b3f90e25SMatthias Ringwald 185b3f90e25SMatthias Ringwald // get system Bluetooth state 186b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED 0x05 187b3f90e25SMatthias Ringwald 188b3f90e25SMatthias Ringwald // set system Bluetooth state 189b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED 0x06 190b3f90e25SMatthias Ringwald 191b3f90e25SMatthias Ringwald // enable inquiry scan for this client 192b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE 0x07 193b3f90e25SMatthias Ringwald 194b3f90e25SMatthias Ringwald // set global Bluetooth state 195b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED 0x08 196b3f90e25SMatthias Ringwald 197045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16) 198b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL 0x20 199b3f90e25SMatthias Ringwald 200045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8) 201b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT 0x21 202b3f90e25SMatthias Ringwald 203045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16) 204b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE 0x22 205b3f90e25SMatthias Ringwald 206045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16) 207b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE 0x23 208b3f90e25SMatthias Ringwald 209045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16) 210b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION 0x24 211b3f90e25SMatthias Ringwald 212045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8) 213b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION 0x25 214b3f90e25SMatthias Ringwald 215045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16) 216b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU 0x26 217b3f90e25SMatthias Ringwald 218b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size) 219b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD 0x30 220b3f90e25SMatthias Ringwald 221b3f90e25SMatthias Ringwald // unregister SDP Service Record 222b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD 0x31 223b3f90e25SMatthias Ringwald 224b3f90e25SMatthias Ringwald // Get remote RFCOMM services 225b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES 0x32 226b3f90e25SMatthias Ringwald 227b3f90e25SMatthias Ringwald // Get remote SDP services 228b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES 0x33 229b3f90e25SMatthias Ringwald 230b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands 231b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL 0x40 232b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT 0x41 233b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE 0x42 234b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE 0x43 235b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION 0x44 236b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION 0x45 237b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL 0x46 238b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS 0x47 239b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48 240b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS 0x49 241b3f90e25SMatthias Ringwald 242b3f90e25SMatthias Ringwald // GAP Classic 0x50 243b3f90e25SMatthias Ringwald #define GAP_DISCONNECT 0x50 244b3f90e25SMatthias Ringwald 245b3f90e25SMatthias Ringwald // GAP LE 0x60 246b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START 0x60 247b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP 0x61 248b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT 0x62 249b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL 0x63 250b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS 0x64 251b3f90e25SMatthias Ringwald 252b3f90e25SMatthias Ringwald // GATT (Client) 0x70 253b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES 0x70 254b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16 0x71 255b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128 0x72 256b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE 0x73 257b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE 0x74 258b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128 0x75 259b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS 0x76 260b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC 0x77 261b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC 0x78 262b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE 0x79 263b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC 0x7A 264b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7B 265b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7C 266b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR 0X7D 267b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR 0X7E 268b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR 0X7F 269b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR 0X80 270b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION 0X81 271b3f90e25SMatthias Ringwald #define GATT_GET_MTU 0x82 272b3f90e25SMatthias Ringwald 273f1b34e8dSMatthias Ringwald // OBEX ERRORS 274f1b34e8dSMatthias Ringwald #define OBEX_UNKNOWN_ERROR 0x90 275f1b34e8dSMatthias Ringwald #define OBEX_CONNECT_FAILED 0x91 276f1b34e8dSMatthias Ringwald #define OBEX_DISCONNECTED 0x92 277f1b34e8dSMatthias Ringwald #define OBEX_NOT_FOUND 0x93 27862c64df1SMatthias Ringwald 279941b3855SMatthias Ringwald // EVENTS 280941b3855SMatthias Ringwald 281941b3855SMatthias Ringwald /** 282941b3855SMatthias Ringwald * @format 1 283941b3855SMatthias Ringwald * @param state 284941b3855SMatthias Ringwald */ 285941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE 0x60 286941b3855SMatthias Ringwald 28752aef63fSMatthias Ringwald /** 28852aef63fSMatthias Ringwald * @format 1 28952aef63fSMatthias Ringwald * @param number_connections 29052aef63fSMatthias Ringwald */ 291941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 0x61 292941b3855SMatthias Ringwald 293941b3855SMatthias Ringwald /** 294941b3855SMatthias Ringwald * @format 295941b3855SMatthias Ringwald */ 296941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED 0x62 297941b3855SMatthias Ringwald 298941b3855SMatthias Ringwald /** 299827b1c43SMatthias Ringwald * @format 1 300827b1c43SMatthias Ringwald * @param discoverable 301827b1c43SMatthias Ringwald */ 302827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED 0x66 303827b1c43SMatthias Ringwald 304827b1c43SMatthias Ringwald // Daemon Events 305827b1c43SMatthias Ringwald 306827b1c43SMatthias Ringwald /** 307941b3855SMatthias Ringwald * @format 112 308941b3855SMatthias Ringwald * @param major 309941b3855SMatthias Ringwald * @param minor 310941b3855SMatthias Ringwald @ @param revision 311941b3855SMatthias Ringwald */ 312827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION 0x63 313941b3855SMatthias Ringwald 314941b3855SMatthias Ringwald // data: system bluetooth on/off (bool) 315e2334cdcSMatthias Ringwald /** 316e2334cdcSMatthias Ringwald * @format 1 317e2334cdcSMatthias Ringwald * param system_bluetooth_enabled 318e2334cdcSMatthias Ringwald */ 319827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 0x64 320941b3855SMatthias Ringwald 321941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes) 322e2334cdcSMatthias Ringwald 323e2334cdcSMatthias Ringwald /* 324e2334cdcSMatthias Ringwald * @format 1BT 325e2334cdcSMatthias Ringwald * @param status == 0 to match read_remote_name_request 326e2334cdcSMatthias Ringwald * @param address 327e2334cdcSMatthias Ringwald * @param name 328e2334cdcSMatthias Ringwald */ 329827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED 0x65 330941b3855SMatthias Ringwald 33162c64df1SMatthias Ringwald // internal - data: event(8) 332e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED 0x67 333941b3855SMatthias Ringwald 33462c64df1SMatthias Ringwald // internal - data: event(8) 335e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED 0x68 336941b3855SMatthias Ringwald 33762c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8) 33862c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS 0x74 33962c64df1SMatthias Ringwald 34062c64df1SMatthias Ringwald /** 34162c64df1SMatthias Ringwald * @format 12 34262c64df1SMatthias Ringwald * @param status 34362c64df1SMatthias Ringwald * @param psm 34462c64df1SMatthias Ringwald */ 34562c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 0x75 34662c64df1SMatthias Ringwald 34762c64df1SMatthias Ringwald /** 34862c64df1SMatthias Ringwald * @format 21 34962c64df1SMatthias Ringwald * @param rfcomm_cid 35062c64df1SMatthias Ringwald * @param credits 35162c64df1SMatthias Ringwald */ 35262c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS 0x84 35362c64df1SMatthias Ringwald 35462c64df1SMatthias Ringwald /** 35562c64df1SMatthias Ringwald * @format 11 35662c64df1SMatthias Ringwald * @param status 35762c64df1SMatthias Ringwald * @param channel_id 35862c64df1SMatthias Ringwald */ 359fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 0x85 360fea5a680SMatthias Ringwald 36162c64df1SMatthias Ringwald /** 36262c64df1SMatthias Ringwald * @format 11 36362c64df1SMatthias Ringwald * @param status 36462c64df1SMatthias Ringwald * @param server_channel_id 36562c64df1SMatthias Ringwald */ 36662c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 0x86 36762c64df1SMatthias Ringwald 36862c64df1SMatthias Ringwald /** 36962c64df1SMatthias Ringwald * @format 14 37062c64df1SMatthias Ringwald * @param status 37162c64df1SMatthias Ringwald * @param service_record_handle 37262c64df1SMatthias Ringwald */ 37362c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED 0x90 37462c64df1SMatthias Ringwald 37562c64df1SMatthias Ringwald 376827b1c43SMatthias Ringwald 3773bc639ceSMatthias Ringwald // additional HCI events 37863fa3374SMatthias Ringwald 37963fa3374SMatthias Ringwald /** 38062ca45d7SMatthias Ringwald * @brief Indicates HCI transport enters/exits Sleep mode 38162ca45d7SMatthias Ringwald * @format 1 38262ca45d7SMatthias Ringwald * @param active 38362ca45d7SMatthias Ringwald */ 384d16a0392SMatthias Ringwald #define HCI_EVENT_TRANSPORT_SLEEP_MODE 0x69 38562ca45d7SMatthias Ringwald 38662ca45d7SMatthias Ringwald /** 38763fa3374SMatthias Ringwald * @brief Outgoing packet 38863fa3374SMatthias Ringwald */ 38963fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT 0x6E 39063fa3374SMatthias Ringwald 3913bc639ceSMatthias Ringwald /** 3923bc639ceSMatthias Ringwald * @format B 3933bc639ceSMatthias Ringwald * @param handle 3943bc639ceSMatthias Ringwald */ 3953bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW 0x6F 3963bc639ceSMatthias Ringwald 39762c64df1SMatthias Ringwald 398941b3855SMatthias Ringwald // L2CAP EVENTS 399941b3855SMatthias Ringwald 400b072ba33SMatthias Ringwald /** 401bab5f4f0SMatthias Ringwald * @format 1BH2222221 402b072ba33SMatthias Ringwald * @param status 403b072ba33SMatthias Ringwald * @param address 404b072ba33SMatthias Ringwald * @param handle 405b072ba33SMatthias Ringwald * @param psm 406b072ba33SMatthias Ringwald * @param local_cid 407b072ba33SMatthias Ringwald * @param remote_cid 408b072ba33SMatthias Ringwald * @param local_mtu 409b072ba33SMatthias Ringwald * @param remote_mtu 410b072ba33SMatthias Ringwald * @param flush_timeout 411bab5f4f0SMatthias Ringwald * @param incoming 412b072ba33SMatthias Ringwald */ 413941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED 0x70 414941b3855SMatthias Ringwald 415b072ba33SMatthias Ringwald /* 416b072ba33SMatthias Ringwald * @format 2 417b072ba33SMatthias Ringwald * @param local_cid 418b072ba33SMatthias Ringwald */ 419941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED 0x71 420941b3855SMatthias Ringwald 421b072ba33SMatthias Ringwald /** 4226d4269d3SMilanka Ringwald * @format BH222 423b072ba33SMatthias Ringwald * @param address 424b072ba33SMatthias Ringwald * @param handle 425b072ba33SMatthias Ringwald * @param psm 426b072ba33SMatthias Ringwald * @param local_cid 427b072ba33SMatthias Ringwald * @param remote_cid 428b072ba33SMatthias Ringwald */ 429941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION 0x72 430941b3855SMatthias Ringwald 431b072ba33SMatthias Ringwald // ?? 432941b3855SMatthias Ringwald // data: event(8), len(8), handle(16) 433941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK 0x73 434941b3855SMatthias Ringwald 435b072ba33SMatthias Ringwald /** 436b072ba33SMatthias Ringwald * @format H2222 437b072ba33SMatthias Ringwald * @param handle 438b072ba33SMatthias Ringwald * @param interval_min 439b072ba33SMatthias Ringwald * @param interval_max 440b072ba33SMatthias Ringwald * @param latencey 441b072ba33SMatthias Ringwald * @param timeout_multiplier 442b072ba33SMatthias Ringwald */ 443941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 0x76 444941b3855SMatthias Ringwald 445941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail) 446b072ba33SMatthias Ringwald /** 447b072ba33SMatthias Ringwald * @format H2 448b072ba33SMatthias Ringwald * @param handle 4492c737695SMatthias Ringwald * @param result 450b072ba33SMatthias Ringwald */ 451941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 0x77 452941b3855SMatthias Ringwald 453b072ba33SMatthias Ringwald /** 454b072ba33SMatthias Ringwald * @format 2 455b072ba33SMatthias Ringwald * @param local_cid 456b072ba33SMatthias Ringwald */ 457b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW 0x78 458b072ba33SMatthias Ringwald 45944276248SMatthias Ringwald // LE Data Channels 46044276248SMatthias Ringwald 46144276248SMatthias Ringwald /** 46244276248SMatthias Ringwald * @format 1BH2222 46344276248SMatthias Ringwald * @param address_type 46444276248SMatthias Ringwald * @param address 46544276248SMatthias Ringwald * @param handle 46644276248SMatthias Ringwald * @param psm 46744276248SMatthias Ringwald * @param local_cid 46844276248SMatthias Ringwald * @param remote_cid 46944276248SMatthias Ringwald * @param remote_mtu 47044276248SMatthias Ringwald */ 47144276248SMatthias Ringwald #define L2CAP_EVENT_LE_INCOMING_CONNECTION 0x79 47244276248SMatthias Ringwald 47344276248SMatthias Ringwald /** 47412242deaSMatthias Ringwald * @format 11BH122222 47544276248SMatthias Ringwald * @param status 47644276248SMatthias Ringwald * @param address_type 47744276248SMatthias Ringwald * @param address 47844276248SMatthias Ringwald * @param handle 47912242deaSMatthias Ringwald * @param incoming 48044276248SMatthias Ringwald * @param psm 48144276248SMatthias Ringwald * @param local_cid 48244276248SMatthias Ringwald * @param remote_cid 48344276248SMatthias Ringwald * @param local_mtu 48444276248SMatthias Ringwald * @param remote_mtu 48544276248SMatthias Ringwald */ 48644276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_OPENED 0x7a 48744276248SMatthias Ringwald 48844276248SMatthias Ringwald /* 48944276248SMatthias Ringwald * @format 2 49044276248SMatthias Ringwald * @param local_cid 49144276248SMatthias Ringwald */ 49244276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_CLOSED 0x7b 49344276248SMatthias Ringwald 49444276248SMatthias Ringwald /* 49544276248SMatthias Ringwald * @format 2 49644276248SMatthias Ringwald * @param local_cid 49744276248SMatthias Ringwald */ 49844276248SMatthias Ringwald #define L2CAP_EVENT_LE_CAN_SEND_NOW 0x7c 49944276248SMatthias Ringwald 50044276248SMatthias Ringwald /* 50144276248SMatthias Ringwald * @format 2 50244276248SMatthias Ringwald * @param local_cid 50344276248SMatthias Ringwald */ 50444276248SMatthias Ringwald #define L2CAP_EVENT_LE_PACKET_SENT 0x7d 50544276248SMatthias Ringwald 50644276248SMatthias Ringwald 507941b3855SMatthias Ringwald // RFCOMM EVENTS 508b072ba33SMatthias Ringwald 509941b3855SMatthias Ringwald /** 510bab5f4f0SMatthias Ringwald * @format 1B21221 511941b3855SMatthias Ringwald * @param status 512941b3855SMatthias Ringwald * @param bd_addr 513941b3855SMatthias Ringwald * @param con_handle 514941b3855SMatthias Ringwald * @param server_channel 515941b3855SMatthias Ringwald * @param rfcomm_cid 516941b3855SMatthias Ringwald * @param max_frame_size 517bab5f4f0SMatthias Ringwald * @param incoming 518941b3855SMatthias Ringwald */ 519f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED 0x80 520941b3855SMatthias Ringwald 521941b3855SMatthias Ringwald /** 522941b3855SMatthias Ringwald * @format 2 523941b3855SMatthias Ringwald * @param rfcomm_cid 524941b3855SMatthias Ringwald */ 525941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED 0x81 526941b3855SMatthias Ringwald 527941b3855SMatthias Ringwald /** 528941b3855SMatthias Ringwald * @format B12 529941b3855SMatthias Ringwald * @param bd_addr 530941b3855SMatthias Ringwald * @param server_channel 531941b3855SMatthias Ringwald * @param rfcomm_cid 532941b3855SMatthias Ringwald */ 533941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION 0x82 534941b3855SMatthias Ringwald 535941b3855SMatthias Ringwald /** 536941b3855SMatthias Ringwald * @format 21 537941b3855SMatthias Ringwald * @param rfcomm_cid 538941b3855SMatthias Ringwald * @param line_status 539941b3855SMatthias Ringwald */ 540941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS 0x83 541941b3855SMatthias Ringwald 542941b3855SMatthias Ringwald /** 543941b3855SMatthias Ringwald * @format 21 544941b3855SMatthias Ringwald * @param rfcomm_cid 545941b3855SMatthias Ringwald * @param modem_status 546941b3855SMatthias Ringwald */ 547941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS 0x87 548941b3855SMatthias Ringwald 549941b3855SMatthias Ringwald /** 5507bd8e93bSMatthias Ringwald * TODO: format for variable data 2? 551045013feSMatthias Ringwald * param rfcomm_cid 552045013feSMatthias Ringwald * param rpn_data 553941b3855SMatthias Ringwald */ 554941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION 0x88 555941b3855SMatthias Ringwald 556941b3855SMatthias Ringwald /** 557b072ba33SMatthias Ringwald * @format 2 55862c468cbSMatthias Ringwald * @param rfcomm_cid 559b072ba33SMatthias Ringwald */ 560b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW 0x89 561b072ba33SMatthias Ringwald 562b072ba33SMatthias Ringwald 563b072ba33SMatthias Ringwald /** 564941b3855SMatthias Ringwald * @format 1 565941b3855SMatthias Ringwald * @param status 566941b3855SMatthias Ringwald */ 5675611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE 0x91 568941b3855SMatthias Ringwald 569941b3855SMatthias Ringwald /** 570941b3855SMatthias Ringwald * @format 1T 571941b3855SMatthias Ringwald * @param rfcomm_channel 572941b3855SMatthias Ringwald * @param name 573941b3855SMatthias Ringwald */ 5745611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE 0x92 575941b3855SMatthias Ringwald 576941b3855SMatthias Ringwald /** 5774225393cSMatthias Ringwald * @format 22221 5784225393cSMatthias Ringwald * @param record_id 579941b3855SMatthias Ringwald * @param attribute_id 5804225393cSMatthias Ringwald * @param attribute_length 5814225393cSMatthias Ringwald * @param data_offset 5824225393cSMatthias Ringwald * @param data 583941b3855SMatthias Ringwald */ 5845611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE 0x93 585941b3855SMatthias Ringwald 5864de250b4SMatthias Ringwald /** 5874de250b4SMatthias Ringwald * @format 22LV 5884de250b4SMatthias Ringwald * @param record_id 5894de250b4SMatthias Ringwald * @param attribute_id 5904de250b4SMatthias Ringwald * @param attribute_length 5914de250b4SMatthias Ringwald * @param attribute_value 5924de250b4SMatthias Ringwald */ 5935611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE 0x94 5944225393cSMatthias Ringwald 5954225393cSMatthias Ringwald /** 5964225393cSMatthias Ringwald * @format 224 5974225393cSMatthias Ringwald * @param total_count 5984225393cSMatthias Ringwald * @param record_index 5994225393cSMatthias Ringwald * @param record_handle 6004225393cSMatthias Ringwald * @note Not provided by daemon, only used for internal testing 6014225393cSMatthias Ringwald */ 6025611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 0x95 603941b3855SMatthias Ringwald 604941b3855SMatthias Ringwald /** 605941b3855SMatthias Ringwald * @format H1 606941b3855SMatthias Ringwald * @param handle 607941b3855SMatthias Ringwald * @param status 608941b3855SMatthias Ringwald */ 6095611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE 0xA0 610941b3855SMatthias Ringwald 611941b3855SMatthias Ringwald /** 612941b3855SMatthias Ringwald * @format HX 613941b3855SMatthias Ringwald * @param handle 614941b3855SMatthias Ringwald * @param service 615941b3855SMatthias Ringwald */ 6165611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT 0xA1 617941b3855SMatthias Ringwald 618941b3855SMatthias Ringwald /** 619941b3855SMatthias Ringwald * @format HY 620941b3855SMatthias Ringwald * @param handle 621941b3855SMatthias Ringwald * @param characteristic 622941b3855SMatthias Ringwald */ 6235611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 0xA2 624941b3855SMatthias Ringwald 625941b3855SMatthias Ringwald /** 626941b3855SMatthias Ringwald * @format H2X 627941b3855SMatthias Ringwald * @param handle 628941b3855SMatthias Ringwald * @param include_handle 629941b3855SMatthias Ringwald * @param service 630941b3855SMatthias Ringwald */ 6315611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 0xA3 632941b3855SMatthias Ringwald 633941b3855SMatthias Ringwald /** 634941b3855SMatthias Ringwald * @format HZ 635941b3855SMatthias Ringwald * @param handle 636941b3855SMatthias Ringwald * @param characteristic_descriptor 637941b3855SMatthias Ringwald */ 6385611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 0xA4 639941b3855SMatthias Ringwald 640941b3855SMatthias Ringwald /** 641941b3855SMatthias Ringwald * @format H2LV 642941b3855SMatthias Ringwald * @param handle 643941b3855SMatthias Ringwald * @param value_handle 644941b3855SMatthias Ringwald * @param value_length 645941b3855SMatthias Ringwald * @param value 646941b3855SMatthias Ringwald */ 6475611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA5 648941b3855SMatthias Ringwald 649941b3855SMatthias Ringwald /** 650941b3855SMatthias Ringwald * @format H22LV 651941b3855SMatthias Ringwald * @param handle 652941b3855SMatthias Ringwald * @param value_handle 653941b3855SMatthias Ringwald * @param value_offset 654941b3855SMatthias Ringwald * @param value_length 655941b3855SMatthias Ringwald * @param value 656941b3855SMatthias Ringwald */ 6575611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA6 658941b3855SMatthias Ringwald 659941b3855SMatthias Ringwald /** 660941b3855SMatthias Ringwald * @format H2LV 661941b3855SMatthias Ringwald * @param handle 662941b3855SMatthias Ringwald * @param value_handle 663941b3855SMatthias Ringwald * @param value_length 664941b3855SMatthias Ringwald * @param value 665941b3855SMatthias Ringwald */ 6665611a760SMatthias Ringwald #define GATT_EVENT_NOTIFICATION 0xA7 667941b3855SMatthias Ringwald 668941b3855SMatthias Ringwald /** 669941b3855SMatthias Ringwald * @format H2LV 670941b3855SMatthias Ringwald * @param handle 671941b3855SMatthias Ringwald * @param value_handle 672941b3855SMatthias Ringwald * @param value_length 673941b3855SMatthias Ringwald * @param value 674941b3855SMatthias Ringwald */ 6755611a760SMatthias Ringwald #define GATT_EVENT_INDICATION 0xA8 676941b3855SMatthias Ringwald 677941b3855SMatthias Ringwald /** 678941b3855SMatthias Ringwald * @format H2LV 6792c737695SMatthias Ringwald * @param handle 680941b3855SMatthias Ringwald * @param descriptor_handle 681941b3855SMatthias Ringwald * @param descriptor_length 682941b3855SMatthias Ringwald * @param descriptor 683941b3855SMatthias Ringwald */ 6845611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xA9 685941b3855SMatthias Ringwald 686941b3855SMatthias Ringwald /** 687941b3855SMatthias Ringwald * @format H2LV 688941b3855SMatthias Ringwald * @param handle 689941b3855SMatthias Ringwald * @param descriptor_offset 690941b3855SMatthias Ringwald * @param descriptor_length 691941b3855SMatthias Ringwald * @param descriptor 692941b3855SMatthias Ringwald */ 6935611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xAA 694941b3855SMatthias Ringwald 695941b3855SMatthias Ringwald /** 696941b3855SMatthias Ringwald * @format H2 697941b3855SMatthias Ringwald * @param handle 698941b3855SMatthias Ringwald * @param MTU 699941b3855SMatthias Ringwald */ 7005611a760SMatthias Ringwald #define GATT_EVENT_MTU 0xAB 701941b3855SMatthias Ringwald 702941b3855SMatthias Ringwald /** 703941b3855SMatthias Ringwald * @format H2 704941b3855SMatthias Ringwald * @param handle 705941b3855SMatthias Ringwald * @param MTU 706941b3855SMatthias Ringwald */ 7075611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE 0xB5 708941b3855SMatthias Ringwald 70949d18261SMatthias Ringwald /** 71049d18261SMatthias Ringwald * @format 1H2 71149d18261SMatthias Ringwald * @param status 71249d18261SMatthias Ringwald * @param conn_handle 71349d18261SMatthias Ringwald * @param attribute_handle 71449d18261SMatthias Ringwald */ 7155611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 0xB6 716941b3855SMatthias Ringwald 71749d18261SMatthias Ringwald /** 71849d18261SMatthias Ringwald * @format 71949d18261SMatthias Ringwald */ 72049d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW 0xB7 721941b3855SMatthias Ringwald 72249d18261SMatthias Ringwald // TODO: daemon only event 72349d18261SMatthias Ringwald 72449d18261SMatthias Ringwald /** 72549d18261SMatthias Ringwald * @format 12 72649d18261SMatthias Ringwald * @param status 72749d18261SMatthias Ringwald * @param service_uuid 72849d18261SMatthias Ringwald */ 729941b3855SMatthias Ringwald #define BNEP_EVENT_SERVICE_REGISTERED 0xC0 730941b3855SMatthias Ringwald 73149d18261SMatthias Ringwald /** 732423c667cSMatthias Ringwald * @format 12222B 73349d18261SMatthias Ringwald * @param status 734423c667cSMatthias Ringwald * @param bnep_cid 73549d18261SMatthias Ringwald * @param source_uuid 73649d18261SMatthias Ringwald * @param destination_uuid 73749d18261SMatthias Ringwald * @param mtu 73849d18261SMatthias Ringwald * @param remote_address 73949d18261SMatthias Ringwald */ 740423c667cSMatthias Ringwald #define BNEP_EVENT_CHANNEL_OPENED 0xC1 741941b3855SMatthias Ringwald 74249d18261SMatthias Ringwald /** 743423c667cSMatthias Ringwald * @format 222B 744423c667cSMatthias Ringwald * @param bnep_cid 74549d18261SMatthias Ringwald * @param source_uuid 74649d18261SMatthias Ringwald * @param destination_uuid 74749d18261SMatthias Ringwald * @param remote_address 74849d18261SMatthias Ringwald */ 749941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_CLOSED 0xC2 750941b3855SMatthias Ringwald 75149d18261SMatthias Ringwald /** 752423c667cSMatthias Ringwald * @format 222B1 753423c667cSMatthias Ringwald * @param bnep_cid 75449d18261SMatthias Ringwald * @param source_uuid 75549d18261SMatthias Ringwald * @param destination_uuid 75649d18261SMatthias Ringwald * @param remote_address 75749d18261SMatthias Ringwald * @param channel_state 75849d18261SMatthias Ringwald */ 759941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT 0xC3 760941b3855SMatthias Ringwald 76149d18261SMatthias Ringwald /** 762423c667cSMatthias Ringwald * @format 222B 763423c667cSMatthias Ringwald * @param bnep_cid 76449d18261SMatthias Ringwald * @param source_uuid 76549d18261SMatthias Ringwald * @param destination_uuid 76649d18261SMatthias Ringwald * @param remote_address 76749d18261SMatthias Ringwald */ 7682d4c8c04SMatthias Ringwald #define BNEP_EVENT_CAN_SEND_NOW 0xC4 769941b3855SMatthias Ringwald 770941b3855SMatthias Ringwald /** 771941b3855SMatthias Ringwald * @format H1B 772941b3855SMatthias Ringwald * @param handle 773941b3855SMatthias Ringwald * @param addr_type 774941b3855SMatthias Ringwald * @param address 775941b3855SMatthias Ringwald */ 7765611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST 0xD0 777941b3855SMatthias Ringwald 778941b3855SMatthias Ringwald /** 779941b3855SMatthias Ringwald * @format H1B 780941b3855SMatthias Ringwald * @param handle 781941b3855SMatthias Ringwald * @param addr_type 782941b3855SMatthias Ringwald * @param address 783941b3855SMatthias Ringwald */ 7845611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL 0xD1 785941b3855SMatthias Ringwald 786941b3855SMatthias Ringwald /** 787941b3855SMatthias Ringwald * @format H1B4 788941b3855SMatthias Ringwald * @param handle 789941b3855SMatthias Ringwald * @param addr_type 790941b3855SMatthias Ringwald * @param address 791941b3855SMatthias Ringwald * @param passkey 792941b3855SMatthias Ringwald */ 7935611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER 0xD2 794941b3855SMatthias Ringwald 795941b3855SMatthias Ringwald /** 796941b3855SMatthias Ringwald * @format H1B 797941b3855SMatthias Ringwald * @param handle 798941b3855SMatthias Ringwald * @param addr_type 799941b3855SMatthias Ringwald * @param address 800941b3855SMatthias Ringwald */ 8015611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL 0xD3 802941b3855SMatthias Ringwald 803941b3855SMatthias Ringwald /** 8042c737695SMatthias Ringwald * @format H1B 805941b3855SMatthias Ringwald * @param handle 806941b3855SMatthias Ringwald * @param addr_type 807941b3855SMatthias Ringwald * @param address 808941b3855SMatthias Ringwald */ 8095611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER 0xD4 810941b3855SMatthias Ringwald 811941b3855SMatthias Ringwald /** 812941b3855SMatthias Ringwald * @format H1B 813941b3855SMatthias Ringwald * @param handle 814941b3855SMatthias Ringwald * @param addr_type 815941b3855SMatthias Ringwald * @param address 816941b3855SMatthias Ringwald */ 8175611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL 0xD5 818941b3855SMatthias Ringwald 819941b3855SMatthias Ringwald /** 8208362d86aSMatthias Ringwald * @format H1B4 8218362d86aSMatthias Ringwald * @param handle 8228362d86aSMatthias Ringwald * @param addr_type 8238362d86aSMatthias Ringwald * @param address 8248362d86aSMatthias Ringwald * @param passkey 8258362d86aSMatthias Ringwald */ 8268362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST 0xD6 8278362d86aSMatthias Ringwald 8288362d86aSMatthias Ringwald /** 8292c737695SMatthias Ringwald * @format H1B 830941b3855SMatthias Ringwald * @param handle 831941b3855SMatthias Ringwald * @param addr_type 832941b3855SMatthias Ringwald * @param address 833941b3855SMatthias Ringwald */ 8348362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL 0xD7 835941b3855SMatthias Ringwald 836941b3855SMatthias Ringwald /** 837941b3855SMatthias Ringwald * @format H1B 838941b3855SMatthias Ringwald * @param handle 839941b3855SMatthias Ringwald * @param addr_type 840941b3855SMatthias Ringwald * @param address 841941b3855SMatthias Ringwald */ 8428362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED 0xD8 8438362d86aSMatthias Ringwald 8448362d86aSMatthias Ringwald /** 8458362d86aSMatthias Ringwald * @format H1B 8468362d86aSMatthias Ringwald * @param handle 8478362d86aSMatthias Ringwald * @param addr_type 8488362d86aSMatthias Ringwald * @param address 8498362d86aSMatthias Ringwald */ 8508362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED 0xD9 851941b3855SMatthias Ringwald 852941b3855SMatthias Ringwald /** 85384182ed9SMatthias Ringwald * @brief Identify resolving succeeded 85484182ed9SMatthias Ringwald * 855334126b3SMatthias Ringwald * @format H1B1B2 856941b3855SMatthias Ringwald * @param handle 857941b3855SMatthias Ringwald * @param addr_type 858941b3855SMatthias Ringwald * @param address 85984182ed9SMatthias Ringwald * @param identity_addr_type 86084182ed9SMatthias Ringwald * @param identity_address 861334126b3SMatthias Ringwald * @param index_internal 86284182ed9SMatthias Ringwald * 863941b3855SMatthias Ringwald */ 8648362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 0xDA 865941b3855SMatthias Ringwald 866941b3855SMatthias Ringwald /** 867941b3855SMatthias Ringwald * @format H1B 868941b3855SMatthias Ringwald * @param handle 869941b3855SMatthias Ringwald * @param addr_type 870941b3855SMatthias Ringwald * @param address 871941b3855SMatthias Ringwald */ 8728362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST 0xDB 873941b3855SMatthias Ringwald 874941b3855SMatthias Ringwald /** 875941b3855SMatthias Ringwald * @format H1B1 876941b3855SMatthias Ringwald * @param handle 877941b3855SMatthias Ringwald * @param addr_type 878941b3855SMatthias Ringwald * @param address 879941b3855SMatthias Ringwald * @param authorization_result 880941b3855SMatthias Ringwald */ 8818362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT 0xDC 882941b3855SMatthias Ringwald 8833d7fe1e9SMatthias Ringwald /** 8843d7fe1e9SMatthias Ringwald * @format H1 8853d7fe1e9SMatthias Ringwald * @param handle 8863d7fe1e9SMatthias Ringwald * @param action see SM_KEYPRESS_* 8873d7fe1e9SMatthias Ringwald */ 8883d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION 0xDD 8893d7fe1e9SMatthias Ringwald 89084182ed9SMatthias Ringwald /** 89184182ed9SMatthias Ringwald * @brief Emitted during pairing to inform app about address used as identity 89284182ed9SMatthias Ringwald * 89384182ed9SMatthias Ringwald * @format H1B1B 89484182ed9SMatthias Ringwald * @param handle 89584182ed9SMatthias Ringwald * @param addr_type 89684182ed9SMatthias Ringwald * @param address 89784182ed9SMatthias Ringwald * @param identity_addr_type 89884182ed9SMatthias Ringwald * @param identity_address 89984182ed9SMatthias Ringwald */ 90084182ed9SMatthias Ringwald #define SM_EVENT_IDENTITY_CREATED 0xDE 9013d7fe1e9SMatthias Ringwald 902941b3855SMatthias Ringwald // GAP 903941b3855SMatthias Ringwald 90446bc5396SMilanka Ringwald /** 90546bc5396SMilanka Ringwald * @format H1 90646bc5396SMilanka Ringwald * @param handle 90746bc5396SMilanka Ringwald * @param security_level 90846bc5396SMilanka Ringwald */ 9095611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL 0xE0 910941b3855SMatthias Ringwald 91146bc5396SMilanka Ringwald /** 91246bc5396SMilanka Ringwald * @format 1B 91346bc5396SMilanka Ringwald * @param status 91446bc5396SMilanka Ringwald * @param address 91546bc5396SMilanka Ringwald */ 9165611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED 0xE1 917941b3855SMatthias Ringwald 918941b3855SMatthias Ringwald /** 919941b3855SMatthias Ringwald * @format 11B1JV 920941b3855SMatthias Ringwald * @param advertising_event_type 921941b3855SMatthias Ringwald * @param address_type 922941b3855SMatthias Ringwald * @param address 923941b3855SMatthias Ringwald * @param rssi 924941b3855SMatthias Ringwald * @param data_length 925941b3855SMatthias Ringwald * @param data 926941b3855SMatthias Ringwald */ 927045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT 0xE2 928941b3855SMatthias Ringwald 929827b1c43SMatthias Ringwald 930e10ce426SMatthias Ringwald // Meta Events, see below for sub events 931941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META 0xE8 93239d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META 0xE9 933e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META 0xEA 934beaf082cSMatthias Ringwald #define HCI_EVENT_AVDTP_META 0xEB 935decc740cSMilanka Ringwald #define HCI_EVENT_AVRCP_META 0xEC 936f1b34e8dSMatthias Ringwald #define HCI_EVENT_GOEP_META 0xED 937f1b34e8dSMatthias Ringwald #define HCI_EVENT_PBAP_META 0xEE 93839d235cbSMatthias Ringwald 939e10ce426SMatthias Ringwald // Potential other meta groups 940e10ce426SMatthias Ringwald // #define HCI_EVENT_BNEP_META 0xxx 941e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META 0xxx 942e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META 0xxx 943e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META 0xxx 944e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META 0xxx 945e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META 0xxx 94639d235cbSMatthias Ringwald 947d63c37a1SMatthias Ringwald 948d63c37a1SMatthias Ringwald /** HSP Subevent */ 949d63c37a1SMatthias Ringwald 950827b1c43SMatthias Ringwald /** 95199a10067SMatthias Ringwald * @format 11 952827b1c43SMatthias Ringwald * @param subevent_code 953827b1c43SMatthias Ringwald * @param status 0 == OK 954827b1c43SMatthias Ringwald */ 95599a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 0x01 95699a10067SMatthias Ringwald 95799a10067SMatthias Ringwald /** 95899a10067SMatthias Ringwald * @format 11 95999a10067SMatthias Ringwald * @param subevent_code 96099a10067SMatthias Ringwald * @param status 0 == OK 96199a10067SMatthias Ringwald */ 96299a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 0x02 96399a10067SMatthias Ringwald 96499a10067SMatthias Ringwald 96599a10067SMatthias Ringwald /** 96662c468cbSMatthias Ringwald * @format 11H 96799a10067SMatthias Ringwald * @param subevent_code 96899a10067SMatthias Ringwald * @param status 0 == OK 96962c468cbSMatthias Ringwald * @param handle 97099a10067SMatthias Ringwald */ 97199a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 0x03 972827b1c43SMatthias Ringwald 973827b1c43SMatthias Ringwald /** 974827b1c43SMatthias Ringwald * @format 11 975827b1c43SMatthias Ringwald * @param subevent_code 976827b1c43SMatthias Ringwald * @param status 0 == OK 977827b1c43SMatthias Ringwald */ 97899a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 0x04 979827b1c43SMatthias Ringwald 980827b1c43SMatthias Ringwald /** 981827b1c43SMatthias Ringwald * @format 1 982827b1c43SMatthias Ringwald * @param subevent_code 983827b1c43SMatthias Ringwald */ 98499a10067SMatthias Ringwald #define HSP_SUBEVENT_RING 0x05 985827b1c43SMatthias Ringwald 986827b1c43SMatthias Ringwald /** 987827b1c43SMatthias Ringwald * @format 11 988827b1c43SMatthias Ringwald * @param subevent_code 989827b1c43SMatthias Ringwald * @param gain Valid range: [0,15] 990827b1c43SMatthias Ringwald */ 99199a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 0x06 992827b1c43SMatthias Ringwald 993827b1c43SMatthias Ringwald /** 994827b1c43SMatthias Ringwald * @format 11 995827b1c43SMatthias Ringwald * @param subevent_code 996827b1c43SMatthias Ringwald * @param gain Valid range: [0,15] 997827b1c43SMatthias Ringwald */ 99899a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 0x07 999827b1c43SMatthias Ringwald 1000827b1c43SMatthias Ringwald /** 1001827b1c43SMatthias Ringwald * @format 1JV 1002827b1c43SMatthias Ringwald * @param subevent_code 1003827b1c43SMatthias Ringwald * @param value_length 1004827b1c43SMatthias Ringwald * @param value 1005827b1c43SMatthias Ringwald */ 100699a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND 0x08 1007827b1c43SMatthias Ringwald 1008827b1c43SMatthias Ringwald /** 1009827b1c43SMatthias Ringwald * @format 1JV 1010827b1c43SMatthias Ringwald * @param subevent_code 1011827b1c43SMatthias Ringwald * @param value_length 1012827b1c43SMatthias Ringwald * @param value 1013827b1c43SMatthias Ringwald */ 101499a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION 0x09 1015827b1c43SMatthias Ringwald 1016941b3855SMatthias Ringwald 1017d63c37a1SMatthias Ringwald /** HFP Subevent */ 1018941b3855SMatthias Ringwald 1019d63c37a1SMatthias Ringwald /** 1020a23045e2SMilanka Ringwald * @format 11HB 1021d63c37a1SMatthias Ringwald * @param subevent_code 1022d63c37a1SMatthias Ringwald * @param status 0 == OK 1023a0653c3bSMilanka Ringwald * @param con_handle 10246a7f44bdSMilanka Ringwald * @param bd_addr 1025d63c37a1SMatthias Ringwald */ 1026941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 0x01 1027d63c37a1SMatthias Ringwald 1028d63c37a1SMatthias Ringwald /** 1029d63c37a1SMatthias Ringwald * @format 1 1030d63c37a1SMatthias Ringwald * @param subevent_code 1031d63c37a1SMatthias Ringwald */ 1032941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 0x02 1033d63c37a1SMatthias Ringwald 1034d63c37a1SMatthias Ringwald /** 1035a23045e2SMilanka Ringwald * @format 11HB1 1036d63c37a1SMatthias Ringwald * @param subevent_code 1037d63c37a1SMatthias Ringwald * @param status 0 == OK 10386ff51cfdSMatthias Ringwald * @param handle 10396a7f44bdSMilanka Ringwald * @param bd_addr 1040d0c4aea6SMilanka Ringwald * @param negotiated_codec 1041d63c37a1SMatthias Ringwald */ 1042941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 0x03 1043d63c37a1SMatthias Ringwald 1044d63c37a1SMatthias Ringwald /** 1045d63c37a1SMatthias Ringwald * @format 1 1046d63c37a1SMatthias Ringwald * @param subevent_code 1047d63c37a1SMatthias Ringwald */ 1048941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 0x04 1049d63c37a1SMatthias Ringwald 1050d63c37a1SMatthias Ringwald /** 1051d63c37a1SMatthias Ringwald * @format 11 1052d63c37a1SMatthias Ringwald * @param subevent_code 1053d63c37a1SMatthias Ringwald * @param status 0 == OK 1054d63c37a1SMatthias Ringwald */ 1055941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE 0x05 1056d63c37a1SMatthias Ringwald 1057d63c37a1SMatthias Ringwald /** 1058d63c37a1SMatthias Ringwald * @format 111T 1059d63c37a1SMatthias Ringwald * @param subevent_code 1060d63c37a1SMatthias Ringwald * @param indicator_index 1061d63c37a1SMatthias Ringwald * @param indicator_status 1062d63c37a1SMatthias Ringwald * @param indicator_name 1063d63c37a1SMatthias Ringwald */ 1064941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 0x06 1065d63c37a1SMatthias Ringwald 1066d63c37a1SMatthias Ringwald /** 10672c737695SMatthias Ringwald * @format 111T 1068d63c37a1SMatthias Ringwald * @param subevent_code 1069d63c37a1SMatthias Ringwald * @param network_operator_mode 1070d63c37a1SMatthias Ringwald * @param network_operator_format 1071d63c37a1SMatthias Ringwald * @param network_operator_name 1072d63c37a1SMatthias Ringwald */ 1073941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 0x07 1074d63c37a1SMatthias Ringwald 1075d63c37a1SMatthias Ringwald /** 1076d63c37a1SMatthias Ringwald * @format 11 1077d63c37a1SMatthias Ringwald * @param subevent_code 1078d63c37a1SMatthias Ringwald * @param error 1079d63c37a1SMatthias Ringwald */ 1080941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 0x08 1081d63c37a1SMatthias Ringwald 1082d63c37a1SMatthias Ringwald /** 1083d63c37a1SMatthias Ringwald * @format 1 1084d63c37a1SMatthias Ringwald * @param subevent_code 1085d63c37a1SMatthias Ringwald */ 1086aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG 0x0A 1087d63c37a1SMatthias Ringwald 1088d63c37a1SMatthias Ringwald /** 1089d63c37a1SMatthias Ringwald * @format 1 1090d63c37a1SMatthias Ringwald * @param subevent_code 1091d63c37a1SMatthias Ringwald */ 1092aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG 0x0B 1093d63c37a1SMatthias Ringwald 1094d63c37a1SMatthias Ringwald /** 1095d63c37a1SMatthias Ringwald * @format 1 1096d63c37a1SMatthias Ringwald * @param subevent_code 1097d63c37a1SMatthias Ringwald */ 1098aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED 0x0C 1099d63c37a1SMatthias Ringwald 1100d63c37a1SMatthias Ringwald /** 1101d63c37a1SMatthias Ringwald * @format 1T 1102d63c37a1SMatthias Ringwald * @param subevent_code 1103d63c37a1SMatthias Ringwald * @param number 1104d63c37a1SMatthias Ringwald */ 1105aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 0x0D 1106d63c37a1SMatthias Ringwald 1107d63c37a1SMatthias Ringwald /** 1108d63c37a1SMatthias Ringwald * @format 1 1109d63c37a1SMatthias Ringwald * @param subevent_code 1110d63c37a1SMatthias Ringwald */ 1111d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 0x0E 1112d63c37a1SMatthias Ringwald 1113d63c37a1SMatthias Ringwald /** 1114d63c37a1SMatthias Ringwald * @format 1T 1115d63c37a1SMatthias Ringwald * @param subevent_code 1116d63c37a1SMatthias Ringwald * @param number 1117d63c37a1SMatthias Ringwald */ 1118d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 0x0F 1119d63c37a1SMatthias Ringwald 1120d63c37a1SMatthias Ringwald /** 1121d63c37a1SMatthias Ringwald * @format 1T 1122d63c37a1SMatthias Ringwald * @param subevent_code 1123d63c37a1SMatthias Ringwald * @param dtmf code 1124d63c37a1SMatthias Ringwald */ 1125d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES 0x10 1126d63c37a1SMatthias Ringwald 1127d63c37a1SMatthias Ringwald /** 1128d63c37a1SMatthias Ringwald * @format 1 1129d63c37a1SMatthias Ringwald * @param subevent_code 1130d63c37a1SMatthias Ringwald */ 1131d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_ANSWERED 0x11 1132d63c37a1SMatthias Ringwald 1133d63c37a1SMatthias Ringwald /** 1134d63c37a1SMatthias Ringwald * @format 1 1135d63c37a1SMatthias Ringwald * @param subevent_code 1136d63c37a1SMatthias Ringwald */ 1137d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL 0x12 1138d63c37a1SMatthias Ringwald 1139d63c37a1SMatthias Ringwald /** 1140d63c37a1SMatthias Ringwald * @format 1 1141d63c37a1SMatthias Ringwald * @param subevent_code 1142d63c37a1SMatthias Ringwald */ 1143d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING 0x13 1144d63c37a1SMatthias Ringwald 1145d63c37a1SMatthias Ringwald /** 1146d63c37a1SMatthias Ringwald * @format 111 1147d63c37a1SMatthias Ringwald * @param subevent_code 1148d63c37a1SMatthias Ringwald * @param status 1149d63c37a1SMatthias Ringwald * @param gain 1150d63c37a1SMatthias Ringwald */ 1151d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_SPEAKER_VOLUME 0x14 1152d63c37a1SMatthias Ringwald 1153d63c37a1SMatthias Ringwald /** 1154d63c37a1SMatthias Ringwald * @format 111 1155d63c37a1SMatthias Ringwald * @param subevent_code 1156d63c37a1SMatthias Ringwald * @param status 1157d63c37a1SMatthias Ringwald * @param gain 1158d63c37a1SMatthias Ringwald */ 1159d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME 0x15 1160d63c37a1SMatthias Ringwald 1161d63c37a1SMatthias Ringwald /** 1162d63c37a1SMatthias Ringwald * @format 11T 1163d63c37a1SMatthias Ringwald * @param subevent_code 1164d63c37a1SMatthias Ringwald * @param type 1165d63c37a1SMatthias Ringwald * @param number 1166d63c37a1SMatthias Ringwald */ 1167d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 0x16 1168d63c37a1SMatthias Ringwald 1169d63c37a1SMatthias Ringwald /** 1170d63c37a1SMatthias Ringwald * @format 11T 1171d63c37a1SMatthias Ringwald * @param subevent_code 1172d63c37a1SMatthias Ringwald * @param type 1173d63c37a1SMatthias Ringwald * @param number 1174d63c37a1SMatthias Ringwald */ 1175d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALLING_LINE_INDETIFICATION_NOTIFICATION 0x17 1176d63c37a1SMatthias Ringwald 1177d63c37a1SMatthias Ringwald /** 1178d63c37a1SMatthias Ringwald * @format 111111T 1179d63c37a1SMatthias Ringwald * @param subevent_code 1180d63c37a1SMatthias Ringwald * @param clcc_idx 1181d63c37a1SMatthias Ringwald * @param clcc_dir 1182d63c37a1SMatthias Ringwald * @param clcc_status 1183d63c37a1SMatthias Ringwald * @param clcc_mpty 1184d63c37a1SMatthias Ringwald * @param bnip_type 1185d63c37a1SMatthias Ringwald * @param bnip_number 1186d63c37a1SMatthias Ringwald */ 1187d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS 0x18 1188d63c37a1SMatthias Ringwald 1189d63c37a1SMatthias Ringwald /** 1190d63c37a1SMatthias Ringwald * @format 111T 1191d63c37a1SMatthias Ringwald * @param subevent_code 1192d63c37a1SMatthias Ringwald * @param status 1193d63c37a1SMatthias Ringwald * @param bnip_type 1194d63c37a1SMatthias Ringwald * @param bnip_number 1195d63c37a1SMatthias Ringwald */ 1196d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 0x19 1197d63c37a1SMatthias Ringwald 1198d63c37a1SMatthias Ringwald /** 1199d63c37a1SMatthias Ringwald * @format 1T 1200d63c37a1SMatthias Ringwald * @param subevent_code 1201d63c37a1SMatthias Ringwald * @param value 1202d63c37a1SMatthias Ringwald */ 1203d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 0x1A 1204941b3855SMatthias Ringwald 1205941b3855SMatthias Ringwald // ANCS Client 1206a4815874SMatthias Ringwald 1207a4815874SMatthias Ringwald /** 1208e10ce426SMatthias Ringwald * @format 1H 1209e10ce426SMatthias Ringwald * @param subevent_code 1210a4815874SMatthias Ringwald * @param handle 1211a4815874SMatthias Ringwald */ 1212e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED 0xF0 1213a4815874SMatthias Ringwald 1214a4815874SMatthias Ringwald /** 1215e10ce426SMatthias Ringwald * @format 1H2T 1216e10ce426SMatthias Ringwald * @param subevent_code 1217a4815874SMatthias Ringwald * @param handle 1218a4815874SMatthias Ringwald * @param attribute_id 1219a4815874SMatthias Ringwald * @param text 1220a4815874SMatthias Ringwald */ 1221e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION 0xF1 1222a4815874SMatthias Ringwald 1223a4815874SMatthias Ringwald /** 1224e10ce426SMatthias Ringwald * @format 1H 1225e10ce426SMatthias Ringwald * @param subevent_code 1226a4815874SMatthias Ringwald * @param handle 1227a4815874SMatthias Ringwald */ 1228e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED 0xF2 1229941b3855SMatthias Ringwald 1230a23045e2SMilanka Ringwald 1231a23045e2SMilanka Ringwald /** AVDTP Subevent */ 1232a23045e2SMilanka Ringwald 12333338b9aeSMilanka Ringwald /** 1234ba155c22SMilanka Ringwald * @format 1H111 12352c708e8aSMilanka Ringwald * @param subevent_code 1236f9bca1f3SMilanka Ringwald * @param avdtp_cid 1237ba155c22SMilanka Ringwald * @param int_seid 12382c708e8aSMilanka Ringwald * @param signal_identifier 12392c708e8aSMilanka Ringwald * @param status 0 == OK 12402c708e8aSMilanka Ringwald */ 12412c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_ACCEPT 0x01 12422c708e8aSMilanka Ringwald 12432c708e8aSMilanka Ringwald /** 1244ba155c22SMilanka Ringwald * @format 1H11 12452c708e8aSMilanka Ringwald * @param subevent_code 1246f9bca1f3SMilanka Ringwald * @param avdtp_cid 1247ba155c22SMilanka Ringwald * @param int_seid 12482c708e8aSMilanka Ringwald * @param signal_identifier 12492c708e8aSMilanka Ringwald */ 12502c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_REJECT 0x02 12512c708e8aSMilanka Ringwald 12522c708e8aSMilanka Ringwald /** 1253ba155c22SMilanka Ringwald * @format 1H11 12542c708e8aSMilanka Ringwald * @param subevent_code 1255f9bca1f3SMilanka Ringwald * @param avdtp_cid 1256ba155c22SMilanka Ringwald * @param int_seid 12572c708e8aSMilanka Ringwald * @param signal_identifier 12582c708e8aSMilanka Ringwald */ 12592c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 0x03 12602c708e8aSMilanka Ringwald 12612c708e8aSMilanka Ringwald /** 12623338b9aeSMilanka Ringwald * @format 1HB1 12633338b9aeSMilanka Ringwald * @param subevent_code 1264f9bca1f3SMilanka Ringwald * @param avdtp_cid 12653338b9aeSMilanka Ringwald * @param bd_addr 12663338b9aeSMilanka Ringwald * @param status 0 == OK 12673338b9aeSMilanka Ringwald */ 12682c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 0x04 1269a23045e2SMilanka Ringwald 12703338b9aeSMilanka Ringwald /** 127185a0c7cdSMilanka Ringwald * @format 1H 12723338b9aeSMilanka Ringwald * @param subevent_code 1273f9bca1f3SMilanka Ringwald * @param avdtp_cid 12743338b9aeSMilanka Ringwald */ 12752c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 0x05 12763338b9aeSMilanka Ringwald 12773338b9aeSMilanka Ringwald /** 12783338b9aeSMilanka Ringwald * @format 1H1111 12793338b9aeSMilanka Ringwald * @param subevent_code 1280f9bca1f3SMilanka Ringwald * @param avdtp_cid 12813338b9aeSMilanka Ringwald * @param seid 0x01 – 0x3E 12823338b9aeSMilanka Ringwald * @param in_use 0-not in use, 1-in use 12833338b9aeSMilanka Ringwald * @param media_type 0-audio, 1-video, 2-multimedia 12843338b9aeSMilanka Ringwald * @param sep_type 0-source, 1-sink 12853338b9aeSMilanka Ringwald */ 12862c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 0x06 12873338b9aeSMilanka Ringwald 12883338b9aeSMilanka Ringwald /** 1289ba155c22SMilanka Ringwald * @format 1H1111111111 12903338b9aeSMilanka Ringwald * @param subevent_code 1291f9bca1f3SMilanka Ringwald * @param avdtp_cid 1292ba155c22SMilanka Ringwald * @param int_seid 1293ba155c22SMilanka Ringwald * @param acp_seid 12943338b9aeSMilanka Ringwald * @param media_type 1295ea7bd529SMilanka Ringwald * @param sampling_frequency_bitmap 1296ea7bd529SMilanka Ringwald * @param channel_mode_bitmap 1297ea7bd529SMilanka Ringwald * @param block_length_bitmap 1298ea7bd529SMilanka Ringwald * @param subbands_bitmap 1299ea7bd529SMilanka Ringwald * @param allocation_method_bitmap 13003338b9aeSMilanka Ringwald * @param min_bitpool_value 13013338b9aeSMilanka Ringwald * @param max_bitpool_value 13023338b9aeSMilanka Ringwald */ 13032c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x07 13043338b9aeSMilanka Ringwald 13053338b9aeSMilanka Ringwald /** 1306ba155c22SMilanka Ringwald * @format 1H1112LV 13073338b9aeSMilanka Ringwald * @param subevent_code 1308f9bca1f3SMilanka Ringwald * @param avdtp_cid 1309ba155c22SMilanka Ringwald * @param int_seid 1310ba155c22SMilanka Ringwald * @param acp_seid 13113338b9aeSMilanka Ringwald * @param media_type 13123338b9aeSMilanka Ringwald * @param media_codec_type 13133338b9aeSMilanka Ringwald * @param media_codec_information_len 13143338b9aeSMilanka Ringwald * @param media_codec_information 13153338b9aeSMilanka Ringwald */ 13162c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x08 1317a23045e2SMilanka Ringwald 1318ea7bd529SMilanka Ringwald /** 1319ba155c22SMilanka Ringwald * @format 1H111121111111 1320ea7bd529SMilanka Ringwald * @param subevent_code 1321f9bca1f3SMilanka Ringwald * @param avdtp_cid 1322ba155c22SMilanka Ringwald * @param int_seid 1323ba155c22SMilanka Ringwald * @param acp_seid 1324ea7bd529SMilanka Ringwald * @param reconfigure 1325ea7bd529SMilanka Ringwald * @param media_type 1326ea7bd529SMilanka Ringwald * @param sampling_frequency 1327ea7bd529SMilanka Ringwald * @param channel_mode 1328ea7bd529SMilanka Ringwald * @param num_channels 1329ea7bd529SMilanka Ringwald * @param block_length 1330ea7bd529SMilanka Ringwald * @param subbands 1331ea7bd529SMilanka Ringwald * @param allocation_method 1332ea7bd529SMilanka Ringwald * @param min_bitpool_value 1333ea7bd529SMilanka Ringwald * @param max_bitpool_value 1334ea7bd529SMilanka Ringwald */ 13352c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x09 1336ea7bd529SMilanka Ringwald 1337ea7bd529SMilanka Ringwald /** 1338ba155c22SMilanka Ringwald * @format 1H11112LV 1339ea7bd529SMilanka Ringwald * @param subevent_code 1340f9bca1f3SMilanka Ringwald * @param avdtp_cid 1341ba155c22SMilanka Ringwald * @param int_seid 1342ba155c22SMilanka Ringwald * @param acp_seid 1343ea7bd529SMilanka Ringwald * @param reconfigure 1344ea7bd529SMilanka Ringwald * @param media_type 1345ea7bd529SMilanka Ringwald * @param media_codec_type 1346ea7bd529SMilanka Ringwald * @param media_codec_information_len 1347ea7bd529SMilanka Ringwald * @param media_codec_information 1348ea7bd529SMilanka Ringwald */ 13492c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x0A 1350decc740cSMilanka Ringwald 135185a0c7cdSMilanka Ringwald /** 1352b548dda6SMilanka Ringwald * @format 1H111 135385a0c7cdSMilanka Ringwald * @param subevent_code 1354f9bca1f3SMilanka Ringwald * @param avdtp_cid 1355b548dda6SMilanka Ringwald * @param int_seid 1356b548dda6SMilanka Ringwald * @param acp_seid 135785a0c7cdSMilanka Ringwald * @param status 0 == OK 135885a0c7cdSMilanka Ringwald */ 135985a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 0x0B 136085a0c7cdSMilanka Ringwald 136185a0c7cdSMilanka Ringwald /** 136285a0c7cdSMilanka Ringwald * @format 1H 136385a0c7cdSMilanka Ringwald * @param subevent_code 1364f9bca1f3SMilanka Ringwald * @param avdtp_cid 136585a0c7cdSMilanka Ringwald */ 136685a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 0x0C 136785a0c7cdSMilanka Ringwald 1368f7103c90SMilanka Ringwald /** 1369a04ed5e9SMilanka Ringwald * @format 1H12 1370f7103c90SMilanka Ringwald * @param subevent_code 1371f9bca1f3SMilanka Ringwald * @param avdtp_cid 1372ba155c22SMilanka Ringwald * @param int_seid 1373a04ed5e9SMilanka Ringwald * @param sequence_number 1374f7103c90SMilanka Ringwald */ 1375f7103c90SMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 0x0D 137685a0c7cdSMilanka Ringwald 1377*a42de583SMilanka Ringwald /** 1378*a42de583SMilanka Ringwald * @format 1H1 1379*a42de583SMilanka Ringwald * @param subevent_code 1380*a42de583SMilanka Ringwald * @param avdtp_cid 1381*a42de583SMilanka Ringwald * @param int_seid 1382*a42de583SMilanka Ringwald */ 1383*a42de583SMilanka Ringwald #define AVDTP_SUBEVENT_START_STREAMING 0x0E 1384*a42de583SMilanka Ringwald 1385*a42de583SMilanka Ringwald /** 1386*a42de583SMilanka Ringwald * @format 1H1 1387*a42de583SMilanka Ringwald * @param subevent_code 1388*a42de583SMilanka Ringwald * @param avdtp_cid 1389*a42de583SMilanka Ringwald * @param int_seid 1390*a42de583SMilanka Ringwald */ 1391*a42de583SMilanka Ringwald #define AVDTP_SUBEVENT_STOP_STREAMING 0x0F 1392*a42de583SMilanka Ringwald 1393*a42de583SMilanka Ringwald 1394decc740cSMilanka Ringwald 1395ba155c22SMilanka Ringwald 1396decc740cSMilanka Ringwald /** AVRCP Subevent */ 1397decc740cSMilanka Ringwald 1398decc740cSMilanka Ringwald /** 139985a0c7cdSMilanka Ringwald * @format 1H12B 1400decc740cSMilanka Ringwald * @param subevent_code 1401decc740cSMilanka Ringwald * @param con_handle 14022a029560SMilanka Ringwald * @param status 0 == OK 1403decc740cSMilanka Ringwald * @param local_cid 1404decc740cSMilanka Ringwald * @param bd_addr 1405decc740cSMilanka Ringwald */ 1406decc740cSMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 0x01 1407decc740cSMilanka Ringwald 1408decc740cSMilanka Ringwald /** 1409decc740cSMilanka Ringwald * @format 1H 1410decc740cSMilanka Ringwald * @param subevent_code 1411decc740cSMilanka Ringwald * @param con_handle 1412decc740cSMilanka Ringwald */ 14136eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_RELEASED 0x02 1414decc740cSMilanka Ringwald 1415cd41da7eSMilanka Ringwald /** 1416e222d6a0SMatthias Ringwald * @format 1H1114JVJVJVJV 1417cd41da7eSMilanka Ringwald * @param subevent_code 1418cd41da7eSMilanka Ringwald * @param con_handle 14192a029560SMilanka Ringwald * @param status 1420e222d6a0SMatthias Ringwald * @param track 1421e222d6a0SMatthias Ringwald * @param total_tracks 1422e222d6a0SMatthias Ringwald * @param song_length in ms 1423cd41da7eSMilanka Ringwald * @param title_len 1424cd41da7eSMilanka Ringwald * @param title 1425cd41da7eSMilanka Ringwald * @param artist_len 1426cd41da7eSMilanka Ringwald * @param artist 1427cd41da7eSMilanka Ringwald * @param album_len 1428cd41da7eSMilanka Ringwald * @param album 1429cd41da7eSMilanka Ringwald * @param genre_len 1430cd41da7eSMilanka Ringwald * @param genre 1431cd41da7eSMilanka Ringwald */ 14322a029560SMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_INFO 0x03 1433cd41da7eSMilanka Ringwald 14342a029560SMilanka Ringwald /** 14352a029560SMilanka Ringwald * @format 1H111 14362a029560SMilanka Ringwald * @param subevent_code 14372a029560SMilanka Ringwald * @param con_handle 14382a029560SMilanka Ringwald * @param status 14392a029560SMilanka Ringwald * @param repeat_mode 14402a029560SMilanka Ringwald * @param shuffle_mode 14412a029560SMilanka Ringwald */ 14422a029560SMilanka Ringwald #define AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 0x04 1443cd41da7eSMilanka Ringwald 14446eb7ba29SMilanka Ringwald /** 14456eb7ba29SMilanka Ringwald * @format 1H1441 14466eb7ba29SMilanka Ringwald * @param subevent_code 14476eb7ba29SMilanka Ringwald * @param con_handle 14486eb7ba29SMilanka Ringwald * @param status 14496eb7ba29SMilanka Ringwald * @param song_length 14506eb7ba29SMilanka Ringwald * @param song_position 14516eb7ba29SMilanka Ringwald * @param play_status 14526eb7ba29SMilanka Ringwald */ 14536eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAY_STATUS 0x05 14546eb7ba29SMilanka Ringwald 14556eb7ba29SMilanka Ringwald /** 14566eb7ba29SMilanka Ringwald * @format 1H11 14576eb7ba29SMilanka Ringwald * @param subevent_code 14586eb7ba29SMilanka Ringwald * @param con_handle 14596eb7ba29SMilanka Ringwald * @param status 14606eb7ba29SMilanka Ringwald * @param playback_status 14616eb7ba29SMilanka Ringwald */ 14626eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 0x06 14636eb7ba29SMilanka Ringwald 14646eb7ba29SMilanka Ringwald /** 14656eb7ba29SMilanka Ringwald * @format 1H11 14666eb7ba29SMilanka Ringwald * @param subevent_code 14676eb7ba29SMilanka Ringwald * @param con_handle 14686eb7ba29SMilanka Ringwald * @param status 14696eb7ba29SMilanka Ringwald * @param track_status 14706eb7ba29SMilanka Ringwald */ 14716eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 0x07 14726eb7ba29SMilanka Ringwald 14736eb7ba29SMilanka Ringwald /** 14746eb7ba29SMilanka Ringwald * @format 1H1 14756eb7ba29SMilanka Ringwald * @param subevent_code 14766eb7ba29SMilanka Ringwald * @param con_handle 14776eb7ba29SMilanka Ringwald * @param status 14786eb7ba29SMilanka Ringwald */ 14796eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 0x08 14806eb7ba29SMilanka Ringwald 14816eb7ba29SMilanka Ringwald /** 14826eb7ba29SMilanka Ringwald * @format 1H1 14836eb7ba29SMilanka Ringwald * @param subevent_code 14846eb7ba29SMilanka Ringwald * @param con_handle 14856eb7ba29SMilanka Ringwald * @param status 14866eb7ba29SMilanka Ringwald */ 14876eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 0x09 14886eb7ba29SMilanka Ringwald 14896eb7ba29SMilanka Ringwald /** 14906eb7ba29SMilanka Ringwald * @format 1H11 14916eb7ba29SMilanka Ringwald * @param subevent_code 14926eb7ba29SMilanka Ringwald * @param con_handle 14936eb7ba29SMilanka Ringwald * @param status 14946eb7ba29SMilanka Ringwald * @param absolute_volume 14956eb7ba29SMilanka Ringwald */ 14966eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 0x0A 14976eb7ba29SMilanka Ringwald 14986eb7ba29SMilanka Ringwald /** 14996eb7ba29SMilanka Ringwald * @format 1H11 15006eb7ba29SMilanka Ringwald * @param subevent_code 15016eb7ba29SMilanka Ringwald * @param con_handle 15026eb7ba29SMilanka Ringwald * @param status 15036eb7ba29SMilanka Ringwald * @param absolute_volume 15046eb7ba29SMilanka Ringwald */ 15056eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 0x0B 15066eb7ba29SMilanka Ringwald 15076eb7ba29SMilanka Ringwald /** 15086eb7ba29SMilanka Ringwald * @format 1H11 15096eb7ba29SMilanka Ringwald * @param subevent_code 15106eb7ba29SMilanka Ringwald * @param con_handle 15116eb7ba29SMilanka Ringwald * @param status 15126eb7ba29SMilanka Ringwald * @param notification_id 15136eb7ba29SMilanka Ringwald */ 15146eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 0x0C 15156eb7ba29SMilanka Ringwald 15166eb7ba29SMilanka Ringwald /** 15176eb7ba29SMilanka Ringwald * @format 1H11 15186eb7ba29SMilanka Ringwald * @param subevent_code 15196eb7ba29SMilanka Ringwald * @param con_handle 15206eb7ba29SMilanka Ringwald * @param status 15216eb7ba29SMilanka Ringwald * @param operation_id 15226eb7ba29SMilanka Ringwald */ 15236eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_START 0x0D 15246eb7ba29SMilanka Ringwald 15256eb7ba29SMilanka Ringwald /** 15266eb7ba29SMilanka Ringwald * @format 1H11 15276eb7ba29SMilanka Ringwald * @param subevent_code 15286eb7ba29SMilanka Ringwald * @param con_handle 15296eb7ba29SMilanka Ringwald * @param status 15306eb7ba29SMilanka Ringwald * @param operation_id 15316eb7ba29SMilanka Ringwald */ 15326eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_COMPLETE 0x0E 15336eb7ba29SMilanka Ringwald 15346eb7ba29SMilanka Ringwald /** 15356eb7ba29SMilanka Ringwald * @format 1H1 15366eb7ba29SMilanka Ringwald * @param subevent_code 15376eb7ba29SMilanka Ringwald * @param con_handle 15386eb7ba29SMilanka Ringwald * @param status 15396eb7ba29SMilanka Ringwald */ 15406eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 0x0F 15416eb7ba29SMilanka Ringwald 1542f1b34e8dSMatthias Ringwald /** 1543f1b34e8dSMatthias Ringwald * @format 121BH1 1544f1b34e8dSMatthias Ringwald * @param subevent_code 1545f1b34e8dSMatthias Ringwald * @param goep_cid 1546f1b34e8dSMatthias Ringwald * @param status 1547f1b34e8dSMatthias Ringwald * @param bd_addr 1548f1b34e8dSMatthias Ringwald * @param con_handle 1549f1b34e8dSMatthias Ringwald * @param incoming 1550f1b34e8dSMatthias Ringwald */ 1551f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_OPENED 0x01 15526eb7ba29SMilanka Ringwald 1553f1b34e8dSMatthias Ringwald /** 1554f1b34e8dSMatthias Ringwald * @format 12 1555f1b34e8dSMatthias Ringwald * @param subevent_code 1556f1b34e8dSMatthias Ringwald * @param goep_cid 1557f1b34e8dSMatthias Ringwald */ 1558f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_CLOSED 0x02 1559f1b34e8dSMatthias Ringwald 1560f1b34e8dSMatthias Ringwald /** 1561f1b34e8dSMatthias Ringwald * @format 12 1562f1b34e8dSMatthias Ringwald * @param subevent_code 1563f1b34e8dSMatthias Ringwald * @param goep_cid 1564f1b34e8dSMatthias Ringwald */ 1565f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CAN_SEND_NOW 0x03 1566f1b34e8dSMatthias Ringwald 1567f1b34e8dSMatthias Ringwald /** 1568f1b34e8dSMatthias Ringwald * @format 121BH1 1569f1b34e8dSMatthias Ringwald * @param subevent_code 1570f1b34e8dSMatthias Ringwald * @param pbap_cid 1571f1b34e8dSMatthias Ringwald * @param status 1572f1b34e8dSMatthias Ringwald * @param bd_addr 1573f1b34e8dSMatthias Ringwald * @param con_handle 1574f1b34e8dSMatthias Ringwald * @param incoming 1575f1b34e8dSMatthias Ringwald */ 1576f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_OPENED 0x01 1577f1b34e8dSMatthias Ringwald 1578f1b34e8dSMatthias Ringwald /** 1579f1b34e8dSMatthias Ringwald * @format 12 1580f1b34e8dSMatthias Ringwald * @param subevent_code 1581f1b34e8dSMatthias Ringwald * @param goep_cid 1582f1b34e8dSMatthias Ringwald */ 1583f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_CLOSED 0x02 1584f1b34e8dSMatthias Ringwald 1585f1b34e8dSMatthias Ringwald /** 1586f1b34e8dSMatthias Ringwald * @format 121 1587f1b34e8dSMatthias Ringwald * @param subevent_code 1588f1b34e8dSMatthias Ringwald * @param goep_cid 1589f1b34e8dSMatthias Ringwald * @param status 1590f1b34e8dSMatthias Ringwald */ 1591f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_OPERATION_COMPLETED 0x03 15926eb7ba29SMilanka Ringwald 1593941b3855SMatthias Ringwald #endif 1594