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 516306068fSMatthias Ringwald #ifndef UNUSED 52f3963406SMatthias Ringwald #define UNUSED(x) (void)(sizeof(x)) 536306068fSMatthias Ringwald #endif 54f3963406SMatthias Ringwald 558974fcd6SMatthias Ringwald // TYPES 568974fcd6SMatthias Ringwald 578974fcd6SMatthias Ringwald // packet handler 588974fcd6SMatthias Ringwald typedef void (*btstack_packet_handler_t) (uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size); 598974fcd6SMatthias Ringwald 608974fcd6SMatthias Ringwald // packet callback supporting multiple registrations 618974fcd6SMatthias Ringwald typedef struct { 628974fcd6SMatthias Ringwald btstack_linked_item_t item; 638974fcd6SMatthias Ringwald btstack_packet_handler_t callback; 648974fcd6SMatthias Ringwald } btstack_packet_callback_registration_t; 658974fcd6SMatthias Ringwald 66bb38f057SMatthias Ringwald // context callback supporting multiple registrations 67bb38f057SMatthias Ringwald typedef struct { 68bb38f057SMatthias Ringwald btstack_linked_item_t * item; 69bb38f057SMatthias Ringwald void (*callback)(void * context); 70bb38f057SMatthias Ringwald void * context; 71bb38f057SMatthias Ringwald } btstack_context_callback_registration_t; 72bb38f057SMatthias Ringwald 73f7a05cdaSMatthias Ringwald /** 748974fcd6SMatthias Ringwald * @brief 128 bit key used with AES128 in Security Manager 75f7a05cdaSMatthias Ringwald */ 768974fcd6SMatthias Ringwald typedef uint8_t sm_key_t[16]; 77f7a05cdaSMatthias Ringwald 78941b3855SMatthias Ringwald // DEFINES 79941b3855SMatthias Ringwald 807149bde5SMatthias Ringwald // hci con handles (12 bit): 0x0000..0x0fff 817149bde5SMatthias Ringwald #define HCI_CON_HANDLE_INVALID 0xffff 827149bde5SMatthias Ringwald 837149bde5SMatthias Ringwald 84941b3855SMatthias Ringwald #define DAEMON_EVENT_PACKET 0x05 85941b3855SMatthias Ringwald 86941b3855SMatthias Ringwald // L2CAP data 87941b3855SMatthias Ringwald #define L2CAP_DATA_PACKET 0x06 88941b3855SMatthias Ringwald 89941b3855SMatthias Ringwald // RFCOMM data 90941b3855SMatthias Ringwald #define RFCOMM_DATA_PACKET 0x07 91941b3855SMatthias Ringwald 92941b3855SMatthias Ringwald // Attribute protocol data 93941b3855SMatthias Ringwald #define ATT_DATA_PACKET 0x08 94941b3855SMatthias Ringwald 95941b3855SMatthias Ringwald // Security Manager protocol data 96941b3855SMatthias Ringwald #define SM_DATA_PACKET 0x09 97941b3855SMatthias Ringwald 98f1b34e8dSMatthias Ringwald // SDP query result - only used by daemon 99941b3855SMatthias Ringwald // format: type (8), record_id (16), attribute_id (16), attribute_length (16), attribute_value (max 1k) 100941b3855SMatthias Ringwald #define SDP_CLIENT_PACKET 0x0a 101941b3855SMatthias Ringwald 102941b3855SMatthias Ringwald // BNEP data 103941b3855SMatthias Ringwald #define BNEP_DATA_PACKET 0x0b 104941b3855SMatthias Ringwald 105941b3855SMatthias Ringwald // Unicast Connectionless Data 106941b3855SMatthias Ringwald #define UCD_DATA_PACKET 0x0c 107941b3855SMatthias Ringwald 108f1b34e8dSMatthias Ringwald // GOEP data 109f1b34e8dSMatthias Ringwald #define GOEP_DATA_PACKET 0x0d 110f1b34e8dSMatthias Ringwald 111f1b34e8dSMatthias Ringwald // PBAP data 112f1b34e8dSMatthias Ringwald #define PBAP_DATA_PACKET 0x0e 113f1b34e8dSMatthias Ringwald 114941b3855SMatthias Ringwald // debug log messages 115941b3855SMatthias Ringwald #define LOG_MESSAGE_PACKET 0xfc 116941b3855SMatthias Ringwald 117941b3855SMatthias Ringwald 118941b3855SMatthias Ringwald // ERRORS 119941b3855SMatthias Ringwald // last error code in 2.1 is 0x38 - we start with 0x50 for BTstack errors 120f193890fSMatthias Ringwald 121f193890fSMatthias Ringwald /* ENUM_START: BTSTACK_ERROR_CODE */ 122941b3855SMatthias Ringwald #define BTSTACK_CONNECTION_TO_BTDAEMON_FAILED 0x50 123941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_SYSTEM_BLUETOOTH 0x51 124941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_POWERON_FAILED 0x52 125941b3855SMatthias Ringwald #define BTSTACK_ACTIVATION_FAILED_UNKNOWN 0x53 126941b3855SMatthias Ringwald #define BTSTACK_NOT_ACTIVATED 0x54 127941b3855SMatthias Ringwald #define BTSTACK_BUSY 0x55 128941b3855SMatthias Ringwald #define BTSTACK_MEMORY_ALLOC_FAILED 0x56 129941b3855SMatthias Ringwald #define BTSTACK_ACL_BUFFERS_FULL 0x57 130941b3855SMatthias Ringwald 131941b3855SMatthias Ringwald // l2cap errors - enumeration by the command that created them 132941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD 0x60 133941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED 0x61 134941b3855SMatthias Ringwald #define L2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST 0x62 135941b3855SMatthias Ringwald 136941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL 0x63 137941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_PENDING 0x64 138941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM 0x65 139941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY 0x66 140941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES 0x67 141941b3855SMatthias Ringwald #define L2CAP_CONNECTION_RESPONSE_RESULT_RTX_TIMEOUT 0x68 142941b3855SMatthias Ringwald 143941b3855SMatthias Ringwald #define L2CAP_SERVICE_ALREADY_REGISTERED 0x69 144941b3855SMatthias Ringwald #define L2CAP_DATA_LEN_EXCEEDS_REMOTE_MTU 0x6A 1457e8856ebSMatthias Ringwald #define L2CAP_SERVICE_DOES_NOT_EXIST 0x6B 14694530c77SMatthias Ringwald #define L2CAP_LOCAL_CID_DOES_NOT_EXIST 0x6C 147941b3855SMatthias Ringwald 148941b3855SMatthias Ringwald #define RFCOMM_MULTIPLEXER_STOPPED 0x70 149941b3855SMatthias Ringwald #define RFCOMM_CHANNEL_ALREADY_REGISTERED 0x71 150941b3855SMatthias Ringwald #define RFCOMM_NO_OUTGOING_CREDITS 0x72 151941b3855SMatthias Ringwald #define RFCOMM_AGGREGATE_FLOW_OFF 0x73 152941b3855SMatthias Ringwald #define RFCOMM_DATA_LEN_EXCEEDS_MTU 0x74 153941b3855SMatthias Ringwald 154941b3855SMatthias Ringwald #define SDP_HANDLE_ALREADY_REGISTERED 0x80 155941b3855SMatthias Ringwald #define SDP_QUERY_INCOMPLETE 0x81 156941b3855SMatthias Ringwald #define SDP_SERVICE_NOT_FOUND 0x82 157941b3855SMatthias Ringwald #define SDP_HANDLE_INVALID 0x83 158e5057641SMatthias Ringwald #define SDP_QUERY_BUSY 0x84 159941b3855SMatthias Ringwald 160f193890fSMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_IN_PROGRESS 0x90 161941b3855SMatthias Ringwald #define ATT_HANDLE_VALUE_INDICATION_TIMEOUT 0x91 162941b3855SMatthias Ringwald 163941b3855SMatthias Ringwald #define GATT_CLIENT_NOT_CONNECTED 0x93 164941b3855SMatthias Ringwald #define GATT_CLIENT_BUSY 0x94 165616edd56SMatthias Ringwald #define GATT_CLIENT_IN_WRONG_STATE 0x95 166616edd56SMatthias Ringwald #define GATT_CLIENT_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS 0x96 167616edd56SMatthias Ringwald #define GATT_CLIENT_VALUE_TOO_LONG 0x97 168616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_NOTIFICATION_NOT_SUPPORTED 0x98 169616edd56SMatthias Ringwald #define GATT_CLIENT_CHARACTERISTIC_INDICATION_NOT_SUPPORTED 0x99 170941b3855SMatthias Ringwald 171941b3855SMatthias Ringwald #define BNEP_SERVICE_ALREADY_REGISTERED 0xA0 172941b3855SMatthias Ringwald #define BNEP_CHANNEL_NOT_CONNECTED 0xA1 173941b3855SMatthias Ringwald #define BNEP_DATA_LEN_EXCEEDS_MTU 0xA2 174941b3855SMatthias Ringwald 175f193890fSMatthias Ringwald // OBEX ERRORS 176f193890fSMatthias Ringwald #define OBEX_UNKNOWN_ERROR 0xB0 177f193890fSMatthias Ringwald #define OBEX_CONNECT_FAILED 0xB1 178f193890fSMatthias Ringwald #define OBEX_DISCONNECTED 0xB2 179f193890fSMatthias Ringwald #define OBEX_NOT_FOUND 0xB3 180f193890fSMatthias Ringwald /* ENUM_END */ 181f193890fSMatthias Ringwald 18262c64df1SMatthias Ringwald // DAEMON COMMANDS 183b3f90e25SMatthias Ringwald 184b3f90e25SMatthias Ringwald #define OGF_BTSTACK 0x3d 185b3f90e25SMatthias Ringwald 186b3f90e25SMatthias Ringwald // cmds for BTstack 187b3f90e25SMatthias Ringwald // get state: @returns HCI_STATE 188b3f90e25SMatthias Ringwald #define BTSTACK_GET_STATE 0x01 189b3f90e25SMatthias Ringwald 190045013feSMatthias Ringwald // set power mode: param HCI_POWER_MODE 191b3f90e25SMatthias Ringwald #define BTSTACK_SET_POWER_MODE 0x02 192b3f90e25SMatthias Ringwald 193045013feSMatthias Ringwald // set capture mode: param on 194b3f90e25SMatthias Ringwald #define BTSTACK_SET_ACL_CAPTURE_MODE 0x03 195b3f90e25SMatthias Ringwald 196b3f90e25SMatthias Ringwald // get BTstack version 197b3f90e25SMatthias Ringwald #define BTSTACK_GET_VERSION 0x04 198b3f90e25SMatthias Ringwald 199b3f90e25SMatthias Ringwald // get system Bluetooth state 200b3f90e25SMatthias Ringwald #define BTSTACK_GET_SYSTEM_BLUETOOTH_ENABLED 0x05 201b3f90e25SMatthias Ringwald 202b3f90e25SMatthias Ringwald // set system Bluetooth state 203b3f90e25SMatthias Ringwald #define BTSTACK_SET_SYSTEM_BLUETOOTH_ENABLED 0x06 204b3f90e25SMatthias Ringwald 205b3f90e25SMatthias Ringwald // enable inquiry scan for this client 206b3f90e25SMatthias Ringwald #define BTSTACK_SET_DISCOVERABLE 0x07 207b3f90e25SMatthias Ringwald 208b3f90e25SMatthias Ringwald // set global Bluetooth state 209b3f90e25SMatthias Ringwald #define BTSTACK_SET_BLUETOOTH_ENABLED 0x08 210b3f90e25SMatthias Ringwald 211045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16) 212b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL 0x20 213b3f90e25SMatthias Ringwald 214045013feSMatthias Ringwald // disconnect l2cap disconnect, param channel(16), reason(8) 215b3f90e25SMatthias Ringwald #define L2CAP_DISCONNECT 0x21 216b3f90e25SMatthias Ringwald 217045013feSMatthias Ringwald // register l2cap service: param psm(16), mtu (16) 218b3f90e25SMatthias Ringwald #define L2CAP_REGISTER_SERVICE 0x22 219b3f90e25SMatthias Ringwald 220045013feSMatthias Ringwald // unregister l2cap disconnect, param psm(16) 221b3f90e25SMatthias Ringwald #define L2CAP_UNREGISTER_SERVICE 0x23 222b3f90e25SMatthias Ringwald 223045013feSMatthias Ringwald // accept connection param bd_addr(48), dest cid (16) 224b3f90e25SMatthias Ringwald #define L2CAP_ACCEPT_CONNECTION 0x24 225b3f90e25SMatthias Ringwald 226045013feSMatthias Ringwald // decline l2cap disconnect,param bd_addr(48), dest cid (16), reason(8) 227b3f90e25SMatthias Ringwald #define L2CAP_DECLINE_CONNECTION 0x25 228b3f90e25SMatthias Ringwald 229045013feSMatthias Ringwald // create l2cap channel: param bd_addr(48), psm (16), mtu (16) 230b3f90e25SMatthias Ringwald #define L2CAP_CREATE_CHANNEL_MTU 0x26 231b3f90e25SMatthias Ringwald 232b3f90e25SMatthias Ringwald // register SDP Service Record: service record (size) 233b3f90e25SMatthias Ringwald #define SDP_REGISTER_SERVICE_RECORD 0x30 234b3f90e25SMatthias Ringwald 235b3f90e25SMatthias Ringwald // unregister SDP Service Record 236b3f90e25SMatthias Ringwald #define SDP_UNREGISTER_SERVICE_RECORD 0x31 237b3f90e25SMatthias Ringwald 238b3f90e25SMatthias Ringwald // Get remote RFCOMM services 239b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_RFCOMM_SERVICES 0x32 240b3f90e25SMatthias Ringwald 241b3f90e25SMatthias Ringwald // Get remote SDP services 242b3f90e25SMatthias Ringwald #define SDP_CLIENT_QUERY_SERVICES 0x33 243b3f90e25SMatthias Ringwald 244b3f90e25SMatthias Ringwald // RFCOMM "HCI" Commands 245b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL 0x40 246b3f90e25SMatthias Ringwald #define RFCOMM_DISCONNECT 0x41 247b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE 0x42 248b3f90e25SMatthias Ringwald #define RFCOMM_UNREGISTER_SERVICE 0x43 249b3f90e25SMatthias Ringwald #define RFCOMM_ACCEPT_CONNECTION 0x44 250b3f90e25SMatthias Ringwald #define RFCOMM_DECLINE_CONNECTION 0x45 251b3f90e25SMatthias Ringwald #define RFCOMM_PERSISTENT_CHANNEL 0x46 252b3f90e25SMatthias Ringwald #define RFCOMM_CREATE_CHANNEL_WITH_CREDITS 0x47 253b3f90e25SMatthias Ringwald #define RFCOMM_REGISTER_SERVICE_WITH_CREDITS 0x48 254b3f90e25SMatthias Ringwald #define RFCOMM_GRANT_CREDITS 0x49 255b3f90e25SMatthias Ringwald 256b3f90e25SMatthias Ringwald // GAP Classic 0x50 257b3f90e25SMatthias Ringwald #define GAP_DISCONNECT 0x50 258b3f90e25SMatthias Ringwald 259b3f90e25SMatthias Ringwald // GAP LE 0x60 260b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_START 0x60 261b3f90e25SMatthias Ringwald #define GAP_LE_SCAN_STOP 0x61 262b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT 0x62 263b3f90e25SMatthias Ringwald #define GAP_LE_CONNECT_CANCEL 0x63 264b3f90e25SMatthias Ringwald #define GAP_LE_SET_SCAN_PARAMETERS 0x64 265b3f90e25SMatthias Ringwald 266b3f90e25SMatthias Ringwald // GATT (Client) 0x70 267b3f90e25SMatthias Ringwald #define GATT_DISCOVER_ALL_PRIMARY_SERVICES 0x70 268b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16 0x71 269b3f90e25SMatthias Ringwald #define GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128 0x72 270b3f90e25SMatthias Ringwald #define GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE 0x73 271b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE 0x74 272b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128 0x75 273b3f90e25SMatthias Ringwald #define GATT_DISCOVER_CHARACTERISTIC_DESCRIPTORS 0x76 274b3f90e25SMatthias Ringwald #define GATT_READ_VALUE_OF_CHARACTERISTIC 0x77 275b3f90e25SMatthias Ringwald #define GATT_READ_LONG_VALUE_OF_CHARACTERISTIC 0x78 276b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE 0x79 277b3f90e25SMatthias Ringwald #define GATT_WRITE_VALUE_OF_CHARACTERISTIC 0x7A 278b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7B 279b3f90e25SMatthias Ringwald #define GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC 0x7C 280b3f90e25SMatthias Ringwald #define GATT_READ_CHARACTERISTIC_DESCRIPTOR 0X7D 281b3f90e25SMatthias Ringwald #define GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR 0X7E 282b3f90e25SMatthias Ringwald #define GATT_WRITE_CHARACTERISTIC_DESCRIPTOR 0X7F 283b3f90e25SMatthias Ringwald #define GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR 0X80 284b3f90e25SMatthias Ringwald #define GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION 0X81 285b3f90e25SMatthias Ringwald #define GATT_GET_MTU 0x82 286b3f90e25SMatthias Ringwald 28762c64df1SMatthias Ringwald 288941b3855SMatthias Ringwald // EVENTS 289941b3855SMatthias Ringwald 290941b3855SMatthias Ringwald /** 291941b3855SMatthias Ringwald * @format 1 292941b3855SMatthias Ringwald * @param state 293941b3855SMatthias Ringwald */ 294941b3855SMatthias Ringwald #define BTSTACK_EVENT_STATE 0x60 295941b3855SMatthias Ringwald 29652aef63fSMatthias Ringwald /** 29752aef63fSMatthias Ringwald * @format 1 29852aef63fSMatthias Ringwald * @param number_connections 29952aef63fSMatthias Ringwald */ 300941b3855SMatthias Ringwald #define BTSTACK_EVENT_NR_CONNECTIONS_CHANGED 0x61 301941b3855SMatthias Ringwald 302941b3855SMatthias Ringwald /** 303941b3855SMatthias Ringwald * @format 304941b3855SMatthias Ringwald */ 305941b3855SMatthias Ringwald #define BTSTACK_EVENT_POWERON_FAILED 0x62 306941b3855SMatthias Ringwald 307941b3855SMatthias Ringwald /** 308827b1c43SMatthias Ringwald * @format 1 309827b1c43SMatthias Ringwald * @param discoverable 310827b1c43SMatthias Ringwald */ 311827b1c43SMatthias Ringwald #define BTSTACK_EVENT_DISCOVERABLE_ENABLED 0x66 312827b1c43SMatthias Ringwald 313827b1c43SMatthias Ringwald // Daemon Events 314827b1c43SMatthias Ringwald 315827b1c43SMatthias Ringwald /** 316941b3855SMatthias Ringwald * @format 112 317941b3855SMatthias Ringwald * @param major 318941b3855SMatthias Ringwald * @param minor 319941b3855SMatthias Ringwald @ @param revision 320941b3855SMatthias Ringwald */ 321827b1c43SMatthias Ringwald #define DAEMON_EVENT_VERSION 0x63 322941b3855SMatthias Ringwald 323941b3855SMatthias Ringwald // data: system bluetooth on/off (bool) 324e2334cdcSMatthias Ringwald /** 325e2334cdcSMatthias Ringwald * @format 1 326e2334cdcSMatthias Ringwald * param system_bluetooth_enabled 327e2334cdcSMatthias Ringwald */ 328827b1c43SMatthias Ringwald #define DAEMON_EVENT_SYSTEM_BLUETOOTH_ENABLED 0x64 329941b3855SMatthias Ringwald 330941b3855SMatthias Ringwald // data: event (8), len(8), status (8) == 0, address (48), name (1984 bits = 248 bytes) 331e2334cdcSMatthias Ringwald 332e2334cdcSMatthias Ringwald /* 333e2334cdcSMatthias Ringwald * @format 1BT 334e2334cdcSMatthias Ringwald * @param status == 0 to match read_remote_name_request 335e2334cdcSMatthias Ringwald * @param address 336e2334cdcSMatthias Ringwald * @param name 337e2334cdcSMatthias Ringwald */ 338827b1c43SMatthias Ringwald #define DAEMON_EVENT_REMOTE_NAME_CACHED 0x65 339941b3855SMatthias Ringwald 34062c64df1SMatthias Ringwald // internal - data: event(8) 341e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_OPENED 0x67 342941b3855SMatthias Ringwald 34362c64df1SMatthias Ringwald // internal - data: event(8) 344e2334cdcSMatthias Ringwald #define DAEMON_EVENT_CONNECTION_CLOSED 0x68 345941b3855SMatthias Ringwald 34662c64df1SMatthias Ringwald // data: event(8), len(8), local_cid(16), credits(8) 34762c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_CREDITS 0x74 34862c64df1SMatthias Ringwald 34962c64df1SMatthias Ringwald /** 35062c64df1SMatthias Ringwald * @format 12 35162c64df1SMatthias Ringwald * @param status 35262c64df1SMatthias Ringwald * @param psm 35362c64df1SMatthias Ringwald */ 35462c64df1SMatthias Ringwald #define DAEMON_EVENT_L2CAP_SERVICE_REGISTERED 0x75 35562c64df1SMatthias Ringwald 35662c64df1SMatthias Ringwald /** 35762c64df1SMatthias Ringwald * @format 21 35862c64df1SMatthias Ringwald * @param rfcomm_cid 35962c64df1SMatthias Ringwald * @param credits 36062c64df1SMatthias Ringwald */ 36162c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_CREDITS 0x84 36262c64df1SMatthias Ringwald 36362c64df1SMatthias Ringwald /** 36462c64df1SMatthias Ringwald * @format 11 36562c64df1SMatthias Ringwald * @param status 36662c64df1SMatthias Ringwald * @param channel_id 36762c64df1SMatthias Ringwald */ 368fea5a680SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_SERVICE_REGISTERED 0x85 369fea5a680SMatthias Ringwald 37062c64df1SMatthias Ringwald /** 37162c64df1SMatthias Ringwald * @format 11 37262c64df1SMatthias Ringwald * @param status 37362c64df1SMatthias Ringwald * @param server_channel_id 37462c64df1SMatthias Ringwald */ 37562c64df1SMatthias Ringwald #define DAEMON_EVENT_RFCOMM_PERSISTENT_CHANNEL 0x86 37662c64df1SMatthias Ringwald 37762c64df1SMatthias Ringwald /** 37862c64df1SMatthias Ringwald * @format 14 37962c64df1SMatthias Ringwald * @param status 38062c64df1SMatthias Ringwald * @param service_record_handle 38162c64df1SMatthias Ringwald */ 38262c64df1SMatthias Ringwald #define DAEMON_EVENT_SDP_SERVICE_REGISTERED 0x90 38362c64df1SMatthias Ringwald 38462c64df1SMatthias Ringwald 385827b1c43SMatthias Ringwald 3863bc639ceSMatthias Ringwald // additional HCI events 38763fa3374SMatthias Ringwald 38863fa3374SMatthias Ringwald /** 38962ca45d7SMatthias Ringwald * @brief Indicates HCI transport enters/exits Sleep mode 39062ca45d7SMatthias Ringwald * @format 1 39162ca45d7SMatthias Ringwald * @param active 39262ca45d7SMatthias Ringwald */ 393d16a0392SMatthias Ringwald #define HCI_EVENT_TRANSPORT_SLEEP_MODE 0x69 39462ca45d7SMatthias Ringwald 39562ca45d7SMatthias Ringwald /** 39663fa3374SMatthias Ringwald * @brief Outgoing packet 39763fa3374SMatthias Ringwald */ 39863fa3374SMatthias Ringwald #define HCI_EVENT_TRANSPORT_PACKET_SENT 0x6E 39963fa3374SMatthias Ringwald 4003bc639ceSMatthias Ringwald /** 4013bc639ceSMatthias Ringwald * @format B 4023bc639ceSMatthias Ringwald * @param handle 4033bc639ceSMatthias Ringwald */ 4043bc639ceSMatthias Ringwald #define HCI_EVENT_SCO_CAN_SEND_NOW 0x6F 4053bc639ceSMatthias Ringwald 40662c64df1SMatthias Ringwald 407941b3855SMatthias Ringwald // L2CAP EVENTS 408941b3855SMatthias Ringwald 409b072ba33SMatthias Ringwald /** 410bab5f4f0SMatthias Ringwald * @format 1BH2222221 411b072ba33SMatthias Ringwald * @param status 412b072ba33SMatthias Ringwald * @param address 413b072ba33SMatthias Ringwald * @param handle 414b072ba33SMatthias Ringwald * @param psm 415b072ba33SMatthias Ringwald * @param local_cid 416b072ba33SMatthias Ringwald * @param remote_cid 417b072ba33SMatthias Ringwald * @param local_mtu 418b072ba33SMatthias Ringwald * @param remote_mtu 419b072ba33SMatthias Ringwald * @param flush_timeout 420bab5f4f0SMatthias Ringwald * @param incoming 421b072ba33SMatthias Ringwald */ 422941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_OPENED 0x70 423941b3855SMatthias Ringwald 424b072ba33SMatthias Ringwald /* 425b072ba33SMatthias Ringwald * @format 2 426b072ba33SMatthias Ringwald * @param local_cid 427b072ba33SMatthias Ringwald */ 428941b3855SMatthias Ringwald #define L2CAP_EVENT_CHANNEL_CLOSED 0x71 429941b3855SMatthias Ringwald 430b072ba33SMatthias Ringwald /** 4316d4269d3SMilanka Ringwald * @format BH222 432b072ba33SMatthias Ringwald * @param address 433b072ba33SMatthias Ringwald * @param handle 434b072ba33SMatthias Ringwald * @param psm 435b072ba33SMatthias Ringwald * @param local_cid 436b072ba33SMatthias Ringwald * @param remote_cid 437b072ba33SMatthias Ringwald */ 438941b3855SMatthias Ringwald #define L2CAP_EVENT_INCOMING_CONNECTION 0x72 439941b3855SMatthias Ringwald 440b072ba33SMatthias Ringwald // ?? 441941b3855SMatthias Ringwald // data: event(8), len(8), handle(16) 442941b3855SMatthias Ringwald #define L2CAP_EVENT_TIMEOUT_CHECK 0x73 443941b3855SMatthias Ringwald 444b072ba33SMatthias Ringwald /** 445b072ba33SMatthias Ringwald * @format H2222 446b072ba33SMatthias Ringwald * @param handle 447b072ba33SMatthias Ringwald * @param interval_min 448b072ba33SMatthias Ringwald * @param interval_max 449b072ba33SMatthias Ringwald * @param latencey 450b072ba33SMatthias Ringwald * @param timeout_multiplier 451b072ba33SMatthias Ringwald */ 452941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_REQUEST 0x76 453941b3855SMatthias Ringwald 454941b3855SMatthias Ringwald // data: event(8), len(8), handle(16), result (16) (0 == ok, 1 == fail) 455b072ba33SMatthias Ringwald /** 456b072ba33SMatthias Ringwald * @format H2 457b072ba33SMatthias Ringwald * @param handle 4582c737695SMatthias Ringwald * @param result 459b072ba33SMatthias Ringwald */ 460941b3855SMatthias Ringwald #define L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE 0x77 461941b3855SMatthias Ringwald 462b072ba33SMatthias Ringwald /** 463b072ba33SMatthias Ringwald * @format 2 464b072ba33SMatthias Ringwald * @param local_cid 465b072ba33SMatthias Ringwald */ 466b072ba33SMatthias Ringwald #define L2CAP_EVENT_CAN_SEND_NOW 0x78 467b072ba33SMatthias Ringwald 46844276248SMatthias Ringwald // LE Data Channels 46944276248SMatthias Ringwald 47044276248SMatthias Ringwald /** 47144276248SMatthias Ringwald * @format 1BH2222 47244276248SMatthias Ringwald * @param address_type 47344276248SMatthias Ringwald * @param address 47444276248SMatthias Ringwald * @param handle 47544276248SMatthias Ringwald * @param psm 47644276248SMatthias Ringwald * @param local_cid 47744276248SMatthias Ringwald * @param remote_cid 47844276248SMatthias Ringwald * @param remote_mtu 47944276248SMatthias Ringwald */ 48044276248SMatthias Ringwald #define L2CAP_EVENT_LE_INCOMING_CONNECTION 0x79 48144276248SMatthias Ringwald 48244276248SMatthias Ringwald /** 48312242deaSMatthias Ringwald * @format 11BH122222 48444276248SMatthias Ringwald * @param status 48544276248SMatthias Ringwald * @param address_type 48644276248SMatthias Ringwald * @param address 48744276248SMatthias Ringwald * @param handle 48812242deaSMatthias Ringwald * @param incoming 48944276248SMatthias Ringwald * @param psm 49044276248SMatthias Ringwald * @param local_cid 49144276248SMatthias Ringwald * @param remote_cid 49244276248SMatthias Ringwald * @param local_mtu 49344276248SMatthias Ringwald * @param remote_mtu 49444276248SMatthias Ringwald */ 49544276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_OPENED 0x7a 49644276248SMatthias Ringwald 49744276248SMatthias Ringwald /* 49844276248SMatthias Ringwald * @format 2 49944276248SMatthias Ringwald * @param local_cid 50044276248SMatthias Ringwald */ 50144276248SMatthias Ringwald #define L2CAP_EVENT_LE_CHANNEL_CLOSED 0x7b 50244276248SMatthias Ringwald 50344276248SMatthias Ringwald /* 50444276248SMatthias Ringwald * @format 2 50544276248SMatthias Ringwald * @param local_cid 50644276248SMatthias Ringwald */ 50744276248SMatthias Ringwald #define L2CAP_EVENT_LE_CAN_SEND_NOW 0x7c 50844276248SMatthias Ringwald 50944276248SMatthias Ringwald /* 51044276248SMatthias Ringwald * @format 2 51144276248SMatthias Ringwald * @param local_cid 51244276248SMatthias Ringwald */ 51344276248SMatthias Ringwald #define L2CAP_EVENT_LE_PACKET_SENT 0x7d 51444276248SMatthias Ringwald 51544276248SMatthias Ringwald 516941b3855SMatthias Ringwald // RFCOMM EVENTS 517b072ba33SMatthias Ringwald 518941b3855SMatthias Ringwald /** 519bab5f4f0SMatthias Ringwald * @format 1B21221 520941b3855SMatthias Ringwald * @param status 521941b3855SMatthias Ringwald * @param bd_addr 522941b3855SMatthias Ringwald * @param con_handle 523941b3855SMatthias Ringwald * @param server_channel 524941b3855SMatthias Ringwald * @param rfcomm_cid 525941b3855SMatthias Ringwald * @param max_frame_size 526bab5f4f0SMatthias Ringwald * @param incoming 527941b3855SMatthias Ringwald */ 528f8f6a918SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_OPENED 0x80 529941b3855SMatthias Ringwald 530941b3855SMatthias Ringwald /** 531941b3855SMatthias Ringwald * @format 2 532941b3855SMatthias Ringwald * @param rfcomm_cid 533941b3855SMatthias Ringwald */ 534941b3855SMatthias Ringwald #define RFCOMM_EVENT_CHANNEL_CLOSED 0x81 535941b3855SMatthias Ringwald 536941b3855SMatthias Ringwald /** 537941b3855SMatthias Ringwald * @format B12 538941b3855SMatthias Ringwald * @param bd_addr 539941b3855SMatthias Ringwald * @param server_channel 540941b3855SMatthias Ringwald * @param rfcomm_cid 541941b3855SMatthias Ringwald */ 542941b3855SMatthias Ringwald #define RFCOMM_EVENT_INCOMING_CONNECTION 0x82 543941b3855SMatthias Ringwald 544941b3855SMatthias Ringwald /** 545941b3855SMatthias Ringwald * @format 21 546941b3855SMatthias Ringwald * @param rfcomm_cid 547941b3855SMatthias Ringwald * @param line_status 548941b3855SMatthias Ringwald */ 549941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_LINE_STATUS 0x83 550941b3855SMatthias Ringwald 551941b3855SMatthias Ringwald /** 552941b3855SMatthias Ringwald * @format 21 553941b3855SMatthias Ringwald * @param rfcomm_cid 554941b3855SMatthias Ringwald * @param modem_status 555941b3855SMatthias Ringwald */ 556941b3855SMatthias Ringwald #define RFCOMM_EVENT_REMOTE_MODEM_STATUS 0x87 557941b3855SMatthias Ringwald 558941b3855SMatthias Ringwald /** 5597bd8e93bSMatthias Ringwald * TODO: format for variable data 2? 560045013feSMatthias Ringwald * param rfcomm_cid 561045013feSMatthias Ringwald * param rpn_data 562941b3855SMatthias Ringwald */ 563941b3855SMatthias Ringwald #define RFCOMM_EVENT_PORT_CONFIGURATION 0x88 564941b3855SMatthias Ringwald 565941b3855SMatthias Ringwald /** 566b072ba33SMatthias Ringwald * @format 2 56762c468cbSMatthias Ringwald * @param rfcomm_cid 568b072ba33SMatthias Ringwald */ 569b072ba33SMatthias Ringwald #define RFCOMM_EVENT_CAN_SEND_NOW 0x89 570b072ba33SMatthias Ringwald 571b072ba33SMatthias Ringwald 572b072ba33SMatthias Ringwald /** 573941b3855SMatthias Ringwald * @format 1 574941b3855SMatthias Ringwald * @param status 575941b3855SMatthias Ringwald */ 5765611a760SMatthias Ringwald #define SDP_EVENT_QUERY_COMPLETE 0x91 577941b3855SMatthias Ringwald 578941b3855SMatthias Ringwald /** 579941b3855SMatthias Ringwald * @format 1T 580941b3855SMatthias Ringwald * @param rfcomm_channel 581941b3855SMatthias Ringwald * @param name 582941b3855SMatthias Ringwald */ 5835611a760SMatthias Ringwald #define SDP_EVENT_QUERY_RFCOMM_SERVICE 0x92 584941b3855SMatthias Ringwald 585941b3855SMatthias Ringwald /** 5864225393cSMatthias Ringwald * @format 22221 5874225393cSMatthias Ringwald * @param record_id 588941b3855SMatthias Ringwald * @param attribute_id 5894225393cSMatthias Ringwald * @param attribute_length 5904225393cSMatthias Ringwald * @param data_offset 5914225393cSMatthias Ringwald * @param data 592941b3855SMatthias Ringwald */ 5935611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_BYTE 0x93 594941b3855SMatthias Ringwald 5954de250b4SMatthias Ringwald /** 5964de250b4SMatthias Ringwald * @format 22LV 5974de250b4SMatthias Ringwald * @param record_id 5984de250b4SMatthias Ringwald * @param attribute_id 5994de250b4SMatthias Ringwald * @param attribute_length 6004de250b4SMatthias Ringwald * @param attribute_value 6014de250b4SMatthias Ringwald */ 6025611a760SMatthias Ringwald #define SDP_EVENT_QUERY_ATTRIBUTE_VALUE 0x94 6034225393cSMatthias Ringwald 6044225393cSMatthias Ringwald /** 6054225393cSMatthias Ringwald * @format 224 6064225393cSMatthias Ringwald * @param total_count 6074225393cSMatthias Ringwald * @param record_index 6084225393cSMatthias Ringwald * @param record_handle 6094225393cSMatthias Ringwald * @note Not provided by daemon, only used for internal testing 6104225393cSMatthias Ringwald */ 6115611a760SMatthias Ringwald #define SDP_EVENT_QUERY_SERVICE_RECORD_HANDLE 0x95 612941b3855SMatthias Ringwald 613941b3855SMatthias Ringwald /** 614941b3855SMatthias Ringwald * @format H1 615941b3855SMatthias Ringwald * @param handle 616941b3855SMatthias Ringwald * @param status 617941b3855SMatthias Ringwald */ 6185611a760SMatthias Ringwald #define GATT_EVENT_QUERY_COMPLETE 0xA0 619941b3855SMatthias Ringwald 620941b3855SMatthias Ringwald /** 621941b3855SMatthias Ringwald * @format HX 622941b3855SMatthias Ringwald * @param handle 623941b3855SMatthias Ringwald * @param service 624941b3855SMatthias Ringwald */ 6255611a760SMatthias Ringwald #define GATT_EVENT_SERVICE_QUERY_RESULT 0xA1 626941b3855SMatthias Ringwald 627941b3855SMatthias Ringwald /** 628941b3855SMatthias Ringwald * @format HY 629941b3855SMatthias Ringwald * @param handle 630941b3855SMatthias Ringwald * @param characteristic 631941b3855SMatthias Ringwald */ 6325611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_QUERY_RESULT 0xA2 633941b3855SMatthias Ringwald 634941b3855SMatthias Ringwald /** 635941b3855SMatthias Ringwald * @format H2X 636941b3855SMatthias Ringwald * @param handle 637941b3855SMatthias Ringwald * @param include_handle 638941b3855SMatthias Ringwald * @param service 639941b3855SMatthias Ringwald */ 6405611a760SMatthias Ringwald #define GATT_EVENT_INCLUDED_SERVICE_QUERY_RESULT 0xA3 641941b3855SMatthias Ringwald 642941b3855SMatthias Ringwald /** 643941b3855SMatthias Ringwald * @format HZ 644941b3855SMatthias Ringwald * @param handle 645941b3855SMatthias Ringwald * @param characteristic_descriptor 646941b3855SMatthias Ringwald */ 6475611a760SMatthias Ringwald #define GATT_EVENT_ALL_CHARACTERISTIC_DESCRIPTORS_QUERY_RESULT 0xA4 648941b3855SMatthias Ringwald 649941b3855SMatthias Ringwald /** 650941b3855SMatthias Ringwald * @format H2LV 651941b3855SMatthias Ringwald * @param handle 652941b3855SMatthias Ringwald * @param value_handle 653941b3855SMatthias Ringwald * @param value_length 654941b3855SMatthias Ringwald * @param value 655941b3855SMatthias Ringwald */ 6565611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA5 657941b3855SMatthias Ringwald 658941b3855SMatthias Ringwald /** 659941b3855SMatthias Ringwald * @format H22LV 660941b3855SMatthias Ringwald * @param handle 661941b3855SMatthias Ringwald * @param value_handle 662941b3855SMatthias Ringwald * @param value_offset 663941b3855SMatthias Ringwald * @param value_length 664941b3855SMatthias Ringwald * @param value 665941b3855SMatthias Ringwald */ 6665611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT 0xA6 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_NOTIFICATION 0xA7 676941b3855SMatthias Ringwald 677941b3855SMatthias Ringwald /** 678941b3855SMatthias Ringwald * @format H2LV 679941b3855SMatthias Ringwald * @param handle 680941b3855SMatthias Ringwald * @param value_handle 681941b3855SMatthias Ringwald * @param value_length 682941b3855SMatthias Ringwald * @param value 683941b3855SMatthias Ringwald */ 6845611a760SMatthias Ringwald #define GATT_EVENT_INDICATION 0xA8 685941b3855SMatthias Ringwald 686941b3855SMatthias Ringwald /** 687941b3855SMatthias Ringwald * @format H2LV 6882c737695SMatthias Ringwald * @param handle 689941b3855SMatthias Ringwald * @param descriptor_handle 690941b3855SMatthias Ringwald * @param descriptor_length 691941b3855SMatthias Ringwald * @param descriptor 692941b3855SMatthias Ringwald */ 6935611a760SMatthias Ringwald #define GATT_EVENT_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xA9 694941b3855SMatthias Ringwald 695941b3855SMatthias Ringwald /** 696941b3855SMatthias Ringwald * @format H2LV 697941b3855SMatthias Ringwald * @param handle 698941b3855SMatthias Ringwald * @param descriptor_offset 699941b3855SMatthias Ringwald * @param descriptor_length 700941b3855SMatthias Ringwald * @param descriptor 701941b3855SMatthias Ringwald */ 7025611a760SMatthias Ringwald #define GATT_EVENT_LONG_CHARACTERISTIC_DESCRIPTOR_QUERY_RESULT 0xAA 703941b3855SMatthias Ringwald 704941b3855SMatthias Ringwald /** 705941b3855SMatthias Ringwald * @format H2 706941b3855SMatthias Ringwald * @param handle 707941b3855SMatthias Ringwald * @param MTU 708941b3855SMatthias Ringwald */ 7095611a760SMatthias Ringwald #define GATT_EVENT_MTU 0xAB 710941b3855SMatthias Ringwald 711941b3855SMatthias Ringwald /** 712941b3855SMatthias Ringwald * @format H2 713941b3855SMatthias Ringwald * @param handle 714941b3855SMatthias Ringwald * @param MTU 715941b3855SMatthias Ringwald */ 7165611a760SMatthias Ringwald #define ATT_EVENT_MTU_EXCHANGE_COMPLETE 0xB5 717941b3855SMatthias Ringwald 71849d18261SMatthias Ringwald /** 71949d18261SMatthias Ringwald * @format 1H2 72049d18261SMatthias Ringwald * @param status 72149d18261SMatthias Ringwald * @param conn_handle 72249d18261SMatthias Ringwald * @param attribute_handle 72349d18261SMatthias Ringwald */ 7245611a760SMatthias Ringwald #define ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE 0xB6 725941b3855SMatthias Ringwald 72649d18261SMatthias Ringwald /** 72749d18261SMatthias Ringwald * @format 72849d18261SMatthias Ringwald */ 72949d18261SMatthias Ringwald #define ATT_EVENT_CAN_SEND_NOW 0xB7 730941b3855SMatthias Ringwald 73149d18261SMatthias Ringwald // TODO: daemon only event 73249d18261SMatthias Ringwald 73349d18261SMatthias Ringwald /** 73449d18261SMatthias Ringwald * @format 12 73549d18261SMatthias Ringwald * @param status 73649d18261SMatthias Ringwald * @param service_uuid 73749d18261SMatthias Ringwald */ 738941b3855SMatthias Ringwald #define BNEP_EVENT_SERVICE_REGISTERED 0xC0 739941b3855SMatthias Ringwald 74049d18261SMatthias Ringwald /** 741423c667cSMatthias Ringwald * @format 12222B 74249d18261SMatthias Ringwald * @param status 743423c667cSMatthias Ringwald * @param bnep_cid 74449d18261SMatthias Ringwald * @param source_uuid 74549d18261SMatthias Ringwald * @param destination_uuid 74649d18261SMatthias Ringwald * @param mtu 74749d18261SMatthias Ringwald * @param remote_address 74849d18261SMatthias Ringwald */ 749423c667cSMatthias Ringwald #define BNEP_EVENT_CHANNEL_OPENED 0xC1 750941b3855SMatthias Ringwald 75149d18261SMatthias Ringwald /** 752423c667cSMatthias Ringwald * @format 222B 753423c667cSMatthias Ringwald * @param bnep_cid 75449d18261SMatthias Ringwald * @param source_uuid 75549d18261SMatthias Ringwald * @param destination_uuid 75649d18261SMatthias Ringwald * @param remote_address 75749d18261SMatthias Ringwald */ 758941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_CLOSED 0xC2 759941b3855SMatthias Ringwald 76049d18261SMatthias Ringwald /** 761423c667cSMatthias Ringwald * @format 222B1 762423c667cSMatthias Ringwald * @param bnep_cid 76349d18261SMatthias Ringwald * @param source_uuid 76449d18261SMatthias Ringwald * @param destination_uuid 76549d18261SMatthias Ringwald * @param remote_address 76649d18261SMatthias Ringwald * @param channel_state 76749d18261SMatthias Ringwald */ 768941b3855SMatthias Ringwald #define BNEP_EVENT_CHANNEL_TIMEOUT 0xC3 769941b3855SMatthias Ringwald 77049d18261SMatthias Ringwald /** 771423c667cSMatthias Ringwald * @format 222B 772423c667cSMatthias Ringwald * @param bnep_cid 77349d18261SMatthias Ringwald * @param source_uuid 77449d18261SMatthias Ringwald * @param destination_uuid 77549d18261SMatthias Ringwald * @param remote_address 77649d18261SMatthias Ringwald */ 7772d4c8c04SMatthias Ringwald #define BNEP_EVENT_CAN_SEND_NOW 0xC4 778941b3855SMatthias Ringwald 779941b3855SMatthias Ringwald /** 780941b3855SMatthias Ringwald * @format H1B 781941b3855SMatthias Ringwald * @param handle 782941b3855SMatthias Ringwald * @param addr_type 783941b3855SMatthias Ringwald * @param address 784941b3855SMatthias Ringwald */ 7855611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_REQUEST 0xD0 786941b3855SMatthias Ringwald 787941b3855SMatthias Ringwald /** 788941b3855SMatthias Ringwald * @format H1B 789941b3855SMatthias Ringwald * @param handle 790941b3855SMatthias Ringwald * @param addr_type 791941b3855SMatthias Ringwald * @param address 792941b3855SMatthias Ringwald */ 7935611a760SMatthias Ringwald #define SM_EVENT_JUST_WORKS_CANCEL 0xD1 794941b3855SMatthias Ringwald 795941b3855SMatthias Ringwald /** 796941b3855SMatthias Ringwald * @format H1B4 797941b3855SMatthias Ringwald * @param handle 798941b3855SMatthias Ringwald * @param addr_type 799941b3855SMatthias Ringwald * @param address 800941b3855SMatthias Ringwald * @param passkey 801941b3855SMatthias Ringwald */ 8025611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_NUMBER 0xD2 803941b3855SMatthias Ringwald 804941b3855SMatthias Ringwald /** 805941b3855SMatthias Ringwald * @format H1B 806941b3855SMatthias Ringwald * @param handle 807941b3855SMatthias Ringwald * @param addr_type 808941b3855SMatthias Ringwald * @param address 809941b3855SMatthias Ringwald */ 8105611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_DISPLAY_CANCEL 0xD3 811941b3855SMatthias Ringwald 812941b3855SMatthias Ringwald /** 8132c737695SMatthias Ringwald * @format H1B 814941b3855SMatthias Ringwald * @param handle 815941b3855SMatthias Ringwald * @param addr_type 816941b3855SMatthias Ringwald * @param address 817941b3855SMatthias Ringwald */ 8185611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_NUMBER 0xD4 819941b3855SMatthias Ringwald 820941b3855SMatthias Ringwald /** 821941b3855SMatthias Ringwald * @format H1B 822941b3855SMatthias Ringwald * @param handle 823941b3855SMatthias Ringwald * @param addr_type 824941b3855SMatthias Ringwald * @param address 825941b3855SMatthias Ringwald */ 8265611a760SMatthias Ringwald #define SM_EVENT_PASSKEY_INPUT_CANCEL 0xD5 827941b3855SMatthias Ringwald 828941b3855SMatthias Ringwald /** 8298362d86aSMatthias Ringwald * @format H1B4 8308362d86aSMatthias Ringwald * @param handle 8318362d86aSMatthias Ringwald * @param addr_type 8328362d86aSMatthias Ringwald * @param address 8338362d86aSMatthias Ringwald * @param passkey 8348362d86aSMatthias Ringwald */ 8358362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_REQUEST 0xD6 8368362d86aSMatthias Ringwald 8378362d86aSMatthias Ringwald /** 8382c737695SMatthias Ringwald * @format H1B 839941b3855SMatthias Ringwald * @param handle 840941b3855SMatthias Ringwald * @param addr_type 841941b3855SMatthias Ringwald * @param address 842941b3855SMatthias Ringwald */ 8438362d86aSMatthias Ringwald #define SM_EVENT_NUMERIC_COMPARISON_CANCEL 0xD7 844941b3855SMatthias Ringwald 845941b3855SMatthias Ringwald /** 846941b3855SMatthias Ringwald * @format H1B 847941b3855SMatthias Ringwald * @param handle 848941b3855SMatthias Ringwald * @param addr_type 849941b3855SMatthias Ringwald * @param address 850941b3855SMatthias Ringwald */ 8518362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_STARTED 0xD8 8528362d86aSMatthias Ringwald 8538362d86aSMatthias Ringwald /** 8548362d86aSMatthias Ringwald * @format H1B 8558362d86aSMatthias Ringwald * @param handle 8568362d86aSMatthias Ringwald * @param addr_type 8578362d86aSMatthias Ringwald * @param address 8588362d86aSMatthias Ringwald */ 8598362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_FAILED 0xD9 860941b3855SMatthias Ringwald 861941b3855SMatthias Ringwald /** 86284182ed9SMatthias Ringwald * @brief Identify resolving succeeded 86384182ed9SMatthias Ringwald * 864334126b3SMatthias Ringwald * @format H1B1B2 865941b3855SMatthias Ringwald * @param handle 866941b3855SMatthias Ringwald * @param addr_type 867941b3855SMatthias Ringwald * @param address 86884182ed9SMatthias Ringwald * @param identity_addr_type 86984182ed9SMatthias Ringwald * @param identity_address 870334126b3SMatthias Ringwald * @param index_internal 87184182ed9SMatthias Ringwald * 872941b3855SMatthias Ringwald */ 8738362d86aSMatthias Ringwald #define SM_EVENT_IDENTITY_RESOLVING_SUCCEEDED 0xDA 874941b3855SMatthias Ringwald 875941b3855SMatthias Ringwald /** 876941b3855SMatthias Ringwald * @format H1B 877941b3855SMatthias Ringwald * @param handle 878941b3855SMatthias Ringwald * @param addr_type 879941b3855SMatthias Ringwald * @param address 880941b3855SMatthias Ringwald */ 8818362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_REQUEST 0xDB 882941b3855SMatthias Ringwald 883941b3855SMatthias Ringwald /** 884941b3855SMatthias Ringwald * @format H1B1 885941b3855SMatthias Ringwald * @param handle 886941b3855SMatthias Ringwald * @param addr_type 887941b3855SMatthias Ringwald * @param address 888941b3855SMatthias Ringwald * @param authorization_result 889941b3855SMatthias Ringwald */ 8908362d86aSMatthias Ringwald #define SM_EVENT_AUTHORIZATION_RESULT 0xDC 891941b3855SMatthias Ringwald 8923d7fe1e9SMatthias Ringwald /** 8933d7fe1e9SMatthias Ringwald * @format H1 8943d7fe1e9SMatthias Ringwald * @param handle 8953d7fe1e9SMatthias Ringwald * @param action see SM_KEYPRESS_* 8963d7fe1e9SMatthias Ringwald */ 8973d7fe1e9SMatthias Ringwald #define SM_EVENT_KEYPRESS_NOTIFICATION 0xDD 8983d7fe1e9SMatthias Ringwald 89984182ed9SMatthias Ringwald /** 90084182ed9SMatthias Ringwald * @brief Emitted during pairing to inform app about address used as identity 90184182ed9SMatthias Ringwald * 90284182ed9SMatthias Ringwald * @format H1B1B 90384182ed9SMatthias Ringwald * @param handle 90484182ed9SMatthias Ringwald * @param addr_type 90584182ed9SMatthias Ringwald * @param address 90684182ed9SMatthias Ringwald * @param identity_addr_type 90784182ed9SMatthias Ringwald * @param identity_address 90884182ed9SMatthias Ringwald */ 90984182ed9SMatthias Ringwald #define SM_EVENT_IDENTITY_CREATED 0xDE 9103d7fe1e9SMatthias Ringwald 911941b3855SMatthias Ringwald // GAP 912941b3855SMatthias Ringwald 91346bc5396SMilanka Ringwald /** 91446bc5396SMilanka Ringwald * @format H1 91546bc5396SMilanka Ringwald * @param handle 91646bc5396SMilanka Ringwald * @param security_level 91746bc5396SMilanka Ringwald */ 9185611a760SMatthias Ringwald #define GAP_EVENT_SECURITY_LEVEL 0xE0 919941b3855SMatthias Ringwald 92046bc5396SMilanka Ringwald /** 92146bc5396SMilanka Ringwald * @format 1B 92246bc5396SMilanka Ringwald * @param status 92346bc5396SMilanka Ringwald * @param address 92446bc5396SMilanka Ringwald */ 9255611a760SMatthias Ringwald #define GAP_EVENT_DEDICATED_BONDING_COMPLETED 0xE1 926941b3855SMatthias Ringwald 927941b3855SMatthias Ringwald /** 928941b3855SMatthias Ringwald * @format 11B1JV 929941b3855SMatthias Ringwald * @param advertising_event_type 930941b3855SMatthias Ringwald * @param address_type 931941b3855SMatthias Ringwald * @param address 932941b3855SMatthias Ringwald * @param rssi 933941b3855SMatthias Ringwald * @param data_length 934941b3855SMatthias Ringwald * @param data 935941b3855SMatthias Ringwald */ 936045013feSMatthias Ringwald #define GAP_EVENT_ADVERTISING_REPORT 0xE2 937941b3855SMatthias Ringwald 9381cfb383eSMatthias Ringwald /** 9391cfb383eSMatthias Ringwald * @format B132111JV 9401cfb383eSMatthias Ringwald * @param bd_addr 9411cfb383eSMatthias Ringwald * @param page_scan_repetition_mode 9421cfb383eSMatthias Ringwald * @param class_of_device 9431cfb383eSMatthias Ringwald * @param clock_offset 944d79faacdSMatthias Ringwald * @param rssi_available 9451cfb383eSMatthias Ringwald * @param rssi 9461cfb383eSMatthias Ringwald * @param name_available 9471cfb383eSMatthias Ringwald * @param name_len 9481cfb383eSMatthias Ringwald * @param name 9491cfb383eSMatthias Ringwald */ 9501cfb383eSMatthias Ringwald #define GAP_EVENT_INQUIRY_RESULT 0xE3 9511cfb383eSMatthias Ringwald 9521cfb383eSMatthias Ringwald /** 9531cfb383eSMatthias Ringwald * @format 1 9541cfb383eSMatthias Ringwald * @param status 9551cfb383eSMatthias Ringwald */ 9561cfb383eSMatthias Ringwald #define GAP_EVENT_INQUIRY_COMPLETE 0xE4 9571cfb383eSMatthias Ringwald 958827b1c43SMatthias Ringwald 959e10ce426SMatthias Ringwald // Meta Events, see below for sub events 960941b3855SMatthias Ringwald #define HCI_EVENT_HSP_META 0xE8 96139d235cbSMatthias Ringwald #define HCI_EVENT_HFP_META 0xE9 962e10ce426SMatthias Ringwald #define HCI_EVENT_ANCS_META 0xEA 963beaf082cSMatthias Ringwald #define HCI_EVENT_AVDTP_META 0xEB 964decc740cSMilanka Ringwald #define HCI_EVENT_AVRCP_META 0xEC 965f1b34e8dSMatthias Ringwald #define HCI_EVENT_GOEP_META 0xED 966f1b34e8dSMatthias Ringwald #define HCI_EVENT_PBAP_META 0xEE 967dd148ddbSMatthias Ringwald #define HCI_EVENT_HID_META 0xEF 9683e3fbf3dSMilanka Ringwald #define HCI_EVENT_A2DP_META 0xF0 96939d235cbSMatthias Ringwald 970e10ce426SMatthias Ringwald // Potential other meta groups 971e10ce426SMatthias Ringwald // #define HCI_EVENT_BNEP_META 0xxx 972e10ce426SMatthias Ringwald // #define HCI_EVENT_GAP_META 0xxx 973e10ce426SMatthias Ringwald // #define HCI_EVENT_GATT_META 0xxx 974e10ce426SMatthias Ringwald // #define HCI_EVENT_PAN_META 0xxx 975e10ce426SMatthias Ringwald // #define HCI_EVENT_SDP_META 0xxx 976e10ce426SMatthias Ringwald // #define HCI_EVENT_SM_META 0xxx 97739d235cbSMatthias Ringwald 978d63c37a1SMatthias Ringwald 979d63c37a1SMatthias Ringwald /** HSP Subevent */ 980d63c37a1SMatthias Ringwald 981827b1c43SMatthias Ringwald /** 98299a10067SMatthias Ringwald * @format 11 983827b1c43SMatthias Ringwald * @param subevent_code 984827b1c43SMatthias Ringwald * @param status 0 == OK 985827b1c43SMatthias Ringwald */ 98699a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE 0x01 98799a10067SMatthias Ringwald 98899a10067SMatthias Ringwald /** 98999a10067SMatthias Ringwald * @format 11 99099a10067SMatthias Ringwald * @param subevent_code 99199a10067SMatthias Ringwald * @param status 0 == OK 99299a10067SMatthias Ringwald */ 99399a10067SMatthias Ringwald #define HSP_SUBEVENT_RFCOMM_DISCONNECTION_COMPLETE 0x02 99499a10067SMatthias Ringwald 99599a10067SMatthias Ringwald 99699a10067SMatthias Ringwald /** 99762c468cbSMatthias Ringwald * @format 11H 99899a10067SMatthias Ringwald * @param subevent_code 99999a10067SMatthias Ringwald * @param status 0 == OK 100062c468cbSMatthias Ringwald * @param handle 100199a10067SMatthias Ringwald */ 100299a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_CONNECTION_COMPLETE 0x03 1003827b1c43SMatthias Ringwald 1004827b1c43SMatthias Ringwald /** 1005827b1c43SMatthias Ringwald * @format 11 1006827b1c43SMatthias Ringwald * @param subevent_code 1007827b1c43SMatthias Ringwald * @param status 0 == OK 1008827b1c43SMatthias Ringwald */ 100999a10067SMatthias Ringwald #define HSP_SUBEVENT_AUDIO_DISCONNECTION_COMPLETE 0x04 1010827b1c43SMatthias Ringwald 1011827b1c43SMatthias Ringwald /** 1012827b1c43SMatthias Ringwald * @format 1 1013827b1c43SMatthias Ringwald * @param subevent_code 1014827b1c43SMatthias Ringwald */ 101599a10067SMatthias Ringwald #define HSP_SUBEVENT_RING 0x05 1016827b1c43SMatthias Ringwald 1017827b1c43SMatthias Ringwald /** 1018827b1c43SMatthias Ringwald * @format 11 1019827b1c43SMatthias Ringwald * @param subevent_code 1020827b1c43SMatthias Ringwald * @param gain Valid range: [0,15] 1021827b1c43SMatthias Ringwald */ 102299a10067SMatthias Ringwald #define HSP_SUBEVENT_MICROPHONE_GAIN_CHANGED 0x06 1023827b1c43SMatthias Ringwald 1024827b1c43SMatthias Ringwald /** 1025827b1c43SMatthias Ringwald * @format 11 1026827b1c43SMatthias Ringwald * @param subevent_code 1027827b1c43SMatthias Ringwald * @param gain Valid range: [0,15] 1028827b1c43SMatthias Ringwald */ 102999a10067SMatthias Ringwald #define HSP_SUBEVENT_SPEAKER_GAIN_CHANGED 0x07 1030827b1c43SMatthias Ringwald 1031827b1c43SMatthias Ringwald /** 1032827b1c43SMatthias Ringwald * @format 1JV 1033827b1c43SMatthias Ringwald * @param subevent_code 1034827b1c43SMatthias Ringwald * @param value_length 1035827b1c43SMatthias Ringwald * @param value 1036827b1c43SMatthias Ringwald */ 103799a10067SMatthias Ringwald #define HSP_SUBEVENT_HS_COMMAND 0x08 1038827b1c43SMatthias Ringwald 1039827b1c43SMatthias Ringwald /** 1040827b1c43SMatthias Ringwald * @format 1JV 1041827b1c43SMatthias Ringwald * @param subevent_code 1042827b1c43SMatthias Ringwald * @param value_length 1043827b1c43SMatthias Ringwald * @param value 1044827b1c43SMatthias Ringwald */ 104599a10067SMatthias Ringwald #define HSP_SUBEVENT_AG_INDICATION 0x09 1046827b1c43SMatthias Ringwald 1047941b3855SMatthias Ringwald 1048d63c37a1SMatthias Ringwald /** HFP Subevent */ 1049941b3855SMatthias Ringwald 1050d63c37a1SMatthias Ringwald /** 1051a23045e2SMilanka Ringwald * @format 11HB 1052d63c37a1SMatthias Ringwald * @param subevent_code 1053d63c37a1SMatthias Ringwald * @param status 0 == OK 1054a0653c3bSMilanka Ringwald * @param con_handle 10556a7f44bdSMilanka Ringwald * @param bd_addr 1056d63c37a1SMatthias Ringwald */ 1057941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED 0x01 1058d63c37a1SMatthias Ringwald 1059d63c37a1SMatthias Ringwald /** 1060d63c37a1SMatthias Ringwald * @format 1 1061d63c37a1SMatthias Ringwald * @param subevent_code 1062d63c37a1SMatthias Ringwald */ 1063941b3855SMatthias Ringwald #define HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED 0x02 1064d63c37a1SMatthias Ringwald 1065d63c37a1SMatthias Ringwald /** 1066a23045e2SMilanka Ringwald * @format 11HB1 1067d63c37a1SMatthias Ringwald * @param subevent_code 1068d63c37a1SMatthias Ringwald * @param status 0 == OK 10696ff51cfdSMatthias Ringwald * @param handle 10706a7f44bdSMilanka Ringwald * @param bd_addr 1071d0c4aea6SMilanka Ringwald * @param negotiated_codec 1072d63c37a1SMatthias Ringwald */ 1073941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED 0x03 1074d63c37a1SMatthias Ringwald 1075d63c37a1SMatthias Ringwald /** 1076d63c37a1SMatthias Ringwald * @format 1 1077d63c37a1SMatthias Ringwald * @param subevent_code 1078d63c37a1SMatthias Ringwald */ 1079941b3855SMatthias Ringwald #define HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED 0x04 1080d63c37a1SMatthias Ringwald 1081d63c37a1SMatthias Ringwald /** 1082d63c37a1SMatthias Ringwald * @format 11 1083d63c37a1SMatthias Ringwald * @param subevent_code 1084d63c37a1SMatthias Ringwald * @param status 0 == OK 1085d63c37a1SMatthias Ringwald */ 1086941b3855SMatthias Ringwald #define HFP_SUBEVENT_COMPLETE 0x05 1087d63c37a1SMatthias Ringwald 1088d63c37a1SMatthias Ringwald /** 1089d63c37a1SMatthias Ringwald * @format 111T 1090d63c37a1SMatthias Ringwald * @param subevent_code 1091d63c37a1SMatthias Ringwald * @param indicator_index 1092d63c37a1SMatthias Ringwald * @param indicator_status 1093d63c37a1SMatthias Ringwald * @param indicator_name 1094d63c37a1SMatthias Ringwald */ 1095941b3855SMatthias Ringwald #define HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED 0x06 1096d63c37a1SMatthias Ringwald 1097d63c37a1SMatthias Ringwald /** 10982c737695SMatthias Ringwald * @format 111T 1099d63c37a1SMatthias Ringwald * @param subevent_code 1100d63c37a1SMatthias Ringwald * @param network_operator_mode 1101d63c37a1SMatthias Ringwald * @param network_operator_format 1102d63c37a1SMatthias Ringwald * @param network_operator_name 1103d63c37a1SMatthias Ringwald */ 1104941b3855SMatthias Ringwald #define HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED 0x07 1105d63c37a1SMatthias Ringwald 1106d63c37a1SMatthias Ringwald /** 1107d63c37a1SMatthias Ringwald * @format 11 1108d63c37a1SMatthias Ringwald * @param subevent_code 1109d63c37a1SMatthias Ringwald * @param error 1110d63c37a1SMatthias Ringwald */ 1111941b3855SMatthias Ringwald #define HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR 0x08 1112d63c37a1SMatthias Ringwald 1113d63c37a1SMatthias Ringwald /** 1114d63c37a1SMatthias Ringwald * @format 1 1115d63c37a1SMatthias Ringwald * @param subevent_code 1116d63c37a1SMatthias Ringwald */ 1117aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_START_RINGINIG 0x0A 1118d63c37a1SMatthias Ringwald 1119d63c37a1SMatthias Ringwald /** 1120d63c37a1SMatthias Ringwald * @format 1 1121d63c37a1SMatthias Ringwald * @param subevent_code 1122d63c37a1SMatthias Ringwald */ 1123aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_STOP_RINGINIG 0x0B 1124d63c37a1SMatthias Ringwald 1125d63c37a1SMatthias Ringwald /** 1126d63c37a1SMatthias Ringwald * @format 1 1127d63c37a1SMatthias Ringwald * @param subevent_code 1128d63c37a1SMatthias Ringwald */ 1129aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_CALL_TERMINATED 0x0C 1130d63c37a1SMatthias Ringwald 1131d63c37a1SMatthias Ringwald /** 1132d63c37a1SMatthias Ringwald * @format 1T 1133d63c37a1SMatthias Ringwald * @param subevent_code 1134d63c37a1SMatthias Ringwald * @param number 1135d63c37a1SMatthias Ringwald */ 1136aa4dd815SMatthias Ringwald #define HFP_SUBEVENT_PLACE_CALL_WITH_NUMBER 0x0D 1137d63c37a1SMatthias Ringwald 1138d63c37a1SMatthias Ringwald /** 1139d63c37a1SMatthias Ringwald * @format 1 1140d63c37a1SMatthias Ringwald * @param subevent_code 1141d63c37a1SMatthias Ringwald */ 1142d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ATTACH_NUMBER_TO_VOICE_TAG 0x0E 1143d63c37a1SMatthias Ringwald 1144d63c37a1SMatthias Ringwald /** 1145d63c37a1SMatthias Ringwald * @format 1T 1146d63c37a1SMatthias Ringwald * @param subevent_code 1147d63c37a1SMatthias Ringwald * @param number 1148d63c37a1SMatthias Ringwald */ 1149d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG 0x0F 1150d63c37a1SMatthias Ringwald 1151d63c37a1SMatthias Ringwald /** 1152d63c37a1SMatthias Ringwald * @format 1T 1153d63c37a1SMatthias Ringwald * @param subevent_code 1154d63c37a1SMatthias Ringwald * @param dtmf code 1155d63c37a1SMatthias Ringwald */ 1156d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_TRANSMIT_DTMF_CODES 0x10 1157d63c37a1SMatthias Ringwald 1158d63c37a1SMatthias Ringwald /** 1159d63c37a1SMatthias Ringwald * @format 1 1160d63c37a1SMatthias Ringwald * @param subevent_code 1161d63c37a1SMatthias Ringwald */ 1162d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_ANSWERED 0x11 1163d63c37a1SMatthias Ringwald 1164d63c37a1SMatthias Ringwald /** 1165d63c37a1SMatthias Ringwald * @format 1 1166d63c37a1SMatthias Ringwald * @param subevent_code 1167d63c37a1SMatthias Ringwald */ 1168d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CONFERENCE_CALL 0x12 1169d63c37a1SMatthias Ringwald 1170d63c37a1SMatthias Ringwald /** 1171d63c37a1SMatthias Ringwald * @format 1 1172d63c37a1SMatthias Ringwald * @param subevent_code 1173d63c37a1SMatthias Ringwald */ 1174d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RING 0x13 1175d63c37a1SMatthias Ringwald 1176d63c37a1SMatthias Ringwald /** 1177d63c37a1SMatthias Ringwald * @format 111 1178d63c37a1SMatthias Ringwald * @param subevent_code 1179d63c37a1SMatthias Ringwald * @param status 1180d63c37a1SMatthias Ringwald * @param gain 1181d63c37a1SMatthias Ringwald */ 1182d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_SPEAKER_VOLUME 0x14 1183d63c37a1SMatthias Ringwald 1184d63c37a1SMatthias Ringwald /** 1185d63c37a1SMatthias Ringwald * @format 111 1186d63c37a1SMatthias Ringwald * @param subevent_code 1187d63c37a1SMatthias Ringwald * @param status 1188d63c37a1SMatthias Ringwald * @param gain 1189d63c37a1SMatthias Ringwald */ 1190d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_MICROPHONE_VOLUME 0x15 1191d63c37a1SMatthias Ringwald 1192d63c37a1SMatthias Ringwald /** 1193d63c37a1SMatthias Ringwald * @format 11T 1194d63c37a1SMatthias Ringwald * @param subevent_code 1195d63c37a1SMatthias Ringwald * @param type 1196d63c37a1SMatthias Ringwald * @param number 1197d63c37a1SMatthias Ringwald */ 1198d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALL_WAITING_NOTIFICATION 0x16 1199d63c37a1SMatthias Ringwald 1200d63c37a1SMatthias Ringwald /** 1201d63c37a1SMatthias Ringwald * @format 11T 1202d63c37a1SMatthias Ringwald * @param subevent_code 1203d63c37a1SMatthias Ringwald * @param type 1204d63c37a1SMatthias Ringwald * @param number 1205d63c37a1SMatthias Ringwald */ 1206d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_CALLING_LINE_INDETIFICATION_NOTIFICATION 0x17 1207d63c37a1SMatthias Ringwald 1208d63c37a1SMatthias Ringwald /** 1209d63c37a1SMatthias Ringwald * @format 111111T 1210d63c37a1SMatthias Ringwald * @param subevent_code 1211d63c37a1SMatthias Ringwald * @param clcc_idx 1212d63c37a1SMatthias Ringwald * @param clcc_dir 1213d63c37a1SMatthias Ringwald * @param clcc_status 1214d63c37a1SMatthias Ringwald * @param clcc_mpty 1215d63c37a1SMatthias Ringwald * @param bnip_type 1216d63c37a1SMatthias Ringwald * @param bnip_number 1217d63c37a1SMatthias Ringwald */ 1218d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_ENHANCED_CALL_STATUS 0x18 1219d63c37a1SMatthias Ringwald 1220d63c37a1SMatthias Ringwald /** 1221d63c37a1SMatthias Ringwald * @format 111T 1222d63c37a1SMatthias Ringwald * @param subevent_code 1223d63c37a1SMatthias Ringwald * @param status 1224d63c37a1SMatthias Ringwald * @param bnip_type 1225d63c37a1SMatthias Ringwald * @param bnip_number 1226d63c37a1SMatthias Ringwald */ 1227d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_SUBSCRIBER_NUMBER_INFORMATION 0x19 1228d63c37a1SMatthias Ringwald 1229d63c37a1SMatthias Ringwald /** 1230d63c37a1SMatthias Ringwald * @format 1T 1231d63c37a1SMatthias Ringwald * @param subevent_code 1232d63c37a1SMatthias Ringwald * @param value 1233d63c37a1SMatthias Ringwald */ 1234d63c37a1SMatthias Ringwald #define HFP_SUBEVENT_RESPONSE_AND_HOLD_STATUS 0x1A 1235941b3855SMatthias Ringwald 1236941b3855SMatthias Ringwald // ANCS Client 1237a4815874SMatthias Ringwald 1238a4815874SMatthias Ringwald /** 1239e10ce426SMatthias Ringwald * @format 1H 1240e10ce426SMatthias Ringwald * @param subevent_code 1241a4815874SMatthias Ringwald * @param handle 1242a4815874SMatthias Ringwald */ 1243e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_CONNECTED 0xF0 1244a4815874SMatthias Ringwald 1245a4815874SMatthias Ringwald /** 1246e10ce426SMatthias Ringwald * @format 1H2T 1247e10ce426SMatthias Ringwald * @param subevent_code 1248a4815874SMatthias Ringwald * @param handle 1249a4815874SMatthias Ringwald * @param attribute_id 1250a4815874SMatthias Ringwald * @param text 1251a4815874SMatthias Ringwald */ 1252e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_NOTIFICATION 0xF1 1253a4815874SMatthias Ringwald 1254a4815874SMatthias Ringwald /** 1255e10ce426SMatthias Ringwald * @format 1H 1256e10ce426SMatthias Ringwald * @param subevent_code 1257a4815874SMatthias Ringwald * @param handle 1258a4815874SMatthias Ringwald */ 1259e10ce426SMatthias Ringwald #define ANCS_SUBEVENT_CLIENT_DISCONNECTED 0xF2 1260941b3855SMatthias Ringwald 1261a23045e2SMilanka Ringwald 1262a23045e2SMilanka Ringwald /** AVDTP Subevent */ 1263a23045e2SMilanka Ringwald 12643338b9aeSMilanka Ringwald /** 1265ba155c22SMilanka Ringwald * @format 1H111 12662c708e8aSMilanka Ringwald * @param subevent_code 1267f9bca1f3SMilanka Ringwald * @param avdtp_cid 1268ba155c22SMilanka Ringwald * @param int_seid 12692c708e8aSMilanka Ringwald * @param signal_identifier 12702c708e8aSMilanka Ringwald * @param status 0 == OK 12712c708e8aSMilanka Ringwald */ 12722c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_ACCEPT 0x01 12732c708e8aSMilanka Ringwald 12742c708e8aSMilanka Ringwald /** 1275ba155c22SMilanka Ringwald * @format 1H11 12762c708e8aSMilanka Ringwald * @param subevent_code 1277f9bca1f3SMilanka Ringwald * @param avdtp_cid 1278ba155c22SMilanka Ringwald * @param int_seid 12792c708e8aSMilanka Ringwald * @param signal_identifier 12802c708e8aSMilanka Ringwald */ 12812c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_REJECT 0x02 12822c708e8aSMilanka Ringwald 12832c708e8aSMilanka Ringwald /** 1284ba155c22SMilanka Ringwald * @format 1H11 12852c708e8aSMilanka Ringwald * @param subevent_code 1286f9bca1f3SMilanka Ringwald * @param avdtp_cid 1287ba155c22SMilanka Ringwald * @param int_seid 12882c708e8aSMilanka Ringwald * @param signal_identifier 12892c708e8aSMilanka Ringwald */ 12902c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_GENERAL_REJECT 0x03 12912c708e8aSMilanka Ringwald 12922c708e8aSMilanka Ringwald /** 12933338b9aeSMilanka Ringwald * @format 1HB1 12943338b9aeSMilanka Ringwald * @param subevent_code 1295f9bca1f3SMilanka Ringwald * @param avdtp_cid 12963338b9aeSMilanka Ringwald * @param bd_addr 12973338b9aeSMilanka Ringwald * @param status 0 == OK 12983338b9aeSMilanka Ringwald */ 12992c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_ESTABLISHED 0x04 1300a23045e2SMilanka Ringwald 13013338b9aeSMilanka Ringwald /** 130285a0c7cdSMilanka Ringwald * @format 1H 13033338b9aeSMilanka Ringwald * @param subevent_code 1304f9bca1f3SMilanka Ringwald * @param avdtp_cid 13053338b9aeSMilanka Ringwald */ 13062c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_CONNECTION_RELEASED 0x05 13073338b9aeSMilanka Ringwald 13083338b9aeSMilanka Ringwald /** 13093338b9aeSMilanka Ringwald * @format 1H1111 13103338b9aeSMilanka Ringwald * @param subevent_code 1311f9bca1f3SMilanka Ringwald * @param avdtp_cid 13123338b9aeSMilanka Ringwald * @param seid 0x01 – 0x3E 13133338b9aeSMilanka Ringwald * @param in_use 0-not in use, 1-in use 13143338b9aeSMilanka Ringwald * @param media_type 0-audio, 1-video, 2-multimedia 13153338b9aeSMilanka Ringwald * @param sep_type 0-source, 1-sink 13163338b9aeSMilanka Ringwald */ 13172c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_SEP_FOUND 0x06 13183338b9aeSMilanka Ringwald 13193338b9aeSMilanka Ringwald /** 1320ba155c22SMilanka Ringwald * @format 1H1111111111 13213338b9aeSMilanka Ringwald * @param subevent_code 1322f9bca1f3SMilanka Ringwald * @param avdtp_cid 1323ba155c22SMilanka Ringwald * @param int_seid 1324ba155c22SMilanka Ringwald * @param acp_seid 13253338b9aeSMilanka Ringwald * @param media_type 1326ea7bd529SMilanka Ringwald * @param sampling_frequency_bitmap 1327ea7bd529SMilanka Ringwald * @param channel_mode_bitmap 1328ea7bd529SMilanka Ringwald * @param block_length_bitmap 1329ea7bd529SMilanka Ringwald * @param subbands_bitmap 1330ea7bd529SMilanka Ringwald * @param allocation_method_bitmap 13313338b9aeSMilanka Ringwald * @param min_bitpool_value 13323338b9aeSMilanka Ringwald * @param max_bitpool_value 13333338b9aeSMilanka Ringwald */ 13342c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CAPABILITY 0x07 13353338b9aeSMilanka Ringwald 13363338b9aeSMilanka Ringwald /** 1337ba155c22SMilanka Ringwald * @format 1H1112LV 13383338b9aeSMilanka Ringwald * @param subevent_code 1339f9bca1f3SMilanka Ringwald * @param avdtp_cid 1340ba155c22SMilanka Ringwald * @param int_seid 1341ba155c22SMilanka Ringwald * @param acp_seid 13423338b9aeSMilanka Ringwald * @param media_type 13433338b9aeSMilanka Ringwald * @param media_codec_type 13443338b9aeSMilanka Ringwald * @param media_codec_information_len 13453338b9aeSMilanka Ringwald * @param media_codec_information 13463338b9aeSMilanka Ringwald */ 13472c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CAPABILITY 0x08 1348a23045e2SMilanka Ringwald 1349ea7bd529SMilanka Ringwald /** 1350ba155c22SMilanka Ringwald * @format 1H111121111111 1351ea7bd529SMilanka Ringwald * @param subevent_code 1352f9bca1f3SMilanka Ringwald * @param avdtp_cid 1353ba155c22SMilanka Ringwald * @param int_seid 1354ba155c22SMilanka Ringwald * @param acp_seid 1355ea7bd529SMilanka Ringwald * @param reconfigure 1356ea7bd529SMilanka Ringwald * @param media_type 1357ea7bd529SMilanka Ringwald * @param sampling_frequency 1358ea7bd529SMilanka Ringwald * @param channel_mode 1359ea7bd529SMilanka Ringwald * @param num_channels 1360ea7bd529SMilanka Ringwald * @param block_length 1361ea7bd529SMilanka Ringwald * @param subbands 1362ea7bd529SMilanka Ringwald * @param allocation_method 1363ea7bd529SMilanka Ringwald * @param min_bitpool_value 1364ea7bd529SMilanka Ringwald * @param max_bitpool_value 1365ea7bd529SMilanka Ringwald */ 13662c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION 0x09 1367ea7bd529SMilanka Ringwald 1368ea7bd529SMilanka Ringwald /** 1369ba155c22SMilanka Ringwald * @format 1H11112LV 1370ea7bd529SMilanka Ringwald * @param subevent_code 1371f9bca1f3SMilanka Ringwald * @param avdtp_cid 1372ba155c22SMilanka Ringwald * @param int_seid 1373ba155c22SMilanka Ringwald * @param acp_seid 1374ea7bd529SMilanka Ringwald * @param reconfigure 1375ea7bd529SMilanka Ringwald * @param media_type 1376ea7bd529SMilanka Ringwald * @param media_codec_type 1377ea7bd529SMilanka Ringwald * @param media_codec_information_len 1378ea7bd529SMilanka Ringwald * @param media_codec_information 1379ea7bd529SMilanka Ringwald */ 13802c708e8aSMilanka Ringwald #define AVDTP_SUBEVENT_SIGNALING_MEDIA_CODEC_OTHER_CONFIGURATION 0x0A 1381decc740cSMilanka Ringwald 138285a0c7cdSMilanka Ringwald /** 1383b548dda6SMilanka Ringwald * @format 1H111 138485a0c7cdSMilanka Ringwald * @param subevent_code 1385f9bca1f3SMilanka Ringwald * @param avdtp_cid 1386b548dda6SMilanka Ringwald * @param int_seid 1387b548dda6SMilanka Ringwald * @param acp_seid 138885a0c7cdSMilanka Ringwald * @param status 0 == OK 138985a0c7cdSMilanka Ringwald */ 139085a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_ESTABLISHED 0x0B 139185a0c7cdSMilanka Ringwald 139285a0c7cdSMilanka Ringwald /** 139385a0c7cdSMilanka Ringwald * @format 1H 139485a0c7cdSMilanka Ringwald * @param subevent_code 1395f9bca1f3SMilanka Ringwald * @param avdtp_cid 139685a0c7cdSMilanka Ringwald */ 139785a0c7cdSMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CONNECTION_RELEASED 0x0C 139885a0c7cdSMilanka Ringwald 1399f7103c90SMilanka Ringwald /** 1400a04ed5e9SMilanka Ringwald * @format 1H12 1401f7103c90SMilanka Ringwald * @param subevent_code 1402f9bca1f3SMilanka Ringwald * @param avdtp_cid 1403ba155c22SMilanka Ringwald * @param int_seid 1404a04ed5e9SMilanka Ringwald * @param sequence_number 1405f7103c90SMilanka Ringwald */ 1406f7103c90SMilanka Ringwald #define AVDTP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 0x0D 140785a0c7cdSMilanka Ringwald 1408decc740cSMilanka Ringwald 140946e6b063SMilanka Ringwald /** A2DP Subevent */ 141046e6b063SMilanka Ringwald 141146e6b063SMilanka Ringwald /** 141246e6b063SMilanka Ringwald * @format 1H111 141346e6b063SMilanka Ringwald * @param subevent_code 141446e6b063SMilanka Ringwald * @param a2dp_cid 141546e6b063SMilanka Ringwald * @param local_seid 141646e6b063SMilanka Ringwald * @param remote_seid 141746e6b063SMilanka Ringwald * @param status 141846e6b063SMilanka Ringwald */ 141946e6b063SMilanka Ringwald #define A2DP_SUBEVENT_STREAM_ESTABLISHED 0x01 142046e6b063SMilanka Ringwald 1421a42de583SMilanka Ringwald /** 1422a42de583SMilanka Ringwald * @format 1H1 1423a42de583SMilanka Ringwald * @param subevent_code 142446e6b063SMilanka Ringwald * @param a2dp_cid 142546e6b063SMilanka Ringwald * @param local_seid 1426a42de583SMilanka Ringwald */ 142746e6b063SMilanka Ringwald #define A2DP_SUBEVENT_STREAM_START_ACCEPTED 0x02 142846e6b063SMilanka Ringwald 142946e6b063SMilanka Ringwald /** 143046e6b063SMilanka Ringwald * @format 1H1 143146e6b063SMilanka Ringwald * @param subevent_code 143246e6b063SMilanka Ringwald * @param a2dp_cid 143346e6b063SMilanka Ringwald * @param local_seid 143446e6b063SMilanka Ringwald */ 143546e6b063SMilanka Ringwald #define A2DP_SUBEVENT_STREAM_SUSPENDED 0x03 1436a42de583SMilanka Ringwald 1437a42de583SMilanka Ringwald /** 1438a42de583SMilanka Ringwald * @format 1H1 1439a42de583SMilanka Ringwald * @param subevent_code 1440a42de583SMilanka Ringwald * @param avdtp_cid 144146e6b063SMilanka Ringwald * @param local_seid 1442a42de583SMilanka Ringwald */ 144346e6b063SMilanka Ringwald #define A2DP_SUBEVENT_STREAMING_CAN_SEND_MEDIA_PACKET_NOW 0x04 1444a42de583SMilanka Ringwald 144546e6b063SMilanka Ringwald /** 144646e6b063SMilanka Ringwald * @format 1H1 144746e6b063SMilanka Ringwald * @param subevent_code 144846e6b063SMilanka Ringwald * @param avdtp_cid 144946e6b063SMilanka Ringwald * @param local_seid 145046e6b063SMilanka Ringwald */ 145146e6b063SMilanka Ringwald #define A2DP_SUBEVENT_STREAM_RELEASED 0x05 1452ba155c22SMilanka Ringwald 1453decc740cSMilanka Ringwald /** AVRCP Subevent */ 1454decc740cSMilanka Ringwald 1455decc740cSMilanka Ringwald /** 1456b193c45eSMilanka Ringwald * @format 11BH2 1457decc740cSMilanka Ringwald * @param subevent_code 14582a029560SMilanka Ringwald * @param status 0 == OK 1459decc740cSMilanka Ringwald * @param bd_addr 1460b193c45eSMilanka Ringwald * @param con_handle 1461b193c45eSMilanka Ringwald * @param avrcp_cid 1462decc740cSMilanka Ringwald */ 1463decc740cSMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_ESTABLISHED 0x01 1464decc740cSMilanka Ringwald 1465decc740cSMilanka Ringwald /** 1466b193c45eSMilanka Ringwald * @format 12 1467decc740cSMilanka Ringwald * @param subevent_code 1468b193c45eSMilanka Ringwald * @param avrcp_cid 1469decc740cSMilanka Ringwald */ 14706eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_CONNECTION_RELEASED 0x02 1471decc740cSMilanka Ringwald 1472cd41da7eSMilanka Ringwald /** 1473b193c45eSMilanka Ringwald * @format 121114JVJVJVJV 1474cd41da7eSMilanka Ringwald * @param subevent_code 1475b193c45eSMilanka Ringwald * @param avrcp_cid 1476d3b6a85eSMatthias Ringwald * @param command_type 1477e222d6a0SMatthias Ringwald * @param track 1478e222d6a0SMatthias Ringwald * @param total_tracks 1479e222d6a0SMatthias Ringwald * @param song_length in ms 1480cd41da7eSMilanka Ringwald * @param title_len 1481cd41da7eSMilanka Ringwald * @param title 1482cd41da7eSMilanka Ringwald * @param artist_len 1483cd41da7eSMilanka Ringwald * @param artist 1484cd41da7eSMilanka Ringwald * @param album_len 1485cd41da7eSMilanka Ringwald * @param album 1486cd41da7eSMilanka Ringwald * @param genre_len 1487cd41da7eSMilanka Ringwald * @param genre 1488cd41da7eSMilanka Ringwald */ 14892a029560SMilanka Ringwald #define AVRCP_SUBEVENT_NOW_PLAYING_INFO 0x03 1490cd41da7eSMilanka Ringwald 14912a029560SMilanka Ringwald /** 1492b193c45eSMilanka Ringwald * @format 12111 14932a029560SMilanka Ringwald * @param subevent_code 1494b193c45eSMilanka Ringwald * @param avrcp_cid 1495d3b6a85eSMatthias Ringwald * @param command_type 14962a029560SMilanka Ringwald * @param repeat_mode 14972a029560SMilanka Ringwald * @param shuffle_mode 14982a029560SMilanka Ringwald */ 14992a029560SMilanka Ringwald #define AVRCP_SUBEVENT_SHUFFLE_AND_REPEAT_MODE 0x04 1500cd41da7eSMilanka Ringwald 15016eb7ba29SMilanka Ringwald /** 1502b193c45eSMilanka Ringwald * @format 121441 15036eb7ba29SMilanka Ringwald * @param subevent_code 1504b193c45eSMilanka Ringwald * @param avrcp_cid 1505d3b6a85eSMatthias Ringwald * @param command_type 15066eb7ba29SMilanka Ringwald * @param song_length 15076eb7ba29SMilanka Ringwald * @param song_position 15086eb7ba29SMilanka Ringwald * @param play_status 15096eb7ba29SMilanka Ringwald */ 15106eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAY_STATUS 0x05 15116eb7ba29SMilanka Ringwald 15126eb7ba29SMilanka Ringwald /** 1513b193c45eSMilanka Ringwald * @format 1211 15146eb7ba29SMilanka Ringwald * @param subevent_code 1515b193c45eSMilanka Ringwald * @param avrcp_cid 1516d3b6a85eSMatthias Ringwald * @param command_type 15176aecb8a4SMatthias Ringwald * @param play_status 15186eb7ba29SMilanka Ringwald */ 15196eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_PLAYBACK_STATUS_CHANGED 0x06 15206eb7ba29SMilanka Ringwald 15216eb7ba29SMilanka Ringwald /** 1522*ee6d17f2SMatthias Ringwald * @format 121 15236eb7ba29SMilanka Ringwald * @param subevent_code 1524b193c45eSMilanka Ringwald * @param avrcp_cid 1525d3b6a85eSMatthias Ringwald * @param command_type 15266eb7ba29SMilanka Ringwald */ 15276eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_TRACK_CHANGED 0x07 15286eb7ba29SMilanka Ringwald 15296eb7ba29SMilanka Ringwald /** 1530b193c45eSMilanka Ringwald * @format 121 15316eb7ba29SMilanka Ringwald * @param subevent_code 1532b193c45eSMilanka Ringwald * @param avrcp_cid 1533d3b6a85eSMatthias Ringwald * @param command_type 15346eb7ba29SMilanka Ringwald */ 15356eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_NOW_PLAYING_CONTENT_CHANGED 0x08 15366eb7ba29SMilanka Ringwald 15376eb7ba29SMilanka Ringwald /** 1538b193c45eSMilanka Ringwald * @format 121 15396eb7ba29SMilanka Ringwald * @param subevent_code 1540b193c45eSMilanka Ringwald * @param avrcp_cid 1541d3b6a85eSMatthias Ringwald * @param command_type 15426eb7ba29SMilanka Ringwald */ 15436eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_AVAILABLE_PLAYERS_CHANGED 0x09 15446eb7ba29SMilanka Ringwald 15456eb7ba29SMilanka Ringwald /** 1546b193c45eSMilanka Ringwald * @format 1211 15476eb7ba29SMilanka Ringwald * @param subevent_code 1548b193c45eSMilanka Ringwald * @param avrcp_cid 1549d3b6a85eSMatthias Ringwald * @param command_type 15506eb7ba29SMilanka Ringwald * @param absolute_volume 15516eb7ba29SMilanka Ringwald */ 15526eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_NOTIFICATION_VOLUME_CHANGED 0x0A 15536eb7ba29SMilanka Ringwald 15546eb7ba29SMilanka Ringwald /** 1555b193c45eSMilanka Ringwald * @format 1211 15566eb7ba29SMilanka Ringwald * @param subevent_code 1557b193c45eSMilanka Ringwald * @param avrcp_cid 1558d3b6a85eSMatthias Ringwald * @param command_type 15596eb7ba29SMilanka Ringwald * @param absolute_volume 15606eb7ba29SMilanka Ringwald */ 15616eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_SET_ABSOLUTE_VOLUME_RESPONSE 0x0B 15626eb7ba29SMilanka Ringwald 15636eb7ba29SMilanka Ringwald /** 1564b193c45eSMilanka Ringwald * @format 1211 15656eb7ba29SMilanka Ringwald * @param subevent_code 1566b193c45eSMilanka Ringwald * @param avrcp_cid 1567d3b6a85eSMatthias Ringwald * @param command_type 15686eb7ba29SMilanka Ringwald * @param notification_id 15696eb7ba29SMilanka Ringwald */ 15706eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_ENABLE_NOTIFICATION_COMPLETE 0x0C 15716eb7ba29SMilanka Ringwald 15726eb7ba29SMilanka Ringwald /** 1573b193c45eSMilanka Ringwald * @format 1211 15746eb7ba29SMilanka Ringwald * @param subevent_code 1575b193c45eSMilanka Ringwald * @param avrcp_cid 1576d3b6a85eSMatthias Ringwald * @param command_type 15776eb7ba29SMilanka Ringwald * @param operation_id 15786eb7ba29SMilanka Ringwald */ 15796eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_START 0x0D 15806eb7ba29SMilanka Ringwald 15816eb7ba29SMilanka Ringwald /** 1582b193c45eSMilanka Ringwald * @format 1211 15836eb7ba29SMilanka Ringwald * @param subevent_code 1584b193c45eSMilanka Ringwald * @param avrcp_cid 1585d3b6a85eSMatthias Ringwald * @param command_type 15866eb7ba29SMilanka Ringwald * @param operation_id 15876eb7ba29SMilanka Ringwald */ 15886eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_OPERATION_COMPLETE 0x0E 15896eb7ba29SMilanka Ringwald 15906eb7ba29SMilanka Ringwald /** 1591b193c45eSMilanka Ringwald * @format 121 15926eb7ba29SMilanka Ringwald * @param subevent_code 1593b193c45eSMilanka Ringwald * @param avrcp_cid 1594d3b6a85eSMatthias Ringwald * @param command_type 15956eb7ba29SMilanka Ringwald */ 15966eb7ba29SMilanka Ringwald #define AVRCP_SUBEVENT_PLAYER_APPLICATION_VALUE_RESPONSE 0x0F 15976eb7ba29SMilanka Ringwald 1598f1b34e8dSMatthias Ringwald /** 1599f1b34e8dSMatthias Ringwald * @format 121BH1 1600f1b34e8dSMatthias Ringwald * @param subevent_code 1601f1b34e8dSMatthias Ringwald * @param goep_cid 1602f1b34e8dSMatthias Ringwald * @param status 1603f1b34e8dSMatthias Ringwald * @param bd_addr 1604f1b34e8dSMatthias Ringwald * @param con_handle 1605f1b34e8dSMatthias Ringwald * @param incoming 1606f1b34e8dSMatthias Ringwald */ 1607f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_OPENED 0x01 16086eb7ba29SMilanka Ringwald 1609f1b34e8dSMatthias Ringwald /** 1610f1b34e8dSMatthias Ringwald * @format 12 1611f1b34e8dSMatthias Ringwald * @param subevent_code 1612f1b34e8dSMatthias Ringwald * @param goep_cid 1613f1b34e8dSMatthias Ringwald */ 1614f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CONNECTION_CLOSED 0x02 1615f1b34e8dSMatthias Ringwald 1616f1b34e8dSMatthias Ringwald /** 1617f1b34e8dSMatthias Ringwald * @format 12 1618f1b34e8dSMatthias Ringwald * @param subevent_code 1619f1b34e8dSMatthias Ringwald * @param goep_cid 1620f1b34e8dSMatthias Ringwald */ 1621f1b34e8dSMatthias Ringwald #define GOEP_SUBEVENT_CAN_SEND_NOW 0x03 1622f1b34e8dSMatthias Ringwald 1623f1b34e8dSMatthias Ringwald /** 1624f1b34e8dSMatthias Ringwald * @format 121BH1 1625f1b34e8dSMatthias Ringwald * @param subevent_code 1626f1b34e8dSMatthias Ringwald * @param pbap_cid 1627f1b34e8dSMatthias Ringwald * @param status 1628f1b34e8dSMatthias Ringwald * @param bd_addr 1629f1b34e8dSMatthias Ringwald * @param con_handle 1630f1b34e8dSMatthias Ringwald * @param incoming 1631f1b34e8dSMatthias Ringwald */ 1632f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_OPENED 0x01 1633f1b34e8dSMatthias Ringwald 1634f1b34e8dSMatthias Ringwald /** 1635f1b34e8dSMatthias Ringwald * @format 12 1636f1b34e8dSMatthias Ringwald * @param subevent_code 1637f1b34e8dSMatthias Ringwald * @param goep_cid 1638f1b34e8dSMatthias Ringwald */ 1639f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_CONNECTION_CLOSED 0x02 1640f1b34e8dSMatthias Ringwald 1641f1b34e8dSMatthias Ringwald /** 1642f1b34e8dSMatthias Ringwald * @format 121 1643f1b34e8dSMatthias Ringwald * @param subevent_code 1644f1b34e8dSMatthias Ringwald * @param goep_cid 1645f1b34e8dSMatthias Ringwald * @param status 1646f1b34e8dSMatthias Ringwald */ 1647f1b34e8dSMatthias Ringwald #define PBAP_SUBEVENT_OPERATION_COMPLETED 0x03 16486eb7ba29SMilanka Ringwald 1649dd148ddbSMatthias Ringwald /** 1650dd148ddbSMatthias Ringwald * @format 121BH1 1651dd148ddbSMatthias Ringwald * @param subevent_code 1652dd148ddbSMatthias Ringwald * @param hid_cid 1653dd148ddbSMatthias Ringwald * @param status 1654dd148ddbSMatthias Ringwald * @param bd_addr 1655dd148ddbSMatthias Ringwald * @param con_handle 1656dd148ddbSMatthias Ringwald * @param incoming 1657dd148ddbSMatthias Ringwald */ 1658dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_OPENED 0x01 1659dd148ddbSMatthias Ringwald 1660dd148ddbSMatthias Ringwald /** 1661dd148ddbSMatthias Ringwald * @format 12 1662dd148ddbSMatthias Ringwald * @param subevent_code 1663dd148ddbSMatthias Ringwald * @param hid_cid 1664dd148ddbSMatthias Ringwald */ 1665dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CONNECTION_CLOSED 0x02 1666dd148ddbSMatthias Ringwald 1667dd148ddbSMatthias Ringwald /** 1668dd148ddbSMatthias Ringwald * @format 12 1669dd148ddbSMatthias Ringwald * @param subevent_code 1670dd148ddbSMatthias Ringwald * @param hid_cid 1671dd148ddbSMatthias Ringwald */ 1672dd148ddbSMatthias Ringwald #define HID_SUBEVENT_CAN_SEND_NOW 0x03 1673dd148ddbSMatthias Ringwald 1674941b3855SMatthias Ringwald #endif 1675